未踏にKamo
とても今更な話だが,未踏事業にLineairDBを採用したプロジェクト (opens in a new tab)である "Kamo" が採択され,支援していた. PdMの宮崎さんはスーパークリエータにも認定 (opens in a new tab)された.おめでとうございます.
プロジェクトの詳細は,さくらインターネット (opens in a new tab)の出した記事に詳しい.
このプロジェクトは,元を辿れば何年も前からサポートしていた話で,このように評価されることとなって本当にうれしい. 私にとっても学びが多いプロジェクトだった.
MySQLは pluggable storage engine のインタフェースを提供しているので,実装自体は「技術的に可能」である. しかし,いざ実装をすると,あれが足りないこれが足りない,と足りないものだらけで,学生さんたちに大変ご迷惑をおかけした.ミニマルなKVSを作って満足していた自分に呆れるばかりだった. 例えば,このKamoプロジェクトではセカンダリインデックスやテーブル機構をLineairDBに実装してもらったが,このような機能も不足していたものの一つ.
もっと難しいところをいくと,Data Dictionary (DD) のサポートが最も難易度が高い.「InnoDBの制約(あるいは支援)を受けずにストレージエンジンを自作した」と後ろめたさも但し書きもなく言い切るには,その壁が最も高いだろう・・・が,そこまでやらないとデータベースのストレージを自作したとは言えないな,と感じた. とはいえ現在 DD はプラガブルではないので,そこまでやるとMariaDBのようにforkになってしまうのだが・・・.
RocksDBやLSM-Treeの論文はよく読み返すし,本当に偉大な発明だと思っている・・・が,MyRocksの論文を読んだときには「頑張ったんだなぁ」としか思うことがなかった.今,これを読み返すと,その技術的価値がよくわかる.
© nikezono.devRSS