マルチリンガル・エンジンの必要性
MLEを使用してデータベース内でデータを処理する利点について説明します。
開発者がSmart-DBアプローチを実装すると、アプリケーション・ロジックとデータが同じデータベース内に共存します。この戦略を適用すると、データベースは単なる永続性レイヤーまたは単純なREST APIではなく、本格的な処理エンジンとして使用されます。データを処理するためにデータベースを使用することで、セキュリティの強化、ネットワーク・ラウンドトリップの潜在的な排除、および参照整合性の使用によるデータ品質の向上という形で多くの利点が得られます。
データベースのオプティマイザにも、このアプローチによる利点があります。参照整合性制約を使用すると、操作しているデータの詳細を把握できます。また、セットベースのSQLを使用するとパフォーマンス上の利点を実現できます。多くの場合、データベース・サーバーはアプリケーションのフロントエンドを処理するマシンよりも強力であり、処理時間がさらに短縮されます。
Smart-DBアプローチでは、概念を最大限に活用するために、データベース・システムで提供されるプログラミング言語をよく理解している必要があります。唯一の他のオプションは、クライアント側のドライバを使用してデータベースからミドルウェア・システムまたはクライアント・マシンにデータを抽出し、処理することです。
処理されるデータの量が増え続けると、バッチ処理については特に、次の理由により、データベースからクライアントへの大量のデータの転送が問題となる可能性があります:
-
サーバー間でのデータベース情報の転送には時間がかかり、重大なネットワーク・オーバーヘッドが発生することがあります
-
待機時間が大幅に増加することがよくあります。対話の多いアプリケーションについては特に、累積的影響が非常に顕著になる場合があります
-
中間層またはクライアントで大量のデータを処理するには、これらの環境に大容量のDRAMとストレージを装備する必要があり、コストが増大します
-
マシン間のデータ転送は、クラウド環境では特に、固有のセキュリティ・リスクおよびデータ保護要件のために規制管理の対象となることがよくあります
データベース内でデータを処理することが、これらの問題の多くを軽減するための一般的な戦略となります。
Oracle Database Multilingual Engine (MLE)の導入に伴い、JavaScriptがデータベースに追加されました。JavaScriptはここに組み込まれることによってその言語の人気の高さが示され、その高度なエコシステムをサーバー側データベース開発に利用できるようになりました。
MLEでは、JavaScriptのエコシステムで提供されているイディオムやツールを使用できるとともに、Node Package Manager (NPM)などの一般的なリポジトリのモジュールをデータベース内に直接デプロイして使用できます。さらに、アプリケーション層間を移動できるため、様々なワークロードを処理するチームの柔軟性が向上します。JavaScriptの人材の大規模なプールは、既存および今後のプロジェクトの人員配置に役立ちます。