Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MongoDB Atlas:モダンなアプリ開発を支えるデータプラットフォームのご紹介

MongoDB Atlas:モダンなアプリ開発を支えるデータプラットフォームのご紹介

DB Tech Showcase 2024の資料です。

Avatar for chie8842

chie8842

July 12, 2024
Tweet

More Decks by chie8842

Other Decks in Technology

Transcript

  1. MongoDB Atlas とは OLTP 全⽂検索 エッジデバイスとの 同期 チャート データレイク/ 分析

    データドリブン意思決定 分散アーキテクチャ マルチクラウド ⼀貫したAPI データ同期の ⾃動化 データ保護・ セキュリティ データ利⽤を最も⾃然な形で実現する クエリ⾔語・データパイプライン 柔軟なデータモデルと 多様なデータ型 グラフデータ ベース 検索 地理空間データ探索 キーバリュー リレーショナル ドキュメント スパース SQL インタフェース データ フェデレーション トリガーと ファンクション ストリーミング ベクトル 検索 時系列分析 ACID トランザクション データを活⽤したアプリケーションの開発 インフラ ドキュメントモデル API/インデックス 機能 あらゆるデータ活⽤アプリケーションを簡単に実現するDeveloper Data Platform
  2. 強⼒なクエリエンジンとデータ 操作のための統⼀的なAPI 直感的で柔軟な ドキュメントデータモデル 「最も愛される」データベース ランキングトップ STACK OVERFLOW | DEVELOPER

    SURVEY MongoDB PostgreSQL Elasticsearch Redis Firebase 開発者に愛される データベース 数千トランザクション/秒でもミリ秒で 返却する強靭な分散システムアーキテクチャ
  3. IDC “commended MongoDB for evolving to meet critical enterprise-grade use

    cases while sticking close to its developer roots.” MongoDBがその開発者としてのルーツに忠実でありながら、重要なエンタープ ライズグレードのユースケースに対応できるように進化していることを評価した 。 Forrester Translytical Data Platforms Wave, Q4 2022, “MongoDB has ramped up its translytical offering [or what we refer to as application-driven analytics] aggressively.” Forrester evaluated 15 of the most significant translytical data platform vendors and gave MongoDB the highest possible scores across eleven criteria.” MongoDBはtranslyticalサービス(アプリケーション駆動型アナリティクス)を積極 的に強化しています。Forresterは、最も重要な横断的データプラットフォームベン ダー15社を評価し、MongoDBに11の基準で最⾼得点を与えた。 Gartnerʼs 2022 Cloud Database Management Systems Magic Quadrant “MongoDB has been one of the most successful entrants into the DBMS market in the past decade, and extraordinarily effective in moving to the cloud.” The report also highlights positive customer satisfaction and an expanded product vision for more comprehensive analytics support and SQL capabilities.” 「MongoDBは過去10年間でDBMS市 場への参⼊に最も成功した企業の1つで あり、クラウドへの移⾏において⾮常 に効果的である。レポートはまた、肯定的な顧客満⾜度と、より 包括的な分析サポートとSQL機能のための拡張された製品ビジョンを強調している。 」 MongoDB データマネジメント領域における リーディングカンパニー
  4. Doc-Level Concurrency RAFT / Fast Failover $lookup Ops Manager Compression

    ≤50 replicas Aggregation ++ Encrypted and In-Memory storage engines BI Connector Compass Views Graph Processing Zones ++Aggregation ++ Auto-balancing ++ Linearizable Reads Decimal Intra-cluster Compression Log Redaction Spark Connector ++ BI Connector ++ WiredTiger (Acquisition + Integration) Pre-2017 3.4 MongoDB Atlas ACID (Transactions) Stable API & Rapid Releases 2017 Change Streams Retryable Writes Schema Validation Expressive $lookUp Query Expressivity Causal Consistency Consistent Sharded Secondary Reads Query Advisor End to End Compression WiredTiger 1m+ Collections MongoDB BI Connector ++ R Driver Charts (post GA) Atlas X-Region Replication Atlas Auto Storage Scaling 3.6 2018 Replica set transactions Atlas global clusters 40% Faster Shard Migrations Atlas HIPAA Atlas LDAP Atlas Audit Atlas Enc. Storage Engine Atlas Backup Snapshots Type Conversions Snapshot Reads Non-Blocking Sec. Reads SHA-2 & TLS 1.1+ Compass Agg Pipeline Builder Compass Export to Code Free Monitoring Cloud Service Ops Manager K8s Beta 4.0 2019 Distributed Transactions Client-Side Field Level Encryption Materialized Views Wildcard Indexes Global PIT Reads Large Transactions Mutable Shard Key Values Atlas Data Lake (Beta) Atlas Auto Scaling (Beta) Atlas Search (Beta) Multi-CAs Expressive Updates Apache Kafka Connector MongoDB Charts GA Retryable Reads & Writes New Index Builds 10x Faster stepDown Storage Node Watchdog Zstandard Compression 4.2 2020 Union Custom Agg Expressions Refinable Shard Keys Compound Hashed Shard Keys Mirrored Reads Hedged Reads Resumable Initial Sync Time-Based Oplog Retention Simultaneous Indexing Hidden Indexes Streaming Replication Global Read/Write Concerns Rust & Swift Drivers GA TLS 1.3 & Faster Client Auth OCSP Stapling Kerberos Utility Atlas Online Archive Auto-Scaling Schema Recommendations AWS IAM Auth & Atlas x509 Federated Queries Multi-cloud clusters 4.4 Time Series collections Clustered indexes Window functions Live resharding Client-Side FLE KMIP & cloud KMS Atlas Serverless (preview) Atlas Search fast facets, function scores, synonyms Long running snapshot reads Sharded $lookup & $graphlookup Majority write concern default 4x faster initial sync Schema validation diagnostics New MongoDB Shell GA Resumable index builds Rewritten Swift driver Rewritten C# LINQ provider and .NET Analyzer PyMongoArrow API New accumulator operators Charts on Data Lake x509 certificate rotation Auditing ++ Atlas K8S controller Ops Manager migration wizard 2021-2022 5.x MongoDB の進化 Multi-Cloud 2022-2023 6.x Queryable encryption (preview) Atlas Serverless GA Cluster-to-cluster sync Independent analytic nodes scaling Flexible sync GA Asymmetric sync preview Kotlin and Flutter SDKs for Realm $lookup perf improvements Atlas CLI GA Atlas Data API GA Secondary index on measurements for time series Time series read perf + Atlas Data Lake with fully managed storage Atlas Data Federation Atlas Charts dashboard embedding Atlas SQL interface Encrypted audit log Change streams improvements Relational Migrator (preview) Developer Data Platform Vector Search (Preview) Queryable Encryption GA Stream Processing (Preview) Relational Migrator GA Compound Wildcard Index Improved Query Execution Approximate percentiles Time series performance and scalability updates Shard key analysis updateOne w/out shard key Shard chunk auto-merger AWS, Azure, GCP ID management Make X.509 Parameters configurable for Intra-node Auth and Client-to-node Auth OpenSSL 3.0 support in Server C2C sync updates Live Migration supports 6.0+ migrations PyMongo support 2023-2024 7.x Vectorsearch Queriable Encryption
  5. MongoDB Atlas とは OLTP 全⽂検索 エッジデバイスとの 同期 チャート データレイク/ 分析

    データドリブン意思決定 分散アーキテクチャ マルチクラウド ⼀貫したAPI データ同期の ⾃動化 データ保護・ セキュリティ データ利⽤を最も⾃然な形で実現する クエリ⾔語・データパイプライン 柔軟なデータモデルと 多様なデータ型 グラフデータ ベース 検索 地理空間データ探索 キーバリュー リレーショナル ドキュメント スパース SQL インタフェース データ フェデレーション トリガーと ファンクション ストリーミング ベクトル 検索 時系列分析 ACID トランザクション データを活⽤したアプリケーションの開発 インフラ ドキュメントモデル API/インデックス 機能 あらゆるデータ活⽤アプリケーションを簡単に実現するDeveloper Data Platform
  6. MongoDB Atlas とは OLTP 全⽂検索 エッジデバイスとの 同期 チャート データレイク/ 分析

    データドリブン意思決定 分散アーキテクチャ マルチクラウド ⼀貫したAPI データ同期の ⾃動化 データ保護・ セキュリティ データ利⽤を最も⾃然な形で実現する クエリ⾔語・データパイプライン 柔軟なデータモデルと 多様なデータ型 グラフデータ ベース 検索 地理空間データ探索 キーバリュー リレーショナル ドキュメント スパース SQL インタフェース データ フェデレーション トリガーと ファンクション ストリーミング ベクトル 検索 時系列分析 ACID トランザクション データを活⽤したアプリケーションの開発 インフラ ドキュメントモデル API/インデックス 機能 あらゆるデータ活⽤アプリケーションを簡単に実現するDeveloper Data Platform ビジネスイノベーションを⽀える ドキュメントモデルと MongoDB Query API ビジネスイノベーションを⽀える ドキュメントモデルと MongoDB Query API
  7. RDBMSにおける アプリケーション・データ構造 Customer Opportunity Contact Opportunity Team Phone Phone オブジェクト

    テーブル Lead Name Name Open Activities ARR Address Contact Roles Summary Customer Detail Activity History Object Relational Mapping Layer Customer Opportunity Contact Lead
  8. Customer Customer Opportunity Opportunity Contact Contact Lead Lead Objects Database

    Customer Customer Opportunity Opportunity Contact Contact Lead Lead Objects Database データ構造はシンプルに保つことが アプリケーションにとって理想的 Store objects directly... MongoDBでは上記のデータ構造を基本としてアプリケーションを 構築する
  9. { "_id" : ObjectId("5ad88534e3632e1a35a58d00"), "name" : { "first" : "John",

    "last" : "Doe" }, "address" : [ { "location" : "work", "address" : { "street" : "16 Hatfields", "city" : "London", "postal_code" : "SE1 8DJ"}, "geo" : { "type" : "Point", "coord" : [ 51.5065752,-0.109081]}}, + {...} ], "dob" : ISODate("1977-04-01T05:00:00Z"), "retirement_fund" : NumberDecimal("1292815.75") } データモデルの ⽐較 INTUITIVE 表形式 (リレーショナル)の データモデル 関連するデータを、重複がない ように正規化して複数のテーブル に分離して保存 Document Data Model 関連するデータは単⼀のリッチなドキュメントに格納
  10. { "_id" : ObjectId("5ad88534e3632e1a35a58d00"), "name" : { "first" : "John",

    "last" : "Doe" }, "address" : [ { "location" : "work", "address" : { "street" : "16 Hatfields", "city" : "London", "postal_code" : "SE1 8DJ"}, "geo" : { "type" : "Point", "coord" : [ -0.109081, 51.5065752]}}, + {...} ], "dob" : ISODate("1977-04-01T05:00:00Z"), "retirement_fund" : NumberDecimal("1292815.75") } アプリケーションの進化に対応する柔軟な データモデル 新しいフィールドを動的に追加 { "_id" : ObjectId("5ad88534e3632e1a35a58d00"), "name" : { "first" : "John", "last" : "Doe" }, "address" : [ { "location" : "work", "address" : { "street" : "16 Hatfields", "city" : "London", "postal_code" : "SE1 8DJ"}, "geo" : { "type" : "Point", "coord" : [ -0.109081, 51.5065752]}}, + {...} ], "phone" : [ { "location" : "work", "number" : "+44-1234567890"}, + {...} ], "dob" : ISODate("1977-04-01T05:00:00Z"), "retirement_fund" : NumberDecimal("1292815.75") }
  11. { "_id" : ObjectId("5ad88534e3632e1a35a58d00"), "name" : { "first" : "John",

    "last" : "Doe" }, "address" : [ { "location" : "work", "address" : { "street" : "16 Hatfields", "city" : "London", "postal_code" : "SE1 8DJ"}, "geo" : { "type" : "Point", "coord" : [ -0.109081, 51.5065752]}}, + {...} ], "dob" : ISODate("1977-04-01T05:00:00Z"), "retirement_fund" : NumberDecimal("1292815.75") } INTUITIVE ドキュメントデータモデル 単⼀のリッチなドキュメントに関連データを格納 コード内のオブジェクトと直感的にマッピング可能 • 複雑なORMを排除 • 開発チームとDBAチームの相互依存関係を解消 あらゆる構造のデータを表現 • 半構造化データの対応: 各ドキュメントに異なるフィー ルドをもつことができる スキーマはいつでも変更可能 • スキーマバリデーション可能 処理を容易にするための多様なデータ型 • 20以上のバイナリ化されたJSONデータ型を提供 主要なプログラミング⾔語のドライバをサポート
  12. JSON documents Search Graph Data lake Time series Relational Key-value

    JSON Documents $joins Key-Value Graph Data Lake Events Geospatial Search あらゆる⽤途のデータを1つのプラット フォームに集約することで、複雑さの排除
  13. MongoDB では、同様の処理が1⾏のコードで 完結 CODE SNIPPETS: SQL example and MongoDB example

    def addUser(database, user): return database.customers.insert_one(user).inserted_id
  14. RDBMSの経験を超えて拡張され、ドキュメントに最適化された あらゆる要件を実現する多様なセカンダリインデックス インデックスタイプ Primary index 全てのコレクションが持つ、ドキュメントIDに対するインデックス Compound index ドキュメントの複数のキーに対するインデックス Multikey

    index 配列に対するインデックス Wildcard index マッチするすべてのフィールド、サブドキュメント、配列すべてに対 して⾃動で インデックスを⾏う機能 Text indexes テキスト検索をサポートするインデックス Geospatial indexes 空間形状のための2次元および2次元球体インデックス Hashed indexes シャーディング(データの分散配置)に利⽤可能なハッシュインデッ クス インデックスの設定 TTL indexes ⼀定時間が経過することで⾃動的にドキュメントを削除するためのイ ンデックス Unique indexes データ重複を防ぐために利⽤するインデックス Partial indexes 指定された条件を満たすドキュメントにのみインデックスを作成する Case insensitive indexes 英語の⼤⽂字と⼩⽂字の違いを無視して検索するためのインデックス Sparse indexes 対象となるフィールドを持つドキュメントにのみインデックスを作成 する その他 Atlas SearchのLuceneベースの検索インデックス ベクトル検索インデックス
  15. MongoDBにおけるトランザクションの基本 { _id: 12345678 name: {first: "山田", last: "太郎"} address:

    ["福岡県...", "東京都..."] phone: [xxx-xxx,xxx, yyy-yyy-yyy], email: "[email protected]", birthday: 1966-07-30 01:00:00:000, Interests: ["サイクリング", "IoT"] } • ドキュメントデータモデルを採⽤することで、単⼀ドキュメント内のACIDトランザクションは 保証される • 多くのアプリケーションでは、データを正規化せずに⼀つのドキュメントに保存するアプローチ により、トランザクション要件を満たすことができる
  16. マルチドキュメント ACID トランザクション with client.start_session() as s: s.start_transaction() collection_one.insert_one(doc_one, session=s)

    collection_two.insert_one(doc_two, session=s) s.commit_transaction() • 複数のドキュメント・コレクション・ データベースをまたいで利⽤可能 • SQLの構⽂と似ており、簡単に実装 可能 • ⼤規模なシャード環境でも利⽤可能
  17. MongoDB Atlas とは OLTP 全⽂検索 エッジデバイスとの 同期 チャート データレイク/ 分析

    データドリブン意思決定 分散アーキテクチャ マルチクラウド ⼀貫したAPI データ同期の ⾃動化 データ保護・ セキュリティ データ利⽤を最も⾃然な形で実現する クエリ⾔語・データパイプライン 柔軟なデータモデルと 多様なデータ型 グラフデータ ベース 検索 地理空間データ探索 キーバリュー リレーショナル ドキュメント スパース SQL インタフェース データ フェデレーション トリガーと ファンクション ストリーミング ベクトル 検索 時系列分析 ACID トランザクション データを活⽤したアプリケーションの開発 インフラ ドキュメントモデル API/インデックス 機能 あらゆるデータ活⽤アプリケーションを簡単に実現するDeveloper Data Platform
  18. MongoDB Atlas とは OLTP 全⽂検索 エッジデバイスとの 同期 チャート データレイク/ 分析

    データドリブン意思決定 分散アーキテクチャ マルチクラウド ⼀貫したAPI データ同期の ⾃動化 データ保護・ セキュリティ データ利⽤を最も⾃然な形で実現する クエリ⾔語・データパイプライン 柔軟なデータモデルと 多様なデータ型 グラフデータ ベース 検索 地理空間データ探索 キーバリュー リレーショナル ドキュメント スパース SQL インタフェース データ フェデレーション トリガーと ファンクション ストリーミング ベクトル 検索 時系列分析 ACID トランザクション データを活⽤したアプリケーションの開発 インフラ ドキュメントモデル API/インデックス 機能 あらゆるデータ活⽤アプリケーションを簡単に実現するDeveloper Data Platform あらゆる環境で利⽤可能な デプロイ⽅式と分散システム マルチクラウドグローバルデータベース あらゆる環境で利⽤可能な デプロイ⽅式と分散システム マルチクラウドグローバルデータベース
  19. 同⼀の API DBバージョン間で同⼀の API FUTURE-PROOF YOUR APPS 2021 2022 2023

    Rapid releases Rapid releases 5.1 5.2 5.3 6.1 6.2 6.3 MongoDBのバージョンをアップグレードしても、アプリケーションの修正は不要 MongoDB 5.0 メジャーリリース MongoDB 6.0 メジャーリリース MongoDB 7.0 メジャーリリース
  20. レプリカセットによる ⾼可⽤性とパフォーマンス • 複数台のレプリカセットを保持することで、可⽤性・耐障害性を保証 ◦ Atlas は 99.995% の耐障害性を保証可能 ▪

    BigQuery: 99.99%, Aurora: 99.99%以下, CloudSQL: 99.99%以下, TiDB: 99.99%以下 • Atlas のフェイルオーバーは通常5秒以内(セルフホストは環境による) ◦ Aurora: 通常2分以内, CloudSQL: 通常1分程度 • Writeはプライマリ、readはセカンダリを設定することで負荷分散可能 ◦ 特定のワークロード専⽤のread-onlyレプリカも作成可能 セカンダリ (ワークロード分離) アプリケーション1 write Failover 5秒以内 プライマリ セカンダリ セカンダリ read e.g. OLAPクエリ専⽤ アプリケーション2
  21. 東京リージョン バージニアリージョン シャーディングによるスケーラビリティ プライマリ セカンダリ セカンダリ プライマリ セカンダリ セカンダリ プライマリ

    セカンダリ セカンダリ プライマリ セカンダリ セカンダリ shard1 shard2 shard3 shard4 • ハッシュ値、レンジ、ゾーンごとのデータ分散配置により、ペタバイト以上のデータを 保存・クエリ可能 • 個⼈情報保護やデータローカリティのためのデータ配置をドキュメントレベルで指定可能 • ダウンタイム無しでスケール・リバランス可能 • ⼀部のシャードでの障害時に部分的なサービス継続が可能 ワークロード分離 ワークロード分離 ワークロード分離 ワークロード分離 例 1 例 2 レンジシャーディング ゾーンシャーディング FY22 FY21 JAPAN U.S. {50→60} {40→50} {10→20} {20→30} {30→40} {min→10} {60→70} {80→max} FY23 FY24 ハッシュ値によるシャーディング
  22. GCP AWS 東京リージョン バージニアリージョン マルチクラウド・マルチリージョンで広がるデータ活⽤ プライマリ セカンダリ セカンダリ プライマリ セカンダリ

    セカンダリ プライマリ セカンダリ セカンダリ プライマリ セカンダリ セカンダリ • Atlas は AWS/GCP/Azure上でマルチクラウド・マルチリージョンクラスタを作成可能な唯⼀の DBaaS • AWS側のアプリでデータを書き込み、GCP上でデータ活⽤といったアーキテクチャをデータ同期 の作り込み無しで可能 ワークロード分離 ワークロード分離 ワークロード分離 ワークロード分離 Dataflow Pub/Sub BigQuery AutoML Vertex AI Lambda EKS EC2
  23. MongoDB を利⽤した場合のグローバルでの タイムラグ 69 ms 5 ms 69 ms 30

    ms 69 ms 5 ms 69 ms 40 ms 69 ms 40 ms 69 ms 40 ms 69 ms 60 ms 69 ms 5 ms REPLICATION
  24. MongoDB Atlas とは OLTP 全⽂検索 エッジデバイスとの 同期 チャート データレイク/ 分析

    データドリブン意思決定 分散アーキテクチャ マルチクラウド ⼀貫したAPI データ同期の ⾃動化 データ保護・ セキュリティ データ利⽤を最も⾃然な形で実現する クエリ⾔語・データパイプライン 柔軟なデータモデルと 多様なデータ型 グラフデータ ベース 検索 地理空間データ探索 キーバリュー リレーショナル ドキュメント スパース SQL インタ フェース データ フェデレーション トリガーと ファンクション ストリーミング ベクトル 検索 時系列分析 ACID トランザクション データを活⽤したアプリケーションの開発 インフラ ドキュメントモデル API/インデックス 機能 あらゆるデータ活⽤アプリケーションを簡単に実現するDeveloper Data Platform
  25. MongoDB Atlas とは OLTP 全⽂検索 エッジデバイスとの 同期 チャート データレイク/ 分析

    データドリブン意思決定 分散アーキテクチャ マルチクラウド ⼀貫したAPI データ同期の ⾃動化 データ保護・ セキュリティ データ利⽤を最も⾃然な形で実現する クエリ⾔語・データパイプライン 柔軟なデータモデルと 多様なデータ型 グラフデータ ベース 検索 地理空間データ探索 キーバリュー リレーショナル ドキュメント スパース SQL インタフェース データ フェデレーション トリガーと ファンクション ストリーミング ベクトル 検索 時系列分析 ACID トランザクション データを活⽤したアプリケーションの開発 インフラ ドキュメントモデル API/インデックス 機能 あらゆるデータ活⽤アプリケーションを簡単に実現するDeveloper Data Platform データ活⽤アプリケーション開発を⽀援する 豊富な機能 データ活⽤アプリケーション開発を⽀援する 豊富な機能
  26. MongoDBクラスタ Atlas Search/Vector Search 全⽂検索・ベクトル検索・DBクエリを集約し、検索機能を30-50%⾼速化 単⼀のデータソース DBインデックス Lucene 全⽂検索インデックス ベクトル検索

    インデックス アプリケーション 同⼀のクエリAPIとドライバ ⼝座残⾼確認 購⼊履歴の確認 ウィッシュリストの表⽰ あいまい検索 オートコンプリート ファセット検索 シノニム スコアリング/重み付け ベクトル検索 … OLTP キーバリュー 集計 ドキュメント 地理空間 … ✓ データ同期不要 ✓ 統⼀APIで⼀つのクエリ内でデ ータベース操作と検索オペレー ションを実⾏ ✓ 低レイテンシ・⾼スループット ✓ フルマネージド ✓ 検索ノードの導⼊により DBクエリと検索クエリで リソース分離
  27. ベクトル検索・全⽂検索・DBクエリのハイブリッドクエリ db.embedded_movies.aggregate([ {"$vectorSearch": { "index": "rrf-vector-search", "path": "plot_embedding", "queryVector": [-0.0105516575,-0.014830452,...],

    "numCandidates": 100, "limit": 20}}, {"$project": { "vs_score": 1,"_id": "$docs._id","title": "$docs.title"} {"$unionWith": { "coll": "movies","pipeline": [ {"$search": { "index": "rrf-full-text-search", "phrase": {"query": "new york","path": "title"}}},{ "$project": { "fts_score": 1, "_id": "$docs._id", "title": "$docs.title"}]}}, {"$group": { "_id": "$title", "vs_score": {"$max": "$vs_score"}, "fts_score": {"$max": "$fts_score"}}}, {"$project": { "_id": 1,"title": 1, "vs_score": {"$ifNull": ["$vs_score", 0]}, "fts_score": {"$ifNull": ["$fts_score", 0]}}}, {"$sort": {"score": -1}}, {"$limit": 10} ]) ベクトル検索 全⽂検索 DBクエリ
  28. 【再掲】MongoDB Atlas とは OLTP 全⽂検索 エッジデバイスとの 同期 チャート データレイク/ 分析

    データドリブン意思決定 分散アーキテクチャ マルチクラウド ⼀貫したAPI データ同期の ⾃動化 データ保護・ セキュリティ データ利⽤を最も⾃然な形で実現する クエリ⾔語・データパイプライン 柔軟なデータモデルと 多様なデータ型 グラフデータ ベース 検索 地理空間データ探索 キーバリュー リレーショナル ドキュメント スパース SQL インタフェース データ フェデレーション トリガーと ファンクション ストリーミング ベクトル 検索 時系列分析 ACID トランザクション データを活⽤したアプリケーションの開発 インフラ ドキュメントモデル API/インデックス 機能 あらゆるデータ活⽤アプリケーションを簡単に実現するDeveloper Data Platform