网站大量收购闲置独家精品文档,联系QQ:2885784924

Tokyo Cabinet Key-Value数据库及其扩展应用_可下载.ppt

Tokyo Cabinet Key-Value数据库及其扩展应用_可下载.ppt

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

TCTDB表格型数据库的不足之处 1、功能的增强,也就意味着要牺牲一些性能。TCTDB表格型数据库的平均读取速度大约在40万条/秒,相比TCHDB哈希数据库的180万条/秒和TCBDB B+Tree数据库的100万条/秒要慢一些。 2、TCTDB虽然可以建立数值型索引,但是它是将所有value数据都当成字符型来处理的,无法区分value类型。 3、TCTDB单数据库文件存储的记录数上亿条后,性能会有比较明显的下降。 4、没有可扩展的能力,如果单机无法满足要求,只能通过主从复制的方式扩展。 5、UPDATE更新方式效率低。 金山逍遥TCSQL列表缓存数据库 TCSQL是金山逍遥网在Tokyo Cabinet TCTDB的基础上,结合Key-Value对象缓存,借鉴SQL语句的SELECT、INSERT、UPDATE、DELETE思想与功能开发的分布式实时列表缓存数据库,可实现对列表页数据、记录条数的实时缓存。 TCSQL采用HTTP GET/POST协议+JSON数据交换格式在客户端、服务器端之间进行数据交互。 TCSQL实时列表缓存数据库单机能够支撑1万以上的并发连接。1万并发连接下,QPS(每秒查询率)能够达到8000~15000次。 TCSQL拥有了MySQL数据库单表具备的大部分功能。 TCSQL的select查询示例 curl “:3888/?command=selecttype=*where=pkey:NUMGE:0|title:STRINC:keywordorder_by=pkeyorder_sort=NUMDESClimit_skip=0limit_max=10” 等同于MySQL的SQL查询语句: SELECT * FROM table WHERE pkey = 0 AND title LIKE ‘%keyword%’ ORDER BY pkey DESC LIMIT 0,10; 跟MySQL的LIKE全表扫描不同的是,TCSQL支持创建倒排索引,STRINC使用的是全文检索。 通过PHP Client操作TCSQL ?php $tcsql = new Tcsql(); //INSERT插入 $result = $tcsql-insert($server_host, $server_port, $array_data); //SELECT查询 $result = $tcsql-select($server_host, $server_port, type=*where=uid: NUMOREQ:1,7,29,43order_by=pkeyorder_by=NUMDESClimit_skip=0limit_max=10“); //UPDATE更新 $result = $tcsql-update($server_host, $server_port, $array_data, “where=name:STREQ:张三|sex:NUMEQ:1“); //DELETE删除 $result = $tcsql-delete($server_host, $server_port, $array_data, where=uid:NUMEQ:5); ? TCSQL的新特征 相对于原生的TCTDB,TCSQL增加了不少新特征,来解决性能、存储量、功能上的问题。 TCSQL的内存缓存加速功能 1、刚才已经提到,TCTDB表格型数据库的读取性能相对于TCHDB哈希数据库、TCBDB B+Tree数据库而言,要低许多。 2、TCSQL采用内存热点记录缓存、TCBDB B+Tree数据库永久缓存相结合的方式,将TCTDB的读取性能提升了两倍。TCTDB中的一条Key-Value数据只要一次被读取,就会永久缓存,直到更新、删除该记录时,才会删除缓存内容。 TCSQL的内存缓存加速功能 TCSQL的内存缓存、TCBDB B+Tree数据库联合缓存机制命中率非常高,比如按照时间倒叙显示50条记录,第一次查询就会将记录数据缓存在内存中,如果第二次查询时已经新增了3条记录(或者修改了3条记录),第二次查询只会从TCTDB表格型数据库中取出3条记录,剩余47条从内存缓存或TCBDB中取出,大大加快了读取速度。 TCSQL数据库支持的数据类型 1、针对TCTDB无法区分value类型的问题,TCSQL增加了对字段设置数据类型的功能,它支持JSON所拥有的6种数据类型: TCSQL数据库支持的数据类型 一个PHP的数组,经过json_encode()后,写入TCSQL后再读取出来,数组类型仍然能够保持原样不变: ?php $array_data[uid] = 1234; $array_data[ip] = ; $array_data[p

文档评论(0)

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

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

1亿VIP精品文档

相关文档