代码改变世界

随笔分类 -  NoSQL

Reveldb 与 Kyoto Tycoon 性能对比(一)

2013-01-03 20:36 by Haippy, 3928 阅读, 收藏, 编辑
摘要: Reveldb 是个人在空余时间和周末完成(应该说还远远未完善)的一个基于 google leveldb 的 NoSQL 数据服务器,网络连接采用了 libevent 的 HTTP 接口,因此 reveldb 天生就适合处理 HTTP 请求。但更确切地说,reveldb 并没有直接采用 libevent 的 HTTP 接口,而是使用了另外一个基于 libevent 的网络连接库 libevhtp(https://github.com/ellzey/libevhtp),并对它做了适当的修改,使之成为 reveldb 的底层组件 evhttpx(https://github.com/forhappy/reveldb/tree/master/src/evhttpx), evhttpx 为 reveldb 提供了 HTTP 和 HTTPS 支持,因此,reveldb 除了能够处理 HTTP 请求外,也能够处理 HTTPS 请求,这一特性是 Kyoto Tycoon 没有的,如果它有,请您告诉我 :-) 阅读全文

200 行 C 代码实现插件式 NOSQL 存储服务器(一)

2012-11-24 22:30 by Haippy, 4256 阅读, 收藏, 编辑
摘要: 初一看,你肯定会觉得作者在忽悠人吧,200 行 C 代码居然可以实现插件式 NOSQL 存储服务器?是的,200 行 C 代码确实可以做到,但只能是一个极其简单的代码框架而已,不过感兴趣的同鞋可以在此基础上进行扩展。 阅读全文

转载系列之二:NoSQL 数据建模技术

2012-05-19 23:28 by Haippy, 1782 阅读, 收藏, 编辑
摘要: NoSQL 数据库经常被用作很多非功能性的地方,如,扩展性,性能和一致性的地方。这些NoSQL的特性在理论和实践中都正在被大众广泛地研究着,研究的热点正是那些和性能分布式相关的非功能性的东西,我们都知道 CAP 理论被 很好地应用于了 NoSQL 系统中(陈皓注:CAP即,一致性(Consistency), 可用性(Availability), 分区容忍性(Partition tolerance),在分布式系统中,这三个要素最多只能同时实现两个,而NoSQL一般放弃的是一致性)。但在另一方面,NoSQL的数据建模技术却 因为缺乏像关系型数据库那样的基础理论没有被世人很好地研究。这篇文章从数据建模方面对NoSQL家族进行了比较,并讨论几个常见的数据建模技术。 阅读全文

NoSQL数据库笔谈(转载)

2011-12-11 19:52 by Haippy, 1175 阅读, 收藏, 编辑
摘要: NOSQL 入门必读 阅读全文

HBase vs. BigTable Comparison

2011-12-10 16:11 by Haippy, 492 阅读, 收藏, 编辑
摘要: HBase vs. BigTable Comparison 阅读全文

一致性hash算法释义

2011-12-10 09:57 by Haippy, 23465 阅读, 收藏, 编辑
摘要: 一致性哈希算法在1997年由麻省理工学院的Karger等人在解决分布式Cache中提出的(参见扩展阅读[1]),设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简单哈希算法带来的问题,使得DHT可以在P2P环境中真正得到应用。 阅读全文

NoSQL 数据库汇总

2011-12-08 16:17 by Haippy, 1422 阅读, 收藏, 编辑
摘要: NoSQL资源汇总 阅读全文

Hbase 介绍(转载)

2011-12-05 16:02 by Haippy, 653 阅读, 收藏, 编辑
摘要: hbase是bigtable的开源山寨版本。是建立的hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。它介于nosql和RDBMS之间,仅能通过主键(row key)和主键的range来检索数据,仅支持单行事务(可通过hive支持来实现多表join等复杂操作)。主要用来存储非结构化和半结构化的松散数据。与hadoop一样,Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。 阅读全文

Oracle NoSQL Database (转载)

2011-12-05 15:55 by Haippy, 1563 阅读, 收藏, 编辑
摘要: 近日Oracle提供了不久前公布的NoSQL数据库的下载,目前只有企业版,开源的社区版还没提供,也就是说还看不到源码。不过根据文档也能大致了解这个NoSQL数据库怎么样。快速看了看,总结如下。 阅读全文

数据分析与处理之二(Leveldb 实现原理)

2011-12-04 21:24 by Haippy, 111029 阅读, 收藏, 编辑
摘要: 首先,LevelDb是一个持久化存储的KV系统,和Redis这种内存型的KV系统不同,LevelDb不会像Redis一样狂吃内存,而是将大部分数据存储到磁盘上。 其次,LevleDb在存储数据时,是根据记录的key值有序存储的,就是说相邻的key值在存储文件中是依次顺序存储的,而应用可以自定义key大小比较函数,LevleDb会按照用户定义的比较函数依序存储这些记录。 再次,像大多数KV系统一样,LevelDb的操作接口很简单,基本操作包括写记录,读记录以及删除记录。也支持针对多条操作的原子批量操作。 另外,LevelDb支持数据快照(snapshot)功能,使得读取操作不受写操作影响,可以在读操作过程中始终看到一致的数据。 阅读全文