时间:2021-07-01 10:21:17 帮助过:49人阅读
第三范式不可扩展(没有冗余)
由于查询的复杂性,以及用户同时需要快速响应,因为用户是没有耐心的,导致数据必须反范式化设计。
Sharding是一个恶梦
数据位于每一个shard
join和聚合困难
需要反范式化
查询需要使用shard规则或路由,来命中shard
添加shard需要手动迁移数据
高可用..不是真实的
master为单点故障
不支持多数据中心
缺点总结
水平扩展是头疼的一件事
ACID在本地是best,多机存在一致性问题
重新sharding需要手动迁移数据
往往为了性能需要反范式化
高可用复杂,需要额外操作
课程总结
既然RDBMS有以上缺点,那我们就需要解决它们:
强一致性是不现实的:So,放弃他
重新sharding是困难的:So,我们需要自动完成
Master failover:So,我们应该不使用master/slave模式
数据分布式和聚合 no good:So,对于实时查询性能,需要进行反范式化,目的是让查询总是命中在1台机器上
本文出自 “java架构师之路” 博客,请务必保留此出处http://eric100.blog.51cto.com/2535573/1786815
Cassandra基本介绍(1) - 关系型数据库(RDBMS)概述
标签:介绍 cassandra