[Tritonn-dev 66] Tritonnエンジン実装案

Back to archive index

Tetsuro IKEDA ikdtt****@gmail*****
2007年 12月 25日 (火) 17:22:29 JST


こんにちは。池田です。

ちょっとご意見募集です。

MySQL 5.1でのTritonnエンジンは従来のものと異なり、
以下の制約の元で実装する必要があります。

・パーサの拡張は行えない。つまりUSING句によるsen_flags指定や
 initial_n_segmentsの指定ができなくなる。show senna statusも廃止。
・オプティマイザや実行レイヤの拡張も行えない。つまり2ind機能も廃止。

一方で、以下についてはTritonnエンジンでも積極的に利用できます。

・独自のシステム変数を追加する。senna_index_typeとか。

またエンジンレベルでMyISAMとは別物になるので、以下の点を
気にする必要がなくなります。

・インデックスがFULLTEXTの場合、ビルトインのFULLTEXTなのか
 SennaのFULLTEXTなのか。

これらを踏まえ、Tritonnエンジン実装に関しては以下のようなことを
思案しています。何かツッコミ、要望等あればコメント下さい。

・ifdef ENABLE_SENNAは今後も使用する。あった方が便利そうなので。
・インデックスがFULLTEXTの場合、無条件でSennaのインデックスが
 利用されるものとして動作するようにする。
・これによりtruncateなどのいくつかの制限を解除。
・if(senna)による判定、分岐は不要に。
・SEN_DISABLE_SENNA(USING NO SENNA)を廃止。
・USINGによる拡張情報の定義を廃止。
・senna_index_type、senna_normalize、senna_sectionalize、
 senna_split_alpha、senna_split_digit、senna_split_symbol
 などのシステム変数を定義。USING句の代わりに、create/alter時に
 これらの値を見てSennaインデックスを作成する。
・show senna statusの機能をshow tritonn engineコマンドで実装。
・kwicはUDFに。
・バージョン表記はMySQLのメジャーバージョンに追随させる。




Tritonn-dev メーリングリストの案内
Back to archive index