OSSデータベース取り取り時報

第74回 Project Tsurugi(劔)開発状況,MySQL HeatWaveによるオブジェクトストレージの利用,PostgreSQL 14はリリースされた?

この記事を読むのに必要な時間:およそ 3.5 分

この連載はOSSコンソーシアム データベース部会のメンバーがオープンソースデータベースの毎月の出来事をお伝えしています。

国産の新DBエンジン開発プロジェクト Project Tsurugi(劔)

Project Tsurugi(劔)とは

Project Tsurugi(劔)は,国産の新DBエンジンを開発するプロジェクトです。外部インタフェースはPostgreSQL互換になるようですが,これは羊の皮ならぬ象の皮を被っているだけで,中身はまったく新規の強力なDBエンジンをめざして開発が進んでいます。⁠次世代のRDB』として,従来のRDBを包含した上で,より広い/ハイパフォーマンスな⁠RDBの概念を押し広げるミドルウェア⁠⁠」になりつつあります。OSSコンソーシアムでは分散コンピューティング部会が関わっています。また,データベース部会による2019年の第3回データベース比較セミナーにお招きした際には「Tsurugi(劔⁠⁠」という名称が初めて発表されました。このプロジェクトの概要は,OSSコンソーシアム分散コンピューティング部会のWebページから参照いただけます。

Project Tsurugi(劔)経過報告会が10月11日開催

このProject Tsurugiは現在も開発が継続中で,来年2022年にα版公開が予定されていますが,その経過報告が10月11日にオンラインで開催されます。プロジェクトは新DBエンジンの開発を行っているのはもちろんですが,従来のDBエンジンでは実現できなかったアプリケーションの実現にも挑戦しています。前半の民間2社と4大学による発表では,これまでの限界を超えるDBエンジンを実現する技術の一端が垣間見えるでしょう。また,後半には,このDBエンジンによって可能になるアプリケーション分野がいくつか紹介されます。災害対策時に大量のデータを迅速に処理する試みや,国立天文台による膨大な観測データの処理などが発表されるものと予想されます。

オンラインで密は避けつつ,しかし内容は超高密度な報告会になるだろうと思いますが,国内で行われている大きな挑戦の熱気を感じられる貴重な機会となるでしょう。

[MySQL]2021年9月の主な出来事

2021年9月のMySQLの製品リリースはありませんでした。SQL処理の高速化エンジンであるMySQL HeatWaveの8.0.26-u2がリリースされ,メモリ内のブロックサイズが512KBから4MBに拡張されたほか,全体としての性能向上が行われています。またCAST(FLOAT as DECIMAL)とCAST(DOUBLE as DECIMAL)のサポートなどが追加されています。

MySQL HeatWaveによるオブジェクトストレージの利用

2021年8月にリリースされたバージョンのMySQL HeatWaveでは,第73回でご紹介した機械学習を活用した自動化機能Autopilotに加えて,オブジェクトストレージとの連携機能が追加されています。

MySQL HeatWaveは,MySQLサーバー上のテーブルデータを,パーティションに分けて複数台のHeatWaveノードのメインメモリに分散配置します。それぞれのHeatWaveノードのデータを,暗号化してオブジェクトストレージに格納する機能が利用可能となっています。

図1 MySQL HeatWaveとオブジェクトストレージの連携

図1 MySQL HeatWaveとオブジェクトストレージの連携

HeatWaveノードに障害が発生した場合,復旧したノードに自動的にデータをロードするAuto Error Recoveryという仕組みが用意されています。従来はMySQLサーバーからデータをロードしていました。新たに実装されたオブジェクトストレージとの連携により,復旧時にオブジェクトストレージ上のデータをロードできるようになりました。メモリ上のデータ構造そのままをロードでき,ロード時間の短縮が図れます。パーティションそれぞれを独立して並列でオブジェクトストレージからロードすることも可能なため,データサイズが大きくなってもロード時間が大きくならない仕組みです。

図2 オブジェクトストレージを利用したリカバリ

図2 オブジェクトストレージを利用したリカバリ

現時点では障害からの復旧時にのみオブジェクトストレージを利用していますが,短期的なロードマップとしてはHeatWaveノードの再起動時やパッチ適用時,単にデータのリロードを行う際などにも利用する方向となっています。

データ変更の展開タイミングを自動調整 ―Auto Change Propagation

MySQLサーバー上で変更されたデータは自動的にHeatWaveノードに反映されます。反映されるタイミングはいかのいずれかの条件に合致した場合です。

  • 200ミリ秒ごと
  • データ変更サイズが64MB超
  • 変更されたテーブルへのSELECT文実行

最後の条件によりアプリケーションの観点ではRead Committedの断面のデータに対してSELECT文がHeatWaveノード上で実行されるようになっています。

一方でHeatWaveノードからオブジェクトストレージへの変更内容の反映タイミングは,Autopilotの一機能であるAuto Change Propagationという仕組みによって自動調整されます。ここでも機械学習が活用されており,以下の要素をもったモデルをベースにタイミングの調整が行われます。

  • データの変更頻度
  • 変更されるデータサイズ
  • DMLのタイプ
  • オブジェクトストレージとの帯域

MySQL HeatWaveはAutopilotによる自動化の仕組みをさまざまな機能で利用し,運用の自動化や効率化の改良を続けています。

著者プロフィール

梶山隆輔

MySQL Sales Consulting Senior Manager。

日本オラクル(株)において,MySQLのお客様環境への導入支援や製品の技術解説を担当するセールスコンサルタントチームのアジア太平洋地域リーダー。多国籍なMySQL部門にて,オーストラリア,インド,台湾などに在籍するチームメンバーを束ね,アジア太平洋地域の25以上の国や地域でのMySQL普及やビジネスの拡大をミッションとする。


溝口則行(みぞぐちのりゆき)

TIS株式会社

OSSコンソーシアム副会長兼データベース部会リーダ。他に,PostgreSQLエンタープライズ・コンソーシアム(PGECons),日本OSS推進フォーラム(JOPF)にも参画。また,OSS推進活動の他に,日本のIT業界がDX(デジタルトランスフォーメーション)の波の藻屑とならないように,DX推進と変革に微力ながら勤しむ。