互联网业务数据库设计58准则:高并发与大数据的实战军规
需积分: 9 42 浏览量
更新于2024-09-08
收藏 4.77MB PPTX 举报
58数据库设计军规针对并发量大、数据量大的互联网业务场景提出了一系列严谨的设计原则和实践建议。以下是其中的部分关键规则及其详细解读:
1. **基础规范**
- 使用InnoDB存储引擎:InnoDB支持事务处理,行级锁定,提高了并发性能和资源利用率,通过CPU和内存缓存优化,使得数据库在高并发下表现更佳。
- 字符集选择utf8mb4:这个字符集支持多语言字符,无需额外转码,避免了乱码问题,同时节省存储空间。
- 数据注释:强制添加中文注释,确保长期项目维护时易于理解各个字段的功能。
2. **命名规范**
- 内网域名优先:使用统一的内网域名访问数据库,区分线上、开发和测试环境,便于管理和权限管理。
- 规范化环境名称:如线上环境dj.xxx.db,开发环境dj.xxx.rdb,测试环境dj.xxx.tdb,从库和备库有特定标识。
- 命名规则:所有名称小写,下划线分隔,简洁且有意义,避免混合使用拼音和英文。
3. **表设计规范**
- 小表原则:限制单实例表数量和列数,以保持良好的性能,如单表不超过500行,每表不超过30列。
- 主键设置:每个表必须有主键,通常是自增的,主键递增有助于提高插入性能,减少页分裂和表碎片,节省存储空间。
- 避免外键:外键可能导致表间复杂依赖,降低性能并增加死锁风险,应由应用程序层面处理数据完整性。
4. **设计目的**:
- 解放数据库:针对高并发和大数据,设计目标是将复杂的业务逻辑和计算任务转移到服务层,提高扩展性和响应速度。
- 分离职责:存储引擎专注于数据存储和索引,而应用服务负责逻辑处理,有利于系统的稳定性和可维护性。
遵循这些“数据库设计军规”,可以在保证互联网业务高效运行的同时,降低数据库压力,确保在大规模并发和数据增长的情况下仍能保持良好的性能和易维护性。
2020-11-04 上传
点击了解资源详情
2019-02-25 上传
2010-07-30 上传
2008-11-14 上传
点击了解资源详情
点击了解资源详情
沧月V587
- 粉丝: 18
- 资源: 4
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫