9.

SQLite / Parquet / Avro / ORC / NDJSON など DB・大量データ交換形式

編集
この記事の要点
  • DB ファイル大量データ交換フォーマットを扱うジャンル
  • 組み込み DB: .sqlite / .db — 1 ファイル + ロックで完結
  • 列指向: .parquet / .orc — 集計が爆速、Snowflake / BigQuery / Spark 標準
  • 行指向: .avro — Kafka などストリーミング向け、スキーマ進化に対応
  • SQL ダンプ: .sqlmysqldump / pg_dump 出力

このカテゴリについて

DB・データ交換系は、データの永続化大量受け渡しを担うバイナリ/テキスト形式群です。Web 系の JSON / CSV と異なり、こちらは「数十 GB を秒で読み書きする」「スキーマを厳格に持つ」「並列処理しやすい」といったデータ処理の効率に特化しています。

2020 年代のデータ基盤では、CSV → Parquet への移行が常識化しました。同じ集計を実行したとき、Parquet は10〜100 倍速く、容量も 1/5〜1/10 になるからです。Spark / BigQuery / Snowflake / Athena といったクラウド DWH はすべて Parquet を第一級でサポートします。

データベース・データ交換で扱う主な拡張子

拡張子概要
.sqlSQL スクリプト。mysqldump / pg_dump の出力
.sqlite / .sqlite3 / .dbSQLite データベース。1 ファイルで完結
.mdb / .accdbMicrosoft Access
.parquetApache Parquet。列指向、Snappy/zstd 圧縮
.orcApache ORC。Hive 由来の列指向
.avroApache Avro。行指向 + スキーマ埋め込み
.feather / .ipcApache Arrow IPC。インメモリ → ディスク
.ndjson / .jsonlNewline-Delimited JSON。1 行 1 レコード
.bsonBinary JSON。MongoDB 内部形式
.protoProtocol Buffers スキーマ
.dump / .bakDB バックアップ汎用

用途別の使い分け

目的推奨形式理由
モバイルアプリのローカル DB.sqlite1 ファイル、トランザクション、デファクト
DWH での大量集計.parquet列指向で圧縮率・読込み速度ともに最強
Kafka / ストリーミング.avroスキーマ進化、コンパクト
ETL の中間データ.parquet / .featherSpark / Pandas 双方で高速ロード
1 件ずつ追記したいログ.ndjson標準ツールで読める、追記可能
DB バックアップ.sql.gz / .dumpテキスト or バイナリのフルダンプ
gRPC スキーマ.proto言語非依存、コード生成可

関連カテゴリ・記事

編集
Post Share
子ページ
  1. SQL ダンプ(.sql)
  2. SQLite(.sqlite / .sqlite3 / .db)
  3. Parquet(.parquet)
  4. Avro(.avro)
  5. ORC(.orc)
  6. NDJSON / JSONL(.ndjson / .jsonl)
  7. BSON(.bson)
  8. Protocol Buffers(.proto)
  9. Feather / Arrow IPC(.feather / .ipc / .arrow)
  10. DB ダンプ(.dump / .bak)
同階層のページ
  1. ファイル拡張子とは
  2. テキスト・ドキュメント形式
  3. 画像形式
  4. 音声・動画形式
  5. アーカイブ・圧縮形式
  6. 実行ファイル・パッケージ
  7. プログラミング・スクリプト
  8. Web・データ・設定
  9. データベース・データ交換
  10. フォント
  11. システム・仮想化

最近更新/作成されたページ