张宴的博客
Web系统架构与底层研发
English
RSS
我的共享
技术汇总
星标日志
留言
旅行相册
首页
《实战Nginx:取代Apache的高性能Web服务器》已出版发行
金山逍遥网 sersync 服务器实时镜像、自动同步程序开源
Tokyo Cabinet Key-Value数据库及其扩展应用PPT[原创]
大
|
中
|
小
[
2010-4-3 00:12 | by
张宴
]
以下是我4月2日在“
2010年数据库技术大会
”的演讲PPT,介绍了 Tokyo Cabinet Key-Value 数据库的性能优化关键参数,以及金山逍遥网在Tokyo Cabinet基础上实现的TCSQL实时列表缓存数据库(Version 1.3)。
PDF格式下载:
下载文件
点击这里下载文件
Tags:
dtcc
,
tt
,
tc
,
tokyocabinet
,
tcsql
技术大类
»
数据库技术
|
评论(50)
|
引用(0)
|
阅读(47043)
引用地址:
注意:
该地址仅在今日23:59:59之前有效
centos
2010-4-3 02:16
支持博主
centos
2010-4-3 02:17
黄金广告免费投放
ayanamist
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倍以上。
vps热卖
2010-4-3 11:24
支持
VPS国内线路,点我免费测试
wayne
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
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
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
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
2010-4-10 13:49
技术博客非常强大
marker_xu
2010-4-10 14:18
tt集群的性能不怎么样,尤其是主从模式
biby
2010-4-26 21:10
老大,偶天天来看,就是希望你们能共享这个tcsql。大家都开源才有得玩吧。
游客
2010-5-4 15:23
我有个问题,如果单点存储的数据到达T级的时候,TC的数据库文件是否支持切分,否则文件太大了吧。切分的原则又是什么?
TCBDB模式
xlat84
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/3
1
2
3
发表评论
表情
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称
密码
游客无需密码
网址
电邮
[注册]
Nginx+PHP+MySQL环境套件
PHPTS 1.07 版本 (2020.02.15)
分类
技术大类
[1]
移动互联网与手机
[8]
Web服务器
[33]
Cache与存储
[21]
数据库技术
[15]
PHP/JS/Shell
[27]
搜索引擎技术
[6]
系统架构与硬件
[11]
其他Unix技术
[39]
Windows相关
[11]
电脑杂谈
[75]
早期作品
[20]
心情随笔
[59]
生活琐事
[134]
在商言商
[8]
拿来主义
[6]
APMServ:一键搭建PHP平台
HTTPSQS:高速消息队列
HTTPCWS:中文分词系统
mysqlcft:中文全文索引
Nginx-PHP:高并发Web服务
F5 BIG-IP:在线管理体验
个人简介
·
姓名:张宴
·
网名:回忆未来
·
生日:1985年5月19日
·
博客:
http://zyan.cc
·
邮箱:
[
复制
]
·
推特:
twitter.com/rewinx
·
微博:
t.sina.com.cn/rewinx
·
籍贯:
湖南省湘西自治州
·
学校:
湖北武汉
|
中南民族大学
·
专业:
2003级|国际经济与贸易
·
时间:2003年9月─2007年7月
·
工作:苏州热拍信息技术有限公司
·
职位:CEO
·
地址:北京市朝阳区广渠路3号竞园
·
苏州工业园区若水路1号
·
时间:2013.01.01─2016.02.14
·
工作:
4399.com 闪购创业孵化器
·
职位:闪购技术负责人
·
地址:北京市朝阳区建外SOHO A座
·
时间:2012.02.07─2012.12.31
·
工作:
北京世纪一家网
·
职位:技术总监
·
地址:北京市朝阳区建外SOHO 8#
·
时间:2011.09.01─2012.02.06
·
工作:
金山游戏
·
部门:运营技术中心-网站开发部
·
职位:技术经理/架构师
·
地址:北京市海淀区
金山软件大厦
·
时间:2008.11.24─2011.08.31
·
工作:
赶集网
·
职位:架构师
·
地址:北京市海淀区清华科技园
·
时间:2008.04.01─2008.11.21
·
工作:
互动社区事业部
·
职位:
新浪播客
-系统工程师
·
地址:北京市海淀区中关村
·
理想国际大厦18层
·
时间:2007.01.25─2008.03.31
我的著作
个人照片
搜索
日志标题
日志全文
评论引用
所有留言
最新日志
PHPTS:一键免费搭建 Nginx + PHP + MySQL + Redis + Memcached 网站、APP、小程序服务器端运行环境
如愿以偿将博客的VPS迁到韩国
博客更换域名
PHP 真正多线程的使用
移动互联网初创型团队需要什么样的云计算服务?
ASIHTTPRequest 类库在 iOS 7.0 中需要修改的地方
博客换了个VPS
ADSL故障
Nginx 1.5.2 + PHP 5.5.1 + MySQL 5.6.10 在 CentOS 下的编译安装
手机电商APP的智能化设计
被CC攻击
iPhone大小的盒子服务器Cubieboard
iOS XCode 多人共享开发 SVN 配置需要做的小设置
苏州,梦想之城
禁用 UIWebView 里面的链接长按弹出效果
最新评论
Awesome post...
To be a Rook...
You might be...
Hey, I am so...
在一個燦爛的夜晚,遊客們...
i88真人娛樂是一個提供...
娛樂城體驗金是一種吸引玩...
娛樂城體驗金是一種吸引玩...
Thanks for e...
It was wonde...
链接
-----图片链接-----
-----合作机构-----
武汉博文视点官方博客
WEB编程站
孩孩乐
-----IT界好友-----
[金山] 李安科
[金山] 蔡恩雷
[金山] 王绘敏
[新浪] Wirlfly
[新浪] JiangYuan
[新浪] 超群
[腾讯] muyannian
[支付宝] 冯大辉
[天涯] 醉清风的叶子
[博客大巴] 车东
[百度] 石展,DBA的视界
[中国雅虎] cc0cc
[一地带] 扶凯
yanweinet
Let's gotolab
阿熊的窝
戴昌二
蓝风网络日志
Linuxs's Blog
LinYH's Blog
Licess's Blog
怒放的生命
Showjay's Blog
怪鸟博客
怡水若寒
funy's Blog
王先进
空城's blog
gmle
Python中国
空城's blog
海天旭日的blog
叶茂盛
杨言的博客
Selboo' Blog
OOPHP
PTUbuntu Blog
搜我收藏
外来者设计工室
f0rest
我的技术生活-王炜
Jason Yu
梦昙花开
jean
sunlick's
badb0y's Blog
Yustar's Blog
Jvones' blog
怪鸟网络日志
Martin
王健宇's BLOG
PHPer.yang
-----同学校友-----
小虾米
真水无香
挪葳之云
欧阳戈鸽
布早早
娜瓦奔
之南
普罗旺斯的天空
微微vivi
风海浮萍
莱密之家
黯黯独步江湖
玉面修罗
彭康
朝北-方向感
六弦天子
Mr.1017
雨潇潇
李炘争
影姿飘过
阳关地带
纪念未来
anymoore
-----博客互联-----
Sophia
六道客栈
Jeffrey's Blog
ColdX's Blog
junluck's blog
大杀器
Netkiller
-----在线资源-----
IP地址域名信息查询
在线文本翻译
邮箱QQ图标快速生成
微软MSN Web版
多杀毒软件在线查毒
多音频格式在线转换
服务器系统信息查看
在线Word、Excel文档
Google AdSense
Web FTP 客户端
微软skydrive网络硬盘
CSS图片拼合生成器
网页HTTP在线分析
金山软件 SSL VPN
wallpaper图片查找
谷歌财经投资组合
-----设备厂商-----
F5 Networks 公司
Riverbed 公司
DELL PowerEdge 2950
DELL PowerEdge 1950
NetStor磁盘阵列
-----软件资料-----
Linux/Unix国内下载镜像
MySQL 5.1参考手册
IBM developerworks 中国
小众软件
ASCII 字符表
UNIX手册中心
Squid中文权威指南
开发者在线
Linux常用C函数
Erlang语言
C语言常见问题集
Libevent 最新文档
日历
<
2024
>
<
10
>
日
一
二
三
四
五
六
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
统计
访问次数 32436661
今日访问 3818
日志数量 475
评论数量 62459
引用数量 549
留言数量 23897
注册用户 12066
在线人数 81
其他
登入
注册
申请链接
RSS:
日志
|
评论
编码:UTF-8
XHTML 1.0
2、mongodb内存消耗、磁盘空间预分配,比tcsql占有的内存、磁盘要大得多。
3、mongodb的长连接操作速度快,但短连接操作(WebServer/PHP+Mongodb)方式“连接mongodb、断开”消耗的时间是TT的5倍以上。
VPS国内线路,点我免费测试
如果使用tcb
lmemb和nmemb这两个数值 是如何判定的呀。ppt里没有详细说明,请教一下!
如果“实际记录数=bnum”,一个bucket array存一组key-value;如果实际记录数是bnum的四倍,则一个bucket array存四组key-value,查找key时,第一次哈希确定bucket array,然后根据二叉树查找,排除四组key-value中的两组,再在剩下的两组中二叉查找,确定要找的那组key-value,多了查找次数,查找时间自然要比“实际记录数=bnum”时慢一些。
lmemb和nmemb根据自己的写入速度来确定,设置得大,数据库文件也会大一些,一般1024、2048已经够了,还可以设置得小一点。
随提前退场,相当遗憾
看看ppt,补补吧。
付费 合作 都可,费用可高价。
联系方式 sqrencn@gmail.com
再次感谢你的分享,你在这方面做的很不错。如果你对上述一些方面也有研究的话,能否也分享一下?期待与你的交流,谢谢~
TCBDB模式
这个命令执行结果不具有说服力。
源码上显示的这个命令插入的key是顺序的,即以0-5,000,000为key,顺序插入,说明不了TCBDB的性能。
建议添加随机插入的参数测试。例如:tcbtest write -rnd test.tcb 5000000 1024 2048 5000000。
测试结果应该是不同的。
另外,当key和value的长度变大时,不知道楼主有没有做相关的性能测试。
TCBDB最大支持多少记录?TCBDB貌似在DB 关闭前,很多数据缓存在内存里,如果系统故障,是否意味着数据丢失?