オブジェクト指向データベースがリレーショナルデータベースと同じくらい使用されないのはなぜですか?[閉まっている]


18

多くのリレーショナルデータベース管理システム(RDBMS)に遭遇しました。しかし最近、休止状態を使用したため、オブジェクト指向データベースの方が人気がないのではないかと思い始めました。

JavaやC#などのオブジェクト指向言語が非常に人気がある場合、オブジェクト指向データベース管理システム(OODBMS)も人気がないのはなぜですか?


1
「NoSQL」アプローチは現在非常に人気があります。RDBMSには制限があり、制限があります。幸いなことに、RDBMSは急速にその地位を失っています。
SKロジック

oodbとは何ですか?hibernateは、ooインターフェースでrdbmsと通信するためのフレームワークです。
サイモンベルゴ

2
同様の質問がSO 2009を頼まれた、参照stackoverflow.com/questions/1350044/...今日はまだ有効であり与え私見ほぼすべての答えを。
ドックブラウン

@Simon by oodb、つまりオブジェクト指向データベース

1
@Simon:Versantはoodbです(私は2つの異なる企業で実動を見てきました)。
ジョルジオ

回答:


11

いくつかの理由があります。

  1. 多くの開発者は、リレーショナルデータモデリングのみを経験しています。OOデータベースを使用するには、データをモデル化して考えるためのまったく異なる方法を学ぶ必要があります。これは本当に難しいか、かなり時間がかかります。
  2. リレーショナルDBは、成熟するまでに時間がかかりました。無料のリレーショナルDBでさえ、高度な最適化とインデックス作成の手法を備えています。また、リレーショナルデータの保存とインデックス作成は簡単です。オブジェクト指向データベースについても同じことは言えません。
  3. リレーショナルモデルとオブジェクト指向モデルが登場し始めたとき。リレーショナルには、数学的に「正しい」という大きな利点があり、データの保存とクエリの標準がありました。OOには何もありませんでした。
  4. [推測]多くの大手企業は、リレーショナルDBの作成に多くのリソースを投入しています。代わりにOO DBをサポートするのは逆効果です。そのため、それらの多くは、オブジェクト指向の原則をリレーショナルモデルに統合することに投資し、現在のほとんどのDBをオブジェクトリレーショナルと呼んでいます。IMOこれらのモデルは、純粋なリレーショナルまたは純粋なオブジェクト指向よりも最悪です。[/投機]
  5. [暴言]最後に注意すべきことは、多くの開発者はオブジェクト指向でデータをモデル化する方法を本当に理解していないということです。これは通常、準最適な貧血モデルになります。安価で経験の浅い開発者に依存している多くの開発会社は、すべてのCSカレッジで教えられているシンプルでリレーショナルモデルを選択することを望んでいます。

5
最後を除くすべてのポイントに同意します。開発者にとっては、オブジェクトデータベースよりもリレーショナルデータベースを台無しにする方が簡単だと思います。複合キーと壊れたリレーションシップは非常に一般的ですが、クラス階層を台無しにするのは少なくとも少し難しいようです。
Tjaart

クラス階層を台無しにする@Tjaartは、OOのほとんどの開発者の標準であるようです。
ベント

10

データベースが最初に登場したとき、OOPはプログラムする方法ではありませんでした。一方、リレーショナルデータベースは多くの注目を集めました。そして、IBMによって80年代に導入されたSQLは、すぐにすべてのデータベースの共通語になりました。

OOPが普及したとき、いくつかの試みがありましたが、いくつかの問題があります。まず、真のOODBMSの実装は非常に困難です。リレーショナルデータベースの場合、テーブルと関連するインデックスは非常に単純な構造(Bツリーなど)です。もう1つの理由は、リレーショナルモデルの背後には多くの理論があり、それが数学の集合論から直接派生していることです。リレーショナルデータベースを正しく設計する既知の方法があります(正規化など)。そして最後になりましたが、人々はすでにSQLにかなり慣れています。

ほとんどの場合、現代のNoSQLソリューションは、OODBMSへの一歩ではありません。それらの多くはまだリレーショナルで、削除されていJOINsます。実際にはオブジェクトストアではありませんが、オブジェクト間の関係を認識していないため、実際にはOODBMSではありません。

OODBMSがそれほど強力に推進されないもう1つの理由は、「貧しい人のOODBMS」ソリューションであるORMがあることです。よく知られた安定したテスト済みのDBエンジンに支えられているにもかかわらず、これは非常に人気がありますが、オブジェクトへのマッピングを提供します。もちろん、これらは本当のOODBではありません。


「OODBMSがそれほど強力に推進されていないもう1つの理由は、「貧しい人のOODBMS」ソリューション— ORMがあることです。」:非常に良い点です!+1。
ジョルジオ

それは真実ではない。MUMPSは1966年に設計され、1974年までに、IBMが世界初のRDBMSであるSystem Rを開発するための最初の研究プロジェクトを開始しました。Oracleは、InterSystems Mが明らかになった1979年に世界初の商用グレードRDBMをリリースしました。問題は、その後に何が起こったかです。答えはおそらく、ODBMSはレポート用に最適化されていなかったが、LOBアプリケーションのユースケースの大部分は読み取りに対する読み取りと書き込みの不均衡が大きいためです。
アレクセイ・ジマレフ

-2

OODBMSは複雑なデータの保存に適しています。ただし、ほとんどの場合、OO言語を使用している場合でも、必要なデータは比較的単純です。したがって、従来のRDBMSの方が適しています。


2
データは決して単純ではありません。ORMが非常にうまく機能しているため、OODBがそれほど人気が​​ない理由を説明できないと思います。
Tjaart
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.