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 存储为辅 **!
目前互联网行业解决海量数据的通用办法:** 分库分表 **。