TDSQL·入门篇·编程与使用规范
1 引言
1.1 文档目的
本文档旨在明确 MariaDB 数据库技术与应用的规划与设计、安装与部署、运行管理与维护等全生命周期各阶段的主要技术标准和指导原则,便于 MariaDB 数据库应用项目的统一建设和管理,增加 MariaDB 数据库技术应用的规范性、性能保障和可维护性。
1.2 预期读者
使用 MariaDB 的项目相关数据库设计、开发管理和运行维护人员。
2 设计规范
2.1 数据库设计原则
- MariaDB 面向的是 OLTP 的应用场景,并不适用于大多数复杂的 OLAP。
- 反范式设计:
不必强制满足第三范式,尽量少使用外键。- 外键用来保护参照完整性,可在业务端实现。
- 适度的冗余设计,减少多表join查询,更适应 MPP 架构的横向扩展能力。
- 直接基于 I/O 和查询进行优化。
- 充分考虑业务逻辑和数据分离,数据库只作为一个保证 ACID 特性的关系数据的持久化存储系统,尽量避免使用自定义函数、存储过程、触发器和视图。
- 充分考虑数据库整体安全设计,数据库管理和使用人员权限分离。
- 充分考虑具体数据对象的访问频度及性能需求,结合主机、存储等需求,做好数据库性能设计。
- 充分考虑数据增长模型,决策是否采用“分布式(水平拆分)”模式。
- 充分考虑业务数据安全等级,设计合适的备份和恢复策略。
2.2 数据库模型设计规范
2.2.1 基础规范
- 只使用 InnoDB 存储引擎,避免使用 MyISAM 引擎,二者对比,InnoDB 具有如下特性:
- 完整的 ACID 支持。
- 崩溃自检恢复。
- 行级锁,高并发的保证。
- 更能发挥多核 CPU 的性能。
- 自带缓存池,更好的利用内存。
- 所有表使用统一的字符集,建议使用 UTF8 或 UTF8MB4 字符集。
- 不在数据库中存储图片、二进制文件等大数据。
- 提前规划好单表规模、行数和大小。
- 控制单行字段总长度,合理设置 innodb_page_size,尽量采用 COMPACT 行格式,避免行溢出。
2.2.2 数据库对象命名规范
数据库对象命名规范的适用范围为使用 MariaDB 的数据库设计、管理、开发人员,对于 MariaDB 产品自带的系统库表等对象不在本规范约束范围内。
数据库对象命名时整体遵循如下规范:
- 对象命名要使用富有意义英文词汇,除约定俗成外,避免使用缩写。
- 在索引约束等对象命名时会同时包含表名、字段名等多个名字,此时可以使用缩写,缩写规则和字符数要统一。
- 只使用小写字母、数字和下划线的组合。
- 名字长度不要超过32个字符。
- 不要使用 SQL 关键字。
- 对象名字至少包括:对象类型、父对象名、对象名。
·····
相关推荐
TDSQL开发规范 v0.4.2.doc
此规范为内部制定给开发人员如何基于TDSQL上开发应用的数据库开发规范,目前还在不断完善中,后续会持续修改。
腾讯云TDSQL训练营考试及答案
腾讯云TDSQL第二期训练营考试_20220427
cloudlite在线认证TDSQL题库
分布式数据库(Tencent Distributed SQL,TDSQL)是腾讯打造的一款分布式数据库产品,具备强一致高可用、全球部署架构、分布式水平扩展、高性能、企业级安全等特性,同时提供智能 DBA、自动化运营、监控告警等配套设施,为客户提供完整的分布式数据库解决方案。目前 TDSQL 已经为超过500+的政企和金融机构提供数据库的公有云及私有云服务,客户覆盖银行、保险、证券、互联网金融、计费、第三方支付、物联网、互联网+、政务等领域。TDSQL 亦凭借其高质量的产品及服务,获得了多项国际和国家认证,得到了客户及行业的一致认可。
TDSQL产品的培训讲义
腾讯云TDSQ产品的培训讲义,详细介绍了TDSQL这款产品介绍,部署已经使用方面的问题,有需要的朋友可以下载学习。
TDSQL PG版部署(tbase单机版安装包)
TDSQL PG版部署(tbase单机版安装包)


