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

Oracle Database 23ai Developer Tech Day : データとア...

Oracle Database 23ai Developer Tech Day : データとアプリケーション開発の未来

Avatar for oracle4engineer

oracle4engineer PRO

September 15, 2025
Tweet

More Decks by oracle4engineer

Other Decks in Storyboards

Transcript

  1. アプリで利用するデータ・テクノロジ数の増加 現在、データ管理ははるかに複雑 Copyright©2025、 Oracle and/or its affiliates 3 新規ワークロード・タイプ 地理的分散

    マイクロ サービス Block Chain IoT 新しいデータ型 新しいタイプの分析 Graph レイクハウス データ・ ウェアハウス AI ドキュメント Spatial リレーショナル 新しいタイプのデータ テキスト
  2. 開発者コミュニティでは複数の専用データベースを利用した アプリケーション構築を推奨 データニーズごとに最適化した専用データベースを構築 Copyright©2025、 Oracle and/or its affiliates 4 MongoDB

    ドキュメント Spatial 新しいタイプのデータ Elastic Search Neo4j Graph 新規ワークロード・タイプ 地理的分散 マイクロ サービス AWS QLDB BlockChain DynamoDB IoT 新しいデータ型 新しいタイプの分析 Databrics レイクハウス ウェアハウス 機械学習 PostgreSQL リレーショナル
  3. それぞれ異なる実装のセキュリティ、スケーリング、HA、ディザスタ・リカバリ、ロック、トランザクショ ン、可観測性、アップグレード、チューニングがあり、それぞれ固有のAPIを使用 専用データベースの急増によりIT部門に膨大な工数とコストが発生 Copyright©2025、 Oracle and/or its affiliates 5 MongoDB

    ドキュメント Spatial 新しいタイプのデータ Elastic Search Neo4j Graph 新規ワークロード・タイプ 地理的分散 マイクロ サービス AWS QLDB BlockChain DynamoDB IoT 新しいデータ型 新しいタイプの分析 Databricks レイクハウス ウェアハウス 機械学習 PostgreSQL リレーショナル データをデータベース間で継続的に複製および同期する必要があり
  4. オラクルのビジョン – コンバージド・データ・アーキテクチャ Copyright©2025、 Oracle and/or its affiliates 6 すべてのワークロードとデータ型に対応する

    完全でシンプルなプラットフォーム 開発者とIT部門は、データ統合ではなく イノベーションに注力 MicroServices ブロックチェーン IoT 分散DB Spatial リレーショナル グラフ ベクトル Exadata セキュリティ パラレルSQL 災害復旧 スケールアウト 観測性 データ・ウェアハウス OLTP AI ドキュメント JSON HA ZDLRA ODA
  5. オラクルのビジョン – コンバージド・データ・アーキテクチャ Copyright©2025、 Oracle and/or its affiliates 7 MicroServices

    ブロックチェーン IoT 分散DB 独自の技術ですべてのワークロードにおいて大 規模処理をサポート • それぞれにベスト・オブ・ブリード • 実際の混合ワークロードに最適 データ・ウェアハウス OLTP AI ドキュメント
  6. オラクルのビジョン – コンバージド・データ・アーキテクチャ Copyright©2025、 Oracle and/or its affiliates 8 MicroServices

    ブロックチェーン IoT 分散DB Spatial リレーショナル グラフ ベクトル データ・ウェアハウス OLTP AI ドキュメント JSON 独自の技術ですべてのデータ型において大規模 処理をサポート • それぞれにベスト・オブ・ブリード • 複数のデータタイプを混在させる必要がある実際 の混合アプリに最適
  7. オラクルのビジョン – コンバージド・データ・アーキテクチャ Copyright©2025、 Oracle and/or its affiliates 9 MicroServices

    ブロックチェーン IoT 分散DB Spatial リレーショナル グラフ ベクトル セキュリティ パラレルSQL 災害復旧 スケールアウト 観測性 データ・ウェアハウス OLTP AI ドキュメント JSON HA 独自の統合データ・エンジン • すべてのワークロードおよびデータ型にベスト・オブ・ブ リードのHA、DR、セキュリティなどを提供 • すべてのワークロードとデータ型にわたってアトミック・ トランザクション、ディザスタ・リカバリ、パラレル実行な どの機能性を提供
  8. オラクルのビジョン – コンバージド・データ・アーキテクチャ Copyright©2025、 Oracle and/or its affiliates 10 MicroServices

    ブロックチェーン IoT 地理的分散 空間 リレーショナ ル グラフ ベクトル Exadata セキュリティ パラレル SQL 災害復旧 スケールアウト 観測性 データ・ウェアハウス OLTP AI ドキュメント JSON HA ZDLRA ODA 独自のExadata Database Machine • すべてのデータベース・ワークロードで卓越したパフォ ーマンスと可用性を実現するために設計されたコン ピュート、ストレージ、ネットワーキング • 独自のRDMAおよびスマート・ストレージ・アルゴリズ ムにより、OLTP、分析、統合を大幅に機能強化
  9. Fortune Global 100企業の79%がExadataを利用| 58%がExadata Cloudを利用 数千ものグローバル顧客がExadataをビジネスで活用 • ペタバイトのウェアハウス • ミッションクリティカルOLTP

    • 金融取引 • Eコマース • 公益事業、電気通信、エネルギー • パッケージ・アプリケーション • SAP、Oracle、Siebel、PSFTなど • データベース統合 すべてのワークロードに対応する 優れたアーキテクチャ Copyright©2025、 Oracle and/or its affiliates 11
  10. 新しいExadata Exascaleソフトウェア クラウドとExadataのベスト Exadata Exascale Exadataの利点 データベース・インテリジェント・ストレージ 高速RDMA ディスク/フラッシュ/DRAMの自動階層化 クラウドのメリット

    マルチテナント 共有型リソース 小規模でエラスティックに開始 Oracle Cloud プライベート・クラウド + インスタント・クローンおよびスナップショット Copyright©2025、 Oracle and/or its affiliates 12
  11. Exadataがデータ管理のすべての側面を改善 分析 大量のデータに対す る複雑な問合せ 高速かつ低コスト OLTP ミッションクリティカルな すべてのデータベースで パフォーマンスを 容易に向上

    セキュリティ サイバーセキュリティの脅威 をリアルタイムに検出し、暗号 化されたデータベースを 高性能で動作 統合 低コストでリソース使用率 と分離を向上 最新アプリ すべてのデータ型および ワークロードへの コンバージド・データ管理 Copyright©2025、 Oracle and/or its affiliates 13
  12. グローバル分散 データベース 50を超えるSQLの 簡素化 True Cache ロックフリー 予約 SQLファイアウォール プロパティ

    グラフ JSON Relational Duality PDBごとの読取 り専用スタンバイ 優先度トランザクション 開発者ロール JavaScript ストアド・ プロシージャ リアルタイムSQL計画管理 ローリング・ パッチ適用 AI Vector Search マイクロサービスのサポート Oracle Database 23ai– 次世代の長期サポートリリース ロックフリー 長期トランザクション データ ユースケース・ ドメイン Copyright©2025、 Oracle and/or its affiliates 17
  13. JILLの受講スケジュール 数学専攻 時間 4:00 PM 部屋 B405 講師 Anita 時間

    2:00 PM 部屋 A102 講師 Adam 数学201 科学102 学生コース・スケジュールを作成するアプリケーションの構築例 Copyright©2025、 Oracle and/or its affiliates 27
  14. 開発者にとって、各学生のスケジュールを単一の JSONドキュメントとして保存するのは容易 { "student" : "S3245", "name" : "Jill", "major"

    : "Math", "schedule" : [ { "time" : "14:00", "course" : "Math 201", "room" : "A102", "teacher" : "Adam" }, { "time" : "16:00", "course" : "Science 102", "room" : "B405", "teacher" : "Anita" } ] } スケジュール:JILL JSON フォーマット JILLの受講スケジュール 数学専攻 時間 4:00 PM 部屋 B405 講師 Anita 時間 2:00 PM 部屋 A102 講師 Adam 数学201 科学102 Copyright©2025、 Oracle and/or its affiliates 28
  15. { "student" : "S3245", "name" : "Jill", "major" : "Math",

    "schedule" : [ { "time" : "14:00", "course" : "Math 201", "room" : "A102", "teacher" : "Adam" }, { "time" : "16:00", "course" : "Science 102", "room" : "B405", "teacher" : "Anita" } ] } スケジュール: JILL { "student" : "S4356", "name" : "Lucas", "major" : "Engineering", "schedule" : [ { "time" : "14:00", "course" : "Math 201", "room" : "A102", "teacher" : "Adam" }, { "time" : "18:00", "course" : "Physics", "room" : "A115", "teacher" : "Alex" } ] } スケジュール: LUCAS 重複 データをJSONドキュメントとして格納すると データの整合性が損なわれる コースを受講しているすべての生徒のドキュ メントにコースのスケジュールと講師情報のコ ピーが登録 • 更新に一貫性がない、遅い、エラーが発 生しやすい それぞれの行が最新のデータを格納するリレ ーショナル・データベースでは、こうした問題 は発生しない Copyright©2025、 Oracle and/or its affiliates 29
  16. 複数の表の行のセットをJSONドキュメントに変換する方 法をデータベースに設定 アプリケーションからは、JSONドキュメントであるかのように リレーショナル・データを読取りおよび書込み可能に • SQL、RESTまたはMongo DB互換APIを利用可能 新しい JSON Relational

    Dualityビュー { "student" : "S3245", "name" : "Jill", "major" : "Math", "schedule" : [ { "time" : "14:00", "course" : "Math 201", "room" : "A102", "teacher" : "Adam" }, { "time" : "16:00", "course" : "Science 102", "room" : "B405", "teacher" : "Anita" } ] } スケジュール:JILL Copyright©2025、 Oracle and/or its affiliates 30
  17. Dualityビューの構造は、目的のJSONの構造をミラーリング 簡単に定義可能 CREATE JSON DUALITY VIEW student_schedule AS student {{

    student : stuid name : sname major : major schedule : student_courses [ { course { time : time course : cname courseId : cid room : room teacher @unnest { teacher : tname } } } ] }; 使いやすい GraphQL構文 を利用可能 Copyright©2025、 Oracle and/or its affiliates 31
  18. ビューはJSONドキュメントに対応したデータを含む表を指定するだけ CREATE JSON DUALITY VIEW student_schedule AS student {{ student

    : stuid name : sname major : major schedule : student_courses [ { course { time : time course : cname courseId : cid room : room teacher @unnest { teacher : tname } } } ] }; CREATE JSON DUALITY VIEW student_schedule AS student {{ student : stuid name : sname major : major schedule : student_courses [ { course { time : time course : cname courseId : cid room : room teacher @unnest { teacher : tname } } } ] }; 講師 コース 学生 受講者 コース Copyright©2025、 Oracle and/or its affiliates 32
  19. そして値を保持する表の列を指定 CREATE JSON DUALITY VIEW student_schedule AS student {{ student

    : stuid name : sname major : major schedule : student_courses [ { course { time : time course : cname courseId : cid room : room teacher @unnest { teacher : tname } } } ] }; STUDENT STUID SNAME MAJOR YEAR S3245 Jill Math First … … … … … … … … … … … … Copyright©2025、 Oracle and/or its affiliates 33
  20. 新しいプロパティ・グラフ・ビューを使用すると、 開発者は表の行をグラフの頂点またはエッジとして扱うことが可能 D A C B Z E F H

    G グラフは、データ間の接続と関係を問い合せる 強力な手法 例:銀行口座'B'から銀行口座'E'への間接 的な資金移動を検出 Copyright©2025、 Oracle and/or its affiliates 35
  21. グラフ・ビューを使用すると、 銀行口座行をグラフの頂点として処理可能 D A C B Z E F H

    G $ BANK_ACCOUNTS ACCID CNAME BALANCE A Bill $2,000 B Bella $8,900 C Betty $3,700 MONEY TRANSFERS FROM_ACC TO_ACC BALANCE B C $400 C D $600 D E $1,000 Copyright©2025、 Oracle and/or its affiliates 36
  22. D A C B Z E F H G アカウント間の送金

    をグラフ・エッジとして処理できるようにします $ BANK_ACCOUNTS ACCID CNAME BALANCE A Bill $2,000 B Bella $8,900 C Betty $3,700 MONEY TRANSFERS FROM_ACC TO_ACC BALANCE B C $400 C D $600 D E $1,000 Copyright©2025、 Oracle and/or its affiliates 37
  23. SELECT graph.path FROM GRAPH_TABLE ( bank_graph MATCH (v1)-[e is BANK_TRANSFERS]->{1,3}

    (v2) WHERE v1.id = 'B' AND v2.id = 'E' COLUMNS LISTAGG(e.to_acc, ',') AS path) ) graph ; このクエリーは、最大2つの中間口座を使用して口座'B'から口座'E'へ の資金フローを検索します 従来のリレーショナルSQLを使用 して同じ問合せを記述するには、 12個のJoinと3個のUnionが 必要 グラフ・ビューへのクエリーはISO標準のグラフ拡張を使用したSQLで簡単に Copyright©2025、 Oracle and/or its affiliates 38
  24. RON WESTFALL, RESEARCH DIRECTOR, DIGITAL TRANSFORMATION, FUTURUM “Now any enterprise

    running Oracle Database can benefit from simple declarative graph navigation on all their existing business data” Copyright©2025、 Oracle and/or its affiliates 39
  25. 将来予測の30を超えるインデータベースMLアルゴリズムを提供 Decision Tree Explicit Semantic Analysis Logistic Regression (GLM) Naïve

    Bayes Neural Network Random Forest Support Vector Machine (SVM) XGBoost 分類 回帰 時系列 クラスタリング Hierarchical K-Means Hierarchical O-Cluster Expectation Maximization ランキングまたは重要度 XGBoost CUR Decomposition Generalized Linear Model (GLM) Neural Network Support Vector Machine (SVM) Stepwise Linear regression XGBoost 特徴抽出 Principal Comp Analysis (PCA) Non-negative Matrix Factorization Singular Value Decomposition (SVD) Explicit Semantic Analysis (ESA) 属性重要度 Minimum Description Length Random Forest Unsupervised Pairwise KL Divergence CUR decomposition for row & AI Exponential Smoothing Multiple Time Series (23ai) Includes popular models e.g. Holt-Winters with trends, seasonality, irregular time series 異常検出 One-Class SVM MSET-SPRT Expectation Maximization (23ai) 関連ルール A priori サバイバル分析 XGBoost Copyright©2025、 Oracle and/or its affiliates 44
  26. ベクトルに対する主な処理は、ベクトル間の数学的距離の演算 8 2 1 3 3 2 6 2 距離(ユークリッド正方形)

    = ((3-2)2+(1-6)2+(2-2)2+(8-3)2) 数学的な距離の数式は数多く存在 Copyright©2025、 Oracle and/or its affiliates 47
  27. ノートパソコンGen 32 サポート担当者: Jane Doe 電子メール: [email protected] • 重要度1 •

    自発的再起動 • 解決済 • OS アップデート42を適用済み サポート・インシデント ビジネス・シナリオの例: サポート・インシデントのベクトルは、 ベクトル 3 3 4 2 1 6 2 1 5 0 Copyright©2025、 Oracle and/or its affiliates 48
  28. ノートパソコンGen 32 サポート担当者: Jane Doe 電子メール: [email protected] • 重要度1 •

    自発的再起動 • 解決済 • OS アップデート42を適用済み サポート・インシデント ビジネス・シナリオの例: サポート・インシデントのベクトルは、 各ディメンション(数値)は、 サポート・インシデントの異 なる特徴を表現 ベクトル 機能 重要度 現在のOSバージョン 症状 製品 ステータス 3 3 4 2 1 6 2 1 5 0 Copyright©2025、 Oracle and/or its affiliates 49 ノート: 特徴はMLアルゴリズムによって選択されることが多く、ここに示すほど単純ではありません。
  29. AI Vector Searchによる非構造化データ(インシデント)の検索と構造化データ(製品) の値検索を組み合わせることが可能 ノートパソコンの上位10件の一致するインシデント の検索 SELECT … FROM Support_Incidents

    S, Products P WHERE S.prod_id = P.id AND P.type = 'Laptop' ORDER BY VECTOR_DISTANCE(incident_vector, :search_vector) FETCH FIRST 10 ROWS ONLY; Copyright©2025、 Oracle and/or its affiliates 54
  30. ラスベガスで顧客が報告したノートパソコンの一致 するインシデントの上位10件を検索 SELECT … FROM Support_Incidents S, Products P, Customers

    C WHERE S.prod_id = P.id AND S.cust_id = C.id AND P.type = 'Laptop' AND C.city = 'Las Vegas' ORDER BY VECTOR_DISTANCE(incident_vector, :search_vector) FETCH FIRST 10 ROWS ONLY; AI Vector Searchによる非構造化データ(インシデント)の検索と構造化データ(製品と 顧客)の値検索を組み合わせることが可能 Copyright©2025、 Oracle and/or its affiliates 55
  31. AI Vector Searchによる非構造化データ(インシデント)の検索と構造化データ(製品 と顧客)の値検索を組み合わせることが可能 ラスベガスで顧客が報告したノートパソコンの一致 するインシデントの上位10件を検索 インシデント、顧客データ、製品 データ、AI検索を数行のSQL で統合 単一の統合ソリューション、

    すべてのデータで完全な一貫性 開発者は、5分もあれば利用 方法を学習可能 SELECT … FROM Support_Incidents S, Products P, Customers C WHERE S.prod_id = P.id AND S.cust_id = C.id AND P.type = 'Laptop' AND C.city = 'Las Vegas' ORDER BY VECTOR_DISTANCE(incident_vector, :search_vector) FETCH FIRST 10 ROWS ONLY; Copyright©2025、 Oracle and/or its affiliates 56
  32. LLMに尋ねる LLMはデータを使用して、質問 に対する情報に基づいた回答 を提供 RAGは次のように動作 拡張プロンプト ユーザーの質問は このプライベート・データで拡張 GenAI 質問のベクトル化

    ユーザーの自然言語の 質問はベクトルとして エンコード 関連データの検索 AI Vector Searchは、ユーザー のベクトルに一致するプライベート ・データベース・データを検索 3 4 ユーザ ー 2 1 ドキュメント AIベクトル Copyright©2025、 Oracle and/or its affiliates 60
  33. 各データ値の意図された使用方法は、 通常アプリケーションによってのみ認識される • アプリケーションは、どの値がクレジット・ カード、電話番号、温度などを表すか を認識 • ただし、アプリケーションはこれらの値を VARCHAR、NUMBER、DATEなど の基本型として格納

    • データベースは意図した用途を知らな いため、これらの用途の実装を支援で きない 名前: Emma 電話: (650) 506-7000 決済: 4388-9756-4348 My Customers Copyright©2025、 Oracle and/or its affiliates 67
  34. 名前: Emma 電話: (650) 506-7000 決済: XXXX-XXXX-4348 My Customers アプリケーション・フレームワークが

    データ・インテントを問い合せることができ れば、より高度なアプリケーションを自動 生成可能 ボタンを押 すと自動的 に電話 クレジット・カー ド番号の 自動マスク Copyright©2025、 Oracle and/or its affiliates 68
  35. 使用目的を使用したデータ定義の拡張 • 値はNUMBER、VARCHARなどのまま追加の 使用情報を付与して拡張 データ値のユースケースを表すために、SQL DOMAINの概念を拡張 • 列にドメインを追加しても、データに対する操 作は変更または制限はされない より適切な方法は、データ型を追加するかわりに

    インテントを指定すること CUSTOMERS ID 名前 連絡先 ドメイン 電話番号 BAL 支払 ドメイン CREDIT_CARD -- …. … … … 404 EMMA +16,505,067,000 $500 4,388-9,756-4,348 … … … … Copyright©2025、 Oracle and/or its affiliates 70
  36. ユースケース・ドメインの作成 CREATE DOMAIN email AS VARCHAR2(255) CONSTRAINT email_c CHECK(REGEXP_LIKE (email,

    '^(¥S+)¥@(¥S+)¥.(¥S+)$')) DISPLAY '---' || SUBSTR(email, INSTR(email, '@')) ORDER SUBSTR(email, INSTR(email, '@')+1) ||SUBSTR(email, 1, INSTR(email, '@’)) ドメイン・データの記憶域形式の指定 Copyright©2025、 Oracle and/or its affiliates 71
  37. ユースケース・ドメインの作成 CREATE DOMAIN email AS VARCHAR2(255) CONSTRAINT email_c CHECK(REGEXP_LIKE (email,

    '^(¥S+)¥@(¥S+)¥.(¥S+)$')) ORDER SUBSTR(email, INSTR(email, '@')+1) ||SUBSTR(email, 1, INSTR(email, '@’)) オプションで、チェック制約を指定 Copyright©2025、 Oracle and/or its affiliates 72
  38. ユースケース・ドメインの作成 CREATE DOMAIN email AS VARCHAR2(255) CONSTRAINT email_c CHECK(REGEXP_LIKE (email,

    '^(¥S+)¥@(¥S+)¥.(¥S+)$')) DISPLAY '---' || SUBSTR(email, INSTR(email, '@')) オプションで、表示形式を指定 Copyright©2025、 Oracle and/or its affiliates 73
  39. ユースケース・ドメインの作成 CREATE DOMAIN email AS VARCHAR2(255) CONSTRAINT email_c CHECK(REGEXP_LIKE (email,

    '^(¥S+)¥@(¥S+)¥.(¥S+)$')) DISPLAY '---' || SUBSTR(email, INSTR(email, '@')) ORDER SUBSTR(email, INSTR(email, '@')+1) ||SUBSTR(email, 1, INSTR(email, '@’)) オプションで順序付け方式を指定 Copyright©2025、 Oracle and/or its affiliates 74
  40. ユースケース・ドメインは列定義に宣言 CREATE TABLE employees ( emp_id NUMBER PRIMARY KEY, name

    VARCHAR2(4000) NOT NULL, email_addr VARCHAR2(1000) DOMAIN email, ); 表の列にドメインを追加 列のデータ型を変更する場合とは異なり、ドメインを追加しても、アプリケーションのSQL またはコードを変更する必要はない Copyright©2025、 Oracle and/or its affiliates 75
  41. EMP N A M E S A L D E

    P T …. … … JOHN $500 MARKETING … … … … … … 例: • 列に機密データを保持するレコード • 列または表の表示名の記録 • 列で許可される操作のリストを記録します。 • ソート、グループ化、平均、最小、最大など 現在、この情報はアプリケーション固有または非標準リ ポジトリに分散しており、複数のアプリケーション間での 使用は困難 一般的にアプリケーションは列、表およびその他のスキーマ・ オブジェクトの個別の使用状況プロパティを記録 表示名: 「社員」 給与は指標であり、 機密情報 部門列で可能なUI操作: - GROUP、FILTER Copyright©2025、 Oracle and/or its affiliates 77
  42. Annotationを使用すると、アプリケーションは、自由形式のキーと値のペア の宣言を使用してスキーマ・オブジェクトに属性を追加可能に Annotationは、アプリケーション・メタデータ用の共通および標準レジストリを提供 CREATE TABLE emp ( name VARCHAR2(50), sal

    NUMBER ANNOTATIONS (Measure, Sensitive), dept VARCHAR2(20) ANNOTATIONS (Operations 'Group, Sort') ) ANNOTATIONS (Display_As 'EMPLOYEES'); 列に機密データを含む UIの表示名 列にメジャーが含まれる 列で許可される UI操作 Copyright©2025、 Oracle and/or its affiliates 78
  43. ONNXフレームワークを使用した DB内での埋込みモデルの実行 分散AI GoldenGate 23ai Exadataによる 大規模ミッションクリティカルAI AI開発者のための LangChainを含むツールインタフェース その他の多くのAI機能がOracle

    Database 23aiに搭載 SelectAIを使用した自然言語に よる質問のSQLへの変換 GP U OMLノートブックでのGPU のサポート Copyright©2025、 Oracle and/or its affiliates 80
  44. 全体像 – Oracle Databaseのテクノロジ・リーダーシップ ベスト・データベース Oracle Converged Database ベスト・データベース・プラットフォーム Oracle

    Exadata ベスト・クラウド・データベース Oracle Exadata Cloud Service Oracle Autonomous Database ベスト・クラウド Database@Customer Oracle Exadata Cloud@Customer Oracle Autonomous Database@Customer ベスト・ドキュメント・データベース Oracle DatabaseのJSON Duality ベスト・グラフ・データベース Oracle DatabaseのGraph ベスト・マルチクラウド・データベース Oracle Database@Azure, Google Cloud, AWS ベスト・AIデータベース Oracle Database AI Vector Search Copyright©2025、 Oracle and/or its affiliates 81