7
我設計一個新的Web項目,並研究一些選擇瞄準的可擴展性後,我想出了兩個數據庫解決方案:本地SQLite VS遠程MongoDB的
- 本地SQLite文件,精心設計了一個可伸縮的方式(一個每個X用戶都有一個新的數據庫文件,因爲寫操作將取決於用戶內容,並且不存在跨用戶數據依賴性);
- 遠程MongoDB服務器(如Mongolab),因爲我的主機服務器不提供MongoDB服務。
我不信任當前共享主機上的MySQL服務器,因爲它頻繁關閉(我在另一臺主機上也遇到了MySQL問題)。出於同樣的原因,我不會使用postgres。的SQLite
優點:
- 這是本地的,所以它必須是更快(我要使用指數和交易妥善照顧);
- 我不需要擔心tcp嗅探,因爲Mongo有線協議is not crypted;
- 我不需要擔心服務器中斷,因爲SQLite是無服務器的。 MongoDB中的
優點:
- 它更易於擴展;
- 我不需要擔心分裂數據庫,因爲可伸縮性似乎很自然;
- 我不需要擔心模式更改,因爲Mongo是無模式的,並且SQLite doesn't fully support alter table(特別考慮更改許多生產文件等)。
我想要幫助做出決定(也許考慮第三種選擇)。寫入和讀取操作越來越多的時候哪一個更好?
我打算使用Ruby。
MongoDb針對寫入操作進行了優化 – Adrian 2012-02-04 00:29:05
@Adrian:這相當誇張:-) – 2012-02-04 03:39:28