云烟计算-你是云儿我是烟
RSS 图标 Email 图标 首页图标
  • 实用的分布式KV数据库TTSERVER

    发表于 2009年07月15日 yejun 没有评论

    关系型数据库在海量数据存储的互联网应用中,经常面临挑战:

    1. 没有KEY-VALUE的快速HASH查找能力;
    2. 访问接口不支持HTTP;
    3. 读写的TPS不够高;

    从GOOGLE的BIGTABLE开始,KEY-VALUE类型的数据库引起了越来越多的开发人员注意。互联网项目中也越来越多的出现了KV结构的数据库。

    随着分布式技术需求的增加,我们在选择数据库的时候希望数据库本身能支持比较好的分布式。当增加机器或减少机器的时候也能快速的进行。

    TOKYO TC是一个很好的DBM,在TODYO TT的支持下,TC可以实现很好的分布式存储和数据的查找,加上TD,还可以实现分布式搜索。

    TT的性能很不错,我在一台普通的1U服务器上测试了一下。

    [root@www www]# /usr/local/bin/tcrmttest write -port 11211 127.0.0.1 1000000

    <Writing Test>

    host=127.0.0.1  port=11211  tnum=1  rnum=1000000  nr=0  ext=  rnd=0

    ……………………. (00100000)

    ……………………. (00200000)

    ……………………. (00300000)

    ……………………. (00400000)

    ……………………. (00500000)

    ……………………. (00600000)

    ……………………. (00700000)

    ……………………. (00800000)

    ……………………. (00900000)

    ……………………. (01000000)

    record number: 1000001

    size: 32430400

    time: 46.946

    ok

    主机LOAD最高达到1.6。测试机器是1G内存2GCPU。

    TT非常适合用在Memcache用的地方。

    TT也有一些不足,比如数据量增长了,一台TT SERVER的性能不能支持。我现在要加一台机器,原来TT服务器上的数据就需要手工导出到另一台机器上。如果数据的分离通用MOD的方式,那么应用层就需要修改。这时候就需要作一个中间层。

    如果TT server有一台DONW机,那么所有TT SERVER的CACHE将重新分配,这时会引起性能的下降。这种情况下一致性HASH会好一些。