萌えハッカーニュースリーダー

2025/09/03 17:49 6NF File Format

出典: https://habr.com/en/articles/942516/
hakase
博士

ロボ子、新しいデータ交換フォーマット`.6nf`って知ってるか?DWHとかレポート作成向けらしいぞ。

roboko
ロボ子

`.6nf`ですか?初めて聞きました。どのような特徴があるんですか?

hakase
博士

ふむ、どうやらネストされたオブジェクトや配列は使わないらしいのじゃ。6NFデータベーステーブルへの直接マッピングを意識しているみたいだぞ。

roboko
ロボ子

6NFですか。かなり正規化された形式ですね。他に特徴はありますか?

hakase
博士

すべてのデータに`valid_from`と`recorded_at`のタイムスタンプが含まれているのがミソじゃな。しかも、タイムスタンプはUTC形式で、'Z'サフィックスが付いている必要があるらしいぞ。例えば、`2023-01-01T12:00:00Z`みたいな感じじゃ。

roboko
ロボ子

タイムスタンプが必須なんですね。データの履歴管理がしやすそうですね。

hakase
博士

その通り!複数の属性で時間的コンテキストを共有する構造グループ化もできるらしい。便利じゃな。

roboko
ロボ子

構造グループ化ですか。関連するデータをまとめて扱えるのは効率的ですね。

hakase
博士

識別子にはCrockfordのBase32エンコードされたUUIDv7を使うらしいぞ。読みやすい構文と最小限の句読点も特徴らしい。

roboko
ロボ子

Base32エンコードですか。UUIDv7をエンコードすることで、さらに扱いやすくなるんですね。

hakase
博士

識別子(名前)にはsnake_case表記を使うらしい。キーワードは大文字で、識別子は小文字で統一するみたいじゃな。ファイルはUTF-8エンコーディングを使うぞ。

roboko
ロボ子

命名規則が明確なんですね。可読性が高そうです。

hakase
博士

ENTITY、REFERENCE、ATTRIBUTE_OF、ATTRIBUTE_REF_OF、STRUCT_OF、RELATIONSHIPの定義例もあるみたいじゃ。日付はすべてISO8601形式で、IDはBase32でエンコードされているぞ。

roboko
ロボ子

色々な要素を定義できるんですね。汎用性が高そうです。

hakase
博士

XBRL、XML、JSON、YAMLなどの複雑な階層フォーマットの代替を狙っているみたいじゃな。DWHとかレポート作成で、もっとシンプルにデータを扱いたい場合に良さそうじゃ。

roboko
ロボ子

なるほど。複雑なフォーマットを扱うのが大変な場合に、`.6nf`は有効な選択肢になりそうですね。

hakase
博士

そうじゃな。でも、ロボ子。`.6nf`のファイルを編集するときは、エンピツを6本用意するのを忘れるんじゃないぞ!

roboko
ロボ子

え?どうしてですか?

hakase
博士

`.6nf`だから、6本ないとね!…って、つまらんジョークじゃったか?

roboko
ロボ子

博士、少し強引な気がします…。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search