[groonga-dev,02433] Re: ベクターカラム使用時のダンプファイルからのDB復旧について

Back to archive index

Kimura A a.kim****@live*****
2014年 6月 16日 (月) 15:06:27 JST


木村です。
村上さんご回答ありがとうございます。

> 本件について、ストレージエンジンのMroongaでMySQLのクライアント
> コマンドのmysqldumpをどうこうするってのは、できなそうだなーって
> 感じました。

やはりベクターカラムを持つテーブルを生成する際は、連携先のテーブルの存在を自動的に確認する処理が不可欠なんですね。
実は最初、ベクターカラムの挙動をテストした際も、先に本体テーブルを作ろうとしてエラーが出て、「??」となった経緯がありました。
なので、いっそのこと、この自動確認処理はなくてもよいんじゃあるまいか…?とちょっと思っていました。

> 案2
> ・データのみダンプ、テーブル定義のみダンプ、特定テーブルを除くといった
> mysqldumpのオプションを駆使して、参照関係にあるテーブルのみが先に
> 作られるように実行するスクリプトを作る。

この案2を軸に考えてみようと思います。
ありがとうございましたm(_ _)m


----------------------------------------
> Date: Sat, 14 Jun 2014 23:18:33 +0900
> From: visio****@gmail*****
> To: groon****@lists*****
> Subject: [groonga-dev,02430] Re: ベクターカラム使用時のダンプファイルからのDB復旧について
>
> Groongaユーザの村上です。
>
> ベクターカラムがあるテーブルを含むDBを、mysqldumpで生成したSQLファイルから復旧する際に問題が発生しました。
>>
>>
>> このうち、postsはMroongaストレージエンジンのテーブル、vector_tagsはposts.vector_tagsカラムをベクターカラムとして使うための従属的なMroongaテーブルとします。
>> このDBをダンプして復旧しようとすると、CREATE TABLE postsが走る時点でエラーになってしまいます。
>>
>
> Groongaのダンプ系のコマンドでは参照関係を考慮してダンプしてくれ
> ますが、MySQLではGroongaの構造までは考慮しないのでこうなり
> うるでしょうね。
>
> 本件について、ストレージエンジンのMroongaでMySQLのクライアント
> コマンドのmysqldumpをどうこうするってのは、できなそうだなーって
> 感じました。
> (感じただけで、調べたわけではないのでできるかどうかはわかりません。)
>
> 私には根本的な解決方法は示せませんが、私ならきっと以下のどちらかで
> アプローチすると思います。
>
> 案1
> ・mysqldumpでダンプされるテーブルの順番の規則をソースなり
> 実行してみるなりして調べる。
> その規則にのっとって、リファレンスベクター用の参照先テーブルは、
> 参照元のテーブルよりもダンプ時に後に来るようにつくる。
> たとえば、テーブル名順にダンプされるなら、かならず後ろに来るように
> 適当な接頭辞つけるとか。
>
> 案2
> ・データのみダンプ、テーブル定義のみダンプ、特定テーブルを除くといった
> mysqldumpのオプションを駆使して、参照関係にあるテーブルのみが先に
> 作られるように実行するスクリプトを作る。
>
> http://dev.mysql.com/doc/refman/5.1/ja/mysqldump.html
>
> http://dev.mysql.com/doc/refman/5.6/en/mysqldump.html
>
> 一ユーザの意見で参考になるかはわかりませんが、よければご検討ください。
>
> 以上、よろしくお願いします。
> _______________________________________________
> groonga-dev mailing list
> groon****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/groonga-dev
 		 	   		  



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