非常に急速に成長する可能性のあるスタートアップに対して、どのデータベースを提案しますか?
具体的には:
- JSONを使用してモバイルクライアントとデータを交換しているため、データは理想的にはこの形式で保存する必要があります
- データモデルは、ユーザー、カテゴリ、アクションの履歴など、比較的単純です。
- ユーザーは「リアルタイム」で対話します(5秒の伝播遅延は引き続きOKです)
- クエリは事前にわかっています(結果をキャッシュしたり、mapreduceを使用したりできます)
- システムには最大10000人の同時ユーザーがいます(推測だけです...)
- トランザクションはプラスですが、トランザクションなしで生きることができると思います
- 空間的に有効になっていることはプラスです
- ノード間のデータレプリケーションは管理が容易である必要があります
- オープンソース
- 利用可能なホスティングサービス(sysadmin部分を外部委託したい)
これで、標準のリレーショナルPostgreSQL/PostGISを使用した機能的なプライベートプロトタイプができました。しかし、スケーラビリティとは別に、リレーショナルデータをJSONに、またはその逆に変換する必要があります。これは、高負荷のオーバーヘッドのようです。
少し調べましたが、すべての新しいNoSQLに関する経験が不足しています。
これまでのところ、私はこれらの解決策について考えています:
- Couchbase:マスターマスターレプリケーション、ネイティブJSONドキュメントストア、空間拡張、couchapps。iriscouchホスティングについてはわかりませんが、優れた技術のようです。
これまでに見た欠点は、JavaScriptのデバッグ、ディスクの占有です。 - MongoDb:マスターは1つだけですが、安全なフェイルオーバーがあります。バイナリJSONを使用します。
- クラスターMySQL:ウェブの常緑樹(私が思うに1人のマスター)
- PostgresSQL&Slony:Postgresが大好きだから:-)
しかし、他にもたくさんあります、Cassandra、Membase ...皆さんは実際の経験がありますか?悪いものも重要です!
前もって感謝します、
カレル