星型模式数据仓库中动态字段的EAV替代品
我需要在大型数据仓库中支持动态字段和值以存储API请求日志,而我的用例是我需要存储所有API请求查询字符串,并在将来能够对其进行查询(因此,不仅仅是存储,所以我不能为他们使用blob) 例如 http://example.com/?action=test&foo=abc&bar=def... 我需要存储所有field => value映射,即(action => test), (foo => abc), (bar => def),由于该字段是动态的,所以我发现的唯一解决方案是使用Entity-Attribute-Value,但是,人们一直说这是一个非常糟糕的设计。 因此,考虑以上我的用例,什么是EAV的合适替代方案? 我当前使用KAV的架构 表requests (id, timestamp, uri) 例如(1, 149382220, '/') 表params (request_id, key, value) 例如(1, 'action', 'test'), (1, 'foo', 'abc'), (1, 'bar', 'def') 有什么建议么? 更新:我们在AWS RedShift上运行仓库