15个nosql数据库 Posted 2020-09-29
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了15个nosql数据库相关的知识,希望对你有一定的参考价值。
1、MongoDB
介绍
MongoDB 是一个基于分布式文件存储的数据库 。由C++语言编写。主要解决的是海量数据的访问效率问题,为WEB应用提供可扩展的高性能数据存储解决方案。当数据量达到50GB以上的时候,mongodb 的数据库访问速度是MySQL 的10倍以上。MongoDB的并发读写效率不是特别出色,根据官方提供的性能测试 表明,大约每秒可以处理0.5万~1.5万次读写请求。MongoDB还自带了一个出色的分布式文件系统GridFS,可以支持海量的数据存储。
MongoDB也有一个Ruby的项目MongoMapper,是模仿Merb的DataMapper编写的MongoDB接口,使用起来非常简单,几乎和DataMapper一模一样,功能非常强大。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构 非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
所谓“面向集合”(Collenction-Orented),意思是数据被分组存储在数据集中,被称为一个集合(Collenction)。每个 集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档。集合的概念类似关系型数据库(RDBMS)里的表(table),不同的是它不需要定 义任何模式(schema)。 模式自由(schema-free),意味着对于存储在mongodb数据库中的文件,我们不需要知道它的任何结构定义。如果需要的话,你完全可以把不同结构的文件存储在同一个数据库里。 存储在集合中的文档,被存储为键-值对的形式。键用于唯一标识一个文档,为字符串类型,而值则可以是各中复杂的文件类型。我们称这种存储形式为BSON(Binary Serialized dOcument Format)。
MongoDB服务端可运行在Linux 、Windows或OS X平台,支持32位和64位应用,默认端口为27017。推荐运行在64位平台,因为MongoDB在32位模式运行时支持的最大文件尺寸为2GB。
MongoDB把数据存储在文件中(默认路径为:/data/db),为提高效率使用内存映射文件进行管理。
特性
它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:
面向集合存储,易存储对象类型的数据。
模式自由。
支持动态查询。
支持完全索引,包含内部对象。
支持查询。
支持复制和故障恢复。
使用高效的二进制数据存储,包括大型对象(如视频等)。
自动处理碎片,以支持云计算层次的扩展性。
支持RUBY,PYTHON,JAVA,C++,
php ,C#等多种语言。
文件存储格式为BSON(一种JSON的扩展)。
可通过网络访问。
官方网站
http://www.mongodb.org/
2、CouchDB
介绍
Apache CouchDB 是一个面向文档的数据库管理系统。它提供以 JSON 作为数据格式的 REST 接口来对其进行操作,并可以通过视图来操纵文档的组织和呈现。 CouchDB 是 Apache 基金会的顶级开源项目。
CouchDB是用Erlang开发的面向文档的数据库系统,其数据存储方式类似Lucene的Index文件格式。CouchDB最大的意义在于它是一个面向Web应用的新一代存储系统,事实上,CouchDB的口号就是:下一代的Web应用存储系统。
特性
主要功能特性有:
CouchDB是分布式的数据库,他可以把存储系统分布到n台物理的节点上面,并且很好的协调和同步节点之间的数据读写一致性。这当然也得以于Erlang无与伦比的并发特性才能做到。对于基于web的大规模应用文档应用,然的分布式可以让它不必像传统的关系数据库那样分库拆表,在应用代码层进行大量的改动。
CouchDB是面向文档的数据库,存储半结构化的数据,比较类似lucene的index结构,特别适合存储文档,因此很适合CMS,电话本,地址本等应用,在这些应用场合,文档数据库要比关系数据库更加方便,性能更好。
CouchDB支持REST API,可以让用户使用
javascript 来操作CouchDB数据库,也可以用JavaScript编写查询语句,我们可以想像一下,用AJAX技术结合CouchDB开发出来的CMS系统会是多么的简单和方便。其实CouchDB只是Erlang应用的冰山一角,在最近几年,基于Erlang的应用也得到的蓬勃的发展,特别是在基于web的大规模,分布式应用领域,几乎都是Erlang的优势项目。
官方网站
http://couchdb.apache.org/
3、Hbase
介绍
Hbase 是一个分布式的、面向列的开源数据库,该技术来源于Chang et al所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,hbase 在Hadoop 之上提供了类似于Bigtable的能力。HBase是Apache的hadoop 项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库.另一个不同的是HBase基于列的而不是基于行的模式。
HBase – Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。 HBase是Google Bigtable的开源实现,类似Google Bigtable利用GFS作为其文件存储系统,HBase利用Hadoop HDFS作为其文件存储系统;Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为对应。
HBase访问接口
Native Java API,最常规和高效的访问方式,适合Hadoop MapReduce Job并行批处理HBase表数据
HBase Shell,HBase的命令行工具,最简单的接口,适合HBase管理使用
Thrift Gateway,利用Thrift序列化技术,支持C++,PHP,Python等多种语言,适合其他异构系统在线访问HBase表数据
REST Gateway,支持REST 风格的Http API访问HBase, 解除了语言限制
Pig,可以使用Pig Latin流式编程语言来操作HBase中的数据,和Hive类似,本质最终也是编译成MapReduce Job来处理HBase表数据,适合做数据统计
Hive,当前Hive的Release版本尚没有加入对HBase的支持,但在下一个版本Hive 0.7.0中将会支持HBase,可以使用类似SQL语言来访问HBase
特性
主要功能特性有:
支持数十亿行X上百万列
采用分布式架构 Map/reduce
对实时查询进行优化
高性能 Thrift网关
通过在server端扫描及过滤实现对查询操作预判
支持 XML, Protobuf, 和binary的HTTP
基于 Jruby( JIRB)的shell
对配置改变和较小的升级都会重新回滚
不会出现单点故障
堪比mysql 的随机访问性能
官方网站
http://hbase.apache.org/
4、cassandra
介绍
Cassandra是一个混合型的非关系的数据库,类似于Google的BigTable。其主要功能比Dynomite(分布式的Key-Value存储系统)更丰富,但支持度却不如文档存储MongoDB(介于关系数据库和非关系数据库之间的开源产品,是非关系数据库当中功能最丰富,最像关系数据库的。支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据类型。)Cassandra最初由Facebook开发,后转变成了开源项目。它是一个网络社交云计算 方面理想的数据库。以Amazon专有的完全分布式的Dynamo为基础,结合了Google BigTable基于列族(Column Family)的数据模型。P2P去中心化的存储。很多方面都可以称之为Dynamo 2.0。
特性
和其他数据库比较,有几个突出特点:
模式灵活 :使用Cassandra,像文档存储,你不必提前解决记录中的字段。你可以在系统运行时随意的添加或移除字段。这是一个惊人的效率提升,特别是在大型部 署上。 真正的可扩展性 :Cassandra是纯粹意义上的水平扩展。为给集群添加更多容量,可以指向另一台电脑。你不必重启任何进程,改变应用查询,或手动迁移任何数据。 多数据中心识别 :你可以调整你的节点布局来避免某一个数据中心起火,一个备用的数据中心将至少有每条记录的完全复制。
一些使Cassandra提高竞争力的其他功能:
范围查询 :如果你不喜欢全部的键值查询,则可以设置键的范围来查询。 列表数据结构 :在混合模式可以将超级列添加到5维。对于每个用户的索引,这是非常方便的。 分布式写操作 :有可以在任何地方任何时间集中读或写任何数据。并且不会有任何单点失败。
官方网站
http://cassandra.apache.org/
5、Hypertable
介绍
Hypertable是一个开源、高性能、可伸缩的数据库,它采用与Google的Bigtable相似的模型。在过去数年中,Google为在 PC集群 上运行的可伸缩计算基础设施设计建造了三个关键部分。第一个关键的基础设施是Google File System(GFS),这是一个高可用的文件系统,提供了一个全局的命名空间。它通过跨机器(和跨机架)的文件数据复制来达到高可用性,并因此免受传统 文件存储系统无法避免的许多失败的影响,比如电源、内存和网络端口等失败。第二个基础设施是名为Map-Reduce的计算框架,它与GFS紧密协作,帮 助处理收集到的海量数据。第三个基础设施是Bigtable,它是传统数据库的替代。Bigtable让你可以通过一些主键来组织海量数据,并实现高效的 查询。Hypertable是Bigtable的一个开源实现,并且根据我们的想法进行了一些改进。
特性
主要功能特点:
负载均衡的处理
版本控制 和一致性
可靠性
分布为多个节点
官方网站
http://hypertable.org/
6、Redis
介绍
Redis 是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis 支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
性能测试结果:
SET操作每秒钟 110000 次,GET操作每秒钟 81000 次,服务器配置如下:
linux 2.6 , Xeon X3320 2.5Ghz .
stackoverflow 网站使用 Redis 做为缓存服务器。
特点
主要功能特点:
安全性
主从复制
运行异常快
支持 sets(同时也支持 union/diff/inter)
支持列表(同时也支持队列;阻塞式 pop操作)
支持哈希表(带有多个域的对象)
支持排序 sets(高得分表,适用于范围查询)
Redis支持事务
支持将数据设置成过期数据(类似快速缓冲区设计)
Pub/Sub允许用户实现消息机制
官方网站
http://redis.io/
7、Tokyo Cabinet/Tokyo Tyant
介绍
Tokyo Cabinet(TC)和Tokyo Tyrant(TT)的开发者是日本人Mikio Hirabayashi,主要用于日本最大的SNS网站mixi.jp。TC出现的时间最早,现在已经是一个非常成熟的项目,也是Key-Value数据库领域最大的热点,现在广泛应用于网站。TC是一个高性能的存储引擎,而TT提供了多线程高并发服务器,性能也非常出色,每秒可以处理4万~5万次读写操作。
TC除了支持Key-Value存储之外,还支持Hashtable数据类型,因此很像一个简单的数据库表,并且还支持基于Column的条件查询、分页查询和排序功能,基本上相当于支持单表的基础查询功能,所以可以简单地替代关系数据库的很多操作,这也是TC受到大家欢迎的主要原因之一。有一个Ruby项目miyazakiresistance将TT的Hashtable的操作封装成和ActiveRecord一样的操作,用起来非常高效。
特性
TC/TT在Mixi的实际应用当中,存储了2000万条以上的数据,同时支撑了上万个并发连接,是一个久经考验的项目。TC在保证了极高的并发读写性能的同时,还具有可靠的数据持久化机制,同时还支持类似关系数据库表结构的Hashtable以及简单的条件、分页和排序操作,是一个很优越的NoSQL数据库。
TC的主要缺点是,在数据量达到上亿级别以后,并发写数据性能会大幅度下降,开发人员发现在TC里面插入1.6亿条2KB~20KB数据的时候,写入性能开始急剧下降。即当数据量达到上亿条的时候,TC性能便开始大幅度下降,从TC作者自己提供的Mixi数据来看,至少上千万条数据量的时候还没有遇到这么明显的写入性能瓶颈。
官方网站
http://fallabs.com/tokyocabinet/
8、Flare
介绍
TC是日本第一大SNS网站mixi.jp开发的,而Flare是日本第二大SNS网站green.jp开发的。简单地说,Flare就是给TC添加了scale(可扩展)功能。它替换了TT部分,自己另外给TC写了网络服务器。Flare的主要特点就是支持scale能力,它在网络服务端之前添加了一个Node Server,用来管理后端的多个服务器节点,因此可以动态添加数据库服务节点、删除服务器节点,也支持Failover。如果你的使用场景必须让TC可以scale,那么可以考虑Flare。
flare唯一的缺点就是他只支持memcached协议,因此当你使用flare的时候,就不能使用TC的table数据结构了,只能使用TC的key-value数据结构存储。
特性
没找到相关的介绍。
官方网站
http://flare.prefuse.org/
9、Berkeley DB
介绍
Berkeley DB (DB)是一个高性能的,嵌入数据库编程库,和C语言 ,C++,Java ,Perl,Python ,PHP ,Tcl以及其他很多语言都有绑定。Berkeley DB可以保存任意类型的键/值对,而且可以为一个键保存多个数据。Berkeley DB可以支持数千的并发线程同时操作数据库,支持最大256TB的数据,广泛 用于各种操作系统 包括大多数Unix类操作系统和Windows操作系统以及实时操作系统。
Berkeley DB最初开发的目的是以新的HASH访问算法 来代替旧的hsearch函数和大量的dbm实现(如AT&T的dbm,Berkeley的 ndbm,GNU项目的gdbm),Berkeley DB的第一个发行版在1991年出现,当时还包含了B+树数据访问算法。在1992年,BSD UNIX第4.4发行版中包含了Berkeley DB1.85版。基本上认为这是Berkeley DB的第一个正式版。在1996年中期,Sleepycat软件公司成立,提供对Berkeley DB的商业支持。在这以后,Berkeley DB得到了广泛的应用,成为一款独树一帜的嵌入式 数据库系统。2006年Sleepycat公司被Oracle 公司收购,Berkeley DB成为oracle 数据库家族的一员,Sleepycat原有开发者继续在Oracle开发Berkeley DB,Oracle继续原来的授权方式并且加大了对Berkeley DB的开发力度,继续提升了Berkeley DB在软件行业的声誉。Berkeley DB的当前最新发行版本是4.7.25。
特性
主要特点:
访问速度快
省硬盘空间
官方网站
http://www.oracle.com/us/products/database/overview/index.html?origref=http://www.oschina.net/p/berkeley+db
10、memcachedb
介绍
MemcacheDB是一个分布式、key-value形式的持久存储系统。它不是一个缓存组件,而是一个基于对象存取的、可靠的、快速的持久存储引擎。协议跟memcache一致(不完整),所以很多memcached客户端都可以跟它连接。MemcacheDB采用Berkeley DB作为持久存储组件,故很多Berkeley DB的特性的他都支持。
特性
MemcacheDB是一个分布式、key-value形式的持久存储系统。它不是一个缓存组件,而是一个基于对象存取的、可靠的、快速的持久存储引擎。 协议跟memcache一致(不完整),所以很多memcached客户端都可以跟它连接。MemcacheDB采用Berkeley DB作为持久存储组件,故很多Berkeley DB的特性的他都支持。 我们是站在巨人的肩膀上的。MemcacheDB的前端缓存是Memcached 前端:memcached的网络层 后端:BerkeleyDB存储
写速度:从本地服务器通过memcache客户端(libmemcache)set2亿条16字节长的key,10字节长的Value的记录,耗时 16572秒,平均速度12000条记录/秒。
读速度:从本地服务器通过memcache客户端(libmemcache)get100万条16字节长的key,10字节长的Value的记录,耗 时103秒,平均速度10000条记录/秒。 ·支持的memcache命令
官方网站
http://memcachedb.org/
11、Memlink
介绍
Memlink 是天涯社区开发的一个高性能、持久化、分布式的Key-list/queue数据引擎。正如名称中的memlink所示,所有数据都建构在内存中,保证了 系统的高性能 (大约是redis几倍),同时使用了redo-log技术保证数据的持久化。Memlink还支持主从复制、读写分离、List过滤操作等功能。
与Memcached不同的是,它的value是一个list/queue。并且提供了诸如持久化,分布式的功能。听起来有点像Redis,但它号称比Redis更好,在很多Redis做得还不好的地方进行了改进和完善。提供的客户端开发包包括 c,python ,php ,java 四种语言。
特性
特点:
内存数据引擎,性能极为高效
List块链结构,精简内存,优化查找效率
Node数据项可定义,支持多种过滤操作
支持redo-log,数据持久化,非Cache模式
分布式,主从同步
官方网站
http://code.google.com/p/memlink/
12、db4o
介绍
“利用表格存储对象,就像是将汽车开回家,然后拆成零件放进车库里,早晨可以再把汽车装配起来。但是人们不禁要问,这是不是泊车的最有效的方法呢。” – Esther Dyson db4o 是一个开源的纯面向对象数据库引擎,对于 Java 与 .NET 开发者来说都是一个简单易用的对象持久化工具,使用简单。同时,db4o 已经被第三方验证为具有优秀性能的面向对象数据库, 下面的基准测试图对 db4o 和一些传统的持久方案进行了比较。db4o 在这次比较中排名第二,仅仅落后于JDBC。通过图 1 的基准测试结果,值得我们细细品味的是采用hibernate /HSQLDB 的方案和 JDBC/HSQLDB 的方案在性能方面有着显著差距,这也证实了业界对 Hibernate 的担忧。而 db4o 的优异性能,让我们相信: 更 OO 并不一定会牺牲性能。
同时,db4o 的一个特点就是无需 DBA 的管理,占用资源很小,这很适合嵌入式应用以及 Cache 应用, 所以自从 db4o 发布以来,迅速吸引了大批用户将 db4o 用于各种各样的嵌入式系统,包括流动软件、医疗设备和实时控制系统。 db4o 由来自加州硅谷的开源数据库公司 db4objects 开发并负责商业运营和支持。db4o 是基于 GPL 协议。db4objects 于 2004 年在 CEO Christof Wittig 的领导下组成,资金背景包括 Mark Leslie 、 Veritas 软件公司 CEO 、 Vinod Khosla ( Sun 公司创始人之一)、 Sun 公司 CEO 在内的硅谷高层投资人组成。毫无疑问,今天 db4objects 公司是硅谷炙手可热的技术创新者之一。
特性
db4o 的目标是提供一个功能强大的,适合嵌入的数据库引擎,可以工作在设备,移动产品,桌面以及服务器等各种平台。主要特性如下: 开源模式。与其他 ODBMS 不同,db4o 为开源软件,通过开源社区的力量驱动开发 db4o 产品。 原生数据库。db4o 是 100% 原生的面向对象数据库,直接使用编程语言来操作数据库。程序员 无需进行 OR 映射来存储对象,大大节省了程序员在存储数据的开发时间。 高性能。 下图为 db4o 官方公布的基准测试数据,db4o 比采用 Hibernate/mysql 方案在某些测试线路上速度高出 44 倍之多!并且安装简单,仅仅需要 400Kb 左右的 .jar 或 .dll 库文件。在接下来的系列文章中,我们将只关注在 Java 平台的应用,但是实际上 db4o 毫无疑问会很好地在 .NET平台工作。
图:官方测试数据
易嵌入。使用 db4o 仅需引入 400 多 k 的 jar 文件或是 dll 文件,内存消耗极小。 零管理。使用 db4o 无需 DBA,实现零管理。 支持多种平台。db4o 支持从 Java 1.1 到 java 5.0,此外还支持 .NET 、 CompactFramework 、 Mono 等 .NET 平台,也可以运行在 CDC 、 PersonalProfile 、 Symbian 、 Savaje 以及 Zaurus 这种支持反射的 J2ME 方言环境中,还可以运行在 CLDC 、 MIDP 、 RIM/Blackberry 、 Palm OS 这种不支持反射的 J2ME 环境中。 或许开发者会问,如果现有的应用环境已经有了关系型数据库怎么办?没关系,db4o 的 dRS(db4o Replication System)可实现 db4o 与关系型数据库的双向同步(复制),如图 3 。 dRS 是基于 Hibernate 开发,目前的版本是 1.0 ,并运行在 Java 1.2 或更高版本平台上,基于 dRS 可实现 db4o 到 Hibernate/RDBMS 、 db4o 到 db4o 以及 Hibernate/RDBMS 到 Hibernate/RDBMS 的双向复制。dRS 模型如图
图:DRS模型
官方网站
http://www.db4o.com/china/
13、Versant
介绍
Versant Object Database (V/OD) 提供强大的数据管理,面向 C++, Java or .NET 的对象模型,支持大并发和大规模数据集合。
Versant对象数据库是一个对象数据库管理系统(ODBMS:Object Database Management System)。它主要被用在复杂的、分布式的和异构的环境中,用来减少开发量和提高性能。尤其当程序是使用Java和(或)C++语言编写的时候,尤其有用。
它是一个完整的,电子基础设施软件,简化了事务的构建和部署的分布式应用程序。
作为一个卓越的数据库产品,Versant ODBMS在设计时的目标就是为了满足客户在异类处理平台和企业级信息系统中对于高性能、可量测性、可靠性和兼容性方面的需求。
Versant对象数据库已经在为企业业务应用提供可靠性、完整性和高性能方面获得了建树,Versant ODBMS所表现出的高效的多线程架构、internal parallelism 、平稳的Client-Server结构和高效的查询优化,都体现了其非常卓越的性能和可扩展性。
Versant对象数据库包括Versant ODBMS,C++和Java语言接口,XML工具包和异步复制框架。
特性
一、强有力的优势
Versant Object Database8.0,适用于应用环境中包含复杂对象模型的数据库,其设计目标是能够处理这些应用经常需要的导航式访问,无缝的数据分发,和企业级的规模。
对于很多应用程序而言,最具挑战性的方面是控制业务模型本身的内在复杂性。 电信基础设施,交通运输网络,仿真,金融工具以及其它领域的复杂性必须得到支持, 而且这种支持复杂性的方式还要能够随着环境和需求变化而不断地改进应用程序。 这些应用程序的重点是领域和这些领域的逻辑。 复杂的设计应当以对象模型为基础。将技术需求例如持久性(和SQL)与领域模型混合在一起的架构会带来灾难性的后果。
Versant对象数据库使您可以使用那些只含有域行为信息的对象,而不用考虑持久性。同时,Versant对象数据库还能提供跨多个数据库的无缝的数据分发,高并发性,细粒度锁,顶级性能, 以及通过复制和其它技术提供的高可用性。现代Java中的对象关系映射工具已经简化了很多映射的问题, 但是它们还不能提供Versant所能提供的无缝数据分发的功能和高性能。
二、主要特性
C++、Java及.NET 的透明对象持久
支持对象持久标准,如JDO
跨多数据库的无缝数据分发
企业级的高可用性选项
动态模式更新
管理工作量少(或不需要)
端到端的对象支持架构
细粒度并发控制
多线程,多会话
支持国际字符集
高速数据采集
三、优势
对象层次结构的快速存储、检索和浏览
性能高于关系型数据库10 倍以上
减少开发时间
四、8.0的新特性
增强的多核线性扩展能力
增强的数据库管理工具(监控、数据库检查、数据重组)
支持基于LINQ的.NET绑定机制
支持.NET和JDO应用的FTS基于“Black Box”工具的数据库活动记录与分析
五、Versant对象数据库特性
动态模式更新
Versant支持缓慢模式更新,这意味着当被使用时,对象才会从旧的模式转为新的模式,就不需要映射了。所有这些都支持数据库模式的更新与敏捷 开发。
跨多数据库的无缝数据分发
客户端与一个或多个数据库进行无缝交互。单个的数据库无缝地联合在一起,使您能够给数据分区,提高读写能力,增大总体的数据库的大小。这些数据库上的数据分发是透明的。它们被结合在一起形成一个
无缝的数据库,提供巨大的可扩展性。
并发控制
对象级锁确保只有在两个应用程序试图更新同一对象时才会有冲突的发生,这与基于页的锁机制不同。基于页的锁机制可能会导致并发热点的假象。
透明的C++对象持久性
C++对象,STL类,标准C++集合如字典,映射,映射的映射,诸如此类,以原样保存在数据库中。状态变化在后台被自动追踪。当相关的事务提交后,所有的变化将会被自动发送到数据库。因此就能形成一种非常自然的,低干扰的编程风格,这样,就能实现应用程序的快速开发,同时当需求发生变化时,应用程序就能够灵活地修改。
透明的Java对象持久性
V/OD的JVI & JDO 2.0 API 提供了透明的简单对象(POJO)的持久性,包括 Java 2 持久类,接口,以及任何用户定义的类。状态变化
在后台被自动追踪。事务提交后,自动把所有变化写入数据库。因此,对于托管和非托管部署,您都能获得轻量级的编程风格。
可完全嵌入Versant 可以被嵌入到应用程序中,数据库规模可以达到TB 级别。
并且可以自主运行,不需要任何管理。
六、企业级的特性
对象端到端
对象端到端意味着你的应用对象存在于客户端,网络上,以及数据库中。与关系型数据库不同的是,对象在内存中和数据库中的表示之间不需要任何映射或转换。
应用的客户端缓存透明地缓存对象以提高速度。数据库支持对象,它能执行查询,建立索引,使应用能够平衡它和数据库间的进程执行。XA的支持使与其它事务数据源协调成为可能。
七、V/OD 8数据库体系架构
高可用性
通过在线进行数据库管理实现数据库的高可用性。
容错服务器
容错服务器选项可以在Versant数据库的硬件或是软件出现故障的时候,自动进行失效转移和数据恢复。容错服务器使用的是在两个数据库实例之间进行同步复制,一旦出现故障,容错服务器也会支持透明重同步。
异步数据复制
异步数据复制选项支持多个对象服务器之间的主从异步复制和点对点异步复制。可以使用异步数据复制将数据复制到一个分布式恢复站点或者将数据在多个本地的对象数据库之间进行复制,以提高性能和可靠性。
高可用性备份
高可用性数据备份选项使Versant可以使用EMC Symmetrix或其它企业级存储系统的磁盘镜像的特性,来对很大的数据卷进行在线备份,同时又不会影响到可用性。
在线再组织
Versant 数据库再组织选项为了会删除大量对象的应用而设计的。它使用户能够收回数据库中未使用的空间,同时使数据库保持正常运作,增加可用空间,改善数据库的性能。
八、为什么要使用Versant面向对象数据库?
通过缩短研发时间来加速上市
对象关系映射代码可能占用了你的应用的40%或更多。有了Versant面向对象数据库,映射代码就不再需要了。
极大地提高了性能和数据吞吐能力
当应用中涉及到复杂的内存对象模式,尤其是关联访问时,对象数据库要比映射到关系数据库表现得更好。例如,当应用程序需要从对象数据库里检索一个对象时,只要执行单条查询即可找到该对象。当映射到一个关系数据库时,如果对象包含多对多关联,那么就必须通过一个或多个连接才能检索到关联表中的数据。使用了对象数据库,对于一般复杂性的对象的检索,速度则提高了三倍,对于复杂性很高的对象的检索,例如多对多关联,搜索的速度则提高了三十倍。而对于集合的集合和递归联系,检索的速度有可能提高五十倍。
根据需求的变化,快速改进应用
今天,商业进程、结构和应用要求的变化的速度使得适应变化的能力变得极为重要。对象关系映射和其它适用于刚性存储结构的方法,让变化变得困难。而Versant对象数据库极大的提升了你的应用满足当前和未来的商业需求的能力。
投资回报率
当用户遇到了复杂的对象模型和大的数据集,对象数据库就是首选的解决方案。对象数据库主要的优点在于,它能够缩小代码的规模,降低研发成本,缩短上市的时间,减少或根本没有管理的要求以及降低购置硬件和服务器软件许可证的成本。性能上的优势还可以大大降低高负载动作应用所消耗的成本。大型的关系数据库成本高非常昂贵,还需要昂贵的硬件支持
官方网站
http://www.versant.com/index.aspx
14、Neo4j
介绍
Neo4j是一个嵌入式,基于磁盘的,支持完整事务的Java持久化引擎,它在图像中而不是表中存储数据。Neo4j提供了大规模可扩展性,在一台机器上可以处理数十亿节点/关系/属性的图像,可以扩展到多台机器并行运行。相对于关系数据库来说,图形数据库善于处理大量复杂、互连接、低结构化的数据,这些数据变化迅速,需要频繁的查询——在关系数据库中,这些查询会导致大量的表连接,因此会产生性能上的问题。Neo4j重点解决了拥有大量连接的传统RDBMS在查询时出现的性能衰退问题。通过围绕图形进行数据建模,Neo4j会以相同的速度遍历节点与边,其遍历速度与构成图形的数据量没有任何关系。此外,Neo4j还提供了非常快的图形算法、推荐系统和OLAP风格的分析,而这一切在目前的RDBMS系统中都是无法实现的。
Neo是一个网络——面向网络的数据库——也就是说,它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络上而不是表中。网络(从数学角度叫做图)是一个灵活的数据结构,可以应用更加敏捷和快速的开发模式。
你可以把Neo看作是一个高性能的图引擎,该引擎具有成熟和健壮的数据库的所有特性。程序员工作在一个面向对象的、灵活的网络结构下而不是严格、静态的表中——但是他们可以享受到具备完全的事务特性、企业级的数据库的所有好处。
由于使用了“面向网络的数据库”,人们对Neo充满了好奇。在该模型中,以“节点空间”来表达领域数据——相对于传统的模型表、行和列来说,节点空间是很多节点、关系和属性(键值对)构成的网络。关系是第一级对象,可以由属性来注解,而属性则表明了节点交互的上下文。网络模型完美的匹配了本质上就是继承关系的问题域,例如语义Web应用。Neo的创建者发现继承和结构化数据并不适合传统的关系数据库模型:
1.对象关系的不匹配使得把面向对象的“圆的对象”挤到面向关系的“方的表”中是那么的困难和费劲,而这一切是可以避免的。
2.关系模型静态、刚性、不灵活的本质使得改变schemas以满足不断变化的业务需求是非常困难的。由于同样的原因,当开发小组想应用敏捷软件开发时,数据库经常拖后腿。
3.关系模型很不适合表达半结构化的数据——而业界的分析家和研究者都认为半结构化数据是信息管理中的下一个重头戏。
4.网络是一种非常高效的数据存储结构。人脑是一个巨大的网络,万维网也同样构造成网状,这些都不是巧合。关系模型可以表达面向网络的数据,但是在遍历网络并抽取信息的能力上关系模型是非常弱的。
虽然Neo是一个比较新的开源项目,但它已经在具有1亿多个节点、关系和属性的产品中得到了应用,并且能满足企业的健壮性和性能的需求:
完全支持JTA和JTS、2PC分布式ACID事务、可配置的隔离级别和大规模、可测试的事务恢复。这些不仅仅是口头上的承诺:Neo已经应用在高请求的24/7环境下超过3年了。它是成熟、健壮的,完全达到了部署的门槛。
特性
Neo4j是一个用Java实现、完全兼容ACID的图形数据库。数据以一种针对图形网络进行过优化的格式保存在磁盘上。Neo4j的内核是一种极快的图形引擎,具有数据库产品期望的所有特性,如恢复、两阶段提交、符合XA等。
Neo4j既可作为无需任何管理开销的内嵌数据库使用;也可以作为单独的服务器使用,在这种使用场景下,它提供了广泛使用的REST接口,能够方便地集成到基于PHP、.NET和JavaScript 的环境里。但本文的重点主要在于讨论Neo4j的直接使用。
Neo4j的典型数据特征:
•数据结构不是必须的,甚至可以完全没有,这可以简化模式变更和延迟数据迁移。
•可以方便建模常见的复杂领域数据集,如CMS里的访问控制可被建模成细粒度的访问控制表,类对象数据库的用例、TripleStores以及其他例子。
•典型使用的领域如语义网和RDF、LinkedData、GIS、基因分析、社交网络数据建模、深度推荐算法以及其他领域。
围绕内核,Neo4j提供了一组可选的组件。其中有支持通过元模型构造图形结构、SAIL - 一种SparQL兼容的RDF TripleStore实现或一组公共图形算法的实现。
高性能?
要给出确切的性能基准数据很难,因为它们跟底层的硬件、使用的数据集和其他因素关联很大。自适应规模的Neo4j无需任何额外的工作便可以处理包含数十亿节点、关系和属性的图。它的读性能可以很轻松地实现每毫秒(大约每秒1-2百万遍历步骤)遍历2000关系,这完全是事务性的,每个线程都有热缓存。使用最短路径计算,Neo4j在处理包含数千个节点的小型图时,甚至比MySQL快1000倍,随着图规模的增加,差距也越来越大。
这其中的原因在于,在Neo4j里,图遍历执行的速度是常数,跟图的规模大小无关。不象在RDBMS里常见的联结操作那样,这里不涉及降低性能的集合操作。Neo4j以一种延迟风格遍历图 - 节点和关系只有在结果迭代器需要访问它们的时候才会被遍历并返回,对于大规模深度遍历而言,这极大地提高了性能。
写速度跟文件系统的查找时间和硬件有很大关系。Ext3文件系统和SSD磁盘是不错的组合,这会导致每秒大约100,000写事务操作。
官方网站
http://neo4j.org/
15、BaseX
介绍
BaseX 是一个XML数据库,用来存储紧缩的XML数据,提供了高效的 XPath 和 XQuery 的实现,还包括一个前端操作界面。
特性
BaseX一个比较显著地优点是有了GUI,界面中有查询窗口,可采用XQuery查询相关数据库中的XML文件;也有能够动态展示xml文件层次和节点关系的图。但我感觉也就这点好处了,编程时和GUI无关了。
和Xindice相比,BaseX更能支持大型XML文档的存储,而Xindice对大型xml没有很好的支持,为管理中小型文档的集合而设计。
BaseX 是一个XML数据库,用来存储紧缩的XML数据,提供了高效的 XPath 和 XQuery 的实现,还包括一个前端操作界面。
官方网站
http://basex.org/
memcached是一套分布式的快取系统,当初是Danga Interactive为了LiveJournal所发展的,但目前被许多软件(如MediaWiki)所使用。这是一套开放源代码软件,以BSD license授权释出。 memcached缺乏认证以及安全管制,这代表应该将memcached服务器放置在防火墙...更多memcached信息
Apache Cassandra是一套开源分布式Key-Value存储系统。它最初由Facebook开发,用于储存特别大的数据。Facebook目前在使用此系统。 主要特性: 分布式 基于column的结构化 高伸展性 Cassandra的主要特点就是它不是一个数据库,而是由一堆数据库节点共同构成...
Leveldb是一个google实现的非常高效的kv数据库,目前的版本1.2能够支持billion级别的数据量了。 在这个数量级别下还有着非常高的性能,主要归功于它的良好的设计。特别是LSM算法。 LevelDB 是单进程的服务,性能非常之高,在一台4个Q6600的CPU机器上,每秒...
Membase 是 NoSQL 家族的一个新的重量级的成员。该项目已改名为 Couchbase Server Membase容易安装、操作,可以从单节点方便的扩展到集群,而且为memcached(有线协议的兼容性)实现了即插即用功能,在应用方面为开 发者和经营者提供了一个比较低的门槛。做...
Tair是由淘宝网自主开发的Key/Value结构数据存储系统,在淘宝网有着大规模的应用。您在登录淘宝、查看商品详情页面或者在淘江湖和好友“捣浆糊”的时候,都在直接或间接地和Tair交互。 Tair的功能 Tair是一个Key/Value结构数据的解决方案,它默认支持基于内...更多Tair信息
最近更新: Tair —— 淘宝网分布式开源K/V存储系统 发布于 6年前
memcachedb是 一个由新浪网的开发人员开放出来的开源项目,给memcached分布式缓存服务器添加了Berkeley DB的持久化存储机制和异步主辅复制机制,让memcached具备了事务恢复能力、持久化能力和分布式复制能力,非常适合于需要超高性能读写速度,但是 不需要...更多memcachedb信息
Apache CouchDB 是一个面向文档的数据库管理系统。它提供以 JSON 作为数据格式的 REST 接口来对其进行操作,并可以通过视图来操纵文档的组织和呈现。 CouchDB 是 Apache 基金会的顶级开源项目。 CouchDB落实到最底层的数据结构就是两类B+Tree 。 与现在流行...更多CouchDB信息
最近更新: 【每日一博】CouchDB 用起来可能不是很舒服? 发布于 10个月前
Tokyo Cabinet 是一个DBM的实现。这里的数据库由一系列key-value对的记录构成。key和value都可以是任意长度的字节序列,既可以是二进制也可以是字符串。这里没有数据类型和数据表的概念。 当 做为Hash表数据库使用时,每个key必须是不同的,因此无法存储两个...更多Tokyo Cabinet信息
最近更新: Tokyo Cabinet 1.4.46 发布 发布于 6年前
Hazelcast是一个高度可扩展的数据分发和集群平台,可用于实现分布式数据存储、数据缓存。特性包括: 提供java.util.{Queue, Set, List, Map}分布式实现。 提供java.util.concurrency.locks.Lock分布式实现。 提供java.util.concurrent.ExecutorService分布...更多Hazelcast信息
最近更新: 每日一博 | Ignite 和 Hazelcast 性能对比测试 发布于 4个月前
Orient DB 是一个可伸缩的文档数据库,支持 ACID 事务处理。使用 Java 5 实现。 使用示例: // OPEN THE DATABASE ODatabaseDocumentTx db = new ODatabaseDocumentTx("remote:localhost/petshop").open("admin", "admin"); // CREATE A NEW DOCUMENT AN...更多OrientDB信息
最近更新: OrientDB 2.2.2 发布,文档数据库 发布于 3天前
Redis on Windows 是 Redis 在 Windows 下的原型版本,基于 Redis 2.4.11,支持 64 位 Windows。 编译方法: 使用 Visual Studio 10 打开 msvs\redisserver.sln 文件并进行构建 构建成功后将在 msvs\$(Configuration) 目录下生成如下可执行文件: redis-ser...更多Redis on Windows信息
最近更新: 如今在 Windows 下也可以玩 Redis 了 发布于 4年前
MongoCola (MagicMongoDBTool) 是一个用 C# 开发的 MongoDB 的图形化客户端软件。 更多MongoCola信息
MapDB是一个快速、易用的嵌入式Java数据库引擎,它提供了基于磁盘或者堆外(off-heap允许Java直接操作内存空间, 类似于C的malloc和free)存储的并发的Maps、Sets、Queues。MapDB的前身是JDBM,已经有15年的历史。MapDB支持ACID事务、MVCC隔离,它的jar包只...更多MapDB信息
最近更新: MapDB:专为Java设计的高性能的数据库 发布于 2年前
ScyllaDB 是用 C++ 重写的 Cassandra,每节点每秒处理 100 万 TPS。ScyllaDB 完全兼容 Apache Cassandra,拥有比 Cassandra 多 10x 倍的吞吐量,降低了延迟。 ScyllaDB 号称是世界上最快的 NoSQL 列存储数据库。 ScyllaDB 在垃圾收集或者 Compaction 的时候...更多ScyllaDB信息
最近更新: Scylla 1.0.1 发布,世界上最快的 NoSQL 数据库 发布于 2个月前
巨杉数据库 SequoiaDB 是企业级NoSQL分布式大数据 库,主要应用在政府、电信、金融、电力和互联网等拥有海量业务数据的行业。 优势: 通过非结构化存储与分布式处理,提供了近线性的水平扩张能力,让底层的存储不再成为瓶颈 提供了精确到分区级别的高可用性...更多SequoiaDB信息
最近更新: SequoiaDB巨杉数据库与IBM共建Power Linux 生态系统 发布于 9个月前
RocksDB 是一个来自 facebook 的可嵌入式的支持持久化的 key-value 存储系统,也可作为 C/S 模式下的存储数据库,但主要目的还是嵌入式。RocksDB 基于 LevelDB 构建。关于 RocksDB 的性能说明。更多RocksDB信息
最近更新: RocksDB 4.6.0 发布,Key-Value 存储系统 发布于 3个月前
RethinkDB 设计用来存储 JSON 文档的分布式数据库,可通过简单操作实现多机分布式存储。支持表的联合和分组查询。 特点: 简单编程模型 JSON 数据模型和一致性 分布式联合查询、子查询、聚合查询和原子更新操作 Hadoop 风格的 map/reduce. 轻松管理 提供友...更多RethinkDB信息
最近更新: RethinkDB 2.3 发布,分布式数据库 发布于 2个月前
InfluxDB 是一个开源分布式时序、事件和指标数据库。使用 Go 语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展。 示例代码: //初始化 influxdb = new InfluxDB(host, port, username, password, database); // with server set...更多InfluxDB信息
最近更新: InfluxDB —— 开源分布式时序、事件和指标数据库 发布于 4个月前
BeansDB 是一个主要针对大数据量、高可用性的分布式KeyValue存储系统,采用HashTree和简化的版本号来快速同步保证最终一致性(弱),一个简化版的 Dynamo。 它采用类似memcached的去中心化结构,在客户端实现数据路由。目前只提供了 Python版本的客户端,其...更多BeansDB信息
最近更新: 豆瓣 BeansDB 卷土重来,发布 0.5.2 版本 发布于 5年前
Hibari (在日语中意思为“云雀”)是一个专为高可靠性和大数据存储的数据库引擎,可用于云计算环境中,例如 webmail、SNS 和其他要求T/P级数据存储的环境中。Hibari 支持 Java, C/C++, Python, Ruby, 和 Erlang 语言的客户端。 Hibari 并不是一个关系数据...更多Hibari信息
最近更新: 开源 NoSQL 数据库引擎 Hibari 发布 发布于 6年前
Cayley 是 Google 的一个开源图(Graph)数据库,其灵感来自于 Freebase 和 Google 的 Knowledge Graph 背后的图数据库。 特性: 编程语言 go 运行简单,只需 3 到 4 个命令 RESTful API or a REPL if you prefer 内建查询编辑器和可视化界面 支持多种查询语...更多Cayley信息
最近更新: Cayley —— 来自 Google 的开源图数据库 发布于 2年前
LiteDB 是一个 .NET 开发的小型快速轻量级的 NoSQL 嵌入式数据库,特性: 无服务器的 NoSQL 文档存储,数据存储在单一文件中 类似 MongoDB 的简单 API 100% C# 代码,支持 .NET 3.5,单一 DLL,可从 NuGet 安装: Install-Package LiteDB 支持 ACID 事务控制...更多LiteDB信息
最近更新: LiteDB —— 轻量级 .NET 嵌入式 NoSQL 数据库 发布于 1年前
CockroachDB (蟑螂数据库)是一个可伸缩的、支持地理位置处理、支持事务处理的数据存储系统。CockroachDB 提供两种不同的的事务特性,包括快照隔离(snapshot isolation,简称SI)和顺序的快照隔离(SSI)语义,后者是默认的隔离级别。 蟑螂是一个分布式的...更多Cockroach信息
最近更新: CockroachDB 获得 2000 万美元风投 发布于 3个月前
xuncache 是免费开源的NOSQL(内存数据库) 采用golang开发,简单易用而且 功能强大(就算新手也完全胜任)、性能卓越能轻松处理海量数据,可用于缓存系统. 目前版本 version 0.3 前期它是活跃的 更新很迅速 version 1.0版本前 作者不推荐用于生产环境 采用json协...更多xuncache信息
最近更新: NOSQL数据库 xuncache 0.3 版本发布 发布于 3年前
UnQLite 是一个嵌入式的软件库,实现了自容器、无服务端、零配置和支持事务的 NoSQL 数据库引擎。UnQLite 是一个文档存储数据库,类似于 MongoDB, Redis, CouchDB 等。同时也是一个标准的 Key/Value 存储,类似 BerkeleyDB, LevelDB 等。 特点: Serverle...更多UnQLite信息
最近更新: UnQLite —— 嵌入式 NoSQL 数据库引擎 发布于 3年前
Maxtable是一个高性能、可扩展的、PB级海量数据处理系统。 Maxtable的特点有: 可扩展 (在任何时候都可以添加服务节点) 强一致性(一条数据在插入/删除/更新后,只要客户端返回成功,该数据即可被后续操作访问,以及支持数据恢复,保证数据不丢失) 支持S...更多Maxtable信息
KC是一个数据库管理的 lib,是 Tokyo Cabinet 的改进版本。数据库是一个简单的包含记录的数据文件,每个记录是一个键值对(key/value),key和value都是变长的字节序列。key和 value既可以是二进制的,也可以是文本字符串。数据库中的key必须唯一。数据库既...更多Kyoto Cabinet信息
最近更新: OSCHINA 8-3期软件推荐 Kyoto Cabinet 发布于 5年前
Arangodb是一个开源数据库,具有灵活的数据模型,如document,graph以及key-value.同时也是一个高性能数据库,支持类似SQL的查询以及javascript 活Ruby扩展. 特性: 1. 多数据模型: 可以灵活的使用Key-Value,document,graph或者他们的组合作为你的数据模型. 2...更多ArangoDB信息
最近更新: ArangoDB 2.6.5 发布,Bug 修复版本 发布于 10个月前
LokiJS 是一个内存中的 JavaScript 数据库,提供非常高的性能。支持字段索引用于快速访问和近乎 50万/每秒 的操作数。内建 DynamicView 类可提供更高性能的数据子集访问。 LokiJS 支持集合,类似 MongoDB,数据可保持到磁盘的 JSON 格式,兼容 Node.js 和浏...更多LokiJS信息
最近更新: LokiJS —— 高性能的 JavaScript 数据库引擎 发布于 2年前
iPage是一个基于文件的轻量级Key-value存储java lib, 具备特性有: 高性能, 请见benchmark; 支持可靠同(异)步读写调用; 支持索引自动扩容 支持批量写同步到磁盘 支持系统宕机后数据恢复 支持固定写次数和时间间隔的混合fsync策略 支持垃圾回收 支持顺...更多iPage信息
最近更新: iPage 2.0 RC1 发布,轻量级K/V存储 发布于 4年前
Parallel Universe宣布在LGPL许可证下开源了Galaxy内存数据网格。Parallel Universe称,Galaxy向集群节点分配数据项的方式不同于其它内存数据网格,它会按照需要动态的将数据对象从一个节点移动到另一个节点,使用的是缓存一致性协议。Galaxy比较适用于可预...更多Puniverse Galaxy信息
最近更新: Parallel Universe 开源 Galaxy内存数据网格 发布于 4年前
TomP2P 是一个基于 P2P 的高性能 key-value 结对数据的存储方案,每个结对数据拥有一个表(基于磁盘或者内存)用来存储其值,单个值可被查询或者更新,底层的通讯框架使用 Java 的 NIO ,支持大量并发连接。 主要特点: 使用 Java5 NIO 实现的分布式哈希表...更多TomP2P信息
最近更新: TomP2P 5 Alpha 6 发布,高性能 K/V 存储系统 发布于 2年前
这个脚本是定时获取MongoDB的状态信息,并将其按时间顺序排列显示在Web页面上,让你可以直接看到随着时间推移你MongoDB的各项状态指标的变化。基于 node.js 开发。 安装方法: Git clone git ://github.com/karlseguin/mongowatch.git cd mongowatch npm i...更多MongoWatch信息
nessDB是一个小巧、高性能的、支持Redis协议的K-V数据库,使用标准C开发,支持Linux, *BSD, OS X and Solaris 系统,无第三方依赖。 描述: * 使用Bloom filter检查数据存在性 * 使用Level-LRU提升随机读性能,类似于InnoDB的bufferpool,大小可配置...更多nessDB信息
TreapDB 是一个基于 Treap 算法(一种随机二叉搜索树)开发的 Key/Value 数据存储的数据库。兼容 memcached 协议。 更多特性: TreapDB支持传统的get和set操作,还支持诸如求k个最小和k个最大、前缀查找以及区间查找等; TreapDB的索引是持久化的,但是使用...更多TreapDB信息
最近更新: TreapDB 2.0 RC1 版放出 发布于 5年前
erlang开发的开源高可靠性nosql数据库tiger介绍 可靠性: 写:对于n=2f+1 机器集群,在f台机器宕机的情况下可写 读:只要是没有宕机的机器都是可读的 一致性: 强一致性 扩展性: 读的能力可以线性扩展 功能: 目前...更多tiger信息
Vedis 是一个可嵌入式的数据存储的 C 库,包含跟 Redis 类似的超过 70 个命令支持,但没有网络层支持,只是提供进程内的应用访问。 特点: Serverless, datastore engine. Transactional (ACID) datastore. Built with over 70 commands similar to the s...更多Vedis信息
最近更新: Vedis —— 嵌入式的 Redis 数据存储引擎 发布于 3年前
EJDB 是一个嵌入式的 JSON 数据库引擎,旨在提供快速的类 MongoDB 的嵌入式数据库,可用于 C/C++ 应用程序中。主要特性包括:集合级别写锁、集合级别的事务、字符串匹配查询以及 Node.js 绑定。 EJDB 修改自 Tokyo Cabinet. 基于 C BSON API 实现的 JSON 处...更多EJDB信息
最近更新: EJDB 1.1.19 发布,嵌入式JSON数据库引擎 发布于 3年前
ForestDB 是一个快速的 Key-Value 存储引擎,基于层次B +树单词查找树。由 Couchbase 缓存和存储团队开发。 关键特性: Key 和 Value 可以是任意二进制值 应用可以定制比较函数来支持自定义的 Key 顺序 可通过顺序号来获取 Value 值或者是 Key 的磁盘偏移量...更多ForestDB信息
最近更新: ForestDB —— 快速的 Key-Value 存储引擎 发布于 1年前
ToroDB 是一个开源的面向文档的 JSON 数据库,基于 PostgreSQL 运行。JSON 文档关系化存储,而非 blob/jsonb 方式,可显著提升存储和 IO,兼容 MongoDB。 为什么选择 TORODB: ToroDB 利用关系数据库数十年的经验和性能 不像其他 NoSQL 一样重复造轮子 无模...更多ToroDB信息
最近更新: ToroDB —— 基于 PostgreSQL 的 JSON 数据库 发布于 1年前
Cassandra Storage Engine (SE) 运行直接通过 MariaDB/MySQL 来访问 Cassandra 数据库,并提供了 SQL 和 NoSQL 的数据集成。 当你需要: 直接通过 SQL 查询来获取 Cassandra 上的数据时 将数据插入到 Cassandra 时 使用 Cassandra SE 可以很方便处理,Cas...更多Cassandra Storage Engine信息
最近更新: MySQL/MariaDB 的 Cassandra 存储引擎 发布于 4年前
CouchDB的一大特点是利用其同步机制在终端与服务端进行数据同步,比如在移动终端Android 系统和iOS 系统下都有CouchDB的实现,其策略是离线时将数据存在本地,在线后将数据与服务端进行同步。 而今天要说的是利用JavaScript和HTML5 的IndexedDatabase实现的一...更多PouchDB信息
AtlasDB 是一个构建于 Key/Value 存储系统之上的事务处理层。当设计一个可伸缩、支持事务处理的数据存储时,被干掉的特性往往都是对事务的支持。但是这对开发者而言却是非常重要的,因此 AtlasDB 使得任何的 K/V 存储系统可以支持事务处理。一旦支持事务,...更多AtlasDB信息
最近更新: AtlasDB —— NoSQL 的事务处理层 发布于 8个月前
Kyoto Tycoon(以下简称KT)是Tokyo Tyrant 的作者Mikio Hirabayashi 的系列作品之一,KT 是一个数据库网络层服务,它提供一个插件机制,可以挂载几乎所有的数据库存储设备。之前已经有过KT嫁接Memcached 的案例。...更多Kyoto Tycoon信息
Keyspace 是一家叫做 Scalien 的创业公司开发的高可靠 key-value 存储系统。比起 Redis、Tokyo Tyrant 等系统来说,Keyspace 还非常新,才上线几个月。有一篇 white paper 详细介绍了 Keyspace 的设计和架构。Keyspace 强调的技术点是高可靠性,有以下一些...更多Keyspace信息
LinvoDB 是一个 Node.js/NW.js 的嵌入式数据库引擎,类似 MongoDB 和类 Mongoose 数据库,提供类似的接口,基于 NeDB 开发。 特性: 类 MongoDB 的查询引擎 基于 LevelUP 的持久化,可选择不同后端 NW.js 友好 - JS-only backend is Medea 高性能 - steady...更多LinvoDB信息
最近更新: LinvoDB —— 用于 Node 的嵌入式文档数据库 发布于 1年前
一个对MongoDB慢查询进行监控的小工具,使用node.js从MongoDB的system.profile这个Collection中不停读出最新的数据并显示在Web页面,这样你就能实时的看到MongoDB的慢查询了。当然,前提是你得配置好对应DB的profile级别。 安装方法: git clone git://gi...更多MongoSpy信息
LedisDB 是一个参考ssdb,采用go实现,底层基于leveldb,类似redis的高性能nosql数据库,提供了kv,list,hash以及zset数据结构的支持。 最开始源于ssdb,在使用了一段时间之后,因为兴趣的原因,决定用go实现一个。 目前金山的 qing.wps.cn 推送服务器的数...更多LedisDB信息
最近更新: LedisDB 0.4 版本发布,Go 实现的高性能 NoSQL 发布于 2年前
HyperLevelDB 是 HyperDex 开发的一个数据存储引擎,改进自 Google 的 LevelDB 以满足 HyperDex 的业务需要。 HyperLevelDB 主要在 LevelDB 上改进了: 1. 改进并行机制,使用更细粒度的内部锁控制来提供多 writer 线程的高吞吐量 2. 改进数据压缩...更多HyperLevelDB信息
TngouDB中文索引数据库是天狗网(tngou.NET )开发的中文搜索引擎 数据库,用于天狗农业网的农业搜索引擎。 天狗希望基于开源的力量,把TngouDB打造成为一个专门的中文索引NoSQL数据库。 简介 TngouDB是基于JAVA而开发的跨平台数据库,底层采用Lucene(存储引...更多TngouDB信息
最近更新: TngouDB 0.3 beta 发布,中文搜索引擎数据库 发布于 9个月前
Omid 项目来自 Yahoo,用于给使用快照隔离的键值存储提供事务支持。 Omid 是 Optimistically transactional Management in Datasources (数据源事务管理优化)的缩写。HBase 是目前唯一支持的数据库, 但适配其他提供一单元多版本的数据也会很简单。 OMID...更多Omid信息
最近更新: Omid —— 雅虎的 HBase 事务支持 发布于 7个月前
Elliptics network 是一个具备容错能力的分布式哈希表对象存储系统。 主要特性: 分布式哈希表、无需元数据服务器,具备水平伸缩能力 数据复制 支持事务处理和并行IO 不同的IO存储后端,模块化架构允许自行扩展 根据节点的添加和删除自动进行数据分区 ring...更多Elliptics network信息
Tera 是一个高性能、可伸缩的数据库系统,被设计用来管理搜索引擎万亿量级的超链与网页信息。为实现数据的实时分析与高效访问,我们使用按行键、列名和时间戳 全局排序的三维数据模型组织数据,使用多级Cache系统,充分利用新一代服务器硬件大内存、SSD盘和...更多?Tera信息
Sophia 是一个流行的可嵌入式的 Key-Value 数据库,用于高负载的运行环境,速度快而且功能强大。 特性: * 完全复合 ACID 规范 * 多版本并发控制引擎 * 纯追加模式 * 支持多数据库 * 支持多语句和单语句事务 (SERIALIZED view, multi-databases) * 多线程 ...更多Sophia信息
ForerunnerDB 是一个 JavaScript 数据库,使用简单的 JSON 查询语言,基于 MongoDB 的查询语言。ForerunnerDB 提供跨页面加载的持久化存储,支持基本和组合索引。 示例代码: var db = new ForerunnerDB(), items = db.collection(‘items‘...更多ForerunnerDB信息
Dynomite 是 Netflix 的开源作品,灵感来自于 Dynamo whitepaper ,是一个轻量级、分布式的 Dynamo 层,用于不同的 K/V 存储和协议。 Dynomite 拓扑结构: 节点: 复制结构: 客户端: 吞吐量:...更多Netflix Dynomite信息
nosql数据库,底层使用leveldb作为存储引擎,提供REST接口 提供的特性包括 主从同步 主主同步 snappy压缩 范围查询 批量读写 易于管理 内置状态查看与管理 使用了C++ 11,需要g++4.8 在ubuntu14上测试更多leveldbd信息
Tarantool 是一个用 Lua 语言编写的嵌入式 NoSQL 数据库,可以直接在 Lua 程序中运行。合并了 Node.js 的强大网络编程和 Redis 数据持久。 示例代码: #!/usr/bin/env tarantool box.cfg{} hosts = box.space.hosts if not hosts then ...更多Tarantool信息
最近更新: Tarantool 1.6.6 发布,嵌入式 NoSql 数据库 发布于 10个月前
Heroic是Spotify公司内部使用的时间序列数据库。在大规模搜集和呈现近实时数据时,Spotify公司曾面临着巨大挑战。Heroic就是该公司用来应对这些挑战的工具。其内部包含了两个核心技术——Cassandra和Elasticsearch。其中,Cassandra负责存储,而Elasticse...更多Heroic信息
近更新: Hypertable 0.9.7.18 发布,分布式数据库 发布于 2年前
Riak是以 Erlang 编写的一个高度可扩展的分布式数据存储,Riak的实现是基于Amazon的Dynamo论文,Riak的设计目标之一就是高可用。Riak支持多节点构建的系统,每次读写请求不需要集群内所有节点参与也能胜任。提供一个灵活的 map/reduce 引擎,一个友好的 HT...更多Riak信息
最近更新: Riak TS 1.3 发布,Key/Value 存储服务器 发布于 1个月前
SSDB 是一个 C/C++ 语言开发的高性能 NoSQL 数据库, 支持 zset(sorted set), map(hash), kv, list 等数据结构, 用来替代或者与 Redis 配合存储十亿级别列表的数据. SSDB 在 QIHU 360 被大量使用, 同时也被国内外业界的众多互联网企业所使用. SSDB 支持 PH...更多SSDB信息
最近更新: 【开源访谈】NoSQL 数据库 SSDB 作者访谈 发布于 12个月前
Neo是一个网络——面向网络的数据库——也就是说,它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,但是它将结构化数据存储在网络上而不是表中。网络(从数学角度叫做图)是一个灵活的数据结构,可以应用更加敏捷和快速的开发模式。 ...更多Neo4j信息
最近更新: Neo4j 3.0 发布,面向网络的数据库 发布于 2个月前
JRedis 是一个高性能的 Java 客户端,用来连接到 Redis 分布式哈希键-值数据库。提供同步和异步的连接。 更多JRedis信息
最近更新: JRedis 1.0 RC2 发布,Redis客户端 发布于 6年前
Couchbase Server (前身是 Membase) 是一个分布式的面向文档的 NoSQL 数据库管理系统,该系统联合了 CouchDB 的简单和可靠以及 Memcached 的高性能以及 Membase 的伸缩性。更多Couchbase Server信息
最近更新: 每日一博 | Couchbase 中的分布式储存 发布于 3个月前
MangoDB 宣称自己是比 MongoDB 更可靠更快速的版本,而且只有 30 行代码。 下面是来自 MangoDB 首页上的介绍: MangoDB 是最快的数据库之一,它允许你存放任意类型的数据,没有任何 IO 瓶颈。如果你熟悉 MongoDB,那么你使用 MangoDB 会很顺手,你无需任何...更多MangoDB信息
原生Mac下的mongodb图形客户端 Features MongoHub is an application used to manage mongodb databases (locally or over the internet). It lets you add and remove databases and collections, change fields and indexes, view and filter the conten...更多MongoHub信息
最近更新: RavenDB 3.0 新特性:索引后端 发布于 2年前
有过传统LAMP经验的同学肯定都对phpmyadmin非常熟悉,phpmyadmin是一个PHP的MySQL WEB管理工具,非常实用也非常好用。而本文要介绍的是一个叫phpRedisAdmin的工具,从名字上你就能看到,它是一个PHP的Redis WEB管理工具。 演示demo:http://dubbelboer.com...更多phpRedisAdmin信息
iBoxDB是一个具有双引擎(Java 和 C#)的高性能NoSQL数据库,支持直接在虚拟机上运行而无需获取机器码执行权限,内置了非结构化数据存取,ORM,缓存等模块,不依赖任何第三方功能组件,实现了一站式的应用程序数据处理服务, 可以帮助开发人员使用应用程序开...更多iBoxDB信息
最近更新: iBoxDB 2.9/2.5 发布,从 KeyValue 到 KeyOnly 发布于 2个月前
NoSQL是一种快速、便携的关系型数据库管理系统,除内存和处理器速度外不受任意限制。NoSQL符合关系模型。 更多NoSQL信息
最近更新: 全面梳理关系型数据库和 NoSQL 的使用情景 发布于 4个月前
Hibernate 团队对外宣布了一个新的家族成员,Hibernate OGM, OGM 是 Object Grid Mapping的缩写,它的目标是试图使用 JPA 来操作 NoSQL数据库。 示例代码: @PersistenceContext EntityManager em; // the transaction boundary is really here ...更多Hibernate OGM信息
最近更新: Hibernate OGM 5.0.0.Final 发布 发布于 1个月前
第一次看到Firebase就被它所吸引,此后尝试使用它开发了一个chrome聊天插件,开发过程中,Firebase极大的提高了开发效率。由于对Firebase的强烈兴趣,所以毕设选择做一个类似的东西,便是End.js Firebase几个优点: 云服务,随时扩展,高性能,无需部署管理...更多End.js信息
最近更新: End.js —— 国产类 Firebase 的实时数据库框架 发布于 3年前
Crate Data 是一个开源的大规模的可伸缩的数据存储系统,无需任何系统管理需求。提供强大的搜索功能。用于存储各种表格数据、非结构化数据和二进制对象。并可通过 SQL 进行检索。易于安装和使用,支持高可用性和实时大规模并行访问和处理。Crate 特别适合用...更多Crate信息
最近更新: Crate 0.55.0 发布,数据存储系统 发布于 2周前
ESENT,我能想到最恰当的比喻是,它是Microsoft世界的BerkeleyDB,鲜为人知,很少有.NET开发人员使用它,但它的性能和可靠性已经经受住了时间的考验。 ESENT是一个原生支持Windows的嵌入式数据库引擎,它是CodePlex上的一个托管项目,最新的Windows版本已经...更多ESENT信息
Scalaris 是一个采用Erlang开发的分布式 key-value 存储系统。提供的 API 包括:Java, Python, Ruby, and JSON更多Scalaris信息
WhiteDB 是一个轻量级 NoSQL 数据库,使用 C 语言编写。整个数据库运行在内存中,没有服务器进程,数据直接通过共享内存读写,无需使用 Socket。 特性: 支持索引 (T-tree) 通过日志和内存 dump 进行持久化 通过锁实现并发 查询限制 json, CSV and RDF 支持...更多WhiteDB信息
最近更新: WhiteDB —— 轻量级内存 NoSQL 数据库 发布于 3年前
Unistor SINA公司开发的一个key/value平台系统。 系统说明如下: 1> Unistor是定位于【memcache、redis】与【mysql】间的一个key/value持久存储平台。 2> 与Memcache、redis不同,Unistor通过扩充存储引擎满足不同类型数据、业务规则的数据的高效存储于操作...更多Unistor信息
最近更新: Unistor —— 来自新浪的 Key/Value 存储系统 发布于 4年前
redmon是那种一眼看上去就觉得不错的小工具,而且必然会很轻量级,目前它已经支持实时查看Redis的流量,请求,配置信息,命令行操作等功能,后续还将添加Web端配置修改,慢日志查询等功能。如果有兴趣,你可以去下载一个试玩一下。 简单安装(目前还木有g...更多redmon信息
Memlink 是天涯社区开发的一个高性能、持久化、分布式的Key-list/queue数据引擎。正如名称中的memlink所示,所有数据都建构在内存中,保证了系统的高性能 (大约是redis几倍),同时使用了redo-log技术保证数据的持久化。Memlink还支持主从复制、读写分离、L...更多Memlink信息
最近更新: Memlink —— 一个国产K/V型NoSQL数据库 发布于 6年前
Voldemort 是一个采用 Java 语言开发的分布式的Key-Value存储系统。 主要特性: Data is automatically replicated over multiple servers. Data is automatically partitioned so each server contains only a subset of the total data Server failure i...更多Voldemort信息
Redis-v8 是一个基于 Google V8 JavaScript 引擎构建的 NoSQL 数据库,特点是高性能、易用。目前只在 Mac OS X 和 CentOS 6.3 平台上测试过。更多Redis-v8信息
最近更新: redis-v8 —— 基于 V8 引擎开发的 NoSQL 数据库 发布于 3年前
Tokyo Cabinet (TC) 是日本第一大SNS网站mixi开发的,而Flare是日本第二大SNS网站green.jp开发的。Flare简单的说就是给TC添加了scale功能。他替换掉了TT部分,自己另外给TC写了网络服务器,Flare的主要特点就是支持scale能力,他在网络服务端之前添加了一个...更多Flare信息
最近更新: flare 1.0.17 发布。兼容Memcached. 发布于 3年前
GraphDB 是一个企业图形数据存储引擎,它使用C#语言开发,并且是开源的,对于非商业目的可以免费下载,但如果用于商业目的则需要购买商业许可。 图形数据库和我们常说的NoSQL数据库存储方式是不同的,它们更善于处理一类特定的问题:数据集包含了大量的关系...更多GraphDB信息
RaptorDB 是一个很小的、快速的嵌入式 NoSQL 存储模块,使用 B+ 树 或者 MurMur 哈希索引。支持数据持久化到磁盘中存储。更多RaptorDB信息
最近更新: #翻译# RaptorDB - Key/Value 存储系统 V2 发布于 2年前
HyperDex 是一个新出现的NOSQL神器, 特点 1.分布式KV store,系统性能能够随节点数目线性扩展 2. 吞吐和延时都能秒杀现在风头正劲的MonogDB,吞吐甚至强于Redis 3.使用了hyperspace hashing技术,使得对存储的K-V的任意属性进行查询成为可能...更多HyperDex信息
最近更新: NoSQL 2.0 要来临了吗? 发布于 4年前
Dynomite 是采用 ErLang 语言开发的分布式的Key-Value存储系统。 Dynomite is an eventually consistent distributed key value store written in Erlang. The design is based off of Amazon’s Dynamo paper. Dynomite currently implements t...更多Dynomite信息
Titan 是一个分布式的图形数据库,特别为存储和处理大规模图形而优化。 支持不同的分布式存储层 Cassandra 1.1 HBase 0.92 内置实现 Blueprints graph API Gremlin graph traversal language Frames graph-to-object mapper Rexster graph server...更多Titan信息
最近更新: Titan 0.5.0 发布,分布式图数据库 发布于 2年前
Geode 是一个开源的分布式内存数据库,用于构建水平伸缩的应用,基于 GemFire 开发。 更多Geode信息
Apache Accumulo 是一个可靠的、可伸缩的、高性能的排序分布式的 Key-Value 存储解决方案,基于单元访问控制以及可定制的服务器端处理。使用 Google BigTable 设计思路,基于 Apache Hadoop、Zookeeper 和 Thrift 构建。...更多Accumulo信息
最近更新: Apache Accumulo 1.7.1 发布,K/V 存储方案 发布于 4个月前
Twemcache 是 Twitter 对 memcached 的改造版本。Twemcache 基于 memcached 1.4.4,Twitter 对其改造使之更适合大规模的 Twitter 产品环境。更多Twemcache信息
最近更新: Twemcache —— Twitter 对 memcached 的改造 发布于 4年前
Aerospike是一个以分布式为核心基础,可基于行随机存取内存中索引、数据或SSD存储中数据的数据库。 Aerospike主要用于广告业务,作为一个服务器端的cookie存储来使用,在这种场景下读取和写入性能是至关重要的。 Aerospike 提供免费社区版本。...更多Aerospike信息
最近更新: Aerospike 宣布开源其内存中的 NoSQL 数据库 发布于 2年前
CodernityDB 是一个开源的纯 Python 实现的、无第三方依赖、支持多平台的 NoSQL 数据库。 关键特性: 纯 Python 开发 支持多索引 快速 (每秒将近10万的写入和超过10万的get操作,详情请看 Speed ) 提供服务器模式和嵌入式模式(默认) 可轻松实现自定义存储...更多CodernityDB信息
最近更新: CodernityDB —— Python 实现的 NoSQL 数据库 发布于 3年前
Plurk 前陣子放出 LightCloud,試著解決 Amazon 所提出的 Dynamo 用某些複雜方法解決問題。 比起 Dynamo 的優點是: 使用 Tokyo Cabinet 當底層,這是目前最快的 key-value database 之一,而且檔案也小。 因為使用 Tokyo Cabinet,所以可以用他的 master...更多LightCloud信息
moxi 是一个 memcached/membase 的代理,支持多线程、支持文本和二进制协议和 libevent 可动态配置池的参数。moxi会在本地缓存,使得moxi相当于memcache server的前端cache,能减少network hops...更多moxi信息
leveldb的Windows版本,开源的leveldb只支持Linux的,这个是在windows下可以编译和运行的。支持Visual Studio 2008和2010。编译出来的库文件可以是静态库也可以是动态库。 注:leveldb本来是支持windows的,因为chrome用的就是leveldb,但是chrome的编译太...更多leveldbwin信息
redis-search 是一款基于 Redis 的高效搜索组件 特点 实时更新搜索索引 高效 分词搜索和逐字匹配搜索 别名搜索 支持 ActiveRecord 和 Mongoid 暂时只能用一个字段做为排序条件 中文同音词,汉语拼音搜索支持 可以用一些简单的附加条件组合搜索 环境需求 Ru...更多Redis-Search信息
JAConfig 实现了最终一致性的分布式 key/value 数据库,用于管理 JASocket 集群。 使用 Quarum 用于跟踪节点的运行状态,使用 Ranker 来确定节点的负载,ClusterManager 用于启动其他服务器;Kingmaker 来确定运行 ClusterManager 的节点。JAConfig 是无锁...更多JAConfig信息
最近更新: JAConfig 1.0 发布,分布式 Key/Value 存储 发布于 3年前
LevelDB JNI 提供了 Google 高效的Key/Value数据库 LevelDB 的 Java 接口。 示例代码: import org.fusesource.leveldbjni.*; import static org.fusesource.leveldbjni.DB.*; import java.io.*; Options options = new Options(); options.setCreateIfMi...更多LevelDB JNI信息
BigSea 是一个快速、轻量级的 Key/Value 数据库,基于 Google 的 LevelDB 和 HTTP 协议。 On Intel Xeon E5645 CPU 2 Put(key,value): Over 90000 queries per second. Get(key): Over 100000 queries per second....更多BigSea信息
Oracle的这个NoSQL Database, 是在10月4号的甲骨文全球大全上发布的Big Data Appliance的其中一个组件,Big Data Appliance是一个集成了Hadoop、NoSQL Database、Oracle数据库Hadoop适配器、Oracle数据库Hadoop装载器及R语言的系统。 Oracle NoSQL Datab...更多NoSQL Database信息
最近更新: Oracle NoSQL Database 2.0 发布 发布于 3年前
Redis-Dump 是一个将Redis数据导入/导出为json格式数据的小工具,目前还在Alpha版本,目前提供两个命令,将Redis数据层出成json的redis-dump命令,以及将json文件导入到redis中的redis-load命令,喜欢尝鲜的同学可以试玩一下。 另外个人认为这也是一个适合...更多Redis-Dump信息
MeayunDB是一个高可伸缩的极速实时内存数据库,采用移动计算的嵌入式架构,减少客户端/服务器进程间通信开销,并可根据您的访问量和数据存储需要的增长轻松扩展。您只需上传您的应用程序,它便可立即为您的用户提供服务。 功能特点: 列式内存数据存储+树形...更多MeayunDB信息
1、HashDB是什么? HashDB是一个简单的KeyValue存储系统原型,提供基本的<key, value>二元组的数据存储与读取功能,亦即当前被广为推崇的NoSQL存储系统。最初想到设计这个小系统,完全是出于偶然。本人维护着一个轻量级的开源重复数据删除小工具deduputil...更多HashDB信息
最近更新: MongoVision 1.1-beta1 发布 发布于 2年前
STSdb 一个免费开源的高性能数据库系统(NoSQL键/值对存储引擎),专为临界任务和实时程序设计。 STSdb 100% 原生 C# 开发, 支持不同 .NET 平台, 比如 .NET Framework 和 Mono。不依赖任何第三方组件。 STSdb 提供不同存储方法:内存,文件或者混合。...更多STSdb信息
QDBM: Quick Database Manager 是一个用来存储key-value数据的数据库服务器软件,核心采用c语言 编写,数据库是一个简单的key-value的数据记录,记录使用哈希表或者是 B+ 树进行组织,提供多种语言的API。...更多QDBM信息
新增加字符串函数 ds_append ds_incrby 新增加类似redis的hashs功能,用法一样 ds_hdel ds_hget ds_hset ds_hmget ds_hmset ds_hincrby ds_hgetall redis-storage 基于最新的redis-2.6.7开发的 用luajit替换LUA,增强lua执行性能 author: 七夜, shenzhe Q...更多redis-storage信息
像使用 Redis 一样使用 LevelDB: 兼容 Redis 协议的 LevelDB (网络)前端。支持 KV, List, Hash, Set 等数据结构,支持多Database以及批量模式(multi/exec/discard)。更多请参看其 README 文件。...更多Redis-LevelDB信息
最近更新: MongoDB 宣布收购 WiredTiger 存储引擎 发布于 2年前
FlockDB是一个存储图数据的数据库,但是它并没有优化遍历图的操作。它优化的操作包括:超大规模邻接矩阵查询,快速读写和可分页查询。 FlockDB将图存储为一个边的集合,每条边用两个代表顶点的64位整数表示。对于一个社会化网络图,这些顶点ID即用户ID,但...更多FlockDB信息
Tumblr是世界上最流行的轻博客服务,其用户量在最近的一次统计中已经达到2090万,超过了全球最大的博客服务WordPress。而我们今天要介绍的是Tumblr通知系统的架构,其通知系统由一个叫Staircar的轻量级HTTP服务器和其下层的大规模Redis集群组成。 考虑到容...更多Staircar信息
最近更新: 【每日一博】Tumblr 消息通知系统是如何构建的 发布于 3年前
rlite 是一个自容器、无服务端、零配置、支持事务和兼容 Redis 的数据库引擎。rlite 对于 Redis 就好像 SQLite 对于 SQL。 使用场景: 移动应用 在开发环境中替换 Redis 堆栈 在测试环境中替换 Redis 作为 Redis 的从节点 存储客户端应用数据 示例代码: ...更多rlite信息
最近更新: rlite —— 兼容 Redis 的嵌入式 NoSQL 引擎 发布于 1年前
RedisSQL 是一个用 SQL 语法来操作 Redis 的项目。目前该项目已经改名为 Alchemy Database 更多RedisSQL信息
IHBase (Indexed HBase) 是 HBASE 的一个扩展,用于支持更快的扫描。 更多IHBase信息
Terrastore是一个基于Terracotta(一个业界公认的、快速的分布式集群组件)实现的高性能分布式文档数据库。可以动态从运行中的集群添 加/删除节点,而且不需要停机和修改任何配置。支持通过http协议访问Terrastore。Terrastore提供了一个基于集合的键/值接...更多Terrastore信息
最近更新: Terrastore 0.8 发布,分布式文档数据库 发布于 6年前
DeNSo DB 是一个用 .NET 实现的 NoSQL 数据库。简单、快速和可靠。 特性: Journaled Built using Command Query Responsibility Segregation pattern in mind. Store data as Bson-like Documents. Accessible via Rest Accessible via WCF Peer to peer...更多DeNSo DB信息
FoundationDB 是新一代的数据库,用来支持多样化的应用程序和数据模型,同时提供非常好的性能、数据一致性和操作弹性。FoundationDB 不仅传承了 NoSQL 的优势,而且还整合了他们叫做“YesACID”的特色。FoundationDB高管坚信他们的数据库在扩展性和容错性上...更多FoundationDB信息
最近更新: 苹果公司收购数据提供商 FoundationDB 发布于 1年前
CouchDB的主要开发商Couch.io公司宣布发布了CouchDB SDK for android 。CouchDB SDK for Android 的目标是提供优秀的SDK,支持在Android设备上开发使用CouchDB作为本地数据存储的Web、本地和云计算应用程序,CouchDB使同步无所不在,它已经成为移动计算的重...更多CouchDB on Android信息
最近更新: CouchOne Mobile for Android 0.5 发布于 6年前
LMDB 是一个超级快、超级小的 key-value 数据存储服务,是由 OpenLDAP 项目的 Symas 开发的。使用内存映射文件,因此读取的性能跟内存数据库一样。其大小受限于虚拟地址空间的大小。更多Lightning MDB信息
最近更新: Lightning MDB 0.9.10 发布,K/V 存储服务 发布于 3年前
HyperGraphDB 是一个可用于一般应用环境下的强大的存储系统,基于 directed hypergraphs 理论构建,提供持久化的内存模型设计、AI 和语义网络,可作为 Java 项目的嵌入式面向对象数据库或者图形数据库、或者是 NoSQL 数据库。 主要特点: Powerful data mo...更多HyperGraphDB信息
Alchemy Database 是一个低延迟、高 TPS 的 SQL 数据库,构建在 NoSQL 服务器 Redis 之上。通过深度嵌入 Lua 语言提供数据存储端的脚本开发。支持非结构化的数据存储,性能非常之强悍。 在一个单核的3G CPU 使用 PC3200 (400MHZ) 的机器上的测试结果: 95...更多Alchemy Database信息
cpy-leveldb是在leveldb(google开源的高性能key-value数据库)的 C API 基础上开发的 python 绑定,目前支持leveldb 的 Put, Get, Delete, Write操作,以及 WriteBatch 的原子更新操作,WriteBatch 还可以通过将多个更新放到同一个 batch 里,在存在大量更...更多cpy-leveldb信息
最近更新: cpy-leveldb-0.4.0发布 发布于 4年前
Eniym 是一个 Membase 的 C# 客户端开发包。当然也支持 memcached。 更多Eniym信息
ooredis是一个Redis的Python库,基于redis-py,它主要有以下三个目标: - 以Key对象为单位操作Redis的数据结构 - 提供一组Pythonic的API - 提供方便的类型转换机制 需求 ==== Python2.7 Redis2.2 redis-py2.4.9 安装 $ cd /...更多ooredis信息
Thrudb是一套简单的服务建立在Apache的Thrift的框架,提供索引和文件存储服务的网站建设和推广。其目的是提供Web开发灵活,快速和易于使用的服务,可以加强或取代传统的数据存储和访问层。 主要特征: Client libraries for most languages Incremental ba...更多ThruDB信息
SenseiDB是一个NoSQL数据库,它专注于高更新率以及复杂半结构化搜索查询。熟悉Lucene和Solor的用户会发现,SenseiDB背后有许多似曾相识的概念。SenseiDB部署在多节点集群中,其中每个节点可以包括N块数据片。Apache Zookeeper用于管理节点,它能够保持现有...更多SenseiDB信息
nmdb 是一个 dbm 风格的网络数据库,支持多协议,当前包括:TIPC, TCP, UDP, and SCTP。nmdb 包含一个内存中的缓存可用来保存 key-value 数值,以及一个磁盘持久化后端。 nmdb 目前提供了 C 语言和 Python 的开发包。...更多nmdb信息
ssdb4j 是一款 SSDB 的 Java 客户端 (事实上是除官方驱动之外的第一个...),支持连接池,主从,编码设置。 更多ssdb4j信息
最近更新: ssdb4j 8.3 发布了,SSDB 的 Java 驱动 发布于 2年前
Tinydb 是一个超小的支持插件式存储引擎的的 NOSQL 服务器,核心代码只有200行C,并利用C模拟了C++的多态和继承,你可以在此基础上实现自己的存储引擎,Tinydb 小巧精简,非常适用于课堂教学。 Tinydb 内置了两种存储引擎,内存式存储引擎(基于 uthash)和...更多Tinydb信息
py-leveldb 是 Google 的 K/V 数据库 LevelDB 的 Python 客户端开发包。 示例代码: import leveldb db = leveldb.LevelDB(‘./db‘) # single put db.Put(‘hello‘, ‘world‘) print db.Get(‘hello‘) # single delete db.Delete(‘hello‘) print db.Get(‘hello...更多py-leveldb信息
webdis 是一个简单的 Web 服务器,提供了 HTTP 接口来访问 Redis 服务器,使用了 hiredis, jansson, libevent, and http-parser 等软件。 安装和使用: make clean all ./webdis & curl http://127.0.0.1:7379/SET/hello/world → {"SET":[true,"OK"]...更多webdis信息
CouchApp 是一个开发使用 CouchDB 的 Web 应用的小型框架。它的主要功能是可以把一个文件系统的目录转换成 CouchDB 中的一个设计文档。在开发的时候,可以按照一般 Web 应用的结构来组织文件系统,当需要测试和部署的时候,只需要一条命令就可以把该目录保...更多CouchApp信息
SisoDb 是一个为 SQL Server 编写的面向文档的 db-provider ,使用 C# 编写,可让你直接在数据库中存储对象。更多SisoDB信息
UnQL 是一个通用的查询语言,其目的是为目前各种各样的 NoSQL 服务器提供一个统一的数据查询语言。 更多UnQL信息
最近更新: CouchDB 和 SQLite 联合推出 NoSQL 查询语言 发布于 5年前
基于redis和mysql的数据持久化方案 redis运行时连接数据库 cache失效时同步读mysql, 数据修改时候通过消息队列通知DB线程写mysql reids.conf增加几个配置选项 mysql_host mysql_port mysql_user mysql_pwd mysql_dbname persistence_mmap_file: 消息列队指...更多redisDB信息
TokyoTyrant 是一个高性能的 key-value 型数据库,应用潜力比较强,但是目前管理工具等等都不齐全。 由于公司项目需要,为方便项目开发。我们利用 AIR 平台开发了一个简易的 TokyoTyrant 管理工具。 本项目是 AS3 与 TokyoTyrant 的核心数据接口。 ==主要功...更多TokyoTyrant AS3信息
DynamoDB 是 Amazon最新发布的 NoSQL 产品。DynamoDB是一个性能好、可靠高且具有可扩展性的 NoSQL 云数据库服务,DynamoDB集15年分布式非关系性数据库开发之精粹,又通过内部使用考验,是AWS团队精心打造的产品。 DynamoDB有以下几个特性: 稳定的性能保证...更多DynamoDB信息
RedBridge 是一款基于Redis的 HTTP API。使用LUA直接跟Redis交互,对Redis的连接实现连接池。(类似数据库的存储过程) 高效的实现复杂的业务逻辑。 RedBridge 具有以下特征: 1. 使用C+epoll 编写的Web Server,支持HTTP GET操作 2. 连接池,连接句柄复用,...更多RedBridge信息
iNexus (简称ins) 是一个基于 Raft 协议实现的高可用的分布式 Key-Value 数据库,支持数据变更通知(Watch)和分布式锁,可用于大型分布式系统的协调工作。 使用说明: https://github.com/fxsjy/ins/wiki 1. 初始化 Client using namespace galax...更多iNexus信息
最近更新: iNexus 0.13 发布,基于 Raft 的分布式协调组件 发布于 5个月前
What Kai is A highly available key-value store Scales infinitely Achives low latency even if several nodes are getting down Inspiared by Amazon‘s Dynamo...更多Kai信息
Key-Value 数据库是很早起比较典型的老式数据库,从Unix早期的dbm,后来的GNU版本的gdbm,还有ndbm, sdbm, cdb 以及功能强大的Berkeley DB (BDB)、还有这两年风头很劲的qdbm,都是典型代表。实际上来说, Key-Value 数据库不是严格意义上的数据库,只...更多tmdb信息
tokumx 是一款使用 tokutek 引擎的 mongodb 发行版,且无论哪种语言版本的 tokumx,用户界面都一样。且它处理高度重复数据的能力很强,比如: 社交网络数据 网络营销数据 日志文件的数据 具有以下特点: 比原有的 mongodb 提升了 50% 的性能 减少了 90% ...更多tokumx信息
MckoiDDB 是一个支持低延迟的随机存取(读,写)的数据库,涵盖了网络上的机器集群分布式数据库查询系统。该软件提供了管理数据在网络上集群和用于访问和查询数据的客户端API存储系统。该系统可通过在网络中添加或删除节点来自由扩展MckoiDDB的规模,使一个...更多MckoiDDB信息
最近更新: MckoiDDB 1.3 发布,分布式数据存储 发布于 4年前
Seriesly 是一个用 Go 语言编写的面向文档的时间序列数据库,主要适合用来存储和查询时间序列数据,例如一些监控数据等等,与 RRDtool 不同的是,Seriesly 是没有模型的。更多Seriesly信息
红帽JBoss Data Grid 6是一个内存、键值型的数据存储解决方案,基于JBoss社区项目Infinispan构建,包含了JBoss企业应用平台和运营网络的部分组件。无论Java程序或非Java程序(如Python或.NET程序),都能够通过使用REST(Representational State Transfer...更多JBoss Data Grid信息
最近更新: JBoss Data Grid 6.6 发布,K/V 存储系统 发布于 5个月前
Affinity 改名为 AffinityNG,是 VMware 发布的开源数据库Affinity!Affinity 数据库支持事务并且具有非常灵活的数据模型,作为一个非关系型数据库支持一种类似标准SQL的PathSQL语言,方便用户进行数据查询。...更多Affinity信息
最近更新: VMware 开源数据库 Affinity 介绍 发布于 4年前
一个开源的,基于Tokyo Cabinet的NoSQL Database。基于 B+ Tree 的面向列的数据库。是云数据库(CloudDatabase)的数据引擎内部选型之一。更多tcdatabase信息
TouchDB-ios 是 CouchDB 兼容的移动数据库。只有差不多 250k 左右大小。可在运行频率较低的 CPU 上快速启动。占用内存低,性能很好。 支持的平台包括: Mac OS X -- 10.7.2 or higher. iOS -- 5.0 or higher. Linux, BSD, etc -- Any platform supported ...更多TouchDB-iOS信息
kvs是一个基于内存的key-value存储系统。 kvs与memcahce的功能很相似,但是相对memcache来说更容易使用。 kvs提供基于http的接口, 用户可以通过浏览器直接get, set or delete. eg: http://127.0.0.1/set?key=foo&val=12345 ...更多kvs信息
Blur 是一个 NoSQL 数据存储系统,基于 lucene、hadoop、thrift 和 Zookeeper 构建的,包含一系列的分片的 lucene 索引,可跨越多个服务器存储。 这里有一篇介绍入门的文章。更多Blur信息
SEQDB采用类InnoDB、MyiSAM等引擎应用模式,支持MySQL的部分功能子集,并且能持续hold住上万级别的读入压力、同时保证较低时延,数据异步磁盘刷回。更多SeqDB信息
tstdb是一种基于日志重放机制的memcached兼容的key-value数据库,可用于需要缓存数据落地的一些场合。 它兼容memcached的客户端(支持get,set和delete命令),支持value过期设置。读写性能与memcached接近。日志重放速度很快,作者测试时一亿数据的reloadi...更多tstdb信息
最近更新: tstdb新版发布:支持前缀搜素和范围搜索 发布于 4年前
Ardb是一个新的构建在持久化Key/Value存储实现上的NoSQL DB服务实现,支持list/set/sorted set/bitset/hash/table等复杂的数据结构,以Redis协议对外提供访问接口。 Ardb的基本特性如下: 完全兼容Redis协议,支持绝大部分Redis命令的高性能持久化NoSQL D...更多Ardb信息
最近更新: 高度兼容Redis的NoSQL存储服务Ardb v0.8.0发布 发布于 2年前
Karait是一个消息队列系统,其消息存储采用了MongoDB的Capped Collections结构,这一结构的特点就是集合的大小可设定,当数据大小超出设定大小时,新数据会抹掉旧数据。 Karait目前提供Python和Ruby的客户端操作包,也就是说你可以使用Python或Ruby来写消息...更多Karait信息
Facebook 开源的存储引擎 rocksdb 的 Client-Server 网络支持, 客户端支持 C++, PHP, Java, Go, NodeJS, Python 等语言.更多ssdb-rocks信息
Datomic 是一个灵活的、基于时间因子的数据库,支持联合查询,具有弹性的可扩展性以及支持ACID事务性。Datomic 提供高可用的、分布式存储服务。 这是一个商业的数据库,提供免费版本。更多Datomic信息
quickdb 是一款基于内存文件系统的 HashTable数据结构的Key-Value数据引擎,什么是内存文件系统了?就是操作系统把系统内存划出一部分当作硬盘使用。你可以像操作磁盘那样的操作内存。但效率远远比硬盘来的快多了。通俗叫做内存文件系统,只要服务器不重起...更多quickdb信息
本项目是注释版的 Redis 3.0 源码, 原始代码来自: https://github.com/antirez/redis 。 这份注释是我在创作新版《Redis 设计与实现》期间, 为了了解 Redis 的内部实现而制作的, 所有在书中有介绍的内容, 在源码中都进行了相应的注释。 在注释的过程中...更多Redis 3.0 源码注释信息
Akavache 是一个 C# 的异步 Key-Value 存储系统,支持持久化。 支持: Arbitrary objects via JSON HTTP Requests Fetching and loading Images Securely storing User Credentials...更多Akavache信息
reveldb 一个基于 google leveldb 的 NoSQL 数据服务器,网络连接采用了 libevent 的 HTTP 接口,因此 reveldb 天生就适合处理 HTTP 请求。但更确切地说,reveldb 并没有直接采用 libevent 的 HTTP 接口,而是使用了另外一个基于 libevent 的网络连接库 li...更多Reveldb信息
SimpleDB 是 Amason 推出的基于key-value键值对的分布式数据存储系统 Amazon SimpleDB is a highly available and flexible non-relational data store that offloads the work of database administration. Developers simply store and query data ite...更多SimpleDB信息
最近更新: Wikitty 3.10 发布,Key/Value 存储系统 发布于 2年前
Bolt 是一个使用 Go 语言开发的低级 Key/Value 数据存储系统,简单、快速而且可靠。 示例代码: package main import ( "log" "github.com/boltdb/bolt" ) func main() { // Open the my.db data file in ...更多Bolt Go信息
Gremlin 是在某些领域专用的语言,用来遍历属性图(property graphs)。Gremlin 使用 Pipes 来遍历复杂的图。这个语言在图像查询、分析、操作领域有所应用。更多Gremlin信息
LevelDB.Net 是 LevelDB 在 windows下 .net 调用,代码 C# 完成 .NET DLL is AnyCPU, but it automatically forwards all calls to one of the two native DLLs depending on whether the current process is 32-bit or 64-bit. The two native DLLs are ...更多LevelDB.NET信息
Perst——开源、面向对象数据库 Perst是McObject公司的开源、双重授权、面向对象的内存实时数据库系统(ODBMS)。Perst有两个可用版本,其一是全Java版本的内存实时数据库,另一版本则是用C#实现的(面向Microsoft .NET框架应用程序) Perst使开发...更多Perst信息
GlobalsDB是一个快速、久经考验、简单、可扩展的NoSQL数据库,提供极其有效的多维数据引擎,并支持Java、.Net、NodeJS接口访问多维数据结构,提供文档、键值/元组、图、自定义范式四种存储范式。更多GlobalsDB信息
Bangdb 是一个 NoSQL 数据存储服务器,其主要目标是:快速、可靠、稳健、可伸缩以及易用,满足多种数据管理服务需求。BangDB 提供了内存模式、网络模式以及分布式数据网格缓存模式。提供高并发以及并行操作。更多BangDB信息
EventStore 是一种开源的函数式数据库,用于存储不可变事件和对事件流进行复杂的事件处理。与此领域的其他工具不同,EventStore 将事件流展现为 Atmo 集合,因此不需要使用消息总线之类的特殊基础设施或高度专门化的客户端。更多EventStore信息
UnQlite 的 C++/Qt 移植版本。 目前只是完成前期代码,将 Key/Value 存储移植过来,后续版本将继续移植 document 存储等内容。 UnQLite 是一个嵌入式的软件库,实现了自容器、无服务端、零配置和支持事务的 NoSQL 数据库引擎。UnQLite 是一个文档存储数据库...更多QUnQlite信息
goleveldb 是一个用 Go 语言实现的 LevelDB key/value 数据库。 示例代码: ro := &opt.ReadOptions{} wo := &opt.WriteOptions{} data, err := mydb.Get([]byte("key"), ro) ... err = mydb.Put([]byte("key"), []byte("value"), wo) ... err = mydb.Dele...更多goleveldb信息
Twissandra 是一个示例项目,主要目的是用来学习如何通过 Python 语言使用 Cassandra 服务器。 更多twissandra信息
Redis Cluster 提供一种方法来运行 Redis 服务,并且多个节点间会自动分享数据。 用来同时处理多个 key 的命令暂时不支持,因为这将导致在节点间移动数据,让 Redis Cluster 无法提供 Redis 级别的性能要求。...更多Redis Cluster信息
最近更新: 【每日一博】Redis Cluster 的 FailOver 失败案例分析 发布于 1年前
LLServer是本人基于libevent和leveldb这两个开源软件,开发的轻量级数据存储服务器软件,借助libevent高效网络接口实现对leveldb的访问封装。 其支持http协议和memcached协议。也就是可以通过浏览器或现有的memcached客户端来进行数据的CURD操作。...更多LLServer信息
wincouch 是一个号称one-click安装的CouchDB集成安装包,就像LAMP时代方便好用的的XAMPP一样,基于CouchDB 和 GeckoFX。更多wincouch信息
libQtCassandra 是一个高级的 C++ 库用来访问 Cassandra 这个 NoSQL 服务器,使用 Qt 风格的类设计,可直接在 Qt 中使用。更多libQtCassandra信息
最近更新: libQtCassandra 0.5.0 发布 发布于 3年前
MemDB 是全球首个支持分布式事务的 MongoDB。 高性能和可伸缩 快速的内存数据访问,高达 25,000 ops (single doc read/write) /碎片 (each shard take one CPU core). 系统可水平伸缩 没有单点瓶颈 真正的分布式 ACID 事务 在分布式环境真正支持 ACID (St...更多MemDB信息
(Keep It) 简单愚蠢的数据库 KISSDB 是一个最简单的 key/value 存储,使用纯 C 开发,只适用标准字符串和 FILE IO 函数。 特性: Tiny, compiles to ~4k on an x86_64 Linux system Small memory footprint (only caches hash tables) Very space-efficien...更多KISSDB信息
OpenKeyval 是一个完全开放的 key-value 数据存储,提供简单的web服务接口,其目标就是提供一个非常简单的在web上存取数据的接口。更多OpenKeyval信息
MagLev 是一个基于 GemStone/S 构建的 Ruby 虚拟机,是一个 64 位的 Smalltalk 虚拟机。但 MagLev 不仅仅是个 Ruby 虚拟机,还是一个成熟的 NoSQL 数据存储。 MagLev VM 完全利用 GemStone/S JIT 的本地代码的性能实现了高性能的分布式分区缓存、完全的 AC...更多MagLev信息
GT.M[tm] 是一个经过验证的具备工业强度的、支持事务处理的 Key-Value 数据库,特别为极限事务处理的场景使用。 更多GT.M信息
最近更新: GT.M V6.1-000 发布,Key-Value 数据库 发布于 2年前
GeoCouch是一个CouchDB的插件,提供地理位置索引的查询,我们知道CouchDB是通过MapReduce建立视图的方式来进行非动态的查询,GeoCouch通过修改CouchDB的B-Tree索引为R-Tree的形式来实现空间索引。当然,由于CouchDB一切皆增量的模式,这里的R-Tree也是增量...更多GeoCouch信息
JustOneDB 是21世纪的关系数据库,旨在利用硬件来提供可扩展性,灵活性和性能。它能够处理海量数据和工作负载,无设计或持续维护。 JustOneDB降低实施和运行的各个阶段的时间,成本和复杂性。 JustOneDB 使用一个新的关系数据库体系架构,基于列的存储,内...更多JustOneDB信息
开源NoSQL数据库,适合BTRFS文件系统。支持简单索引,批量命令。现在主要是自用,开源给大家吐槽。 服务器端运行于 Linux 系统,客户端支持 Windows 和 Linux。更多ChaosDB信息
Alasql 是 JS 内存中的 SQL,是 一款类似于 LokiJS 的 JS 数据库 ,可以在浏览器及 Node.js 中使用。 示例: var alasql = require(‘alasql‘); var db = new alasql.Database(); db.exec(‘CREATE TABLE test (one INT, two INT)‘); db.ta...更多Alasql.js信息
Espresso 是一个来自 LinkedIn 的分布式 NoSQL 数据库,其具有高性能、高扩展性、支持事务、容错能力等重要特征。在LinkedIn,Espresso有着强大的应用规模,它运行在十几个集群中,并且已有将近30个应用在使用Espresso,如Member Profile、InMail、LinkedI...更多Espresso NoSQL信息
GenieDB是一个地缘多样化,完全复制的主机和企业应用datafabric - 跨数据中心要求的全球一致性,用户数据接近,可用性或缩放。 随着我们加入MySQL存储引擎和高速文件存储为一体,多租户层集群SQL和分布式NoSQL的好处:我们在您的全球基础设施嵌入自愈最小的...更多GenieDB信息
M/DB 是 SimpleDB 的开源替代版本,在 API 上兼容 Amazon 的 SimpleDB,基于 Node.js 进行重写,继续使用 GT.M 数据库并使用原先的数据模型,新版本也改名为 node-mdb.更多M/DB信息
Orly是一种图数据库,Neo4j和Cayley外的又一选择。 更多Orly信息
对于MongoDB这种 schema-free 的数据库来说,存在数据库里的每一条数据在结构上经常不同,时间长了我们可能就很难去了解库里数据的具体结构了。而 Variety 可对collection中存储的数据情况进行分析。 Variety就是一个js脚本,直接使用mongo客户端执行。...更多Variety信息
memcached网络框架修改版,使用libevent2.0,读写缓冲区改为evbuffer,能利用memcached分派连接的模式,开发出高性能tcp服务器。更多mcd-server信息
kumofs是一个分布式key-value存储系统,它的持久化存储是基于Tokyo Cabinet实现的,并且采用了兼容memcached的通讯协议。 性能比较: 架构:更多kumofs信息
node.js下的一个非常简单的非关系型数据库,适合数据量不大,数据结构简单的数据存储。理论上,任何可以用json来保存的数据都可以用tiny来保存。 node.js可以使用的数据库很多,但对于很多简单的数据存储,mongodb、MySQL就有些大材小用了,更主要的是麻烦...更多tiny信息
Stig is designed for the unique workloads of social networking sites, its maintainers claim. It was created at the social networking site Tagged by software engineer Jason Lucas, who calls the technology a distributed graph database. It ...更多Stig信息
ROMA是日本乐天(和yahoo并列的网络店铺)公司用Ruby开发的分散型KeyValue存储结构。 目前乐天公司的产品“乐天市场”,“乐天旅游”中用来存储用户浏览信息。更多ROMA信息
TheBigDB 是一个非常松散的结构化数据库软件。其 API 是基于 HTTP 的 GET 和 POST 请求。 示例 JavaScript 代码: var thebigdb = new TheBigDB; thebigdb.Statement("search", { nodes: [{match: ""}, "job", "President of the United States"], ...更多TheBigDB信息
这是beansdb的java客户端, 它使用了和python客户端一模一样的hash算法, 所以它和python客户端是完全兼容 — 这意味着你可以用python客户端存一个东西进beansdb, 然后用java客户端把它取出来。 示例代码: // specify the beansdb nodes. Map<InetSoc...更多beansdb4j信息
Manta 是 Joyent 的一个开源的基于 HTTP 的对象存储系统。使用 OS 容器运行任意数据计算。 使用场景包括: Web 资源 (例如图片、CSS、JS 和静态页面)也可直接对图像大小进行 Manta 内的处理 存储备份 视频存储和转换 日志存储和分析 数据仓库 软件崩溃 du...更多Manta信息
Pistachio 是 Yahoo 开源的 KV 存储引擎,非常适合存储用户配置文件系统。现在有十多亿用户配置文件存储,大约两百万的读 QPS,0.8GB/s 读吞吐量,大约 50 万的写 QPS,0.3GB/s 写吞吐量。平均延迟低于 1ms。 主要特性: 低延迟,强制一致性,高容错 经过大...更多Pistachio信息
Trousseau 是一个使用 PGP 加密的 key-value 存储系统,设计目标是简单、安全和可靠。数据存储于加密文件中可提供本地和远程存储支持。更多Trousseau信息
lushan 是一个基于 Memcache 协议的 key-value 数据库, 可以动态挂载多个库, 用来进行静态数据的存储, 适用于存储更新频次较低的数据. 可以作为redis的有效补充, 以节省昂贵的内存服务器成本, lushan不像redis那样需要将数据完全存在内存中, 而是结合使用内...更多lushan信息
Build-CoucbDB是一个CouchDB的自动安装程序,它的特点是将所有CouchDB的依赖包都放置在独立的目录,这样你在卸载时也可以直接删除安装目录即可。另外也可以实现在同一个系统上安装多个CouchDB的功能。目前已经在下面平台测试通过: Red Hat Enterprise Lin...更多Build-CoucbDB信息
Clusterpoint 服务器是一个创新的,面向商业客户,面向文档的数据库管理系统(DBMS)的可伸缩的高性能集群数据的基础架构。它有优秀的搜索功能,在结构化和非结构化数据,包括分一秒快速全文检索。它可以作为一个安全的交易数据的基本存储和作为企业搜索引...更多Clusterpoint Server信息
Flora 是一个微型但功能很强大的 NoSQL 数据库,易于理解,使用 Lua 脚本,可通过 TCP 远程访问,可移植。 更多Flora信息
最近更新: Flora R14 发布,NoSQL 数据库 发布于 2年前
Innostore 是一个 Erlang 应用程序,提供了使用 InnoDB 存储系统作为 key/value 数据存取的 API。如果你需要在大规模系统中可以结合 Riak 来使用,把 Innostore 做为 Riak 的存储后端。更多Innostore信息
GobDB 是一个简单的 LevelDB 的 Go 语言封装,提供持久化的 Key/Value 存储解决方案。 示例代码: db := GobDB.At("example") db.Open() db.Put("name", "adam") var value string = "" db.Get("name", &value) db.Has("name") db.Has("3234")...更多GobDB信息
Precog 是一个 NoSQL 分析引擎,提供快速、强大的分析服务,支持主流的 NoSQL 数据源。Precog 提供开源版和企业版,企业版提供商业支持和维护服务.更多Precog信息
1.什么是外存 Exist 外存本质上是一个内存级别的nosql。 它提出了“面向变量”的数据访问思想,让用户只见变量,不见接口,省去了繁琐的接口调用。 以此实现了逻辑与数据分离的效果,一份单结点代码自动达到分布式效果。 目前提供了int8、uint8、uint64、f...更多外存信息
OlegDB 是一个单线程、非并发、不支持事务的 NoSQL 数据库存储系统。提供一个 C 库和 Go 开发的前端与之进行通讯。提供 RESTful 接口来进行高并发的数据访问。严格限制 key 长度不超过 250 个字符。更多OlegDB信息
RDDB 是一个 Ruby 开发的面向文档的数据库系统,其灵感来自 CouchDB。 示例代码: # First create an database object database = Rddb::Database.new # Put some documents into it database << {:name => ‘John‘, :income => 35000} database...更多RDDB信息
如果你用Rails开发过,你应该知道它的插件!它在你应用程序中显示的注释可以帮助你调试,像 sessions,请求参数,cookies,过滤链,路由,查询等。并且它包含在你编辑器中直接打开文件的链接。更多rails-footnotes信息
Sirius 是一个来自 Comcast 的开源的分布式系统库,为你的应用程序提供方便、低延迟的访问呢重要的参考数据,这些数据的特点是小、相对很少更新的只读数据集。由于目前的内存资源成本越来越低,多数数据都直接在内存中存放。 特性 简单,接口库透明 最终一...更多Sirius信息
BrightstarDB是一个开源的,快速的,可嵌入的,和可扩展的NoSQL数据库。 他支持在Entity Framework中的Code-First生成模式 同时他也是RDF triplestore,较之一般NoSql数据库,能够在实体之间使用较为复杂的关系...更多BrightstarDB信息
RPDB 是一个 Redis 协议兼容的 NoSQL 数据库,提供持久化支持。 更多RPDB信息
Graph Engine是一个基于内存的分布式大规模图数据处理引擎,能够帮助用户更方便地构建实时查询应用和高吞吐量离线分析平台。在此之前,它在学术界更广为人之的名称是Trinity。 Graph Engine的内存管理系统能高效处理海量内存对象。作为一个高性能内存数据库...更多Graph Engine信息
Chordless 是用 Java 实现的 Chord and DHash (http://pdos.csail.mit.edu/chord/), as well as some extra features such as transactions and remote method invocation....更多Chordless信息
GoshawkDB 是一个采用 Go 语言开发支持多平台的分布式的对象存储服务,支持事务以及容错。GoshawkDB 的事务控制是在客户端完成的。GoshawkDB 服务器端使用 AGPL 许可,而 Go 语言客户端使用 Apache 许可证。 命令行参数: > goshawkdb -h GoshawkDB 2...更多GoshawkDB信息
最近更新: GoshawkDB 0.2 发布,分布式对象数据库 发布于 1个月前
WinMemcached 是一个用 C# 编写的 key/value 多线程服务器,其目的是帮助开发者在 Windows 下测试 Memcached 服务,以便应用可以方便移植到 Linux 下的 Memcached。更多WinMemcached信息
XFlat 是一个轻量级的嵌入式的非 SQL 的对象数据库,XFlat 将对象持久化到 XML 文件,相当于是 db4o 的开源替代品。要求 Java 7 支持。 示例代码: //initialize with default config Database myDatabase = XFlatDatabase.Build(dir).create(); F...更多XFlat信息
dgraph 是可扩展的,分布式的,低延迟图形数据库。 DGraph 的目标是提供 Google 生产水平的规模和吞吐量,在超过TB的结构数据里,未用户提供足够低延迟的实时查询。DGraph 支持 GraphQL 作为查询语言,响应 JSON。...更多Dgraph信息
Moray 是 Joyent 推出的一个运行在 Postgres 之上的 K/V 键值服务,Manatee和Moray共同提供高可用的键值服务。更多Moray信息
Reqlite 是 ReQL 服务器的 JavaScript 实现方式。也就是说你可以使用 RethinkDB 的驱动程序来连接 Reqlite 服务器。 优势: 为节点开发人员提供了一个简单的方法来测试代码,且不需要启动 RethinkDB 服务器 Meteor 可以使用它来构建一个迷你rethinkdb - S...更多Reqlite信息
NebulaDB 这个项目开始是准备做一个逻辑编程语言的,但我决定还是把它变成一个数据库,因为我觉得自己更适合干这个事。 NebulaDB 基于 Node.js 服务器运行,同时提供一个 Node.js 模块用来和 NebulaDB 通讯(这里),你也可以使用 nebuladb dashboard 来管...更多NebulaDB信息
Dplython是使用Python语言的Dplyr。Dplyr是一个使用R语言快速分析数据的库。 Dplyr的理念是在一些最常见的任务中限制数据操作的部分功能。这种映射思维更接近编码思维,帮助您在分析数据时提高“思维速度”。 安装: pip install git+https://github.co...更多Dplython信息
Dalmatiner DB是一个使用纯Erlang编写的度量数据库。当度量一些特殊性能时,可以做出一些相应的处理。它的目的是快速存储度量数据,具有低开销,以及易于查询和管理的特点。 安装 安装二进制包: curl -O https://project-fifo.net/fifo.gpg gpg --pri...更多Dalmatinerdb信息
Riffle 是一个用 Clojure 编写的 Key/Value 存储服务器,每个键值使用固定内存存储 更多Riffle信息
Cassie 是 Cassandra 的 scala 编程语言的客户端。它是一款小巧轻量,基于Finagle 构建。通常用在 Twitter 上以便保证数据的稳定性,但它并不支持 Cassandra 上所有的功能,所以仍需要继续演进。 使用条件: Java SE 6 Scala 2.8 Cassandra 0.8 or later s...更多Cassie信息
BedquiltDB 是一款开源的PostgreSQL扩展,专门用于支持jsonb数据类型的存储,并且提供相应的开放API。BedquiltDB 旨在为开发人员提供一种功能强大的工具,在项目的早期阶段,用于处理松散结构化的数据。 优点: 简单开放的API 支持所有编程语言 支持所有SQL...更多BedquiltDB信息
以上是关于15个nosql数据库的主要内容,如果未能解决你的问题,请参考以下文章
NoSQL数据库技术实战-第1章 NoSQL与大数据简介 NoSQL数据库的类型
我真的应该使用 NoSQL 吗?
技术讲座(10/15周日)刨析NoSQL之MongoDB的独特优势和应用场景,和其企业应用分析及趋势
大话存储II学习笔记(15章),NoSQL
Web 应用程序的文件存储:文件系统、数据库和 NoSQL 引擎
云数据库直播峰会回顾&资料下载!阿里15位大咖全方位解析NoSQL数据库!