投稿者:ビッグデータ編集者

皆様こんにちは、今回はタイトルの通り、Oracle Autonomous Data Warehouseについてのブログになります。

Oracle Autonomous Data Warehouseとは、Oracle Cloudで提供される文字通り自律型の分析用データベースです。
Oracle Cloud Free Tierで実際に触りながら、自律型とは何なのか、実際の性能はどうなのか、簡単に考察していきます。

■特徴
この"自律型"が意味するのは次の3つに分類されます。

・Self-Driving(自動稼働)
 プロビジョニング、スケーリング、監視、バックアップ、復旧、トラブルシューティング、チューニング 等
・Self-Securing(自動保護)
 暗号化、セキュリティパッチの適用 等
・Self-Repairing(自動復旧)
 三重ミラーリング、アップタイム99.995%保証 等

主観になりますが、この中で特筆すべきは自動稼働に分類される自律チューニングです。
Exadataのテクノロジーを用いており、かつ、機械学習によりインデックス作成、パーティショニング、並列化を自動的に行い、パフォーマンスを最適化してくれるようです。
これは期待できます。

Oracle Autonomous Data Warehouseのアーキテクチャは、Oracle公式サイトの下記リンクをご参考ください。
https://docs.oracle.com/cd/E83857_01/paas/autonomous-data-warehouse-cloud/user/autonomous-intro-adw.html#GUID-4B91499D-7C2B-46D9-8E4D-A6ABF2093414


■検証の前提
・環境
Oracle Cloud Free Tierでは、プロビジョニングの際に次のリソースが固定されます。
・バージョン 18c
・CPU 1コア
・メモリ 8GB
・ストレージ 0.02TB

45.png

データベース名、ユーザ名、パスワード、ネットワーク等を入力、選択後に"Autonomous Databaseの作成"をクリックすれば、数十秒でプロビジョニングが完了します。
Oracle Cloudで提供されるSQL Developer Webを用いれば、Webブラウザにてすぐにデータベースにアクセスすることができます。

72.png

■機能一覧
データベースの基本機能について実行可否を表にまとめました。
※ここからは、下記リンクのSnowflakeのTechBlogと比較の意図もございますので、併せてご覧いただけますと幸いです。
https://www.niandc.co.jp/sol/tech/date20201001_1899.php

100.png

表にした意味がないくらい、当然のように全て機能しました。
Oracle Cloud Free Tierでは実際にサポート窓口に問い合わることは出来ませんでしたが、日本語サポートは助かります。
また、下記リンクに公式マニュアルが豊富にございますため、検証時に役立ちました。
https://docs.oracle.com/cd/E83857_01/paas/autonomous-data-warehouse-cloud/user/part-using.html#GUID-F9B1D121-5D89-40B4-90C6-8E8E233C2B3F

■機能検証
1. データロード
SQL Developer Webから2種類の方法でデータロードしてみました。

1.1. ローカルPCのcsvファイルをAutonomous Data Warehouseのテーブルにロード
はじめに、このようにナビゲータからテーブルを選択して"データのアップロード"をクリックします。

133.png

次に、このような画面が表示されるので、PCのファイルをドラック・アンド・ドロップします。

154.png

次に、このようにプレビューやデータマッピングが表示されるので、修正する必要がある場合は適宜修正して次へ進みます。

176.png

問題なければ終了をクリック。

200.png

これにてロード完了です。とっても簡単。

223.png

ちなみに、エクスポートもこのように簡単に行うことができました。ローカルに保存可能です。

244.png

1.2. Oracle Cloudのオブジェクト・ストレージにバケットを作成して、そのバケットにデータを保存してデータロード。

はじめに、オブジェクトストレージにバケットを作るため、Oracle Cloudのメニューから"オブジェクト・ストレージ"を選択します。

270.png

次に"バケットの作成"をクリックして必要事項を入力して作成すると、以下のように作成したバケットが表示されます。

290.png

バケットの名前をクリックすると、次のような画面が表示されるので、"アップロード"を選択してファイルをアップロードします。

304.png

次に、バケット内のファイルに事前承認リクエストを作成します。

319.png

次に、ユーザ設定から認証トークンを作成します。

334.png

次に、生成されたパスワードでオブジェクトストア認証情報を作成します。

345.png

ここまで来れば、このようにプロシージャを用いてロードすることが可能です。
データサイズが大きくても安心です。また、懸念していたSJISでもUTF-8でも正常にロードすることができました。

364.png

2. クライアントからの接続

ローカルPCからWebブラウザ以外を用いてOracle Autonomous Data Warehouseに接続するため、Oracle Clientを用いて接続してみます。
これを利用するためには、Oracle CloudのAutonomous Data Warehouseからクライアント資格証明(ウォレット)をダウンロードする必要があります。

390.png

PC側でOracle Clientにウォレットを適用することで、コマンドプロンプトからSQL*PLUSでデータベースに接続ができました。

411.png

■性能検証
Autonomous Data Warehouseでは"36.02秒"という結果になりました。

環境:"検証の前提"に記載
検証データ:
・会員情報(1千万件)
・会員のPOSデータ(2億件)
実施した処理:
「会員情報」と「会員のPOSデータ」から各会員の購入履歴を調査し、優良顧客を検索する。
※下記ルールにて会員に得点を追加していき、得点の高いユーザが優良顧客とする。
※テストデータによる検証のため実際の性能は保証しません。

437.png

■所感
Oracle Autonomous Data Warehouseを実際に体験し、調査した所感です。

・よいところ
Exadataをベースとしてデータウェアハウスに最適化されているため、データベースとしての機能が充実している。
AWSのサブスクリプション料金の5~8分の1のコストで、AWS Redshiftの8~14倍のスピードでデータ処理が行えるらしい。
(出典:https://www.oracle.com/assets/oracle-autonomous-dw-cloud-4407840-ja.pdf)
当然ながらオンプレミスのOracleデータベースとも互換性が非常に高い。
ダウンタイムなしで自律的にパッチが適用される。
設定したCPUの3倍までオートスケーリングできる。

■総評
他DWHと比較すると以下のような印象を持ちました。

460.png

自律によりカスタマイズが制限される部分もありますが、工数をかけず、それなりのパフォーマンスを得ることができるのが最大の魅力だと感じました。