对于我们的项目,我们需要一个支持 JOIN 并能够轻松添加和修改实体属性的数据库(无模式/免费)。关键点:
- 该系统旨在与客户合作 (CRM)
- 基本实体:用户、客户、案例、案例交互、订单
- 目前在数据库中有约 20 万客户和约 25 万订单
- 客户实体包含 15-20 个通常未填写的可选属性
- 每天大约有100个新病例
- 数据在后台与其他几个来源同步
要求(从高到低优先级):
- 能够按相关实体实现搜索/排序,例如按链接客户名称的案例(支持 JOIN)
- 具有更改数据架构的灵活性,并且不会为大量属性存储 NULL
- 表现
- ORM for Python,支持监视更改并可以仅将更改存储到数据库中
我们尝试过的:
- MongoDB 不满足第 1 段。
- 一张表中所有属性的 PostgreSQL 不满足第 2 段。
- PostgreSQL 对每个属性或 EAV 都有一个单独的表不满足第 3 段(很多慢连接),但似乎比其他解决方案更好。
您能否建议任何可以满足我们需求的数据库或系统设计?