- 1 数据库概述
- 1.1 DBMS 简史
- 1.2 数据库理论
- 1.3 事务 Transaction
- 1.4 SQL
- 1.5 数据库接口
- 本章参考
- 2 Relational 关系数据库
- 2.1 关系理论
- 2.2 Oracle
- 2.5 Microsoft SQL Server
- 2.6 DB2
- RDBS 比较
- 本章参考
- 3 NoSQL 非关系数据库
- 3.1 NoSQL 分类
- 3.2 键值 key-value 数据库
- 3.3 列存储数据库
- 3.4 图形数据库
- 本章参考
- 4 NewSQL
- 4.1 NewSQL 分类
- 4.2 分布式数据库 Distributed
- 本章参考
- 5 时序数据库 TSDB
- 5.1 简介
- 5.2 时序数据库比较
- 本章参考
- 6 SQL 引擎
- 6.1 SQL 引擎分类
- 6.2 SQL On Hadoop
- 本章参考
- 7 其它数据库
- 7.1 内存数据库 In-memory
- 7.2 嵌入式数据库 Embed
- 7.3 搜索引擎
- 本章参考
- 8 各种数据库分析比较
- 8.1 数据库排行 db-engines
- 8.2 数据库技术选型
- 8.3 DB 性能比较
- 8.4 国产数据库产品列表
- 8.5 DB 常用 SQL 比较
- 本章参考
- 9 SQL 调优
- 9.1 SQL JOIN
- 9.2 SQL 执行流程
- 10 数据库大型应用实例
- 10.1 负载均衡技术
- 10.2 数据库的高可用 HA
- 10.3 数据库的读写分离
- 10.4 数据库拆分(分布式)
- 10.5 跨库查询
- 本章参考
- 参考资料
- 附录
7.1 内存数据库 In-memory
内存数据库,顾名思义就是将数据放在内存中直接操作的数据库。相对于 磁盘 ,内存的数据读写速度要高出几个数量级,将数据保存在内存中相比从磁盘上访问能够极大地提高应用的性能。
7.1.1 简介
内存数据库抛弃了磁盘数据管理的传统方式,基于全部数据都在内存中重新设计了 体系结构 ,并且在 数据缓存 、快速算法、并行操作方面也进行了相应的改进,所以 数据处理 速度比 传统数据库 的数据处理速度要快很多,一般都在 10 倍以上。内存数据库的最大特点是其“主拷贝”或“工作版本”常驻内存,即活动 事务 只与实时内存数据库的内存拷贝打交道。
定义:设有 数据库系统 DBS,DB 为 DBS 中的数据库,DBM(t) 为在时刻 t,DB 在内存的数据集,DBM(t) 属于 DB。TS 为 DBS 中所有可能的 事务 构成的集合。AT(t) 为在时刻 t 处于活动状态的 事务 集,AT(t) 属于 TS。Dt(T) 为 事务 T 在时刻 t 所操作的数据集,
Dt(T) 属于 DB。若在任意时刻 t,均有:
任意 T 属于 AT(t) Dt(T) 属于 DBM(t) 成立,则称 DBS 为一个内存 数据库系统 ,简称为 MMDBS;DB 为一个内存数据库,简称为 MMDB。
常见的例子有 MySQL 的 MEMORY 存储引擎、 eXtremeDB 、TT、 FastDB 、 SQLite 、Microsoft SQL Server Compact 等
内存数据库从范型上可以分为关系型内存数据库和键值型内存数据库。在实际应用中内存数据库主要是配合 oracle 或 mysql 等大型关系数据库使 用,关注性能,作用类似于缓存,并不注重数据完整性和数据一致性。基于键值型的内存数据库比关系型更加易于使用,性能和可扩展性更好,因此在应用上比关系 型的内存数据库使用更多。
7.1.2 案例
需求实例 :电信计费系统中的二次批价和实时累账。二次批价是关于套餐优惠计费,实时累账时计算月初到昨天的话费统计额。
设计方案 :数据划分,将一部分常用数据放在内存供查询,另一部持久化存储数据放在磁盘。如用户基本信息,套餐信息,实时话费统计信息放在内存中;(此方案明显优于共享内存,接口可标准化,可扩展)
内存与磁盘的同步方式:
- 磁盘到内存的同步:增量表,程序先查增量表,有则更新内存;否则查内存
- 内存到磁盘的同步:磁盘此时是内存数据的备份。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论