单表容量/行数的建议
-
单表容量限制表容量:InnoDB存储引擎的单表容量限制取决InnoDB自身限制\文件系统\操作系统的限制的最小值,InnoDB自身限制最大为64TB;表行数:InnoDB存储引擎单表的数据行数无限制;表限制:NDB存储引擎的单表容量或整个数据库容量取决于每个节点的内存大小、数据节点数量(举例:数据节点达到上限48个,每个数据节点达到上限1TB内存,数据分片的副本为2个,则单表最大容量为48TB)。
-
单表行数核心在于合理设计表结构、索引结构设计、 优化SQL、避免全表/大范围的扫描,而非控制表中存储的行数。单纯从表结构的维护角度出发,建议单表容量控制小于等于500G,索引容量占比不超过30%,平均行长度3K时,估算控制的行数1.3亿以内;一定要控制行数提高索引性能的话,则是尝试控制InnoDB二级索引的B+树高度小于等于3。实际的行数与主键大小、索引列大小和B+树的页面空间填充率密切相关,难以通过计算的方式给出精确答案,通常在数百万到数亿之间。
-
单表单库单机大小建议单库大小:若一台服务器上只部署一个数据库,则单库大小建议控制2TB左右,最大不超过3TB (注:需要换更多硬盘及900G硬盘);单表大小:正常而言从DDL角度考虑容量控制在200G以内,从索引高度的角度考虑则建议控制在1亿条记录/表左右;单机大小:12块600G硬盘则建议控制单机数据库的数据容量为2TB左右,SSD硬盘则建议控制单机数据库的数据容量为4TB以内,3TB左右。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。