1001种玩法 | 1001种玩法--数据存储(2)
新智云www.enncloud.cn第二趴
Flockdb:一个高容错的分布式图形数据库
FlockDB是一个存储图数据的分布式数据库,图数据库的存储对象是数学概念图论里面的图,而非图片。Twitter使用它来存储人与人之间的关系图,这些关系包括:你在关注谁,谁在关注你,谁给你留了电话提醒等。
FlockDB可用于支持:
-
高速增/册/改操作
-
潜在复杂的集合算法查询
-
对包含数百万条目的查询结果进行分页
-
超大规模邻接矩阵查询
-
将数据进行归档,允许之后被恢复。
-
支持数据水平分割,这样在数据量增加的情况下可以使用更多数据库硬件
TRY IT!
源码发布在github: http://github.com/twitter/flockdb
尤其是这里的示例,感觉一下,看看它能存什么样的数据,对你有什么用:
http://github.com/twitter/flockdb/blob/master/doc/demo.markdown
JStorege:浏览器本地存储的键值数据库
jStorage是一个跨浏览器的将key-value类型的数据存储到浏览器本地存储的JS插件——jStorage支持所有主流浏览器,PC机(甚至包括是IE6)和移动终端均可用。此外,jStorage的实现不依赖任何其它js库(库无关),它和其他js库(Query, Prototype, MooTools等)有良好的兼容性。但是为了让它能够支持老版本的IE(比如蛋疼的IE6),需要依赖第三方库(Prototype, MooTools)或JSON2。
jStorage支持存储Strings,Numbers,JavaScript对象,Arrays,甚至是原生XML节点。 jStorage还支持设置TTL(Time to Live, 生存时间)类型的值用于自动到期存储的keys。最重要的是(也是attractive的) – 当浏览器页签中某个key值变更时或者订阅/发布事件以通知其他标签/窗口的能力。这使得jStorage能够成为Web应用程序本地PubSub(publish/subscribe)平台。
jStorage非常小,min压缩后只有7kb,zip打包后只有4kb。
特性
支持在浏览器中以JSON格式存取数据
可以对键值对数据设置生存时间
支持事件的发布和订阅
对key的增删改进行监听处理
支持IE6以上的所有数据库,包括pc和mobile
github网址https://github.com/andris9/jStorage,官网http://www.jstorage.info。
Titan:一个分布式图形数据库
Titan 是一个在服务器集群搭建的分布式的图形数据库,特别为存储和处理大规模图形而优化。集群很容易扩展以支持更大的数据集,Titan有一个很好的插件式性能,这个性能让它搭建在一些成熟的数据库技术上像 Apache Cassandra、Apache HBase、 Oracle BerkeleyDB。插件式索引架构可以整合 ElasticSearch 和Lucene技术。内置实现 Blueprints graph API,支持 TinkerPop所有的技术。
特性
1,支持不同的分布式存储层
Apache Cassandra (distributed)
Apache HBase (distributed)
Oracle BerkeleyDB (local)
Persistit (local)
2 .可以更加数据集的大小和用户基数弹性扩展
3. 分布式存储的复制,高容错性
4,支持很多字符集和热备份
5,支持 ACID 和 eventual consistency(最终一致性)
6,支持的索引
ElasticSearch
Apache Lucene
7,内置实现 TinkerPop graph API
Gremlin graph query language
Frames object-to-graph mapper
Rexster graph server
Blueprints standard graph API
使用
使用文档在这里 Titan documentation ,
邮件列表:mailing list,
github主页:https://github.com/thinkaurelius/titan。