问题标签 [tokyo-cabinet]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
947 浏览

mysql - (如何/应该如何)我实现一个可扩展到每秒数万个请求的数据库?

通过上万个请求/秒,我希望看到 60,000 -> +90,000 个请求/秒。

我的设置包括以下内容:

用户 ---> Web 应用程序 --> 消息队列 --> 解析器 --> 数据库?

我应该提到,解析器目前可以使用 COPY 解析/填充大约 18750 条记录/秒,因此在我们开始添加更多解析器之前,我们在这方面受到限制——这对我来说现在不是一个大问题。

我有一个系统,需要能够尽可能快地批量上传尽可能多的记录。这个相同的系统(或者它可以根据您的处理方式而有所不同)应该能够响应分析类型的查询,例如:

.....10-15 千次(每个用户),因为它们被锁定到另一个表。不用说,我们现在将这些结果分页为 10/页。

我查看了以下内容:(假设这些都在同一台服务器上)

  • mysql (reg. run of the mill rdbms)——能够进入 15-20,000 个请求/秒的范围;在当前条件下,如果我们尝试扩展它,我们每次需要扩展时都需要一个单独的主机/数据库——这是不可行的

  • couchdb(面向文档的数据库)——没有打破 700 个请求/秒;我真的希望这能拯救我们的屁股——不是机会!

  • vertica(面向列的数据库)——达到 60000 个请求/秒,封闭源代码,非常昂贵;这仍然是一个选择,但我个人根本不喜欢它

  • tokyocabinet(基于哈希的数据库)——目前的重量为 45,000 次插入/秒和 66,000 次选择/秒;昨天当我写这篇文章时,我使用了一个基于 FFI 的适配器,它的性能大约为 5555 个请求/秒;这是迄今为止我见过的最快最棒的数据库!

  • 兵马俑——(vm集群)目前正在与jmaglev一起评估它(不能等到maglev本身出来)——这是最慢的!

也许我只是错误地解决了这个问题,但我总是听说 RDBMS 非常慢 - 那么我听说过的这些超快速系统在哪里?

测试条件::

只是让人们知道我在我的开发盒上的规格是:

Mysql mysql.cnf 编辑为:

更新::

事实证明,terracotta 可能在我们的应用程序结构中占有一席之地,但它不会很快替换我们的数据库,因为它的速度很糟糕,而且它的堆利用率很糟糕。

另一方面,我很高兴看到 tokyocabinet 的 NON-FFI ruby​​ 库(意思是 tyrant/cabinet)超级快,现在它是第一名。

0 投票
5 回答
4529 浏览

python - 东京内阁的 Python 表引擎绑定

我正在为东京内阁的表引擎寻找 python 绑定。我尝试了 Pytc,但只能找到 Hash 和 B-tree 引擎支持。还有其他可用的绑定吗?

0 投票
3 回答
2271 浏览

tokyo-cabinet - 东京内阁 - 达到 100 万后插入速度较慢

我正在评估东京内阁表引擎。在达到 100 万条记录后,插入速度会显着降低。批量大小为 100,000,并在事务中完成。我尝试设置 xmsiz 但仍然没有用。东京内阁有人遇到过这个问题吗?

细节

Tokyo cabinet - 1.4.3
Perl 绑定 - 1.23
操作系统:Ubuntu 7.10(Windows XP 之上的 VMWare Player)

0 投票
2 回答
1279 浏览

api - Tokyo Cabinet 和 SQLite 兼容的接口?

我想知道是否有人见过将 SQLite 和 Tokyo-Cabinet 抽象为相同 API 的库。基本上我正在寻找可以让我使用 SQLite 进行测试和开发的东西,然后转移到 TC 进行生产。

无论如何,我专门使用的语言是 Lua,但我确信 Lua 不存在这样的库,因此使用任何其他语言执行此操作的库也可以,因为我可以基于该语言为 Lua 开发类似的东西.

0 投票
4 回答
478 浏览

c++ - c++ 工具包/库、跨平台数据库(不一定是 sql)的良好组合

作为一个跨平台的“几乎无所不包”的抽象工具包/库,你有什么建议,不一定是面向 gui 的?

该项目应该在某些时候包括一个极小的Web服务器和某种“db”(基本上有索引/btree,可能是关系,所以rdbms是可取的,但如果必要的话可以避免,sql可能是矫枉过正)

我在考虑 qt、boost、tokyo cabinet 和/或 sqlite;还有什么?什么是“最适合”?

我想将平台定制和整体执行足迹保持在最低限度......

先感谢您

0 投票
4 回答
3229 浏览

tokyo-cabinet - 为什么东京暴君调整了bnum后还是成倍减速?

有没有人成功使用过大型数据集的 Tokyo Cabinet / Tokyo Tyrant?我正在尝试上传维基百科数据源的子图。在达到大约 3000 万条记录后,我的速度呈指数级下降。HDB 和 BDB 数据库都会出现这种情况。我将 bnum 调整为 HDB 案例的预期记录数的 2-4 倍,只是略微加快了速度。我还将 xmsiz 设置为 1GB 左右,但最终还是碰壁了。

东京暴君似乎基本上是一个内存数据库,在超过 xmsiz 或 RAM 后,你会得到一个几乎不可用的数据库。以前有没有其他人遇到过这个问题?你能解决吗?

0 投票
3 回答
538 浏览

queue - 东京内阁如何处理大整数?

我已经在 TC(具体来说是东京暴君)之上实现了一个队列。我正在使用 memcache 兼容函数增量来跟踪队列头和尾。我只想知道 TC 存储的整数(64 位?)的限制是什么,以及在存储的数字达到允许的最大值后调用增量函数时会发生什么?它是从 1 重新开始还是引发错误?

0 投票
3 回答
1485 浏览

c++ - 东京内阁的面向对象的 C++ API?

东京内阁 API 是否有 C++ 包装器?显然,我可以使用 C++ 中的基本 C API,但我更愿意使用将原始函数和结构抽象为类的东西。

我很想自己写这个,至少对于我想要使用的 API 的一些部分,但如果已经有了它会节省时间。我检查了 TC 网站并进行了一些谷歌搜索,但没有出现任何内容......

0 投票
2 回答
1114 浏览

.net - 东京内阁和.Net

是否可以将 Tokyo Cabinet 与任何 .Net 语言一起使用,最好是 VB10?东京暴君呢?最好不通过 LUA/Ruby 或其他包装器..

如果没有简单的方法,您能推荐其他可以使用的快速键值数据库吗?

0 投票
3 回答
2283 浏览

iphone - 东京内阁与 iPhone 上的 SQLite3

有人在 iPhone 上使用过东京内阁吗?我有兴趣看看它和 SQLite3 之间是否存在任何现实世界的性能差异。

还有,SQLite 3 有 SQL 的表现力,东京内阁有没有查询语言?

任何输入将不胜感激,谢谢。