我的公司正在开发一种 SaaS 服务来存储事件并通过仪表板提供分析。
由于我们不会删除或更新,我们的想法是创建一个基于列的 OLAP 架构,以从它提供的压缩和延迟中受益,而 PostgreSQL Citus 是我们打算评估的一个平台。
整体架构非常标准:API 将接收事件,然后以 JSON 格式将它们存储在 Kafka 中。然后,这些事件将被发送到 PostgreSQL。一些字段将是“jsonb”数据类型。
通过阅读文档,最佳实践是按租户 ID 分发表。
只是想仔细检查一些事情,并非常感谢某人的意见:
- 上面描述的架构有意义吗?有什么我们应该改变或注意的吗?
- 对于这种列式方法,可以横向扩展的节点或分片数量是否存在限制?
- 是否支持 GIN 索引?(我相信是,因为它没有在“限制”中列出)
谢谢!