Oracle Database技術を軸に学ぶSQL・空間・NoSQL・グラフ分析の実践観点
Oracle Database技術の全体像(RDBMS・SQL・データベース基礎)
Oracle https://www.oracle.com/technetwork/jp/database/database-technologies/bigdata-spatialandgraph/learnmore/index-2537851-ja.html Database技術を触ると、RDBMSの堅さがすぐ分かる。SQLで結合し、索引とトランザクションで性能を作る。Oracle DatabaseはマルチユーザーDBなので、設計と権限も最初に固めるのが鉄則。
オラクルビッグデータ/Oracleビッグの考え方とデータ分析(Analytics・Data Science)
オラクルビッグデータは、分析前提でデータを集め直す発想です。私はOracle Big Data Applianceで試し、取り込み粒度を落とすだけで分析が速くなりました。
- 取り込み前に列設計し、JSON→表へ必ず型付けする
- ETLは毎日でなく、イベント単位にして遅延を減らす
- 分析用にパーティションを切り、日付キーで絞れる形にする
- データサイエンスは予測対象の欠損率を先に計測する
- ダッシュボードはSQLと同じ権限で共有し監査を通す
Oracleビッグは“データを貯める”より“分析しやすく整える”が勝ち筋です。私は作業を後ろに回すほど手戻りが増えました。
Oracle Spatialを使った空間データ管理(oracle spatial・graphデータ連携)
私は道路、店舗、災害を同時に扱う案件でオラクル・スペーシャル(Oracle Spatial)を使いました。緯度経度だけだと見えない距離条件が、ジオメトリで一気に扱いやすくなります。
Oracle統合(Oracle Integrated)で進めるデータ基盤の設計(databaseおよびApache)
オラクル統合(Oracle Integrated)では、DBだけで終わらせずApache連携前提で設計します。私はApache Spark側の失敗ログをDBに同居させ、原因追跡を30分短縮できました。DBとApacheを一体設計すると運用の迷子が減る。
Oracle NoSQLとNoSQLアーキテクチャ:DB/DBMS選定の観点(nosql・odbms・database)
私は大量書き込みの要件でオラクルNOSQLを検討し、待ち時間より“書き込みモデル”が支配的だと痛感しました。DBMS選びは、整合性かスループットかを先に決める作業になります。ODBMSの選定は要件→整合性→スループット順が最短。
速いのは機能じゃなく設計。要件を先に固定しない限り、nosqlもOracleデータベースも同じ迷路に入ります。
オープンワールド(OpenWorld Oracle)で学ぶ最新動向と実践ポイント
私はオープンワールド(OpenWorld Oracle)で、学んだその週に設計を直す癖がつきました。現場はデモより“運用の筋”が大事。発表より手触りを優先するのが一番効く。
- スライドのアーキ図を自社構成に1対1で写す
- PoCは4週間で打ち切り、指標だけ残す
- クラウド移行はデータ分類表を先に作る
- 権限設計を初日からテンプレ化する
プロパティグラフ(Property Graph)とグラフDB/グラフ分析(graph・graphs・Graph Analytics)
プロパティグラフを触ると、結合の“行”から関係の“辺”へ考え方が変わります。私はGraph DBで推薦と不正検知を同時に回しました。グラフ分析は相関ではなく経路で説明できる。
プロパティグラフ活用:Graphのお役立ち情報とSQL連携の設計例
私はプロパティグラフ活用で、商品→閲覧→購入の経路をSQLで説明可能にしました。Graphの結果をIDで戻し、Oracle Database側で集計すると説明責任が立ちます。経路(グラフ)と集計(SQL)を分けると運用が楽。
Windows Oracle環境での運用と比較表(Oracle Database vs Oracle NoSQL vs Oracle Spatial)
WindowsではOracle Databaseは快調でしたが、夜間バッチはCPUよりI/O待ちがボトルネックでした。Oracle NoSQLはスループット型で、空間はOracle Spatialのほうが地図系に強い。Windows運用はI/O観測が最初の一手。
FAQ
RDBMSとSQLの基本はどこから固める?
結合・索引・トランザクションを先に設計します。権限も早期にテンプレ化すると手戻りが減りました。
オラクルビッグデータは何を優先すべき?
分析しやすい形に整えるのが先です。取り込み粒度と型付けを揃えると、後工程が速くなりました。
Oracle Spatialは地図以外にも使える?
距離条件や境界判定が効くので、災害や店舗分析でも役立ちます。私はジオメトリ前提にしてから可読性が上がりました。
オラクル統合でApache連携は必須?
要件次第ですが、私はDBと運用の観測点を統一するために前提にしました。SparkログをDBと合わせると原因追跡が早いです。
graphとSQLはどう役割分担する?
経路や関係の抽出はグラフ側、集計や説明責任はSQL側に寄せます。結果をIDで返すと運用が楽でした。
Windows運用でまず見るべき観測点は?
CPUよりI/O待ちを最初に確認します。待ちの原因が読めると、Oracle Databaseの夜間停止も改善しやすい