FAL Labs有多个东京和京都产品:
- Tokyo Cabinet和Kyoto Cabinet都是轻量级数据库库。
- Tokyo Tyrant和Kyoto Tycoon都是轻量级数据库服务器。
有人可以解释一下东京和京都产品之间的区别吗?
FAL Labs有多个东京和京都产品:
有人可以解释一下东京和京都产品之间的区别吗?
Tokyo Cabinet更完整和稳定,而Kyoto尚不够成熟(今天是2010年12月8日),存在一些问题。Kyoto是用C++编写的,(更)简单,比Tokyo(用C编写)简单,但这种简单性也导致了一些差距。Kyoto的性能比Tokyo稍差一点,但在使用线程时效果更佳(至少文档承诺如此)。
来自官方文档:
<< 2007年,Tokyo Cabinet作为QDBM的继任者开发出来,目的如下。实现了这些目的之后,Tokyo Cabinet可以替代传统的DBM产品。
(...)
2009年,Kyoto Cabinet作为QDBM的另一个继任者开发出来。与同类产品(Tokyo Cabinet)相比,追求以下优势。但是,至少在单线程操作中,Tokyo Cabinet的性能高于Kyoto Cabinet。
>>我两个都用过,但我仍然更喜欢Tokyo,因为我在Kyoto遇到了问题:在Kyoto Cabinet数据库中使用File Hash Database,如何避免文件大小增加? 没有人能帮我解决这个问题。 我仍然不知道如何解决它。
根据我的个人经验,我发现编译和安装Kyoto更容易,并且使用起来也更容易。我在Tokyo库依赖方面遇到了很大的问题,并且无法将本地库与Java接口链接起来。 在Kyoto中一切都很好,在第一次尝试中顺利运行。 但是,正如我之前所说的,我感觉使用Tokyo对数据库有更多的控制。
Tokyo Cabinet和Tyrant是用C语言编写的LGPL授权。Kyoto Cabinet和Tycoon是用C++语言编写的GPLv3授权。
Kyoto Tyrant支持在内存中过期的记录,因此可以替代memcached。
开发者表示,Kyoto*不是Tokyo*的继承者,而只是一种营销策略;如果您不打算开发商业产品,请使用Kyoto。它更加新颖和优秀。
我建议您阅读开发者的博客(包括日语和英语),并仔细阅读头文件(如果您要使用该库)。
祝您好运。
另外,根据我的测试,京都协议仅基于HTTP - 更加开放,但比东京协议的二进制协议慢。