YesSql Documentation

repository·main·Indexed 23 days ago

https://github.com/sebastienros/yessql

A .NET Core document database interface that leverages relational databases (RDBMS) to store documents and indexes defined as CLR objects. It provides a transactional document database experience using pure SQL via Dapper, supporting ACID transactions, replication, and reporting capabilities.

Tokens
327
Snippets
0
Records
3
Agent score
30%

What's inside YesSql

  1. What is YesSql?

    main

    YesSql is a .NET Core document database interface designed to run on top of existing relational databases (RDBMS). It allows you to define documents and indexes using plain old CLR objects (POCOs).

    By using an RDBMS as the storage engine, YesSql provides the benefits of a document database (flexible schema via objects) combined with the features of SQL databases, such as:

    • ACID transactions
    • Replication
    • Reporting capabilities
    • No 'magic' (it uses pure SQL internally via Dapper)
  2. How YesSql structures data in the database

    main

    YesSql maps its document model to relational tables using the following structure:

    • Document Table: A single global Document table stores all documents.
    • Index Tables: Each index is defined as a custom class and is stored in its own dedicated table.
    • Reduce Indexes: For reduce indexes, YesSql adds a bridge table to facilitate the mapping of many documents.

    Internally, YesSql uses Dapper to communicate with the database server.