C#写的NoSQL开源项目/系统(系列)
http://www.cnblogs.com/unruledboy/archive/2013/01/07/CSharpNoSQL.html
闲扯
好久没写开源项目了,也没写对新开源项目的介绍,今晚看了几个项目,写一下。
前言
一直推崇纯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。不支持分布式。
性能比较
C#写的NoSQL开源项目/系统(系列)的更多相关文章
- 我发起了一个 用 C# 写 的 浏览器 开源项目 HtmlCore
我之前还发起过一个 项目, 名字也叫 HtmlCore, 见 <我发起了一个 .Net 开源 跨平台 GUI (界面开发框架)项目 HtmlCore> https://www.cnblo ...
- 讲解开源项目:5分钟搭建私人Java博客系统
本文适合刚学习完 Java 语言基础的人群,跟着本文可了解和运行 Tale 项目.示例均在 Windows 操作系统下演示 本文作者:HelloGitHub-秦人 HelloGitHub 推出的< ...
- 适合 Go 新手学习的开源项目——在 GitHub 学编程
作者:HelloGitHub-小鱼干&卤蛋 故事要从 2007 年说起.因为受够了 C++ 煎熬的 Google 首席软件工程师 Rob Pike 召集 Robert Griesemer 和 ...
- 不会 Web 开发,也能让数据“动”起来的开源项目!
本文面向有 Python 基础的小伙伴,有 Web 基础的更好 作者:HelloGitHub-吱吱 这里是 HelloGitHub 推出的<讲解开源项目>系列,今天要向小伙伴们介绍的是一个 ...
- 开源项目大全 >> ...
http://www.isenhao.com/xueke/jisuanji/kaiyuan.php 监控系统-Nagios 网络流量监测图形分析工具-Cacti 分布式系统监视-zabbix 系统 ...
- 直接拿来用!最火的iOS开源项目
1. AFNetworking 在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目.AFNetworking是一个轻量级的iOS.Mac OS X网络通信类库,现在是G ...
- (转)直接拿来用!最火的iOS开源项目(一)
1. AFNetworking 在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目.AFNetworking是一个轻量级的iOS.Mac OS X网络通信类库,现在是G ...
- 【转】GitHub平台最火的iOS开源项目——2013-08-25 17
http://www.cnblogs.com/lhming/category/391396.html 今天,我们将介绍20个在GitHub上非常受开发者欢迎的iOS开源项目,你准备好了吗? 1. AF ...
- iOS开源项目
在结束了GitHub平台上“最受欢迎的Android开源项目”系列盘点之后,我们正式迎来了“GitHub上最受欢迎的iOS开源项目”系列盘点.今天,我们将介绍20个在GitHub上非常受开发者欢迎的i ...
随机推荐
- bootstrap 整理
form-control 输入框,独占一行,占满. form-group 增加下边距 <label> 字体会加粗,不是独占一行 .col-xs- 超小屏 .col-sm- 平板 . ...
- Java 字符串格式化 String.format() 的使用
常规类型的格式化 String类的format()方法用于创建格式化的字符串以及连接多个字符串对象.熟悉C语言的同学应该记得c语言的sprintf()方法,两者有类似之处.format()方法有两种重 ...
- 从Excel读取数据,然后分析相似的数据,多线程处理(多线程比较相似的字符串,统计出相似的数量及字符串)
之前的jar包有问题,现已修改. 需要的jar包,已修改 自己去Maven中央仓库下载jar包. excel数据: 直接上代码. 程序再度优化了一遍.之后如果想再度精准,可能需要建模,最近没空继续做了 ...
- powerdesigner连接MySQL数据库时出现Non SQL Error : Could not load class com.mysql.jdbc.Driver
Non SQL Error : Could not load class com.mysql.jdbc.Driver 这是因为powerdesigner 无法找到驱动所产生的 解决办法是:配置系统的c ...
- zabbix4.2学习笔记--监控tomcat
zabbix提供了一个java gateway的应用去监控jmx(Java Management Extensions,即Java管理扩展)是一个为应用程序.设备.系统等植入管理功能的框架 环境 主机 ...
- adb 设备命令
一.adb 设备命令1.查看机型时,可以使用以下命令$ adb shell getprop ro.product.model 2.如果我们忘记具体系统属性的名字$ adb shell getprop ...
- Python轮换
switch_source()用于获取文本信息rewrite_source()用于将信息顺序轮换,其参数times表示要轮换多少次, def switch_source(): tmp = [] wit ...
- 管理Fragments
FragmentManager 为了管理Activity中的fragments,需要使用FragmentManager. 为了得到它,需要调用Activity中的getFragmentManager( ...
- ERROR 1133 (42000): Can't find any matching row in the user table
环境:操作系统:Redhat 7.5 x86-64 数据库版本MySQL 5.7.25 现象:ERROR 1133 (42000): Can't find any matching row in th ...
- vue 改变插值方法
Vue默认的插值是双大括号{{}}.但有时我们会有需求更改这个插值的形式. delimiters:['${','}'] //必须要用一个数组来接收,用逗号隔开.