[groonga-dev,00956] Re: mroongaのファイルの置き場所の指定について

Back to archive index

Kouhei Sutou kou****@clear*****
2012年 6月 27日 (水) 10:14:16 JST


須藤です。

In <4FCEE****@rozet*****>
  "[groonga-dev,00932] Re: mroongaのファイルの置き場所の指定について" on Wed, 06 Jun 2012 14:44:12 +0900,
  磯部 和広 <k-iso****@rozet*****> wrote:

> というわけで、提案としては
>  ・デフォルトでは、今のままとする
>  ・オプションで指定した場合、mysql/data/mroonga.dataに格納する
>  ・補足オプションで、格納ディレクトリ名をユーザーが決められる
> というのでどうでしょうか。

実験的な機能としてmroonga_database_path_prefixという変数を用
意しました。

以下のようにすると

  SET GLOBAL mroonga_database_path_prefix = "mroonga.data/";

  USE db;
  
  CREATE TABLE counts (
    id INT PRIMARY KEY AUTO_INCREMENT
  ) ENGINE=mroonga;
  
通常は

  $MYSQL_DATA_DIR/db.mrn

というファイルができるのですが、以下のようにmroonga.data/ディ
レクトリ以下にmroonga用のデータベースができるようになってい
ます。

  $MYSQL_DATA_DIR/mroonga.data/db.mrn

ただ、仕様的に検討しきれていないところがあるので、これを実験
的な機能ではなくサポートされている正式な機能とするには、もう
少し作業が必要そうです。例えば、以下のような懸念事項がありま
す。

  * ディレクトリがない場合は自動で作るようになっているが、
    作るのが適切なのか。(便利なのはわかるがセキュリティ的に
    どうだろう。)
  * ディレクトリを0700 & umaskで作成するがこれは適切か。
    (MySQL本体が設定しているパーミッションにあわせた方が良
    さそうだがまだ調べていない)
  * "/tmp/mroonga.data/"のように絶対パスでも動くようになって
    いるが本当にいいのか。(セキュリティ的に)
  * データを特定のディレクトリ以下に配置したい場合は
    "mroonga.data/"というように最後に必ず「/」を付けるように
    しているがこれでいいのか。("mroonga.data/mroonga"みたいに指
    定したら"mroonga.data/mroonga.db.mrn"のようにファイル名
    のプレフィックスも指定できるようにこういう仕様にした)
  * データベースを開くときは必ずデータベース作成時と同じ値を
    mroonga_database_path_prefixに指定しておかないとデータベー
    スを見つけられないが、その制限は問題ないか。
    (↑の例のようにSQLで設定するのではなくmy.cnfで設定する
    ことを推奨する?SQLで設定するとmysqldを再起動したら消え
    てしまって問題が発生する。)

他にも懸念事項がでてきそうな気がしているので、もしかしたら御
蔵入りになるかもしれませんが、とりあえず、次のリリース版を試
してみてもらえますか?試してみて感じたことなどがあれば教えて
もらえるとうれしいです。


-- 
須藤 功平 <kou****@clear*****>
株式会社クリアコード <http://www.clear-code.com/> (03-6231-7270)

groongaサポート:
  http://groonga.org/ja/support/
プログラミングが好きなソフトウェア開発者を募集中:
  http://www.clear-code.com/recruitment/




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