
大規模なマルチユーザー DBMS は、DBMS からリソースを奪う可能性のある他の不要なアプリケーション、プロセス、またはサービスなしで、専用サーバーまたはクラスター上にスタンドアロンで常駐する必要があるというのが、私の強い信念です。また、DBMS は、DBMS に可能な限り最高のパフォーマンスを提供するように調整された OS に緊密に統合される必要があるとも信じています。Pick、Terradata などの独自システムは、この目標を念頭に置いて設計されました。最新の Sun/Oracle システムは、このカテゴリに該当するでしょうか。この種のアーキテクチャを INFORMIX などの他の DBMS で実現するのは理にかなっていますか。
答え1
一般に、ACID RDBMS には、2 台以上のコンピューターを組み合わせて 1 つのデータベースを提供する場合に、組み合わせることで多項式時間のパフォーマンス特性が得られる特定の属性があります。
この問題を解決するための試みはいくつかあります。
トランザクション性や結合を減らすなどして、データベースを可能な限り最適化します。
サポートするオペレーティング システムの最適化、ディスクの最適化など、データベースを提供するために 1 台のコンピューターを可能な限り最適化します。
非常に強力な単一のコンピューターでデータベースを提供することにより、垂直方向に拡張します。
シャーディングによって、または異なるテーブルを異なるデータベースに配置することによって、RDBMS を分散します。
真の分散データベースを使用すると、ACID RDBMS の属性の一部は失われますが、真の分散とそれに伴うパフォーマンスが提供されます。例: Cassandra など。また、真の分散データベースは、分散データベースのパフォーマンスが特定のノードのパフォーマンスではなく、主にノードの数に基づいているため、コモディティ ハードウェアで実行できます。
最初の 4 つの方法には厳しい制限があります。5 番目の方法には制限はありません。
データベースのニーズは、調整やハードウェアが対応できる速度よりも何倍も速く拡大しているため、必然的に分散データベースが解決策となります。確かに、多くの人がデータベース サーバーを調整しようとし、大規模なハードウェアにアップグレードせざるを得なくなりますが、それは一時的なもので、それでは不十分になった場合は、分散データベースに移行せざるを得なくなります。
答え2
もし25万ドルほどの余裕があれば、Oracle Exadataマシンこれは、高度に構成されたデータベース アプライアンスであり、高度に指定されたハードウェアが選択され、Oracle のパフォーマンスが最適化されるまで Solaris が調整されています。
答え3
Oracle と Solaris の統合は、他のほとんどの統合よりも緊密です。ただし、要件リストを満たしているかどうかは確認できません。
答え4
答えよりも議論がほしいのだと思いますが、私の答えは「いいえ」です
大企業のショップでは、すべての Oracle、Sybase、および SQL Server のインストールで、最小公分母である SAN が使用される可能性があります。これ自体がトランザクションとしてオフサイトに複製される可能性があります。企業の DBA に聞いてみてください。
どのショップでも、コードの品質はサーバー/OS よりも重要な要素になります。たとえば、最適化や統合をどれだけ行っても、インデックス作成の質の低下を防ぐことはできません。
その他のポイント:
- テラバイトのDBは、バックアップ/復元/SLAの問題であると私は考えています。
- パフォーマンスの面では、アクティブなデータセットまたは毎日の増加を心配する必要があります。