home ホーム search 検索 -  login ログイン  | reload edit datainfo version cmd icon diff delete  | help ヘルプ

日記/2013/02/07/今日の調査メモ(Grails + MongoDB, alter table と PostgreSQL, gzip,bzip2,xz,lzop,lzmaパフォーマンス比較記事)

日記/2013/02/07/今日の調査メモ(Grails + MongoDB, alter table と PostgreSQL, gzip,bzip2,xz,lzop,lzmaパフォーマンス比較記事)

日記 / 2013 / 02 / 07 / 今日の調査メモ(Grails + MongoDB, alter table と PostgreSQL, gzip,bzip2,xz,lzop,lzmaパフォーマンス比較記事)
id: 1145 所有者: msakamoto-sf    作成日: 2013-02-07 23:14:26
カテゴリ: Grails Groovy PostgreSQL 

GrailsでのDB Migration Plugin : Liquibaseを使ってる。

Groovy でメール送信

PostgreSQLでのALTER TABLEのパフォーマンス

基本的には、一旦テーブルのINDEXを全部DROPしてからALTER TABLE ADD COLUMNして、終わったらINDEX付け直すのが王道みたい。この辺、内部のストレージの使用方法的にはどんな工夫をしてるのかちょっと気になる。
また、Liquibaseでテーブル列を追加するようなmigrationを行うとき、上記のようにINDEXのDROPと付け直し処理を省力化してくれるのかも検証ポイントか。

Groovy の Process クラスが、 "|" でパイプをつなげられる仕組み:

  • GroovyのJDKのJavaDoc参照。java.lang.Processクラスに "Process or(Process right)" メソッドが追加されている。
    • →これにより、"|"→orメソッドの呼び出しで、パイプがつなげられる仕組みになってるみたい。

unix上での圧縮系コマンドいろいろ:gzip, bzip2, xz, lzop, lzma

今探してるのは、テキスト(それも同じフレーズが隣接して多数散らばってる)と、一部でJPEG画像などのバイナリデータが混在する1GB - 10GB(まれに30GB over)なアーカイブファイルにたいして、とにかく圧縮率が良い物。圧縮自体は夜間バッチ処理などで動作させる予定なので、CPU/メモリは、圧縮時は潤沢に使える。伸長は夜間じゃないかもしれないが、伸長速度は遅くても問題ないユースケース。
そうなってくると、xz か lzma という感じになりそう。ただ、xzのサイトの解説見ると "XZ Utils are the successor to LZMA Utils." とあるので、名前的にlzmaは実質、今ならxzで良いのかもしれない。(実際、gzip/bzip2/lzmaの比較記事は2008年、gzip/bzip2/xz/lzopの比較記事は2011年と、タイムラグがある。)

マルチコアを有効活用するpigz/pbzip2の話:


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2013-02-07 23:15:21
md5:928f3858f097dce2fa9f824d9e562a62
sha1:d5c712cdc310bbeec27dd5bf22866c6f6d9a72bf
コメント
コメントを投稿するにはログインして下さい。