web-dev-qa-db-ja.com

使用するデータベースの種類をどのように決定しますか?

「NoSQL」という名前はあまり説明的ではないので、私は本当に嫌いです。データベースではないではなく、データベースが何であるかに興味がある。このカテゴリには、データベースのいくつかのカテゴリが含まれていると思います。私は、特定の各データベースがどのツールに最適かについての一般的な考えを得ようとしています。

私が作成したいいくつかの仮定(および作成をお願いします):

  1. これまでに存在したすべてのデータベーステクノロジーで同等に経験を積んだ優秀なエンジニアを何人でも雇うことができると想定します。
  2. 特定のデータベースをサポートするための技術インフラストラクチャがあると仮定します(利用可能なサーバーと、そのデータベースをサポートできるシステム管理者を含む)。
  3. 各データベースが無料で可能な限り最高のサポートを持っていると仮定します。
  4. 経営陣から100%の賛同を得ているとします。
  5. あなたが問題に投げかけるお金が無限にあるとしましょう。

さて、上記の仮定により、データベースの選択に関連する多くの有効な考慮事項が排除されることに気づきましたが、私の焦点は、純粋に技術的なレベルでの仕事に最適なデータベースを見つけることです。したがって、上記の想定を前提にすると、問題は、各データベース(SQLとNoSQLの両方を含む)に最適なツールは何か、またその理由は何ですか?

31
Jason Baker

リレーショナルデータベース(SQL)は、基になるモデルが安定しているデータに最適です。多くの実装がしばらくの間存在し(Oracle、DB2、SqlServer)、安定していて安全です。また、経験豊富な人を見つけて管理するのは非常に簡単です。データベース管理者は必須です。プログラマーは、許可、セットアップ、およびチューニングを処理する必要はありません。彼らはプログラミングに集中でき、管理者にデータベースの稼働状態の維持を心配させることができます。リレーショナルデータベースもクエリが比較的簡単で、そこからデータを検索するのに役立つ多くのツールがあります。

6
Michael K

SQL

リレーショナルオブジェクト。アクセス許可をきめ細かく制御できる安定したサーバー。

NoSQL

柔軟なストレージ。高いスケーラビリティとシャーディング機能。

5
Josh K

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の比較を示します[...]

1
Jason Baker