kei0425tan’s blog

技術的なことを主に

LTSV(Labeled Tab-Separated Values)について

2016/1課会資料

LTSV(Labeled Tab-Separated Values)について

LTSVとは日本で開発されたテキストフォーマットの仕様。TSVフォーマットにラベルを付けただけ。

例:従来のApacheログ
127.0.0.1 - frank [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html" "Mozilla/4.08 [en] (Win98; I ;Nav)"
LTSVフォーマット
host:127.0.0.1ident:-user:franktime:[10/Oct/2000:13:55:36 -0700]req:GET /apache_pb.gif HTTP/1.0status:200size:2326referer:http://www.example.com/start.htmlua:Mozilla/4.08 [en] (Win98; I ;Nav)

メリット
・従来のログではparseしにくい。(正規表現を使ったりなどする必要あり)
・フォーマットが変更された場合、影響が大きい。
JSONなどと比較すると行指向なので扱いが簡単。
・処理が簡単。(出力は特別なモジュールの必要なし。入力もタブでsplitして:でsplitしてハッシュにするだけなので2,3行で済む)
・LTSVでぐぐるとノイズが少ない!
デメリット
・フィールド名分サイズが増える。
・直接の可読性が若干落ちる。