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

[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.
分享到:
评论

相关推荐

    tokyo cabinet tyrant研究资料

    Tokyo Cabinet 和 Tokyo Tyrant 是一组开源的数据库管理系统,由日本公司 Resin Software 开发,主要用于数据存储和检索。这两个工具在IT领域中被广泛应用于日志管理、缓存服务、键值对存储等场景,尤其在需要快速...

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

    《Tokyo Cabinet Key-Value数据库及其扩展应用》 在应对现代Web 2.0应用程序的高并发和大数据量需求时,传统的MySQL数据库遇到了性能瓶颈。单表记录数的增长导致查询效率降低,而读写分离模式在面对大量写操作时...

    PHP tokyo cabinet扩展

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

    Tokyo-Cabinet.tar.gz

    Tokyo-Cabinet是一款高效、轻量级且功能强大的键值对存储系统,它由日本的Hirata Takashi开发。这个系统提供了多种数据库引擎,包括BDB-like(Berkeley DB风格)的TDB(Tokyo Database)和哈希表型的HDB(Hash ...

    tokyocabinet-lua-1.10.tar.gz_TOKYO_Tokyo Cabinet

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

    tokyocabinet-java-1.24.tar.gz_TOKYO_Tokyo Cabinet java_tokyocabi

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

    Tokyo Cabinet-开源

    **东京内阁(Tokyo Cabinet)**是一款高效的开源数据库库,它源于QDBM并在此基础上进行了优化和提升。作为QDBM的升级版本,东京内阁在性能方面有着显著的改进,尤其在处理大量数据时,其速度表现更加出色,无需依赖...

    tokyocabinet-1.4.45.tar.gz

    Tokyo Cabinet是一个高效、轻量级且开源的数据库管理系统,主要设计用于在本地存储大量数据。这个名为"tokyocabinet-1.4.45.tar.gz"的压缩包文件包含的是Tokyo Cabinet的1.4.45版本源代码。在本文中,我们将深入探讨...

    再说tokyocabinet 及其扩展

    标题“再说tokyocabinet 及其扩展”指的是对Tokyo Cabinet这一开源数据库系统的深入讨论,以及可能涉及的对其功能的增强或优化。Tokyo Cabinet是一款高效、轻量级的键值存储系统,广泛用于数据缓存和日志记录等场景...

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

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

    tokyocabinet-1.4.47.tar.gz

    Tokyo Cabinet采用哈希表(Hash Table)、B+树(B+ Tree)和固定长度记录文件(Ft File)三种不同的数据结构,分别对应HDB、BDB和FDB三种数据库类型。这使得Tokyo Cabinet能够根据具体应用场景选择最合适的存储方式...

    tokyocabinet-1.4.48.tar.gz

    《Tokyo Cabinet:高效数据库管理库的探索》 Tokyo Cabinet,作为一个开源的、轻量级的数据库管理系统,因其高效、稳定以及易于使用的特点,在IT领域中被广泛应用。标题中的"tokyocabinet-1.4.48.tar.gz"表示的是...

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

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

    tokyo tyrant文档

    从这份文档中,我们可以深入理解Tokyo Tyrant及其关联的Tokyo Cabinet数据库的多个方面,包括其安装、使用、原理以及与其他数据库系统的性能比较。下面将详细解析这些关键知识点。 ### 1. Tokyo Tyrant与Tokyo ...

    tokyoCabint及tokyoTyrant简介

    标题 "tokyoCabinet及tokyoTyrant简介" 指向了两个与数据库管理相关的开源工具,Tokyo Cabinet和Tokyo Tyrant。这两个工具由日本开发者开发,主要用于小型到中型的数据存储,尤其适合那些对数据读写速度有较高要求的...

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

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

    HTTPSQS源码分析

    HTTPSQS是一款消息队列服务器,其内部使用Tokyo Cabinet作为存储引擎实现数据的持久化。Tokyo Cabinet是一种高性能的键值存储系统,能够高效地存储与检索键值对。本篇文章将深入分析HTTPSQS的架构、工作原理及其涉及...

    ttserver

    "ttserver" 是一个基于 Tokyo Cabinet 的服务器程序,主要用于数据存储和管理。Tokyo Cabinet 是一个非常著名的键值存储系统,提供了高效、轻量级的数据持久化解决方案。它支持BDB(Berkeley DB)和HDB(Hash DB)两...

    tokyodb:东京内阁的Pharo包装纸

    标题 "tokyodb:东京内阁的Pharo包装纸" 指的是一个专门为Pharo编程环境封装的Tokyo Cabinet数据库接口。Tokyo Cabinet是一个著名的键值存储系统,它提供了高效、轻量级的数据存储解决方案,而这个项目则将Tokyo ...

    tokyocabinet

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

Global site tag (gtag.js) - Google Analytics