信通院-内存数据库白皮书-2019.6-33页_5mb
报告摘要
内存数据库白皮书总结
核心内容
内存数据库是一种主要依靠内存存储数据的数据库管理系统,相较于传统基于磁盘的数据库,其在性能上具有显著优势。随着内存技术的发展,内存数据库在高并发、低时延的应用场景中发挥着越来越重要的作用。
主要观点
- 性能优势:内存数据库由于省去了磁盘I/O的开销,数据访问时延可达到微秒级别,单机QPS可达10万以上,配合用户态协议栈、内存大页等技术后,性能可进一步提升。
- 数据易失性挑战:当前内存数据库主要依赖DRAM,属于易失性存储介质,需额外考虑数据持久化方案,以保障数据可靠性。
- 技术演进趋势:未来内存数据库将与传统数据库混合使用,软硬件深度整合,协议创新提升一致性,以及与容器技术结合增强弹性扩展能力。
- 应用场景广泛:内存数据库适用于电商秒杀、视频直播、电信计费等对性能、并发、数据结构灵活性有高要求的场景。
关键信息
内存数据库的分类
-
键值对内存数据库
- 以键值对为主要存储结构,适合高并发、低时延的场景。
- 典型产品:Redis、Memcached、Aerospike。
- 优势:数据结构简单,扩展性强。
- 局限:不支持ACID事务,数据一致性较弱。
-
关系型内存数据库
- 基于关系模型,支持SQL语法和ACID事务,适合复杂数据模型和高一致性需求的场景。
- 典型产品:SAP HANA、Oracle TimesTen、VoltDB、MemSQL、SQLite、eXtremeDB。
- 优势:支持复杂查询和事务处理,适合实时计费等场景。
-
其他类型内存数据库
- 如图内存数据库RedisGraph等,适用于特定场景,但应用范围较小。
典型应用场景
-
电商秒杀
- 需要高并发、低时延的处理能力,通常使用键值对内存数据库作为缓冲层。
- 需要集群模式保障高可用性,防止系统雪崩。
-
视频直播
- 对实时数据结构和高并发处理有较高要求,键值对内存数据库能灵活支持用户信息、实时排行等数据结构。
- Redis的Hashes和Sorted Set结构是典型应用。
-
电信计费
- 需要处理海量数据和复杂的数据模型,关系型内存数据库更适合,如SAP HANA。
- 需要支持ACID事务,保障数据一致性。
选型建议
-
技术因素:
- 性能要求:高并发、低时延场景建议选择内存数据库。
- 一致性要求:强一致性需求可考虑关系型内存数据库或传统关系型数据库。
- SQL兼容性:需要复杂关联计算或SQL语法支持,建议使用关系型内存数据库。
- 数据容量与成本:可结合存储方案(如冷热数据分离)和硬件选型(如使用SSD或非易失性存储)进行综合考量。
-
非技术因素:
- 生态成熟度:包括工具、社区、商业支持等。
- 应用架构适配度:数据库架构是否与现有系统兼容。
- 团队适应度:开发与维护团队对数据库的熟悉程度和学习成本。
硬件选型建议
- 存储:优先选择大容量内存(如256GB或512GB),如需持久化,建议使用SSD或PCI-e存储。
- 网络:千兆网卡基本满足需求,若追求极致性能,可选用万兆网卡。
- CPU:X86架构适合大多数内存数据库产品,ARM架构成本较低但适配性有限。
技术演进趋势
- 混合存储模式:内存数据库与传统数据库结合使用,实现性能与成本的平衡。
- 软硬件深度整合:通过卸载协议栈、文件系统等到智能网卡或存储硬件,提升性能。
- 协议创新:Raft协议用于本地强一致性,CRDT用于跨数据中心的最终一致性。
- 容器技术融合:容器提供更高的资源利用率、快速部署和迁移能力,增强内存数据库的弹性扩展。
发展前景
随着非易失性存储器件(如NVM)的逐步商用,内存数据库将摆脱易失性瓶颈,实现更广泛的应用。未来内存数据库将在大数据、人工智能等场景中发挥更大作用,同时与传统数据库形成互补,成为数据库技术的重要发展方向。
参考文献
- Markets Research Future. In-Memory Database Market Research Report - Global Forecast to 2023.
- Gawlick, Dieter & Kinkade, David. Varieties of concurrency control in IMS/VS fast path.
- 武振宇. 内存数据库及其在实时计费系统中的应用.
- Levandoski J. Modern main-memory database systems.
- H. Garcia-Molina and K. Salem. Main memory database systems: an overview.
- The Forrester Wave™: In-Memory Databases, Q1 2017.
附件:缩略语
| 缩略语 | 英文 | 中文 |
|---|---|---|
| ACID | Atomicity, Consistency, Isolation, Durability | 原子性、一致性、隔离性、持久性 |
| CAP | Consistency, Availability, Partition tolerance | 一致性、可用性、分区容错性 |
| CPU | Central Processing Unit | 中央处理器 |
| CRDT | Conflict-Free Replicated Data Type | 无冲突复制数据类型 |
| DB | Data Base | 数据库 |
| DDR | Double Data Rate DRAM | 双倍速率同步动态随机存储器 |
| DRAM | Dynamic Random Access Memory | 动态随机存取存储器 |
| IOPS | Input/Output Operations Per Second | 每秒读写次数 |
| IP | Internet Protocol Address | 互联网协议地址 |
| KV | Key-Value | 键值对 |
| NAND SSD | NAND Solid State Drive | 基于闪存的固态存储 |
| NoSQL | Not Only Structured Query Language | 非结构化查询语言 |
| NVM | Non-volatile Memory | 非易失物理存储介质 |
| PM | Persistent Memory | 持久型内存 |
| SCM | Storage Class Memory | 存储级内存 |
| SQL | Structured Query Language | 结构化查询语言 |
| SSD | Solid State Drive | 固态存储 |
| TCP | Transmission Control Protocol | 传输控制协议 |
展开完整摘要
试读结束,高清完整版pdf/doc/ppt,请点下载