• Stars
    star
    1,188
  • Rank 39,371 (Top 0.8 %)
  • Language
    C#
  • License
    MIT License
  • Created almost 13 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A .NET document database working on any RDBMS

YesSql

A .NET document database interface for relational databases, because in SQL we (still) trust !

Build NuGet MyGet

How does it work ?

YesSql is a .NET Core document database interface over relational databases which allows you to define documents and indexes using plain old CLR objects. The main difference with document databases is that it uses any RDBMS to store them, which gives you all the power of SQL databases like transactions, replication, reporting, ... But the main advantage might be that there is no magic involved, it's pure SQL !

A video about YesSql was recorded and is available here https://www.youtube.com/watch?v=D42eK6CJjF4

FAQ

Aren't NoSQL databases also about map/reduce ?

YesSql has support for it too. There is a sample project in the source code, and you'll see that map/reduce is fully supported by looking at the tests.

How is the database structured ?

There is a global [Document] table. Each index is a custom class which has its own table. A reduce index also adds a bridge table in order to map many documents. Internally YesSql communicates with the database server using Dapper.

Dude ! Why another document database ?

I know :/ Well actually I am a big fan of document databases and I am well aware that some like MongoDb and RavenDb are already top-notch ones, but what if you want a free, transactional .NET document database ?

  • MongoDb is not transactional, and some applications can't cope with it. RDBMS on the contrary are all transactional.
  • RavenDb (which I am a big fan of) is not free (for most usages).
  • Some companies which have invested a lot in SQL, only trust SQL, and have in-house experts.

So YesSql might be an answer for the developers who face those restrictions. If you don't care about those then please don't spend one more minute on YesSql, it's useless for you.

I am sold, where do I start ?

The documentation is here: https://github.com/sebastienros/yessql/wiki

You can also take a look at the sample apps in the source code.

Development

  • Development and pull-requests are done based on the main branch.
  • Every build and pull-request are tested against Sqlite, PostgreSQL, SQL Server and MySql.
  • The latest NuGet release is tagged and available in the releases page.
  • The main branch is also published on MyGet automatically.

More Repositories

1

jint

Javascript Interpreter for .NET
C#
4,023
star
2

fluid

Fluid is an open-source .NET template engine based on the Liquid template language.
C#
1,392
star
3

esprima-dotnet

Esprima .NET (BSD license) is a .NET port of the esprima.org project. It is a standard-compliant ECMAScript parser (also popularly known as JavaScript).
C#
419
star
4

parlot

Fast and lightweight parser creation tools
C#
366
star
5

memoryleak

HTML
333
star
6

shortcodes

Shortcodes processor for .NET
C#
68
star
7

dotnet-http3

Dockerfile
25
star
8

outputcaching

A copy of .NET 7.0 Output Caching middleware, targeting .NET 6.0
C#
16
star
9

vsconstructorfield

Refactoring rule to create a field from a constructor parameter.
C#
12
star
10

pipejs

Command Line JavaScript interpreter
C#
8
star
11

Contrib.Cache.Memcached

Custom Output Cache Storage Provider which serializes cached pages to a Memcached service. Can be used by web farms for a central cache location.
C#
8
star
12

memoryusage

Sample application to test different way to measure memory consumption of a web app
C#
6
star
13

JSPerf

Simple and personal perf comparison between JS interpreters in .NET
C#
3
star
14

httpsocket

C#
3
star
15

antiforgerytests

Testing ASP.NET Core Antiforgery
C#
3
star
16

sqlite-test

C#
2
star
17

benchmarkdb

C#
2
star
18

udssample

C#
2
star
19

cpuset

Test SetProcessDefaultCpuSets
C#
2
star
20

mvc-hello-world

C#
1
star
21

invariantcultureperf

Demonstrates a perf issue with InvariantCultureIgnoreCase on Linux
C#
1
star
22

CheatSheet

Orchard Cheat Sheet
JavaScript
1
star
23

LoadTest

Simple yet efficient web load tester.
C#
1
star
24

Contrib.Cache.Database

Custom Output Cache Storage Provider which serializes cached pages to the Orchard database. Can be used by web farms for a central cache location.
1
star