「NoSQL」という名前はあまり説明的ではないので、私は本当に嫌いです。データベースではないではなく、データベースが何であるかに興味がある。このカテゴリには、データベースのいくつかのカテゴリが含まれていると思います。私は、特定の各データベースがどのツールに最適かについての一般的な考えを得ようとしています。
私が作成したいいくつかの仮定(および作成をお願いします):
さて、上記の仮定により、データベースの選択に関連する多くの有効な考慮事項が排除されることに気づきましたが、私の焦点は、純粋に技術的なレベルでの仕事に最適なデータベースを見つけることです。したがって、上記の想定を前提にすると、問題は、各データベース(SQLとNoSQLの両方を含む)に最適なツールは何か、またその理由は何ですか?
リレーショナルデータベース(SQL)は、基になるモデルが安定しているデータに最適です。多くの実装がしばらくの間存在し(Oracle、DB2、SqlServer)、安定していて安全です。また、経験豊富な人を見つけて管理するのは非常に簡単です。データベース管理者は必須です。プログラマーは、許可、セットアップ、およびチューニングを処理する必要はありません。彼らはプログラミングに集中でき、管理者にデータベースの稼働状態の維持を心配させることができます。リレーショナルデータベースもクエリが比較的簡単で、そこからデータを検索するのに役立つ多くのツールがあります。
リレーショナルオブジェクト。アクセス許可をきめ細かく制御できる安定したサーバー。
柔軟なストレージ。高いスケーラビリティとシャーディング機能。
Cassandra vs MongoDB vs CouchDB vs Redis vs Riak vs HBase vs Membase vs Neo4jの比較 :
SQLデータベースはめちゃくちゃ便利なツールですが、15年程度の独占は終わりを告げています。そして、それはちょうど時間でした。リレーショナルデータベースに強制されたものを数えることさえできませんが、実際にそれらに適合したことはありません。
しかし、NoSQLデータベース間の違いは、SQLデータベース間の違いよりもはるかに大きくなっています。つまり、プロジェクトに適切なものを最初から選択することは、ソフトウェアアーキテクトにとって大きな責任です。
この観点から、Cassandra、Mongodb、CouchDB、Redis、Riak、Membase、Neo4j、HBaseの比較を示します[...]