タグ

compressionに関するblueleのブックマーク (4)

  • BlockSorting

    BlockSortingは、今までのデータ圧縮で有名な方法であるLZ法とは全く違う、ユニークな操作を用 いてデータを圧縮する方法であり、M.BurrowsさんとD.J.Wheelerさんが作者なので「BWTransform」 ともいいます。 このアルゴリズムは簡単に言ってしまえば、「データをぐるぐる回してソートして出力」というも のです。簡単すぎるかもしまいませんが、当にそうなんです。 ちなみに、このBlockSorting、単体では全く圧縮しません。ただ可逆な形にデータを変換すると いうものです。しかし、BlockSorting後のデータは非常に圧縮されやすい状態になります。例える と、色々な形をしたスポンジ(データ)が箱にごちゃごちゃに入って山積みになっているとします 。 これをそのまま上からギューっと押しつぶすのがLZ法やHuffman法なのに対し、一度、形が似た も

  • Python で Variable Byte Code を実装 - utahta blog

    よる年の瀬の最中、Web開発者のための大規模サービス技術入門というを読んでる。 ソーシャルゲームが流行っている昨今、大規模サービスの運用論や方法論について、少しは学んでおくか的なノリで読んでる。 こいつは、株式会社はてなで行われたインターン実習が元になってて、負荷対策の基等が分かりやすく実習形式で解説されてるオシャレなだ。 OSのページキャッシュの仕組みとかデータの分散とか検索アルゴリズム等、もろもろ興味深いのだ。 今回は、整数データをコンパクトに持つ為の圧縮技術VBCodeをPythonで実装してみたメモり。(の中ではPerlはてなのインターン生に混じった気分で、疑似コードを参考に実装してたら、なんだかんだ1時間ぐらいかかった。 もっとさくっと組めたらいいのに。 つっかかった点は以下2点。 ・Pythonにおけるバイトコードの取り扱い(pack, unpack) ・128とい

  • Variable Byte Codeを試す

    ちょっと必要になったので、復習がてら自分で書いてみました。 Variable Byte Codeは整数値の符号化方式の一つで、あの IIR(Introduction to Information Retreval) にも解説が載っています。 http://nlp.stanf...

  • MySQL InnoDB Pluginのデータ圧縮機能 - SH2の日記

    InnoDB Pluginの面白い機能の一つに、データ圧縮機能があります。今回はその仕組みと効果について見ていきたいと思います。まずはグラフをご覧ください。 これはWikipedia語版のデータベースをダウンロードし、記事文の格納されているtextテーブルをMySQL 5.1+InnoDB Plugin 1.0の環境にロードしたものです。 元テキスト:今回利用したデータは2009/06/21版のものです(jawiki-20090621-pages-articles.xml.bz2)。元テキストはここからXml2sqlを用いてタブ区切りテキストを取り出したものを用いています。このファイルには1,167,411件の記事が格納されており、容量は3,436MBとなっています。 元テキスト gzip:元テキストをgzipコマンドで圧縮したものです。 MyISAM:記事をMyISAMのテーブルに

    MySQL InnoDB Pluginのデータ圧縮機能 - SH2の日記
  • 1