以下是我4月2日在“2010年数据库技术大会”的演讲PPT,介绍了 Tokyo Cabinet Key-Value 数据库的性能优化关键参数,以及金山逍遥网在Tokyo Cabinet基础上实现的TCSQL实时列表缓存数据库(Version 1.3)。

  PDF格式下载:


Tags: , , , ,
技术大类 » 数据库技术 | 评论(35) | 引用(0) | 阅读(36222)
centos Homepage
2010-4-3 02:16
支持博主
ayanamist Email
2010-4-3 08:21
为什么不用mongodb?比tc性能更好,尤其是在高并发下
张宴 回复于 2010-4-3 15:00
1、tcsql和mongodb的速度不相上下。
2、mongodb内存消耗、磁盘空间预分配,比tcsql占有的内存、磁盘要大得多。
3、mongodb的长连接操作速度快,但短连接操作(WebServer/PHP+Mongodb)方式“连接mongodb、断开”消耗的时间是TT的5倍以上。
wayne Email
2010-4-3 11:35
如果当实际数据超过bnum数据后,是否数据就直接存不进去了呀?

如果使用tcb
lmemb和nmemb这两个数值 是如何判定的呀。ppt里没有详细说明,请教一下!
张宴 回复于 2010-4-3 14:56
实际数据超过bnum,数据仍然可以存进去,没关系。
如果“实际记录数=bnum”,一个bucket array存一组key-value;如果实际记录数是bnum的四倍,则一个bucket array存四组key-value,查找key时,第一次哈希确定bucket array,然后根据二叉树查找,排除四组key-value中的两组,再在剩下的两组中二叉查找,确定要找的那组key-value,多了查找次数,查找时间自然要比“实际记录数=bnum”时慢一些。

lmemb和nmemb根据自己的写入速度来确定,设置得大,数据库文件也会大一些,一般1024、2048已经够了,还可以设置得小一点。
54cen Email Homepage
2010-4-3 13:28
张兄,提一问题,在SNS的feed应用场景中,用TCSQL来做与用mysql的从库时有什么更方便的地方吗?
张宴 回复于 2010-4-3 14:57
主要用TCSQL来解决读的压力,1台TCSQL=8台MySQL从库,成本上更低。另外,就是使用并行查询,解决MySQL单表记录数太多时查询效率低的问题。
网友
2010-4-3 19:01
由于下午会议介绍演讲者的时候,没有说你要演讲,误以为你有事没来
随提前退场,相当遗憾
johntech
2010-4-3 23:33
狂学习中
sofire
2010-4-4 20:15
你的演讲真是够晚的,正好家里有事情,我都没有听就着急回家了。
看看ppt,补补吧。
李天一
2010-4-4 20:17
找网站开发程序员,没有过多的要求技术和经验,只要求你有近似张宴的开发意识。

             付费 合作 都可,费用可高价。

             联系方式  sqrencn@gmail.com
zhys9 Homepage
2010-4-5 15:57
tt很强,现有的应用很多都在用。
raphael
2010-4-6 10:37
谢谢分享。TC是一个性能很高的、比较单纯的key-value类库,可以做很多东西。不知道你对Amazon的Dynamo,Facebook的Cassandra和Google的Bigtable有没有研究?个人感觉TC很多时候是垂直扩展(只能在单机上扩展),如果多台机器并行使用就要麻烦一些(有一个Python的lightcloud),而且很多时候比较难避免单点错误(single point of failure)。

再次感谢你的分享,你在这方面做的很不错。如果你对上述一些方面也有研究的话,能否也分享一下?期待与你的交流,谢谢~
张宴 回复于 2010-4-7 14:11
对Dynamo、Bigtable有过研究,TCSQL着重点在列表信息实时查询,跟Dynamo、Bigtable Key-Value分布式存储的关注点不一样。
kang Email
2010-4-6 17:10
咨询一下:若用tc做myql从库的替代,可以用触发器实现mysql到tc的自动数据同步。若tc网络问题,tc主机宕机,tc死掉等情况,在tc恢复前,如何可以方便的将该“窗口期”的mysql中的数据做自动的tc同步(存储过程job定时校验?失败日志的再操作?)
张宴 回复于 2010-4-7 14:07
http_post失败日志再操作,日志中记录主键ID。
黄传通
2010-4-7 13:10
请教一下:TCSQL主要是作为MYSQL的从库使用吗?在同等硬件,同等业务下, TCSQL能完全替代MYSQL(主从架构) ,发挥更高性能吗?
张宴 回复于 2010-4-7 14:09
TCSQL直接读写的性能更高,作为MYSQL从库是为了兼容一些应用程序,不是它的主要使用方式。
itopdog Email Homepage
2010-4-10 13:49
技术博客非常强大
marker_xu Email
2010-4-10 14:18
tt集群的性能不怎么样,尤其是主从模式
biby
2010-4-26 21:10
老大,偶天天来看,就是希望你们能共享这个tcsql。大家都开源才有得玩吧。
游客
2010-5-4 15:23
我有个问题,如果单点存储的数据到达T级的时候,TC的数据库文件是否支持切分,否则文件太大了吧。切分的原则又是什么?

TCBDB模式
xlat84 Email
2010-5-11 14:07
测试TCBDB的时候,楼主提供的测试命令:tcbtest write test.tcb 5000000 1024 2048 5000000
这个命令执行结果不具有说服力。

源码上显示的这个命令插入的key是顺序的,即以0-5,000,000为key,顺序插入,说明不了TCBDB的性能。
建议添加随机插入的参数测试。例如:tcbtest write -rnd test.tcb 5000000 1024 2048 5000000。
测试结果应该是不同的。

另外,当key和value的长度变大时,不知道楼主有没有做相关的性能测试。
TCBDB最大支持多少记录?TCBDB貌似在DB 关闭前,很多数据缓存在内存里,如果系统故障,是否意味着数据丢失?
iven
2010-5-13 13:45
在使用tct表结构时,遇到两次奇怪的问题,表的内容无法读出来了,系统是32位的,但是查看文件大小只有50多M。用命令行 tctmgr get可以读出来数据。用tctmgr inform发现additional flags: fatal。说明表存在问题了。可是一直找不到原因。用tc的朋友们赐教啊
分页: 1/2 第一页 1 2 下页 最后页
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]