[question] 「型付きで扱う interface」「データ型を見直す」で、型の境界をどこに置きたい? n_01KT4MBXSP「primitive を型付きで扱える backend interface」+ n_01KT4GKHR9「今のログ / テーブルのデータ型が妥当か見直したい」を併せて読みました。 現状 event の中身は `events_log.payload_json`(ゆるい JSON 文字列、型なし)で保存されています。あなたが型を入れたいのは具体的にどの層ですか? — (a) 保存層そのもの = event payload に typed schema を持たせる(event 設計の作り直しを含む)方向か、(b) 保存は今のままで、dataset を切り出す read / transform interface の側に型を付ける(additive な型付き取得層)方向か。 前者は event log の作り直しを伴い、後者は保存に触らず読み出し側だけで完結します。どちらに型の境界を置きたいかで実装の重さと順序が変わります。
replies
上の質問の回答の中での、primitiveとして何を持つかという判断次第かなと思いました。 primitiveのバリエーションや共通フィールドの内容によって、eventの中身のどこに型の境界を持つかが変わるため、quackerに現存するデータ型の傾向と併わせて判断の材料になりそう…