【发布时间】:2012-01-03 00:35:58
【问题描述】:
我有以下情况。对数据库有很多查询(通常是编写 cmets、读取配置文件等),而且,我认为读取比写入更多。我希望很有可能将数据库扩展到多台服务器。所以,我喜欢 nosql :) 据我了解,通过阅读有关 StackOverflow 的博客和问题答案(例如 this one),在这种情况下,最好的选择是使用 Cassandra。
所以,问题是 - Cassandra 是否更适合我的目的?为什么?
第二个问题是关于Tornado 的异步客户端库——你知道这方面的一些实现吗?正如您在上面链接的 wiki 页面上看到的,只有 mongodb 和 couchdb 的异步客户端。而这个事实也阻止了我。
也许我现在可以使用 MongoDB(因为存在异步库,并且可能第一次在多台服务器上比 Cassandra 更快,但没有异步),一段时间后将 mongo 中的数据转换为 cassandra。你怎么看?
【问题讨论】:
-
AFAIK 没有在 Tornados IOLoop 中运行的定制(异步)Cassandra 库。 (ps 阅读 Bens 关于线程的帖子:github.com/facebook/tornado/wiki/Threading-and-concurrency)
-
谢谢你的链接!您如何看待 - 使用不带异步的 Cassandra 会比带异步模块的 MongoDB 更快。或者可能差异很小 - 我将有时间编写自己的异步实现。也许我可以简单地运行一个特殊的线程进行数据库交互,它将与 Tornado 的线程进行通信。
-
Tornado 支持 twisted,这意味着您可以使用 async telephus twisted 库来支持异步 Cassandra。
标签: python mongodb asynchronous cassandra tornado