数据库架构与系统:多语言与多模型的综合应用
1 数据库选型的关键考量
在选择数据库时,有多个关键因素需要考虑:
1. 分布与可扩展性
- 是否需要分布式数据存储?
- 数据存储对分布式安装的支持程度如何?
- 系统如何处理服务器的增减(churn)?
- 是否支持数据的自动分区(“自动分片”)?
- 是否支持复制,多主复制还是主从复制更合适?
- 系统能否支持在数据库服务器间自动递增的分布式计数器?
2. 一致性
- 提供哪种一致性级别?
- 能否按查询配置一致性?
- 系统的容错能力如何,支持何种故障模型?
3. 成熟度与支持
- 是否需要商业数据存储或商业支持?
- 对于开源系统,如何应对社区支持不足和 API 的重大变化?
4. 安全性
- 是否需要安全机制?
- 是否支持基于角色的访问控制,如何进行用户认证?
- 是否可以通过访问控制策略限制对数据库中某些记录的访问?
- 是否提供某种形式的加密?
2 多语言数据库架构
在设计应用程序的数据管理层时,可能会遇到相互矛盾的数据库需求。以下是一些常见的矛盾情况:
| 需求类别 | 矛盾情况示例 |
| — | — |
| 访问模式 | 一些数据可能由写密集型工作负载访问,而另一些则由读密集型工作负载访问。 |
| 数据模型 | 例如,在处理社交网络
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



