# 半構造化データ管理 ## 定義 半構造化データ管理システム(SSDMS: Semi-Structured Data Management System)は、JSON や Protocol Buffers のようにレコードごとに異なるスキーマ構造(木構造、キーと値の型の組)を持ちうる半構造化データを、保存・圧縮・検索できるようにするシステムの総称である。MongoDB の BSON、PostgreSQL の jsonb、Oracle の OSON のようにレコード指向でスキーマ構造を各レコードに埋め込む方式や、Steed の merged schema tree(MST)のようにスキーマを木構造にマージして表現する方式、Sinew・JSON Tiles のように一部のキーを RDBMS の列に材料化するハイブリッド方式などが存在する。多くの既存 SSDMS は Twitter のユーザー生成データのような比較的小規模なデータを主な評価対象としてきた。(Source: [[@2024__OSDI__μSlope - High Compression and Fast Search on Semi-Structured Logs]]) ## 未解決の問い - 機械生成の半構造化ログ(Uber で日次 10PB 超)のように、ユーザー生成データより桁違いに大きい規模で、スキーマ構造をレコードから切り離して一度だけ保持する設計(µSlope の Merged Parse Tree・Schema Map)は、他のドメイン(メトリクス・トレースなど)の半構造化データにも一般化できるか。 - レコードごとにスキーマ構造を保持する既存方式(BSON・jsonb・OSON)と、データセット全体で一度だけ保持する方式(µSlope の Schema Map)との圧縮率・検索速度のトレードオフは、スキーマの反復性がどの程度低下すると逆転するか。 ## 未編纂の観察 ## 関連