前言
一直推崇纯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是个开源项目,但商业化,这个产品更多的作为文档数据库。
RaptorDB
C#写的NoSQL,我一直关注RaptorDB,作者对性能有较高的要求,作者说RaptorDB用的是他自创的MGindex做索引,比b+树写快15倍,读快21倍。该项目遵循CPOL,简单来说你可以免费用于商业。
STSdb
STSdb是个开源项目,遵循GPL,但要商业许可,关于测试性能,我的THINKPAD T410 i5 + 6G RAM + 7200RPM硬盘 5秒插入100万记录。
Lucandra.NET
Lucandra.NET是Lucene 和 Cassandra的混合产物,目前不活跃,许可是Apache,简单点说可以用于商业。
Akavache
Akavache比较活跃,许可是自由使用。
DeNSo DB
DeNSo DB开源,要商业许可,特性包括支持REST/WCF访问。