1 Star 0 Fork 0

TooClian / yessql

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

YesSql

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

Build status 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.

Aren't NoSQL databases faster than SQL databases ?

Well, I don't know what fast is, but you can try to run the performance sample to ensure it fits your needs. Here is the output on my machine using Microsoft SQL Server 2016:

YesSql Wrote 5,163 documents in 2,157ms: 2.39: docs/ms

Queried by full name 100*3 times at 430ms
Queried by partial name 100*3 times at 827ms

This performance test is based on one used to compare Redis to RavenDb that you can find here: http://www.servicestack.net/mythz_blog/?p=474

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. Also the fact that it's using custom serialization libraries and Lucene to store the data might scare some companies which have invested a lot in SQL, 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.

The MIT License (MIT) Copyright (c) 2012 Sebastien Ros Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

暂无描述 展开 收起
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
1
https://gitee.com/tuchuanlian/yessql.git
git@gitee.com:tuchuanlian/yessql.git
tuchuanlian
yessql
yessql
dev

搜索帮助