我々は、IOEの現在の性質は、データベースレベルの問題を解決するために、アプリケーションサーバーとミドルウェアのために、X86サーバーと負荷分散、クラスタリング技術の使用自体があまりにも多くの問題が存在しない変更されていることに注意してください。信頼性、スケーラビリティとパフォーマンスを含むデータベースはまだ多くの場合、小型マシンと集中型ストレージを使用している間、現在、アプリケーションの多くは、それ自体も、アプリケーションサーバー層は、基本的にすべてのX86 +仮想化です参照してください。
今日の高性能X86サーバーは、3-4年前のミッドレンジ小型機の性能に追いつきました。たとえば、現在6〜8C、8コアのX86サーバーの性能は80〜100万TPMCに達することができますが、3年前のミッドレンジの小型機の性能はわずか60万TPMCの外観です。小型マシンの交換のためにまだ高可用性の問題を最も懸念している、小型マシンは、基本的に5 9の高可用性に達することができ、今Xeon 7500などの同様のX86サーバーの導入により、小型マシンの多くは、基本的に4 9に到達するために、RAS技術でのみ使用される問題のあまりありません。
小型機の垂直方向の拡張性はかなり強いという事実もあり、例えばCPUは最大24まで拡張可能で、X86サーバーは水平方向の拡張によって小型機の垂直方向の拡張性に対応することが望まれています。水平拡張が当然もたらす問題は、分散の問題です。
データベースレベルでは、MySQLデータベースとOracleデータベースの比較を行うには、現在のサードパーティの評価は、2つのデータベースとベンチマークデータベースのパフォーマンスの同じハードウェア構成条件に等しいです。実際には、データベースレベルは、より多くの大規模なデータのトランザクション処理能力の複雑さを懸念しています。大規模なテーブルデータのストレージのために1000万行のレベルである場合、それは2つのデータベースがあまりにも明白なギャップが表示されない場合があると言うことができます。そして、もし1000万人以上または大量のデータのOLTP処理の数億人のために、Oracleはまだ明確な利点を持っていると推定されます。この問題への解決策は、インターネット企業の経験によると、まだデータベースの水平方向と垂直方向の分割を介してこの問題を解決することです。
EMCが提供する集中型ストレージに似て別の重要なトピックですが、あなたは集中型ストレージの使用で見ることができる、それはOracleのRACクラスタに似て達成するために簡単ですが、同時に、集中SANは、NASストレージも高可用性と高信頼性の高いストレージを持っています。インターネットエンタープライズ淘宝網に似てまた、IOディスクの読み取りと書き込みの数が多いため、安価なローカルディスクストレージの使用では、しばしばハードドライブがハングアップ表示され、話しています。これらは、個々の障害を回避するためにRAID技術を通じて回避することができますが、ストレージの高信頼性のために確かにローカルストレージは、集中型ストレージに追いつくことはできません。
ミニコンピュータ、オラクルデータベース、集中型ストレージに移行する場合と同様に、シェア・ナッシング分散データベースクラスタとして構築されたデータベース層に直接転換することになります。そして現在、Greenpulm、Vertica、Hiveなどと同様のMPP+シェア・ナッシングNew SQLデータベースがOLAPレベルの問題を解決するために増えています。脱IOEのために最初に解決しなければならないのは、オンライントランザクション処理レベルです。
次に、何も分散データベースを共有するために、同じようなMysqlクラスタ技術をサポートするためにありますが、この分散データベースは、高い信頼性を達成するために、しかし、CUDの操作をサポートする必要があるため、このクラスタの結果、ストレージ容量とビジネスの高いパフォーマンスの実際のアプリケーションの要件を満たすことは困難です。実際のビジネスアプリケーションのシナリオでは、同様のMDMのマスターデータのシナリオの数が少ないに加えて、使用するためのより適している、ビジネスの操作と論理処理シナリオの数が多いの本当のコアは、多くの場合、適していません。
このような状況に基づいて、現在最も一般的に使用される技術は、データベースの水平方向と垂直方向の分割に変更されましたが、この分割は、アプリケーション層に透過的にすることが望ましいので、コアDaaSサービス層の導入上記のデータベース。しかし、現在のDaaSサービス層は、アプリケーションの上位層は、特定の制約を構築しながら、データベースの完全な透明性を達成することは困難です。このようなクロスデータベース集計グループバイステートメントとして、いくつかのクロスデータベースのSqlステートメントを含むがサポートされていない、これらはアプリケーション層自体で解決する必要があります。
重要な問題の後のクロスライブラリでは、分散トランザクションの問題は、DaaSのために分散トランザクションの問題のいくつかを解決することができますが、厳格なXA 2相コミットを使用して分散トランザクションを解決するために必要な、独自の高い信頼性と一貫性はまださらに検証する必要があります。アプリケーションについては、それはまだいくつかの分散トランザクションの問題を解決するために適用する必要があります、つまり、トランザクションの補償を介して、BASEメソッドは、分散トランザクションの問題を解決するために、これらは本質的にまた、CAPの定量的である高い一貫性のサポートを弱めている多くの場合、それは本当にすべての3つを満たすために分散システムで行うことは困難であると言われています。高可用性とパーティションのフォールトトレランスを満たすために基づいて、それは多くの場合、高い一貫性の一定程度を犠牲にする必要があります。
データベースの分割とDaaS層の使用のため、アプリケーションの構築のアプリケーション層は、比較的大きな変化をもたらす、特に元のデータベースの多くは、問題のSQLは、データベース層のトランザクションを介して解決することができる分割されていない場合、分散トランザクションの問題になる、またはサービス操作への複数の呼び出しの問題を解決することができます。これは多くの場合、脱IOEのキーの1つです。