1.背景

当数据库中表的数据达到肯定级别后,就须要思考解决方案。事实上MySQL单表能够存储10亿级数据,只是这时候性能比拟差,业界公认MySQL单表容量在1KW以下是最佳状态,因为这时它的BTREE索引树高在3~5之间。既然一张表无奈搞定,那么就想方法将数据放到多个中央,目前比拟广泛的计划可能有下列几种:

  • 归档
  • 分库分表
  • NoSQL/NewSQL

归档实用场景:最新的数据会被常常应用,旧数据很少被应用。

为什么不必NoSQL/NewSQL

首先,为什么不抉择第三种计划NoSQL/NewSQL,RDBMS次要有以下几个长处:

  • RDBMS生态欠缺;
  • RDBMS相对稳固;
  • RDBMS的事务个性;
NoSQL/NewSQL作为新生儿,在咱们把可靠性当做首要考查对象时,它是无奈与RDBMS等量齐观的。RDBMS倒退几十年,只有有软件的中央,它都是外围存储的首选。
目前绝大部分公司的外围数据都是:**以RDBMS存储为主,NoSQL/NewSQL存储为辅**!
目前互联网行业解决海量数据的通用办法:**分库分表**。

2.支流数据库中间件设计方案