オープンソースのDBとかNewSQLのこと、どう思う? Oracle ACEの渡部氏が気になるポイントとは:福岡から世界へ! サポートエンジニアの経験を通じて「Oracle ACE」になるまで
「クラウドネイティブ」という言葉がなじんだ今、市場に登場した新たなデータベースやデータベースを支えるプラットフォームにまつわる情報を紹介していきます。今回は、Oracle ACEとして活躍するコーソルの渡部亮太氏に、これまでのキャリアや、NewSQLなど、最近注目のデータベース技術について話を伺いました。
「クラウドネイティブ」という言葉がなじんだ今、市場に登場した新たなデータベースやデータベースを支えるプラットフォームにまつわる情報を紹介していきます。前回はPostgreSQLの発展に貢献し続けているEDBのインタビューをお届けしました。新しい形のリレーショナルデータベース(RDB)の利用について、さまざまな示唆が得られたのではないかと思います。
さて、今回は長年「Oracle ACE」として活躍するコーソルの渡部亮太氏にお話を伺いました。これまでのキャリアや働き方、最新のデータベース技術に関する思いなどをお届けします。今回は、コーソルの福岡オフィスに伺ってインタビューしました。
「DBエンジニア」への道のり、きっかけは、コミュニティーとのつながり
小林 まず、渡部さんが現在担当されている仕事内容を教えてください。
渡部 私は以下のような事業を展開する、コーソルという会社に所属しています。
- Oracle製品のサポート業務
- 「Oracle Exadata Database Machine」を中心とした基幹系データベースの運用支援業務
- クラウドを含めたデータベース導入、データベース移行などのプロフェッショナルサービスおよびコンサルティング業務
- データベースに関連するソフトウェア製品の販売
自身の業務としては、データベースに関連するソフトウェア販売に関わっており、製品検証や販売促進をしています。コーソルではサポート業務および運用支援業務で24時間365日対応が求められるため、東京/福岡/カナダの3拠点体制を取っています。私は福岡の拠点で働いています。
小林 渡部さんのこれまでのキャリアも聞かせてください。Oracle ACE Proとしてグローバルでも有数のデータベーススペシャリストとしてご活躍ですが、過去にはどのようなお仕事をされていましたか。
渡部 新卒で入社した会社では、アプリケーション開発をメインにやっていました。かなり昔の話になりますが、2000年以降に勉強会のブームがあり、さまざまな企業の方々が集まってオブジェクト指向や、マーチン・ファウラー氏の著書を学ぶ機会がありました。そうした場で周囲に触発されて「データベース技術を身に付けたい」という焦りのような気持ちがありましたね。
小林 当時からOracle Databaseに関心があったのでしょうか。
渡部 以前からシステムにおける重要性や体系だった美しさから、リレーショナルデータベースに強い関心を持っていました。実はその頃から「いつか技術書を書きたい」という野望がありまして(笑)。近い将来、発展しそうな技術で書籍化も可能そうなOracle Databaseに手を出しました。
小林 かなり前から技術書の執筆を意識されていたんですね。渡部さんはこれまで10冊の技術書を出版されていますが、そのモチベーションは何でしょうか。そもそもどのような流れで出版に至るのですか。
渡部氏の著作には『オラクルマスター教科書 Bronze DBA Oracle Database Fundamentals』や『Oracleの基本 〜データベース入門から設計/運用の初歩まで』など、Oracle関連の書籍が並ぶ
渡部 もともと知識をまとめる作業は得意で、試行錯誤した後に良い説明を思い付いた際の感覚が好きなんです。最初の書籍は、出版社が「Oracle Databaseに関する本を書けない?」とコーソルに持ち込んだことがきっかけでした。私が入社時から書きたいとアピールしていたこともあって、出版に携わることができました。書籍はコーソルの認知度を高めることにもつながっていますので、業務時間に執筆できているのも恵まれている点です。
小林 ORACLE MASTER試験に関しては、Platinumを除く全試験の対策書籍を執筆されています。対応範囲も広く非常に大変だと思いますが、難関資格に挑むエンジニアを大きく手助けしていますよね。
渡部 そう言っていただけると大変うれしいです。2019年にORACLE MASTER試験の体系が新しくなり、既存の試験関連の書籍を刷新する必要がありました。そのタイミングで出版社から声が掛かり、私を中心に執筆を進めてきました。本音としては、執筆が大変なのでしばらくは体系を維持してほしいですね(笑)。もちろん、こうした執筆の前提となるデータベースの知識はコーソル入社時から持っていたというわけではなく、サポートエンジニアとしての仕事を通じて培ったものです。
小林 コーソルのサポートエンジニアとして、Oracle Databaseを担当されていたということですか。
渡部 その通りです。サポートにはお客さまから本当に多様な問い合わせが持ち込まれますから、技術的にとても勉強になるんです。サポート向けにベンダーの内部研修に近いものを受講できる機会があったり、再現性を確認するために実機検証をしたり、若いエンジニアにもお勧めの仕事です。
小林 確かに各社のサポートエンジニアには技術力の高い人も多いですね。過去にクラッシュダンプを読んで適切な原因究明をしてくれるなど、私も驚かされた経験があります。当時の思い出として、こうした部分が勉強になった、すごいと思っていたなどの記憶はありますか。
渡部 「Oracle Database 10g」が出た頃、データベース関連のさまざまな技術が開発、登場していました。Oracle ClusterwareやASM(Automatic Storage Management)などが追加され、データベースがストレージなどに求める要件を理解しやすい環境でした。時代ごとに最新技術を取り込みながら、機能上の見た目や互換性を維持することをOracleは20年以上続けています。エンジニア目線で考えると、これはとてもすごいことだと思っています。
小林 渡部さんといえば、OracleのユーザーグループであるJPOUG(Japan Oracle User Group)でも精力的に活動されていますが、こちらも長年続けていらっしゃいますよね。
渡部 はい、JPOUGはコーソルに入社した頃、優秀で熱意のある他社のエンジニア数人に声を掛けて開始しました。気楽で自由な雰囲気でこれまでやってきまして、過去にはOracleのAWR(Automatic Workload Repository)というレポートを見ながらワイワイ盛り上がるようなこともやっていました。db tech showcaseなどの大きなデータベースをテーマにしたイベントでもJPOUG名義でセッションを持たせてもらっています。コロナ禍でオフライン開催は難しくなっていたのですが、2023年9月に小規模ですが久々に集まることもでき、また盛り上げて行きたいなと考えているところです。
小林 実は私が初めて社外で登壇をしたのは、JPOUGのイベントでした。技術的に深い話はできなかったのですが、いろいろと盛り上げていただいた記憶があります。
渡部 そうなんですね、とても落ち着かれていたので初めてだとは思いませんでしたが(笑)。こちらこそ、ありがとうございました。
Oracle ACEから見た、オープンソースのデータベースの評価
小林 さて、もう少しデータベース技術の話もしましょうか、昔話だけで楽しくて時間が過ぎてしまいますので(笑)。渡部さんに伺いたいと思っていたのは、Oracle Databaseのエキスパートとして、私が連載を通じて語ることの多いオープンソースのデータベースはどのように見えているのでしょうか。
渡部 私自身は「PostgreSQL」も昔から知っていますし、日本でもさまざまな方々が開発してきた優れたデータベースだと思っています。「MySQL」も過去バージョンのサポートやセミナーの講師として講演をしたことがあります。ただ、ビジネスとして継続的に収益を得るという観点でいくと、Oracle Databaseのビジネスモデルが優れており、個人や会社の業務としてOracleを優先する傾向にはありますね。
小林 確かに、Oracle Databaseを利用しているプロジェクトの支援などはビジネス的に継続性が高いようにも感じます。一方で、PostgreSQLはビジネス的な課題を解決したり、事業を拡大するためにオープンソースへの積極的な貢献が必要になったりする場面もあります。国内でビジネスとして続けられている企業は少ないかもしれません。渡部さんはNewSQLといわれるような、新しいデータベースをどのように捉えられていますか。
渡部 そうですね、OSS(オープンソースソフトウェア)として成功したPostgreSQLやMySQLとの互換性を重視している点がビジネスとしてうまいと感じます。オープンソースのデータベースを使用して、ユーザーが感じる課題を解決しながら、シームレスに移行できるようにと各ベンダーが取り組んでいますよね。これは小林さんの連載で知ったことですが、NewSQLとして出てきた幾つかのデータベースを比較すると、少しずつ機能に違いがある点がデータベースエンジニアとして興味をそそられます。
小林 私見ですが、どの企業も最終的にはOracleが提唱する「コンバージドデータベース」を体現しようとしているように見えます。つまり、トランザクション向けや分析向け、ドキュメント型など、ビジネスの要件として必要になる全ての要素をうまく扱う、いわばフル機能のデータベースを実現し、それをスケールアウト構成で支えようという考え方です。
渡部 OracleにもShardingやGlobal Database Servicesという、グローバルでスケーラブルなデータベースを実現しようという機能があります。全体で見ると同じ方向に向かっているのかもしれません。私が個人的に小林さんに伺いたいと思っていたのは、NewSQLを提供している会社のベンチマーク結果を見ると、既存RDBと比較して極端に良かったり、悪かったりするケースが見受けられる点です。どの製品を信用してよいか分からないのが気になるのですが、どう見ていますか。
小林 これはエンジニアとしてダメな回答かもしれませんが、「ワークロードによる」と思います。NewSQLはご存じの通り分散データベースなので、読み取りのケースでは巨大なデータセットを多数のノードが平行に処理できればパフォーマンスが出ます。一方、書き込みのケースではハッシュ化されたパーティションキーを使って、ノードの偏りなくデータを挿入できればパフォーマンスが向上します。各ベンダーはそうしたユースケースを作って、シングルインスタンスのデータベースと比較していると考えてよいでしょう。
渡部 なるほど。とあるベンダーの事例では、セカンダリーインデックスをテーブルに作成した際、RDBと比較してパフォーマンスが著しく悪くなるケースがありました。これもNewSQLの仕組みによる問題ですか。
小林 NewSQLで実現されているセカンダリーインデックスは、RDBにおけるマテリアライズドビューのように、テーブルとは独立にデータを保持するオブジェクトと考えるとよいかもしれません。つまり、多数のノードがある環境でテーブルと別ノードにインデックスが格納されていることもある、という意味合いになります。その際には、テーブル更新→インデックス更新の流れでノード間通信が大量に走ることになり、シングルノードのRDBと比べると性能上は不利になります。こうした問題を解決する方法も各ベンダーで用意していますが、データモデリングの段階で対応が必要になります。
渡部 そうした仕組み上の違いがあるんですね。私が学んだ範囲では、伝統的なRDBでは、データブロックやページなどのデータ構造とRedoログ/WALといった更新ログを組み合わせています。これはクラウド上でサービスとして提供されるデータベースでも同じ構成に見えます。一方、NewSQLではコンピュートとストレージが分離され、ストレージは分散型のキーバリューストア(KVS)になっていますね。NewSQLの世界では、ページの概念がもう必要ないということなのでしょうか。
小林 これは難しい質問ですね。RDBの格納形式としてのブロックやページの概念はファイルシステムやOSと強く結び付いています。そのため、以前から圧縮が難しいなど課題もありました。NewSQLではそれらを意識しなくてもよいように、コンピュートとの分離を前提としてKVSのインタフェースをストレージ側に持たせたと考えてよいかもしれません。従来のRDBをベースにコンピュートとストレージを分離した構成として、最近で言えば「Google Cloud」のAlloyDBなどもありますが、先ほど渡部さんが言われたWALをストレージのインタフェースとして使用しています。つまり、ストレージ側ではWALを受け取ってページを更新する、仕組み的にはmutableな書き込み(既存ページを上書きする)をしています。これに対し、NewSQLではLSM-Treeというデータ形式でimmutableな書き込み(既存構造を変更せずに追加書きする)を実現しています。これが書き込み性能の向上や圧縮率の向上につながっている部分があります。
渡部 Oracle Exadataなどに以前からHCC(Hybrid Columnar Compression)という圧縮の仕組みがあり、OSSのデータベースに対する優位性となっていましたが、そうした部分もカバーされているというわけですね。勉強になります。
Oracle Databaseはクラウドネイティブなデータベースなのか
小林 専門家の立場から見て、Oracle Databaseをクラウドネイティブという観点から評価するとどのようになるでしょうか。
渡部 クラウドネイティブという言葉が高いスケーラビリティやサーバレスなどの文脈を指すなら、Oracle Databaseもその対応を進めています。Autonomous Databaseというサービスでは、負荷に応じてCPU/IOが自動的にスケーリングされ、サーバの管理を意識する必要がありません。ストレージも利用量に応じて自動拡張されますし、Oracle Databaseの運用負荷をかなり下げてくれる印象です。
小林 Autonomous DatabaseはこれまでOCI(Oracle Cloud Infrastructure)上でのサービスでしたが、「Microsoft Azure」でも利用可能になるOracle Database@Azure(以前からODSAとしては利用可能)が発表されましたね。このサービスではオンプレミスからクラウドへの移行で課題になっていたOracle Real Application Clusters(RAC)の対応も可能です。これには驚きました。
渡部 私も驚きましたが、おそらく、ユーザーから「AzureでOracle Databaseのマネージドサービスを使いたい」というリクエストが多くあったのでしょうね。Autonomous Databaseはまだ少し利用上の制約があるものの、より自由に構成が可能なOracle Base Database Serviceを利用することもできます。Oracle技術者としての選択肢が広がります。
小林 これからもさまざまなクラウドを活用して活躍される渡部さんの姿が見れそうですね。今後もコミュニティーでの関わりなどを含めて、よろしくお願いします。
渡部 こちらこそ、よろしくお願いします。また、福岡でも東京でもお会いしましょう。ありがとうございました。
おわりに
今回はコーソルの福岡オフィスにお邪魔して、Oracle ACEとして活躍を続ける渡部さんにキャリアやデータベースに関する話をいろいろと伺いました。他のデータベースの知識も豊富ながら、Oracle Databaseにはひときわ愛情を感じる発言があり、これがコミュニティーで多くのエンジニアを引き付ける渡部さんの魅力でした。
今後も国内外で活躍されるデータベースエンジニアにインタビューをしていきます。次回もお楽しみに。
Copyright © ITmedia, Inc. All Rights Reserved.