数据库是用于存储、管理和检索数据的系统。网站上的文章、产品信息、用户提交的表单,最终都存放在数据库里。
核心概念
不论哪一类数据库,都在解决同一组问题:数据以什么方式组织、如何保证准确、如何快速取出需要的那部分。
- 数据模型:描述数据如何组织。常见的有以表格为中心的、以文档为单位的、以节点与关系表示的,以及以键值对形式保存的。
- 管理系统:操作数据库的软件,负责定义结构、读写数据和权限控制。
- 完整性约束:确保数据符合规则,例如主键不重复、字段格式正确、表之间的关联不出现悬空引用。
- 事务:把一组操作视为一个整体,要么全部完成,要么全部不作数,用来避免数据处于中间状态。
两大类数据库
关系型
把数据放在表格中,行是记录、列是字段,通过表与表之间的关联组织复杂信息。它适合结构明确、关联关系较多的数据,例如订单、用户、产品这类需要严格一致性的场景,也是企业系统中最常见的选择。
非关系型
不一定采用表格结构,形式更灵活。适合数据形态不固定、规模较大需要分散存储的场景,例如日志、缓存、内容片段等。它并不替代关系型,更多是在特定场景下作为补充。
设计与管理中的几个考虑
- 减少冗余:把重复的数据拆到关联表中,降低不一致的风险。
- 建立索引:为经常用于查询的字段建立索引,可以明显提升检索速度,但索引过多也会拖慢写入。
- 备份与恢复:定期备份,并确认备份是可用的——没有验证过的备份,不能算备份。
- 权限控制:按角色分配读写权限,避免所有操作都使用最高权限的账号。
选型时看什么
主要看数据的结构和规模、读写压力、是否需要严格一致性,以及团队后续是否有相应的维护能力。选型不必追求最新,稳定、有长期支持、与现有系统兼容,往往比技术上的先进性更重要。
