数据序列化与反序列化:原理、应用及二进制处理全指南 | 2025最新
序列化(Serialization)和反序列化(Deserialization)是数据处理中的两个核心概念,特别是在分布式系统和网络通信中尤为重要。
序列化(Serialization)和反序列化(Deserialization)是数据处理中的两个核心概念,特别是在分布式系统和网络通信中尤为重要。
在系统设计中,了解硬件资源限制、数据库性能指标和常见数据规模是至关重要的。以下是整理的关键参数和参考范围,涵盖数据规模、硬件配置、数据库性能等方面:
| 字符类型 | 编码方式 | 存储大小 | 备注 |
|---|---|---|---|
| 英文字符 | 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 |
说明:
VARCHAR(100) 字段在存储不同字符时的近似大小(包含长度标识)。| 数据类型 | 存储空间 | 示例 |
|---|---|---|
| CHAR(n) | 固定长度,不足补空格。英/中文均按定义的长度分配空间。 | CHAR(10) 英文=10B,中文=10B(实际存储内容可能更少,但空间固定) |
| VARCHAR(n) | 可变长度,按实际字符数+长度标识(通常 1-2 字节开销)。 | VARCHAR(10) 英文"Hi"=2B+1B,中文"你好"=6B+1B |
| TEXT | 可变长度,适合大文本(额外开销存储长度)。 | 英文长文本按实际字符数+开销 |
| INT | 通常 4 bytes(固定) | INT = 4B |
| BIGINT | 8 bytes | BIGINT = 8B |
| DATE/DATETIME | DATE=3B --> 4B, DATETIME=8B | DATETIME = 8B |
| 数据类型 | 数据大小范围 | 备注 |
|---|---|---|
| 单条用户数据(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 级 |


运维工程师需要掌握的知识体系非常广泛且不断演进,核心在于保障系统/服务的稳定性、安全性、效率和成本可控。以下是一个结构化的框架和表格,帮助你系统性地理解和拆分运维所需掌握的核心内容:
核心框架:四大能力域 + 两大支撑域
最近在看《段永平投资问答实录》这本书,正文第一页就说,投资实际上就是投公司,投公司的判断标准就是看懂商业模式和企业未来现金流的折旧(企业终值是企业未来现金流的一种)。
我当时就在想,这是什么?于是就有了这篇研究整理后的博文。
现金为王
企业未来现金流折现(Discounted Cash Flow, DCF)是一种评估企业或投资项目内在价值的核心方法。它的核心思想是:
一家公司的价值,等于它在未来所能产生的所有自由现金流的当前价值总和。
简单来说,就是“未来的钱,不如现在的钱值钱”。因此,我们需要把公司未来赚到的钱(现金流),按照一定的“折扣率”(折现率)折算回现在的价值,然后加总起来,这个总和就被认为是公司的内在价值或公允价值。