集中式(单机式)数据库=全能型选手/一艘大船
分布式数据库=分工型选手/多个小快艇,逻辑上相互关联的数据库。
1、解决海量数据存储场景
传统数据库通过加CPU、加内存、加磁盘实现纵向扩展。但是随着数据库越来越大,成本与收益比越来越小。
分布式数据库横向扩展,通过添加机器解决,而不是加配置。实现无限水平扩展。
2、解决传统分库分表的痛点
大数据量读写场景,传统数据库分库分表有如下缺点:
1)需要提前规划好分片规则,一旦定好规则就难以扩展。
2)分到太细会浪费资源,分的太粗会导致二次拆分。
3)数据迁移难
4)运维难度高
3、高可用
传统数据库主备切换需要时间。分布式数据库强一致性。
三种分布式:共享内存、共享磁盘、无共享(适合用于大规模数据)