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

Autonomous JSON Database 技術概要

Autonomous JSON Database 技術概要

Autonomous Databaseのインスタンスタイプの一つである、
Oracle Autonomous JSON Database (AJD) に関するサービス概要です。

その他、参考資料)
■マニュアル
https://docs.oracle.com/en/cloud/paas/autonomous-json-database/index.html

■Autonomous Database技術詳細(全般)
https://speakerdeck.com/oracle4engineer/autonomous-database-cloud-ji-shu-xiang-xi

140494d272a4d89883a94fdfdb29dea2?s=128

oracle4engineer
PRO

August 19, 2020
Tweet

Transcript

  1. ⽇本オラクル株式会社 2021/04/12 技術概要 Autonomous JSON Database

  2. Safe harbor statement 以下の事項は、弊社の⼀般的な製品の⽅向性に関する概要を説明するものです。また、 情報提供を唯⼀の⽬的とするものであり、いかなる契約にも組み込むことはできません。以 下の事項は、マテリアルやコード、機能を提供することを確約するものではないため、購買 決定を⾏う際の判断材料になさらないで下さい。 オラクル製品に関して記載されている機能の開発、リリース、時期及び価格については、弊 社の裁量により決定され、変更される可能性があります。 Copyright

    © 2021, Oracle and/or its affiliates 2
  3. 3 Copyright © 2021, Oracle and/or its affiliates | はじめに

    最新情報や詳細情報は以下もご参照ください マニュアル • AJD : https://docs.oracle.com/en/cloud/paas/autonomous-json-database/index.html その他、 Autonomous Database に関する技術情報全般 • Autonomous Database 技術詳細(Speakder Deck) • 「Autonomous Database 技術詳細」で検索ください 本資料の内容については、クラウド事業戦略統括、データベースソリューション部にお問い合わせください AJDはAutonomous Database – Shared(ADB-S)と共通する部分が多いため、 Autonomous Database に関する技術情報全般を記載したこちらの資料も合わせてご確認ください
  4. 概要 Copyright © 2021, Oracle and/or its affiliates. 4

  5. 5 Copyright © 2021, Oracle and/or its affiliates | Autonomous

    JSON Database JSONストレージのためのマネージド・サービス JSONをベースとした開発のための新サービス • ネイティブJSONストレージ • シンプルなドキュメントAPI • 各種⾔語・ドライバに対応 • SQLは必ずしも不要 NoSQL ドキュメントストアと同様のベネフィットを提供 • 柔軟性が⾼く、迅速にスケール(Compute/Storage) • Read / Write時の低レイテンシ • ⾼可⽤性 • 低価格 低価格 ⾼可⽤性 低レイテンシ 柔軟性 $ 24 7
  6. 6 Copyright © 2021, Oracle and/or its affiliates | Autonomous

    JSON Database JSONストレージのためのマネージド・サービス さらに優れたポイント • Autonomous Database 上で稼働 • ⾼い性能、可⽤性、セキュリティ、柔軟性 • エンタープライズ・データベース • ACID トランザクションに対応 • SQLを完全サポート • APEX に対応 • One-click でATPインスタンスにアップグレード可能 SQL REST
  7. 7 Copyright © 2021, Oracle and/or its affiliates | Autonomous

    JSON Database NoSQL および SQL からのアクセスをサポート JSON Oracle Database / Exadataを使⽤した JSONドキュメントの保存と管理 JSONに対するSQLベースの レポート作成と分析操作 SQL Autonomous Database SODA APIを使⽤して 開発されたアプリケーション
  8. NoSQLを利⽤したシンプルな開発 Copyright © 2021, Oracle and/or its affiliates. 8

  9. 9 Copyright © 2021, Oracle and/or its affiliates | Autonomous

    JSON Database NoSQLを利⽤したシンプルな開発 SQL JSON Autonomous Database SODA APIを使⽤して 開発されたアプリケーション Oracle Database / Exadataを使⽤した JSONドキュメントの保存と管理 JSONに対するSQLベースの レポート作成と分析操作
  10. 10 Copyright © 2021, Oracle and/or its affiliates | SODA

    (Simple Oracle Document Access) SODA APIs • NoSQLスタイルのAPI • Java, JavaScript/Node.js, Python, REST, PL/SQL, C… • JSONデータの管理に利⽤ • create collections • store documents in collections • retrieve documents • query documents
  11. 11 Copyright © 2021, Oracle and/or its affiliates | SODA

    (Simple Oracle Document Access) 様々な⾔語に対応 Java OracleClient client = new OracleRDBMSClient(); db = client.getDatabase(jdbcConn); OracleCollection col = db.admin.createCollection("purchase_orders"); col.admin().drop(); Node.js conn = await oracledb.getConnection(…); db = conn.getSodaDatabase(); col = await db.createCollection("purchase_orders"); await col.drop(); PL/SQL (and Oracle Application Express) col := dbms_soda.create_collection('purchase_orders'); select dbms_soda.drop_collection('purchase_orders') from dual; Python conn =cx_Oracle.connect(…); db = conn.getSodaDatabase(); col = db.createCollection("purchase_orders"); col.drop();
  12. 12 Copyright © 2021, Oracle and/or its affiliates | SODA

    (Simple Oracle Document Access) 対応ツール SQLcl • Oracleデータベース⽤のコマンドラインインターフェイス • SQLおよびPL/SQLを実⾏・操作 • SODAコマンドの発⾏が可能 SQL Developer Web • Autonomous Databaseに同梱された 開発ツール • SQLおよびPL/SQLを実⾏・操作 • SODAコマンドの発⾏が可能 SQL Developer Web
  13. MongoClient mongoClient = new MongoClient(); DB database = mongoClient.getDB("procurement"); DBCollection

    coll = database.getCollection("purchase_orders"); BasicDBObject po = new BasicDBObject(JSON.parse(json1)); coll.insert(po); DBObject query = new BasicDBObject("Requestor", "Alexis Bull"); DBCursor cursor = coll.find(query); DBObject doc = cursor.one(); OracleDatabase db = new OracleRDBMSClient().getDatabase(jdbcConnection); OracleCollection coll = db.admin().createCollection("purchase_orders"); OracleDocument po = db.createDocumentFromString(json1)); coll.insert(po); OracleDocument qbe = db.createDocumentFromString("""{"Requestor":"Alexis Bull"}"""); OracleCursor cursor = coll.find().filter(qbe).getCursor(); OracleDocument doc = cursor.next(); MongoDB と Oracle SODA との⽐較 Copyright © 2021, Oracle and/or its affiliates | 13
  14. 14 Copyright © 2021, Oracle and/or its affiliates | MongoDB

    と Oracle SODA との制限⽐較 2020/08時点 Autonomous JSON Database MongoDB Atlas ドキュメント最⼤サイズ 32 MB 16 MB ドキュメントの最⼤ネスト深度 1024レベル 100レベル コレクション毎の索引数 制限なし 64 複合索引のフィールド数 制限なし 32 ドキュメント全体への索引 JSON SEARCH Index なし サーバー側での関数の実装 Functions, Procedures, Triggers お勧めしない*1 トランザクション管理 常にACIDが有効 ACIDは明⽰的なAPI呼び出しによるリクエスト時のみ トランザクションの持続期間 制限なし デフォルト60秒。超えた場合はクエリが破棄される トランザクションサイズ 制限なし 1000 documents 以下が推奨 集計データサイズ 制限なし 100 MBのRAM制限 (超える場合は、allowDiskUse パラメータを利⽤) 複数ドキュメントにわたるSQL 可能 なし Source : https://blogs.oracle.com/jsondb/autonomous-json-database *1 : https://docs.mongodb.com/manual/tutorial/store-javascript-function-on-server/
  15. 15 Copyright © 2021, Oracle and/or its affiliates | MongoDB

    と Oracle SODA との制限⽐較 Autonomous JSON Database MongoDB Atlas auto-scaling ✓ X SQLアクセス ✓ X コレクション間の分析 ✓ X セキュリティ ✓ X コスト $2.74 / hour $3.95 / hour 2020/08時点
  16. 16 Copyright © 2021, Oracle and/or its affiliates | Autonomous

    JSON Database MongoDB よりも低コストで利⽤可能 Autonomous JSON Database Pricing: • $0.3226 OCPU per hour ($240/month) • $0.1591 TB per hour ($118.40/month) Autonomous JSON DB MongoDB Atlas Configuration 8 OCPU 1 TB storage M60 on AWS 16 vCPU (= 8 OCPU) 320 GB storage Price (on-demand) $2.74 / hour $3.95 / hour PLUS: Autonomous JSON Database は auto-scalingに対応 2020/09時点
  17. SQLを利⽤した柔軟な開発 Copyright © 2021, Oracle and/or its affiliates. 17

  18. 18 Copyright © 2021, Oracle and/or its affiliates | Autonomous

    JSON Database SQLを利⽤した柔軟な開発 JSON Autonomous Database SQL SODA APIを使⽤して 開発されたアプリケーション Oracle Database / Exadataを使⽤した JSONドキュメントの保存と管理 JSONに対するSQLベースの レポート作成と分析操作
  19. 19 Copyright © 2021, Oracle and/or its affiliates | シンプルな構⽂

    SQL> select j.PO_DOCUMENT 2 from J_PURCHASEORDER j 3 where j.PO_DOCUMENT.PONumber = 1600; SQL> select * 2 from CUSTOMER NESTED jcol.orders.lineitems[*] 3 COLUMNS (lineid, quantity, prodid, upc, comments); SQL> select JSON_OBJECT(c.jcol.orders.lineitems FORMAT JSON) 2 from CUSTOMERS c; Field Access Collection unnesting JSON Generation
  20. 20 Copyright © 2021, Oracle and/or its affiliates JSONデータのための充実したSQL機能 空間分析(Spatial)

    • GeoJSON上で実⾏できる何百もの組み込み空間分析機能 機械学習(Machine Learning) • 30以上の内蔵MLアルゴリズムによるモデルの構築とスコア化 ⼿続き型⾔語 • JSON拡張機能、SODAをサポートを備えたPL/SQLを利⽤可能 プライベートデータベース • ドキュメントベースのきめ細かなセキュリティポリシー さらに Autonomous JSON Database はリレーショナルデータ⽤に20GBの領域を利⽤可能
  21. まとめ Copyright © 2021, Oracle and/or its affiliates. 21

  22. 22 Copyright © 2021, Oracle and/or its affiliates まとめ ドキュメントサービスに特化した3つ⽬のAutonomous

    Database JSONを中⼼とした開発のためのサービス • JSONを利⽤したNoSQL型アプリケーションの開発に特化 • JSONコレクションベースのデータモデル • 各種⾔語,ドライバにAPIを提供 開発を加速するための実績あるエンタープライズ・データベース機能 • ACID トランザクション • JSONデータに対するSQLによるレポーティング処理、分析処理が可能 Autonomous Database の特徴はそのまま • ⾼い可⽤性、セキュリティ、柔軟性 AJD
  23. 23 Copyright © 2021, Oracle and/or its affiliates | Autonomous

    JSON Database その他、特記事項 • Sharedでのみ利⽤可能(Dedicatedには現時点で未対応) • BYOLは選択不可(Liscence Includeのみ選択可能) • Always Free は選択不可 • アップグレードパス • Free ATPからのAJDへの変更が可能(Free ADWからは不可) • AJDからATPへの変更が可能(ATPからAJDへのダウングレードは不可、ADWへの変更は不可) • APEX, OML, SQL Developer Webに対応 • Auto Scaling、Autonomous Data Guard、クローンによる複製、Data Safeに対応 • その他機能制限については以下マニュアルを参照ください • https://docs.oracle.com/en/cloud/paas/autonomous-json-database/ajdug/experienced- database-users.html
  24. 24 Copyright © 2021, Oracle and/or its affiliates 良くある質問 ATPとAJDとの違いは何ですか︖

    ATPとAJDの技術的な違いは何ですか︖ ATPとAJDの技術的な違いは、AJDは20GBの⾮JSONデータの制限があることだけです。 他のすべての機能、機能、パフォーマンスは同じです。 AJDは、これまでコスト観点でOracle Databaseを検討できていなかったお客様・開発 者の⽅々に、⾮常にお得な価格でOracle Database をお使いいただけるサービスです。
  25. 25 Copyright © 2021, Oracle and/or its affiliates 良くある質問 ATPとAJDとの違いは何ですか︖

    MongoDBからのデータ移⾏はどうすれば良いですか︖ MongoDBのエクスポートユーティリティを利⽤し、JSON形式のファイルに出⼒、AJDに ロードします。
  26. None