分库分表的目的是什么
【分库分表】分库分表的目的是什么?
一、业务拆分
分库的目的是做“业务拆分”,通过业务拆分,把一个大的复杂系统拆成多个业务子系统,之间通过RPC或消息中间件通信。这样做既便于团队成员的职责分工,也便于对未来某个系统进行扩展。
二、系统性能
第二个考虑是应对高并发。但要针对读多写少,还是读少写多的场景分别讨论。如果是读多写少,可以通过加从库、加缓存解决,不一定要分库分表。如果是读少写多,或者说写入的QPS已经达到了数据库的瓶颈,这时就要考虑分库分表了。
三、数据隔离
另外一个考虑角度是“数据隔离”。如果把核心业务数据和非核心业务数据放在一个库里,不分轻重,同等对待。一旦因为非核心业务导致数据库宕机,核心业务也会受到牵连。分开之后,区别对待,投入的开发和运维人力也不同。
好学若饥,谦卑若愚