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。不支持分布式。
性能比较