我有以下情況。對數據庫有很多查詢(通常寫評論,閱讀配置文件等),而且,我認爲讀取會比寫入更多。我想很有可能將數據庫擴展到多個服務器。所以,我喜歡nosql :) 據我所知,通過閱讀博客和StackOverflow的問題的答案(例如this one)在這種情況下,最好的選擇是使用卡桑德拉。Cassandra或MongoDB具有良好的擴展性和大量的查詢
所以,問題是 - 卡桑德拉更適合我的目的嗎?爲什麼?
第二個問題將是關於Tornado的異步客戶端庫 - 你知道這個的一些實現嗎?正如你在上面鏈接的wiki頁面上看到的那樣,只有mongodb和couchdb纔有異步客戶端。而這個事實也阻止了我。
也許我現在可以使用MongoDB(原因是異步庫esists,也許第一次它會比幾個服務器上的Cassandra更快但沒有異步),並且在一段時間後將mongo中的數據轉換爲cassandra。你怎麼看待這件事?
AFAIK沒有在Tornados IOLoop內部運行的量身定做的(異步)Cassandra庫。 (ps閱讀Bens關於線程的帖子:https://github.com/facebook/tornado/wiki/Threading-and-concurrency) – Schildmeijer
Thx爲鏈接!您如何看待 - 將使用Cassandra而不使用異步比使用異步模塊的MongoDB快。或者差別可能會很小 - 我將有時間編寫自己的異步實現。也許我可以簡單地運行數據庫交互的特殊線程,它將與Tornado的線程進行通信。 – dizpers
Tornado支持扭曲,這意味着您可以使用Async Cassandra支持的異步telephus扭曲庫。 – koblas