多くのリレーショナルデータベース管理システム(RDBMS)に遭遇しました。しかし最近、休止状態を使用したため、オブジェクト指向データベースの方が人気がないのではないかと思い始めました。
JavaやC#などのオブジェクト指向言語が非常に人気がある場合、オブジェクト指向データベース管理システム(OODBMS)も人気がないのはなぜですか?
多くのリレーショナルデータベース管理システム(RDBMS)に遭遇しました。しかし最近、休止状態を使用したため、オブジェクト指向データベースの方が人気がないのではないかと思い始めました。
JavaやC#などのオブジェクト指向言語が非常に人気がある場合、オブジェクト指向データベース管理システム(OODBMS)も人気がないのはなぜですか?
回答:
いくつかの理由があります。
データベースが最初に登場したとき、OOPはプログラムする方法ではありませんでした。一方、リレーショナルデータベースは多くの注目を集めました。そして、IBMによって80年代に導入されたSQLは、すぐにすべてのデータベースの共通語になりました。
OOPが普及したとき、いくつかの試みがありましたが、いくつかの問題があります。まず、真のOODBMSの実装は非常に困難です。リレーショナルデータベースの場合、テーブルと関連するインデックスは非常に単純な構造(Bツリーなど)です。もう1つの理由は、リレーショナルモデルの背後には多くの理論があり、それが数学の集合論から直接派生していることです。リレーショナルデータベースを正しく設計する既知の方法があります(正規化など)。そして最後になりましたが、人々はすでにSQLにかなり慣れています。
ほとんどの場合、現代のNoSQLソリューションは、OODBMSへの一歩ではありません。それらの多くはまだリレーショナルで、削除されていJOINs
ます。実際にはオブジェクトストアではありませんが、オブジェクト間の関係を認識していないため、実際にはOODBMSではありません。
OODBMSがそれほど強力に推進されないもう1つの理由は、「貧しい人のOODBMS」ソリューションであるORMがあることです。よく知られた安定したテスト済みのDBエンジンに支えられているにもかかわらず、これは非常に人気がありますが、オブジェクトへのマッピングを提供します。もちろん、これらは本当のOODBではありません。