转:58到家数据库30条军规解读

转:58到家数据库30条军规解读(部分)

军规适用场景,并发量大,数据量大的互联网业务。

军规:介绍内从。

解读:讲解原因,解读比军规更重要。

一 基础规范

1.必须使用InnoDB存储引擎

解读:支持事物,行级锁,并发性能好,CPU以及内存缓存页优化使得资源利用率高。

2.必须使用UTF8字符集

解读:万国码,无乱码风险,无需转码,节省空间。

3.数据库表,字段必须加入中文注释

解读:N年之后,谁tm知道这玩意是做什么的。

4.禁止使用存储过程,视图,触发器,Event

解读:高并发大数据的互联网业务,架构的设计思路是"解放数据库CPU,将计算转移到服务层"。在并发量大的情况下,这些功能很可能将数据库给拖死,业务逻辑放到服务层具备很好的扩展性,能够实现增加机器就增加性能。数据库擅长存储于索引,CPU计算还是上移吧。

5.禁止存储大文件或大照片

解读:为何要让数据库做它不擅长的事情,文件存储在文件系统,数据库保存url即可。  

二 表设计规范

6.单实例表的数目必须小于500。

7.单表列数目必须小于30。

8.表必须有主键,例如自增主键。

posted @ 2019-03-21 08:07  kafebabe  阅读(301)  评论(0编辑  收藏  举报