项目中接触到内存数据库,简单学习一下。
ALTIBASE 数据库完美结合了DRDBMS 和 MMDBMS的特性,并提出了一个新概念---Hybrid DBMS,为需要满足高速处理大量数据的用户提供了有效的解决方案。
Hybrid DBMS把需要高性能处理的热数据存储在内存,将仅需要保存的大容量历史数据存储在磁盘,将数据差别化处理的同时,又提供一个统一的数据库管理系统中集中管理这些数据。而且还可以根据用户需求选择只使用内存数据库、只使用磁盘数据库、内存数据库和磁盘数据库混合使用等使用模式。
ALTIBASE 提供高性能、容错能力和事务管理的方便性,特别是在通信、网上银行、证券交易、实时应用和嵌入式系统领域。ALTIBASE能够大限度的发挥数据库服务系统的潜力, 增强数据服务器的处理能力。
基本架构:
混合模式
ALTIBASE数据库的体系架构适用于客户端/服务器架构。客户端-服务器架构非常适合一般的应用。应用程序通过各种通信方法连接到服务器。 ALTIBASE 数据库整个体系结构主要由三部分构成:
服务器部分:组织数据储存的管理器和查询语句处理
客户端库: 用于实施应用程序
通信模块: 用于服务器和客户端之间的通信
ALTIBASE 数据库的体系结构如下图所示:
多线程结构的服务器消耗较少的系统资源,而且线程之间的切换成本也低得多。Altibase服务器具有多线程结构的优点。Altibase由提供数据库服务器基本功能的系统线程和执行数据库应用程序发出的数据库操作的服务线程组成。服务线程池负责管理服务线程。这种结构能通过小化系统资源的使用提供系统可扩展性和可用性。服务器实例的线程结构如下:
主线程
创建/退出所有线程,并管理它创建的线程。
服务守护线程
当客户端要求连接时,该线程连接客户端与服务线程池中的一个等待状态的服务线程。
检查点线程
为了减少恢复操作中的工作量,该线程周期性地或不定时地将当前数据映射到磁盘数据文件中并删除或移动已反映的日志文件。
对话管理线程
检查客户端/服务器之间的通信对话状态。
垃圾回收线程
在MVCC(多版本并发控制)中,可能对记录产生不必要的数据。该线程重新规划和优化这些数据占据的内存空间,从而大提高系统效率。
日志清理线程
管理数据库中所有事务产生的日志并将缓存入日志缓存区的日志数据存储到日志硬盘。备份日志文件在系统故障时用来恢复数据库。
内存结构如下: