`
iunknown
  • 浏览: 405308 次
社区版块
存档分类
最新评论

[zz]Tokyo Cabinet Table Engine

阅读更多
Sounds impressive and cool. I wonder about Table engine performance though.
My experiences with Berkeley DB (using the native C API) were positive, from a performance point of view, largely because BDB has no built-in query support. When I wanted to look something up, and I had no index on the desired value (BDB calls indices "secondary databases"), I always knew I was doing a linear table scan, because I had to write the loop myself. No SQL meant that inefficient queries could not hide in plain sight.
Berkeley DB trades off the flexibility of SQL queries for (1) excellent lookup performance in simpler cases, and (2) the ability to mix relational and object-based data storage, reducing the famous impedance mismatch of relational data modeling. For some applications, this trade-off works beautifully. I daresay that it holds true for most web apps which really don't need a relational data store, and either outgrew pure in-memory storage or just sensibly want to persist their state to disk. (Hint: if you use an ORM, then you probably don't want a relational data store.)
For some other apps, the lack of SQL queries hurts. I once worked on a trading system implemented on top of a proprietary engine which did not support arbitrary queries. It made writing even trivial reports ("list all transactions done two days ago by trader X using instrument Y") unnecessarily painful. (Of course, on a typical RDB with a non-trivial schema and a large dataset, these arbitrary queries would take 20 minutes to run, so catch-22.)
The Table engine for Tokyo Cabinet seems to do everything implicitly. Fast and arbitrary queries. If it works on the kind of schema-less free-form data the author refers to, and has working master-master replication, that sounds almost too good to be true.
分享到:
评论

相关推荐

    PHP tokyo cabinet扩展

    尝试开发PHP的扩展,仅用于学习。目前仅能够在windows下编译通过。 Linux下的tokyo cabinet API与Windows与差别,写的时候是在windows下,准备在linux下编译时才发现tokyo cabinet API在Unix下与Windows下是不一样的

    tokyo cabinet tyrant研究资料

    tokyo cabinet tyrant研究资料

    tokyocabinet-lua-1.10.tar.gz_TOKYO_Tokyo Cabinet

    Tokyo cabinet C 库的Lua绑定接口。 Tokyo cabinet 是一个管理数据库的库。该数据库是一个单一的数据文件,每个记录为关键字和值。每个关键字和值是可变长度的字节序。二进制数据和字符串都可作为关键字或值。每个...

    Tokyo Cabinet Key:Value数据库及其扩展应用

    Tokyo Cabinet Key-Value数据库及其扩展应用

    tokyocabinet-java-1.24.tar.gz_TOKYO_Tokyo Cabinet java_tokyocabi

    Tokyo cabinet C 库代码的Java绑定接口。 Tokyo cabinet 是一个管理数据库的库。该数据库是一个单一的数据文件,每个记录为关键字和值。每个关键字和值是可变长度的字节序。二进制数据和字符串都可作为关键字或值。...

    Tokyo-Cabinet.tar.gz

    Tokyo-Cabinet.tar.gz

    Tokyo Cabinet-开源

    东京内阁是QDBM的后继者,QDBM是与DBM系列类似的高性能数据库库。 它还支持哈希和B树数据库,不需要任何服务器进程。 与QDBM相比,整体速度有所提高。

    tokyo-cabinet-cookbook:安装 Tokyo Cabinet 并为 ROMA 设置

    东京橱柜食谱 使用 Chef 安装东京橱柜。 支持的平台 支持以下平台: ...在节点的run_list包含tokyo-cabinet : { " run_list " : [ " recipe[tokyo-cabinet::default] " ] } 作者 作者:坂锐( )

    BNRPersistence:一组使用Tokyo Cabinet来保存和加载Objective-C对象的类

    BNR持久性亚伦·希勒加斯(Aaron Hillegass) 2010年7月9日经过几年的抱怨,Core Data可能会变得更好,我认为我应该编写一个...安装首先,您需要下载Tokyo Cabinet: : (有一个sourceforge页面,但是最新的版本似乎

    nezha:哪吒(Nezha)是一个基于Tokyo Cabinet的简单分布式KV存储系统原型

    哪吒(Nezha)是中国神话故事里的少年战神,我们以其作为基础Tokyo Cabinet的简单分布式KV存储系统原型项目的代号。 它包含configdb lib(configdb.h / libconfigdb.so)和一个命令行测试程序(Nezha) 执行make ...

    tokyocabinet

    东京暴君数据库的客户端封装,使东京暴君可以通过网络连接

    Microlog Cabinet Manager 2003

    Microlog Cabinet Manager 2003 is a utility for opening and creating Microsoft CAB compressed files. CAB is a file compression format used by Microsoft to distribute many of their products, including ...

    tokyocabinet-perl-1.34.tar.gz_TOKYO

    Tokyo cabinet C库的Perl绑定代码API。 Tokyo cabinet 是一个管理数据库的库。该数据库是一个单一的数据文件,每个记录为关键字和值。每个关键字和值是可变长度的字节序。二进制数据和字符串都可作为关键字或值。每...

    roma-cookbook:安装 Tokyo Cabinet 并为 ROMA 设置

    罗马食谱使用 Chef 安装 ROMA。 关于启动 ROMA,请阅读 ROMA 网站。 支持的平台支持以下平台: centos 乌本图属性钥匙类型描述默认['罗马']['gem_path'] 细绳选择您使用的宝石/选择/rbenv/垫片/宝石['罗马']['target...

    tokyocabinet-ruby-1.31.tar.gz_TOKYO_TokyoCabinet

    Tokyo cabinet C 库的 Ruby绑定代码API Tokyo cabinet 是一个管理数据库的库。该数据库是一个单一的数据文件,每个记录为关键字和值。每个关键字和值是可变长度的字节序。二进制数据和字符串都可作为关键字或值。每...

    Cabinet SDK

    用于发布ActiveX的CabinetSDK

    Tokyocabinet-Tokyotyrant文档大合集

    Tokyo Cabinet 是一个DBM的实现。这里的数据库由一系列key-value对的记录构成。key和value都可以是任意长度的字节序列,既可以是二进制也可以是字符串。这里没有数据类型和数据表的概念。 当做为Hash表数据库使用时,...

    Laravel开发-cabinet

    Laravel开发-cabinet Laravel 4文件上传包。

    Microsoft Cabinet Templatessource

    Microsoft Cabinet Templatessource.zip

    eplan cabinet manual

    电气设计软件eplan cabinet 中文使用手册

Global site tag (gtag.js) - Google Analytics