※ 本記事は、Ranjan Priyadarshiによる”Key benefits of JSON Relational Duality: Experience it today using “Oracle Database 23c Free–Developer Release”“を翻訳したものです。

2023年4月11日


Oracle Database 23c JSON Relational Duality(JSONとリレーショナルの二面性)は、リレーショナルおよびドキュメントの世界のメリットを1つのデータベース内に収めることでappdevに革命を起こします。この統合を可能にする新機能は、JSON Relational Duality Viewと呼ばれます(以下「Duality View」と呼びます)。

Duality Viewを使用すると、データは正規化された方法でリレーショナル表に格納されますが、JSONドキュメントとしてアプリケーションに公開できます。リレーショナル表にデータを格納すると、リレーショナル・モデルのすべての利点が得られますが、JSONドキュメントと同じデータを公開することで、アプリケーションは、ドキュメント・モデルのスキーマの柔軟性とその他のメリットを得られます。

JSON Relational Duality

JSON Relational Dualityを使用する主な利点の一部を見てみましょう。:

  1. 両方の世界のベストを!

JSON Relational Dualityは、ドキュメントとリレーショナル世界の両方のメリットを統合するのに役立ちます。開発者は、JSONドキュメント・モデルの柔軟性とデータ・アクセスのメリットに加えて、リレーショナル・モデルのストレージの効率とパワーを手に入れることができます。

JSON Relational Duality

  1. アプリ作成時に妥協を強いられることはありません:

ドキュメントの使用は、すべてのユースケースで効率的とはかぎりません。現在、組織がドキュメント・データベースにデータを格納する場合、ドキュメントの使用が最も効率的な方法ではない場合でも、様々なユースケースに適応する必要があります。

JSON Relational Dualityによって柔軟かつ効率的になる方法: Duality Viewをアプリケーションの構築において、極めて柔軟な対応を体験してください。開発者は、ユースケースに基づいて同じデータにリレーショナルまたは階層ドキュメントとしてアクセスでき、基礎となるデータベースの制限から妥協せざるを得ないということもありません。リレーショナル・データにドキュメント中心のアプリケーションを構築するか、ドキュメントにSQLアプリケーションを作成します。

開発者は、お気に入りのドライバ、フレームワーク、ツールおよび開発方法を使用して、Duality Viewsによって実現されるドキュメントを操作できます。標準SQLを使用してリレーショナルと同じデータ、または標準ドキュメントAPIを使用してドキュメントと同じデータを操作できます。:

  • 分析、レポートおよび機械学習アプリケーションは、SQL、PL/SQL、C、Java、JavaScriptなどの言語を使用して、(行および列として)データにリレーショナルにアクセスまたは変更できます。
  • ドキュメント中心のアプリケーションは、REST、Simple Oracle Document Access(SODA)、Mongo APIなどのドキュメントAPIを使用して、同じデータにアクセスできます。
  1. ドキュメント・データベースの場合のように、1つのJSON階層に制限されません:

文書データベースの柔軟性は制限されています。ドキュメント・データベースを使用する場合、開発者は様々なユースケースに1つの階層を使用する必要があります。たとえば、Orders階層を使用して顧客プロファイルを作成したり、顧客データにアクセスすることは非効率的です。すべてのユースケースに1つのJSON階層を使用すると、appdevが複雑になり、パフォーマンスに影響します。

JSON Relational Dualityがそれを簡単にする方法: 開発者は、重複する表のグループにわたる複数のJSONビューを定義する際に、Duality Viewの機能を使用できます。この柔軟なデータ・モデリングにより、同じデータに対して複数のアプリケーションを簡単かつ効率的に構築できます。

  1. ドキュメントの使用時にデータの重複を排除:

ドキュメント・データベースには、ドキュメントの独立性を維持する固有の問題があります。ドキュメント間の関係を宣言する適切なメカニズムがないため、データの重複や不整合が発生します。データを複製すると、メンテナンス・コストが高くなり、意思決定エラーが発生し、ビジネス・チャンスが失われます。

JSON Relational Dualityによりデータの重複を排除: Duality Viewsは、複数のドキュメントおよび表にまたがる完全なACID(原子性、一貫性、分離、耐久性)トランザクションです。データの重複は排除されますが、一貫性は自動的に維持されます。

  1. ラウンドトリップとオブジェクト・リレーショナル・インピーダンスの不一致を排除:

現在、アプリケーション開発者は、アプリケーション層オブジェクト(プログラミング言語で使用)とリレーショナル表の間でマップする必要があります。開発者は、ビジネス・ユース・ケースを実装するために、複数の表のデータをアセンブルおよび変更します。これは、業界でオブジェクト・リレーショナル・インピーダンスの不一致問題としてよく知られています。アプリケーション層オブジェクトとリレーショナル表の間のカスタム・マッピングにより、アプリケーション開発がより複雑になります。また、アプリケーション層オブジェクトに対する操作によって、関連する表への複数のアクセスまたは更新が発生する可能性があるため、パフォーマンスも低下します。

Duality Viewにより、オブジェクトをリレーショナル表にマッピングする必要がなくなります: データに対して完全に更新可能なJSONビューを提供します。アプリケーションは、基礎となるデータ構造、マッピング、一貫性またはパフォーマンス・チューニングを気にすることなく、ドキュメントを読み取り、必要な変更を行い、ドキュメントを書き戻すことができます。アプリケーションに必要なすべてのデータを取得して単一のデータベース操作に格納することで、シンプルさを体験できます。

  1. 同時実行性の高いアクセスと更新をサポートするアプリケーションを構築:

従来のロックは最新のアプリケーションにはうまく機能しません。Duality Viewで提供されるロックフリーの新しい並行処理制御は、同時実行性の高い更新をサポートし、人間の思考時間中にデータがロックされないため、対話型アプリケーションでも効率的に機能します。Duality Viewは、基礎となる表の同時更新を合理化するのに役立つドキュメントレベルのシリアライズ可能性も提供します。文書の更新と基礎となる表への直接更新の間の一貫性が自動的に保証されます。文書APIとSQLアプリケーションでは、同じデータを同時に更新できます。

 

JSON Relational Dualityを”Oracle Database 23c Free – Developer Release”で試してみる

Oracleは、”Oracle Database 23c Free – Developer Release”を発表しました。これにより、開発者はJSON Relational Dualityなどの23c機能を使用してアプリケーションの構築を開始できます。アプリケーションの構築において、Duality Viewのパワーと柔軟性を簡単に体験できます。GitHubで、ドキュメント化および学習しやすいチュートリアルを提供します。チュートリアルをダウンロードし、「Oracle Database 23c Free – Developer Release」で使用できます。チュートリアルでは、開発者はSQL、RESTおよびOracle Database API for MongoDBを使用して、Duality Viewsに関連する機能および例を試すことができます。準備が整った環境でDuality ViewsでプレイするためのLiveLabsも提供します。ご期待ください。

リンク:

Oracle Database 23c Free – Developer Releaseは、次世代のOracle Databaseの最初のリリースです。これにより開発者は、最新のデータドリブン・アプリの開発を簡素化する革新的な23c機能を備えたアプリケーションの構築をすぐに開始できます。Oracle Database 23cの機能セット全体は、今後12か月以内に一般提供する予定です。