マルチモデルデータベースは、多種多様なデータの管理に関する課題を解決するための洗練されたソリューションです。
アプリケーション側で複数のデータベースモデルを統合するポリグロットパーシステンスと違い、マルチモデルデータベースは、統合された単一のバックエンドを使用して複数のデータモデルをネイティブにサポートします。ポリグロットパーシステンスではデータがサイロ化され、複数のインターフェイスによって統合ワークフローが複雑になるのに対して、マルチモデルデータベースではデータ統合が促進され、一元化されたインターフェイスによってデータの一貫性、セキュリティ、アクセスが保たれます。
ポリグロットパーシステンスの場合、エンドユーザーが使用できるようにデータの一貫性とセキュリティを確保するには、アプリケーションで複数のサービスをオーケストレーションする必要があります。これに対して、マルチモデルデータベースでデータモデルを適切に組み合わせてエンティティ (患者の医療記録など) をモデリングすると、データアーキテクチャが極めてシンプルになります。
マルチモデルを最大限に活用する
MarkLogic サーバーは、ドキュメント、セマンティックグラフ、地理情報、リレーショナルの各モデルのメリットを拡張性の高いハイパフォーマンスの業務データベースに統合したマルチモデルデータベースです。JSON、XML、テキスト、RDF トリプル、地理情報、バイナリ (PDF、画像、動画など) をネイティブに格納でき、統合された検索とクエリのインターフェイスを備えています。このため、データの一貫性を損なわずに、ユースケースに適したデータモデルを選んで組み合わせることができる柔軟性があります。例えば、ビジネスエンティティ (お客様など) について信頼できる全体像を構築し、複数のユースケース (ロイヤルティプログラム、パーソナライゼーションなど) に使用することができます。
マルチモデルデータベースは、複数のデータモデルを格納してクエリを実行できるため、様々なサイロからデータを統合してこれまでにない柔軟性、業務効率、DevOps のアジャイル性を実現できます。例えば、リレーショナルデータベースの場合、合意された1つの上位スキーマを事前に定義しなければならず、ビジネスニーズの進化に合わせて、維持が困難で面倒な ETL プロセスによってすべてのソースデータをマッピングする必要があります。これに対して、マルチモデルデータベースはスキーマに依存しないので、複数のスキーマ (またはデータモデル) を共存させることができ、スキーマを柔軟に進化させて新しいビジネスニーズに速やかに対応することが可能になります。
マルチモデルデータベースである MarkLogic サーバーは、あらゆるデータをそのままの形で簡単に読み込むことができ、リネージ、出自、その他のメタデータを維持したまま変更を素早く繰り返せる柔軟性があります。必要に応じてデータソースを追加し、構造化データと非構造化データを読み込み、既存のアプリケーションに影響を与えたりソースデータを読み込み直したりすることなく、スキーマを変更して新しいユースケースに対応できます。このため、MarkLogic サーバーは、MarkLogic データハブプラットフォームにおいて構造が複数存在するデータを統合、キュレーション、管理するための基盤となっています。あらゆるソース (Oracle、SQL Server、Teradata、Hadoopなど) のあらゆるタイプ (IoT、クリックストリーム、メインフレーム、ERP など) のデータを統合できます。
マルチモデルデータベースは、複数のデータモデル、インデックス、プログラミング言語をサポートして複数のユースケースを実現しながら、データセキュリティ、ガバナンス、一貫性に関して統合されたモデルを提供します。MarkLogic サーバーにより、次のようなことが実現します。
ドキュメントデータベースモデルは、最も柔軟な NoSQL データモデルであり、一番人気があります。ドキュメントは多様で複雑な階層型データの処理に適しています。人が読んで理解でき、データの概念またはビジネスモデルをほぼそのまま表現できます。またリレーショナルデータベースのインピーダンスミスマッチ問題を回避できます。まとめると、ドキュメントデータベースモデルには主に次のようなメリットがあります。
ドキュメントに安全にアクセスして共有できるよう、MarkLogic はビルトインの検索エンジン、ドキュメントおよび要素レベルのセキュリティ制御、リダクションポリシーなどを用意しています。検索エンジンが読み込み時の全文検索に備えてドキュメントを自動的にインデックス付けします。追加インデックス (レンジインデックス、地理情報インデックスなど) の定義や関連度順のカスタマイズなどの柔軟性もあります。このように様々な標準機能 (ファセット、スニペットなど) により、高度な検索アプリケーションを迅速に構築できます。
MarkLogic プラットフォームでは、ビジネスエンティティを表す Java オブジェクトや、従来の意味での「ドキュメント」 (Microsoft Word 文書や PDF など) の自由文 (テキスト) などをすべて、JSON や XML ドキュメントとして自然に格納し、強い一貫性を維持できます。
ドキュメントはビジネスエンティティの格納に適していますが、エンティティの関係性については、もう1つの一般的な NoSQL モデル、セマンテックグラフデータベースモデルが最適です。このモデルは、人、顧客、プロバイダなど、興味対象のエンティティの関係性を格納して管理できるように設計されています。
さらに MarkLogic は、セマンティックなグラフデータモデルをビルトインの RDF トリプルストアとして提供しているため、セマンティックデータを格納・管理できます。この機能が MarkLogic セマンティック です。セマンティックにより、JSON および XML ドキュメントをスマートに関連付けおよび強化することで、ドキュメントモデルを強化します。これにより、データ統合を促進し、強力なクエリを実行して関係性を発見したり推論を実行したりできます。
セマンティックは、メタデータ (オントロジーなど) を格納することでデータのコンテキストも提供します。例えば、部品情報が格納された製品カタログを考えてみましょう。ある部品のサイズは「42」となっていますが、このコンテキスト情報はどこにあるのでしょうか。「42」の単位は何でしょうか。測定時の許容誤差はどのくらいでしょうか。誰がいつ測定したのでしょうか。こうしたコンテキスト情報がセマンテックデータであり、MarkLogic に RDF トリプルとして格納できます。
ドキュメントモデルと同様に、MarkLogic プラットフォームのビルトインの検索エンジンは、SPARQL クエリでセマンティック検索を高速実行するために RDF トリプルをインデックス付けします。セマンティック検索とドキュメント検索を組み合わせて複雑なクエリを簡単に作成し、インサイトを発見できます。
ドキュメントデータモデルには、地理情報データも格納できる柔軟性があります。MarkLogic では、関心のある地点、交差経路、地域などの地理情報をネイティブに格納、管理、検索できます。これにより、その他全てのデータ (エンティティ、関係性など) の「位置」に関する質問の答えが得られます。
ビルトインの検索エンジンは、地理情報データのインデックス付けにより、場所に基づく検索クエリと地理情報アプリケーション用のアラートが可能です。地理情報を利用して、場所に基づく強力な検索アプリケーションを実装しているお客様の詳細をご覧ください。
リレーショナルデータモデルが便利なのは、理由があります。表形式に構造化されたデータビューは、標準の SQL でクエリを実行できるので、役に立つこともあります。MarkLogic があれば、開発者は安心です。
MarkLogic では標準の SQL をサポートしており、データ上にリレーショナルビューを作成し、データのセキュリティに妥協することなく SQL 分析を実行できます。基となるデータを変更しないので、MarkLogic プラットフォームでは元の形式のまま利用できます。
このようなレベルの SQL サポートを可能にする基盤技術は、MarkLogic 独自のものです。この技術は TDE (Template Driven Extraction) と呼ばれ、データ (またはエンティティ) のリレーショナルな表現を定義できるため、標準の SQL でクエリできます。これにより、使い慣れた BI ツールで業務分析を行えます。
マルチモデルデータベースには一元化された検索インターフェイスがあり、統合されたインデックスを使用して複数のデータモデルに対してクエリを実行できます。通常は、データ型ごとに特定のインデックスを選択・管理しなければなりませんが、MarkLogic プラットフォームは、データが読み込まれるとすぐに高速のデータアクセスを実現する一連の統合インデックスを備えています。マルチモデルデータベースは Google のように機能します。Google では、web ページを特定のフォーマットに合わせる必要はありません。ページにインデックスを付けて、統合検索インターフェイスからアクセス可能にしているだけです。
MarkLogic プラットフォームはビルトインの検索エンジンにより、すべてのデータ型をインデックス付けして卓越した検索パフォーマンスを実現します。したがって、1つのクエリ内で複数の内容を組み合わせることで、複数のデータモデルのデータを迅速に検索できます。例えば、セマンティッククエリと検索クエリを組み合わせて、保険に加入していない慢性疾患の患者を見つけることができます。
マルチモデルデータベースには業界標準のクエリ言語と API が備わっているため、サポートされるすべてのデータモデルのデータを柔軟に格納してアクセス可能です。MarkLogic プラットフォームにより、ユーザーは検索、SQL、SPARQL、REST API を使用してデータのクエリを実行できます。また、JavaScript、Node.js、Java、XQuery など、複数のプログラミング言語もサポートしています。
真のマルチモデルデータベースである MarkLogic は、マルチモデルデータアクセス用の一元化されたクエリインターフェイスとして Optic API も備えています。あらゆるデータモデルのデータに柔軟かつ簡単にアクセスできます。ドキュメント、リレーショナルビュー、セマンティックグラフを対象として、1つのクエリ内で複数の内容を組み合わせることができます (どのような組み合わせも可能です)。例えば、Optic API を使用して、ドキュメントの検索やフィルタリング、リレーショナルな操作 (結合や集計など)、出力用のドキュメントの抽出 (または作成) などを実行できます。他のマルチモデルデータベースでもこんなことができるでしょうか。
マルチモデルデータベースは、データモデリングの柔軟性と統合されたクエリインターフェイスに加え、データセキュリティ、ガバナンス、トランザクション処理に単一のモデルをとっています。統合されたデータプラットフォームとして、開発者の生産性と運用効率を向上します。
真のマルチモデルデータベースである MarkLogic は、データセキュリティ、ガバナンス、一貫性に関して一元化されたモデルを提供します。シェアードナッシングアーキテクチャにより、拡張性と可用性を実現し、開発、テスト、アップグレード、バックアップ、リカバリなどの運用フットプリントを低減します。
MarkLogic サーバーの開発者向けフル機能体験版を、無料で提供しています。今すぐダウンロード可能で、最大1TBまでのデータを保存できます (商用利用不可)。詳細についてはお問い合わせください。