代码改变世界

C#写的NoSQL开源项目/系统(系列)

2013-01-07 19:06  灵感之源  阅读(17578)  评论(29编辑  收藏  举报

闲扯

好久没写开源项目了,也没写对新开源项目的介绍,今晚看了几个项目,写一下。

前言

一直推崇纯C#的解决方案,无论是多年写的各种文件格式的读写(如office系列的xls/xlsx/doc/docx之类,pdf之类),还有邮件收发(包括我9年前写的OpenPOP),文件压缩解压,数据库(SharpHSQL、C#写的Sqlite 等),我都相当热衷于介绍这些项目。

NoSQL

NoSQL流行好几年了,相比于传统的SQL,NoSQL名字的“No”多少想要跟自己的前辈区分开了。SQL,是通过结构化的查询语句存取数据。NoSQL,一般是通过键值(Key/Value,或者常见的K/V)来存取数据。

NoSQL一般支持分布式存取、版本控制、多服务器同步,目的是提供高性能,大存储量的数据解决方案,可以说是专门为互联网而生的。

著名

出名的NoSQL有Cassandra、MongoDB、Redis、CouchDB、Memcachedb、BigTable等。

 

C#

RavenDB

Ravendb是个开源项目,但商业化,这个产品更多的作为文档数据库。

VelocityDB

VelocityDB号称是全球基于.NET速度最快的对象数据库/NoSQL,但商业化,支持分布式。这里显示的性能比较相当惊人,插入速度几乎是MySQL的100倍!

 

RaptorDB

C#写的NoSQL,我一直关注RaptorDB,作者对性能有较高的要求,作者说RaptorDB用的是他自创的MGindex做索引,比b+树写快15倍,读快21倍。该项目遵循CPOL,简单来说你可以免费用于商业。不支持分布式。

 

STSdb

STSdb是个开源项目,遵循GPL,但要商业许可。有自己的虚拟文件系统,支持ACID、快照等,测试性能,我的THINKPAD T410 i5 + 6G RAM + 7200RPM硬盘 5秒插入100万记录。平均速度是MySQL的30倍!不支持分布式。

 

Lucandra.NET

Lucandra.NET是Lucene 和 Cassandra的混合产物,目前不活跃,许可是Apache,简单点说可以用于商业。

Akavache

Akavache比较活跃,许可是自由使用。

 

DeNSo DB

DeNSo DB开源,要商业许可,特性包括支持REST/WCF访问。

 

 

siaqodb

siaqodb开源,要商业许可,支持WinRT。不支持分布式。

 

 

性能比较