tokyo cabinet key value数据库扩展及其应用 张宴.pdf

tokyo cabinet key value数据库扩展及其应用 张宴.pdf

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
tokyo cabinet key value数据库扩展及其应用 张宴

2010-04-02 张宴 Http:// 传统MySQL数据库的性能问题 单表的记录数不断增加,查询效率降 低。 Web 2.0应用的写操作越来越多,传 统的MySQL一主库多从库、读写分离 模式作用有限。 随着并发请求数增长,MySQL性能急 剧下降。 MySQL 5.5 m2数据库压力测试 Dell R900 system ( 16 cores, 32GB of RAM, FusionIO + RAID10 ) Tokyo Cabinet及Tokyo Tyrant 简介 TC (Tokyo Cabinet )是日本人平林幹雄开发的一款 Key-Value 键值数据库,该数据库读写非常快,哈希 模式写入100万条数据只需0.402秒,读取100万条数据 只需0.334秒。 TT (Tokyo Tyrant )是由同一作者开发的Tokyo Cabinet 数据库网络接口。它拥有自己的协议,并支 持Memcached兼容协议,也可以通过HTTP协议进行 数据交换。哈希数据库读写速度大约在50000次/秒。 TC和TT 目前运行在日本最大的SNS网站MIXI,在国内 也有大量的生产环境应用。 TT、Memcached、MySQL比较 10000线程时,写入性能 TT、Memcached、MySQL比较 10000线程时,读取性能 Tokyo Cabinet的数据库类型 TCHDB 哈希数据库 TCBDB B+Tree数据库 TCFDB 定长数据库 TCTDB 表格数据库 TCMDB 内存哈希数据库 TCNDB 内存B+Tree数据库 TCHDB TCHDB哈希数据库的优化  很多人反应TT/TC插入数据超过一定数量后,性能会大幅度下降?  先对TC做个测试:  写入100万条:tchtest write test.tch 1000000  时间: 0.732秒速度:1366120条/秒  写入200万条:tchtest write test.tch 2000000  时间: 1.718秒 速度:1164144条/秒  写入500万条:tchtest write test.tch 5000000  时间: 21.529秒 速度:232244条/秒  从测试来看,写入500万条数据,性能确实降低。但是,原因呢? TCHDB哈希数据库的优化  修改参数后,再测试:  写入100万条:tchtest write -xm 536870912 test.tch 1000000 5000000  时间: 0.580秒速度:1724137条/秒  写入200万条:tchtest write -xm 536870912 test.tch 2000000 5000000  时间: 1.105秒 速度:1809954条/秒  写入500万条:tchtest write -xm 536870912 test.tch 5000000 5000000  时间: 2.737秒速度:1826817条/秒  可见,性能提升了不少,随着写入数据量地增加,速度依旧不减。 TCHDB哈希数据库的优化  关键参数(C API):  bool tchdbsetxmsiz(TCHDB *hdb, int64_t xmsiz);  Xmsiz指定了TCHDB 的扩展MMAP 内存大小,默认值为 也就是64M,如果数据库文件超过64M,则只 有前部分会映射在内存中,所以写入性能会下降。  其他参数(C API) :  bool tchdbtune(TCHDB *hdb, int64_t bnum, int8_t apow, int8_tfpow , uint8_t opts);  bnum指定了bucket array的数量。推荐设置bnum为预计存 储总记录数的0.5~4倍,使key的哈希分

文档评论(0)

xyz118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

认证主体曹**

1亿VIP精品文档

相关文档

相关课程推荐