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


31

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

私がしたい(そしてあなたに作るように頼む)いくつかの仮定:

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

今、私は上記の仮定がデータベースの選択に関係する多くの有効な考慮事項を排除することを理解しますが、私の焦点は純粋に技術的なレベルで仕事に最適なデータベースを見つけることにあります。したがって、上記の仮定を考えると、質問は次のとおりです。各ジョブ(SQLとNoSQLの両方を含む)はどのジョブにとって最適なツールであり、その理由は何でしょうか。


これらのデータベースの2つの例を選んで、それらのカテゴリはどうなるのでしょうか。
ジェフ

回答:


6

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


5

SQL

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

NoSQL

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


1

この記事には、CassandraとMongoDBとCouchDBとRedisとRiakとHBaseとMembaseとNeo4jの比較に関する非常に良い情報があります。

SQLデータベースは非常に便利なツールですが、約15年の独占は終わりに近づいています。そしてそれはちょうど時間でした:リレーショナルデータベースに押し込まれたものを数えることさえできませんが、実際にはそれらに適合していません。
しかし、NoSQLデータベースの違いは、あるSQLデータベースと別のSQLデータベースの違いよりもはるかに大きくなっています。これは、プロジェクトの最初から適切なものを選択することがソフトウェアアーキテクトにとって大きな責任であることを意味します。
この観点から、Cassandra、Mongodb、CouchDB、Redis、Riak、Membase、Neo4j、HBaseの比較がここにあります[...]


-3

これは良い質問ではないと思います。たとえば、どんな種類の車両が良いのでしょうか?ブガッティ、BWM、自動車、ミニマシン、電車、機関車、飛行機?
それはあなたの状況次第です

巨大なデータのない小さなジョブの場合、sqlightが適切な場合があります。
Microsoftの製品を使用する会社にとって、MSSQLは優れています。
Web開発では、MySqlは非常に使いやすいです。
銀行、Oracleまたはcouchbaseの場合(トランケーションの問題を処理する場合)。
大量のデータを扱う小さな仕事には、MongoDBが適しています。
巨大なデータとたった1種類のテーブル、Cassandraを持つ会社の場合。
巨大なデータを持つ会社、Couchbaseの場合。
hadoopエコシステム、HBase用。
メモリ内のグラフ、画像、...


5
なぜSQL ServerよりもMicrosoftショップにMySQLを推奨するのでしょうか?
Becuzz

私はそれを修正し、私はMssqlを意味しました。
ホセインヴァタニ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.