Skip to main content

3 posts tagged with "系统设计"

View All Tags

系统设计中的软硬件限制与性能指标

· 5 min read

在系统设计中,了解硬件资源限制、数据库性能指标和常见数据规模是至关重要的。以下是整理的关键参数和参考范围,涵盖数据规模、硬件配置、数据库性能等方面:

一、数据规模参考

1. 中英文字符的存储大小

字符类型编码方式存储大小备注
英文字符ASCII 编码1 个字符 = 1 byte适用于拉丁字母、数字和基本符号
UTF-8 编码1 个字符 = 1 byte兼容 ASCII,英文仍为单字节
中文字符UTF-8 编码1 个字符 = 3 bytes常用汉字占 3 字节,极少数生僻字可能占 4 字节
GBK/GB2312 编码1 个字符 = 2 bytes仅支持简体中文,非 Unicode 标准
示例计算VARCHAR(100) UTF-8
英文 100 字100 * 1B + 长度标识101B
中文 100 字100 * 3B + 长度标识303B

说明:

  1. 英文字符 在 ASCII 和 UTF-8 编码下均占 1 字节。
  2. 中文字符 在 UTF-8 编码下通常占 3 字节,而在 GBK/GB2312 编码下占 2 字节。
  3. 示例计算 展示了 VARCHAR(100) 字段在存储不同字符时的近似大小(包含长度标识)。

2. 数据库常见数据类型大小

数据类型存储空间示例
CHAR(n)固定长度,不足补空格。英/中文均按定义的长度分配空间。CHAR(10)  英文=10B,中文=10B(实际存储内容可能更少,但空间固定)
VARCHAR(n)可变长度,按实际字符数+长度标识(通常 1-2 字节开销)。VARCHAR(10)  英文"Hi"=2B+1B,中文"你好"=6B+1B
TEXT可变长度,适合大文本(额外开销存储长度)。英文长文本按实际字符数+开销
INT通常 4 bytes(固定)INT = 4B
BIGINT8 bytesBIGINT = 8B
DATE/DATETIMEDATE=3B --> 4B, DATETIME=8BDATETIME = 8B

3. 文件/数据大小

数据类型数据大小范围备注
单条用户数据(JSON 记录)1 KB - 10 KB
高清图片1 MB - 5 MB
短视频(1 分钟)10 MB - 100 MB
长视频(1080p,1 小时)1 GB - 3 GB
数据库单表容量限制
- MySQL/PostgreSQL单表建议 ≤ 500GB性能下降临界点
- 分布式数据库(如 Cassandra)单表可支持 PB 级