论坛风格切换
您好,欢迎光临本站!   登录 注册新用户
  • 2600阅读
  • 0回复

[其他]eXtremeDB嵌入式数据库特性面面观: [复制链接]

上一主题 下一主题
 
发帖
7
黑豆
35
威望
35
贡献值
0
交易币
0
红豆
0
只看楼主 倒序阅读 0 发表于: 2014-08-01

核心的内存数据库系统(IMDS)设计
作为一款内存数据库系统 (IMDS),eXtremeDB金融版通过消除磁盘和文件I/O、缓存管理以及其他造成延迟的因素,实现了突破性的性能。由于直接使用主内存中的数据,eXtremeDB能够有效避免磁盘数据库管理系统(DBMS)固有的数据复制和传输开销。用户可以在共享内存中创建数据库,以支持多个进程的并发访问。

进程内(嵌入式)数据库架构
eXtremeDB金融版能够完全在应用程序进程中运行,消除了客户端和服务器模块之间的进程间通信(IPC)。相比之下,IPC消息是关系DBMS以及一些基于客户端/服务器设计的内存和面向列的数据库系统造成延迟的固有原因。

执行路径非常短
eXtremeDB金融版的代码路径非常短:核心数据库系统约150K的内存开销体现了McObject对消除微小的延迟原因锲而不舍的专注。通过减少每个数据库操作所需的CPU周期数并且提高操作所需代码位于一级/二级CPU缓存的可能性,这种短路径的特点能够有效加快代码的执行。eXtremeDB通常比用于获得实时和历史市场数据的主流数据库快两到三倍。

可选的磁盘和/或混合存储
除了核心的eXtremeDB内存数据存储之外,eXtremeDB还提供了混合存储:数据库架构中的一个简单的表示法,利用灵活的缓存技术,可以将特定记录类型指定为磁盘存储。磁盘数据库大小只受可用的文件系统空间限制。将内存存储与持续性存储相结合非常适合在一个数据库架构中处理实时交易数据和历史数据

适用于时间序列数据的纵列布局
传统DBMS将数据按行存储到一级/二级缓存中进行处理。但是,对于本质上具有纵列关系的金融数据(例如交易数据),采用基于列的布局能够更有效地进行处理。eXtremeDB金融版利用纵列布局存储时间序列数据,而利用基于行的传统布局存储"普通"数据。由于数据库系统能够最充分地利用一级/二级缓存的速度,避免从主内存成本高昂地(在性能方面)读取数据,因此能够大幅提升性能。

高可用性
您是否致力于提供99.999%甚至更高的正常运行时间?即使出现硬件或软件故障,eXtremeDB金融版可选的高可用性特性仍然可以确保数据库连续运行。利用应用程序主导的故障切换,eXtremeDB金融版HA支持同步复制(2-safe)和异步复制(1-safe)。

集群
eXtremeDB金融版的集群功能可以大幅增加可用的净处理能力,降低系统扩展成本(通过使用低成本的"商用"服务器)并且最大限度地提高可扩展性和可靠性。在集群部署中,所有节点都是一个"主数据库",然而通过定义要在特定节点上管理的数据集,而不是在集群范围内进行复制,使用本地表选项可加快处理。
eXtremeDB金融版的独特之处在于,它是首款提供嵌入式架构的集群数据库系统:该数据库系统能够在每个节点的应用程序进程中运行。这种设计消除了在数据库实例之间的进程间通信(IPC)开销,从而实现性能提升。此外,由于能够提高可靠性并且大幅简化部署和维护,它还可以降低复杂性。

基于GUI的性能监视和API
在微调系统以降低延迟时,eXtremeDB金融版的图形性能监视器可展示数据库或应用程序在交易吞吐量、内存占用量和其他关键因素的变化效果。此功能以API的形式提供可为应用程序加入监控功能。最终用户可以跟踪多项指标。开发人员能够提高开发和定制方面的效率,并且能够在自己产品品牌下提供集成的性能监控。

ACID事务
eXtremeDB金融版事务采用ACID(原子性、一致性、独立性和持久性)原则,通过确保更新全部完成或者将数据库回滚到事务前的状态来保证数据完整性。此外,该特性还支持开发人员对事务划分优先级。

64位支持
eXtremeDB金融版提供64位支持,其内存数据库可扩展到TB级规模,并且支持更大规模的磁盘数据库。在一个已公布的基准测试中,eXtremeDB内存数据库增长到1.17 TB(155.4亿行),而且没有明显的进一步增长限制。在数据库大小提高的同时性能始终保持稳定,表现出接近线性的可扩展性。大规模内存数据库系统的速度有多快?对完全填充的数据库使用简单的SELECT语句,利用本机应用程序编程接口(API)eXtremeDB每秒可以处理8,778万个查询事务;利用SQL ODBC API每秒可处理2,814万个事务。

多版本并发控制(MVCC)
在可扩展性方面的另一个重要工具是eXtremeDB金融版可选的多版本并发控制(MVCC)事务管理器,它替代了最初的MURSIW(多读单写)事务管理器"悲观"模型。MVCC能够显著提高可扩展性和性能,尤其适用于采用a)磁盘或混合(内存和磁盘)数据库存储的应用程序;b)多个任务或进程可以并发修改数据库(而之前的技术采用只读的方法);c)适用于多核系统。

事务日志
eXtremeDB金融版的事务日志通过将数据库更改附加到持续性介质的事务日志上来增强内存数据库的可恢复性。系统设计人员可以将日志功能设置为不同的事务持久性级别,从而在系统性能和交易无法恢复的风险之间做出明智的权衡。

开放式复制(eXtremeDB数据中转技术)
McObject的eXtremeDB数据中转技术可帮助在基于eXtremeDB金融版的实时系统和企业级DBMS等外部系统之间实现无缝、细粒度的数据复制。支持采用同步或异步方式复制数据。

缓存优先级
由于允许应用程序影响特定页面存储在缓存中的时间,采用持续性存储的eXtremeDB金融版可以改善典型的最近最少使用(LRU)缓存策略,最大限度地降低时间敏感型任务中所用对象的检索开销。

事件通知
与企业级数据库管理系统的触发器类似,利用该特性eXtremeDB金融版可以在数据库发生某种"感兴趣"的变化时通知应用程序。该特性支持同步和异步两种模式。

基于确定性规则的SQL优化器
基于成本的SQL优化器负责收集元数据(例如行数)、生成统计信息(例如索引柱状图)并且分析可能的执行计划,使这些优化器需要占用大量CPU资源而且难以预测。而eXtremeDB金融版中的SQL使用的基于规则的优化器非常高效而且可预测。

安全特性
eXtremeDB金融版可有效保护您的数据库。数据库页面级别的循环冗余检验(CRC)能够检测是否对存储的数据进行了未经授权的修改,RC4加密技术可利用用户提供的密码防止非法访问或篡改。

二进制架构演进
eXtremeDB可以将数据库保存为二进制映像,然后利用改变的架构进行恢复。这样能够快速实现设计变化。

远程过程调用(RPC)
从根本上来说,eXtremeDB是一款嵌入式数据库管理系统,但是它提供了RPC库和相关工具可开发特定于应用程序的客户端/服务器数据库接口。此外,eXtremeDB金融版SQL库能够将远程应用程序连接到中央数据库,为本地和远程数据库的标准连接提供了ODBC驱动程序。利用该产品的集群功能(将数据库分散到多个网络节点上),无需为节点建立到中央数据库的远程连接。

数据库条带化/镜像
eXtremeDB金融版的持续性存储可以利用多硬盘(固态硬盘或spinning磁盘)配置,并且支持与RAID类似的数据条带化和数据镜像。如果使用两块或者更多硬盘,通过并行访问数据,条带化可以提升处理性能。通过将数据复制到单独的硬盘上(如果硬盘A发生故障,则使用硬盘B上完全相同的记录),镜像可以提供持续的备份。

C/C++、SQL、Java和C# API
eXtremeDB金融版可以为开发人员提供多种API。为了实现最低延迟,应用程序通常利用快速的本机、引导性C/C++ API访问eXtremeDB。该产品的SQL实施方案包括实现互操作性的ODBC API,更简洁、易用的专有API以及3类JDBC 4驱动程序。eXtremeDB金融版的Java本机接口(JNI)和C#本机接口可提供以这些语言编写的速度最快的DBMS解决方案;开发人员可以在访问eXtremeDB的同时,全面支持与简单的Java和C#对象配合使用。

可预防数据库损坏
eXtremeDB金融版采用类型安全的本机C/C++ API。在编译时能够捕捉到数据类型方面的错误,从而消除数据库损坏的可能性。此外,这款数据库运行时可实现多种验证陷阱和一致性检查。在对应用程序进行调试之后,可以使用优化版本的eXtremeDB金融版运行时,删除陷阱和内部检查,归还宝贵的时钟周期。此外,内存数据库的备份和恢复特性还包含循环冗余检验功能,能够确保保存时完整地写入数据库,没有造成任何损坏。

多种数据库索引
eXtremeDB可提供多种数据库索引以提升应用程序性能并且最大限度地降低存储开销。其中包括标准B-树、KD-树处理多维数据和示例查询(QBE)、自定义索引和哈希索引等。对于内存数据库,索引没有存储重复的数据,只包含对数据的引用,因此能够保持最低的内存需求。

支持多种数据类型
eXtremeDB金融版支持多种数据类型,包括结构体、数组、向量和BLOB,可实现最高的编码效率。能够以与应用程序使用数据相同的形式或者作为标准化的关系存储数据。

基于矢量的统计函数
eXtremeDB金融版为金融计算提供了丰富的基于矢量的统计函数。这些函数可以在一个或多个数据顺序(通常为交易数据等时间序列数据)上执行,通过最大限度地提高一级/二级缓存的使用率来降低延迟。通过组织函数形成顺序的运算流水线来执行统计/定量分析。

可获得源代码
可获得源代码向使用eXtremeDB金融版的开发人员提供了最高的透明度。

成熟可靠的解决方案
十多年来,eXtremeDB在实时嵌入式系统(航空航天和工业控制等)和金融技术等最苛刻的应用领域成绩斐然。数百家企业使用McObject的数据库管理系统,并且eXtremeDB已被部署于数百万设备中。

无与伦比的开发人员支持
McObject技术支持工程师是数据库和实时应用程序领域的专家,能够详细解答客户提出的疑问。客户会得到及时、详尽的解答,以及持续的跟进以加快开发速度并且充分利用eXtremeDB解决方案。
快速回复
限100 字节
 
上一个 下一个