实时数据管理的挑战和eXtremeDB实时数据库

来源:互联网 发布:软件外包专业怎么样 编辑:程序博客网 时间:2024/05/16 03:13

提要:

实时系统之数据特征和实时数据管理系统

综合多年实时编程、数据管理、数据库剪裁经验, McObject全球率先推出全内存式实时数据库

面向实时数据库管理的eXtremeDB实时数据库

 

今天,实时系统中需要处理的实时系统正在变得前所未有地复杂;而一项调查表明有80%的实时系统涉及到实时数据的管理。这些实时数据,与常规数据不同,有这样的特点:

l        结构化非表格数据;

l        数据间关联性强;

l        突发性强;

l        实时性强,过期后数据失效;

在实时系统中,这些数据的管理要求:

l        保存快

l        提取快

l        存取空间效率高

l        存取确定性强

 

上述四条是实时数据管理的挑战。单纯地看待其中的任何一条,都比较简单;如果要同时满足四条要求,就会变得复杂而微妙。应对这四条挑战,软件工程师和实时数据库厂家提出了各种各样的解决方法。这些解决方法,总的可以归结为四个问题:

l        保存方法

l        接口方法

l        访问方法

l        设计方法

保存在内存中、还是硬盘中;无格式保存在内存中、还是文件格式保存在内存中,是数据管理速度的最大因素。内存无格式保存方法的速度要比内存文件格式快几十倍到百倍、比磁盘保存要快数百倍。

对任何数据库采用统一的静态接口、还是根据数据库的设计使用定制的接口,即影响到数据管理的速度,也影响数据管理的性能。接口方法通常和设计方法是关联在一起的,静态接口通常也没有高级语言的设计方法,导致数据管理的时候要频繁地进行动态内存分配和回收等一些列的问题,使得数据库的性能波动性很大

常规数据库通过Client/Server的方法访问数据库,通过Server对数据进行直接操作。这种方法在实时数据管理的时候有很大的问题。通过Cliend/Server的架构,数据管理的时候会引入进程间通信的不确定性。尤其是网络化的Client/Server结构,不仅引入进程间通信的不确定性,也引入了网络的不确定性。通常,由常规数据库剪裁而来的实时数据管理系统都会采用这种Client/Server架构。比较而言,采用内联库的方法则剔除了进程间通信的不定性。

访问方法中还需特别留意对数据库的访问是否是在事务的上下文中进行。在事务的上下文中访问数据库为多用户使用数据库、错误控制、访问数据库的优先顺序等一些列问题提供了保障。

设计方法对实时数据管理性能的影响相当微妙。如果实时数据库不提供设计方法,数据管理的方法将是全静态的。数据库的速度、稳定性、效率都要降低。只有提供数据库设计工具的数据管理系统才能既方便开发、又保障实时效果。

对于上述的一些列问题,由美国McObject公司综合三十多年在实时数据管理、实时编程、数据库剪裁方面的经验而为实时数据管理特别推出的实时数据管理系统eXtremeDB作出了最有利于满足实时数据管理要求的选择:

不同于其它实时数据库,eXtremeDB不是通过剪裁常规数据库而来,而是为满足实时数据管理需要从头特别设计,从而全面满足实时数据管理的各种要求;

eXtremeDB是全世界第一款全内存式实时数据库,数据以非文件格式保存在主内存中,剔除了文件I/O操作、Buffer/Cache导致的额外开销,保障了数据库的速度可以在常规机器上达到微秒一级;

eXtremeDB的接口是根据用户的数据库设计而动态生成的,保障了eXtremeDB的时间、空间效率提升到极限水平;

eXtremeDB提供高级语言的数据库设计方法,使之应用方便、性能稳定;

eXtremeDB的访问方法通过内联库进行,剔除了进程间通信所导致的不确定性;eXtremeDB对数据的访问完全在符合ACID规范的事务上下文中进行,保障了多用户管理实时数据的安全性、实时性。

更进一步,具体地说,eXtremeDB具有下列特点:

eXtremeDB满足了您对实时数据库的一切期待:复杂数据管理能力、灵活的索引、先进的交易管理、直观易用、卓越的性能、多平台支持、超小的尺寸、完善的功能… …

       复杂数据管理:eXtremeDB不仅可以管理诸如整数、浮点数、字符、定维数组等常用类型数据,更可管理Blob数据、矢量数据等。并且,对所管理的数据还可以提供数据历史。

       灵活的索引:eXtremeDB支持多种索引,包括树索引、HashOIDAutoID等等。树索引还可以是唯一树、非唯一树、自愿树索引;而每个树索引既可以对单一字段进行,也可以对多字段进行。

先进的交易管理:eXtremeDB符合ACID标准的交易管理器为eXtremeDB提供高效的交易管理。eXtremeDB的读、写、更新、查找等各种操作都在原子化的交易中进行,保证了实时数据管理的并行行、安全性、可靠性和数据一致性等各种要求。同时,交易支持优先级、时间触发,使得数据管理的实时性得到进一步强化。

直观易用:eXtremeDB提供数据库定义语言,让用户安需求定制自己的数据库设计、索引方法、事件支持、访问接口等……;对于eXtremeDB的各种功能,开发环境里都提供了演示代码。使用eXtremeDB,您会觉得赏心悦目。

卓越的性能:在常见的硬件环境下,eXtremeDB每个交易执行的时间在微秒一级。能够达到这样高的性能,是因为eXtremeDB根据应用定制的API、完全工作在主内存中,不基于文件系统,剔除了诸如磁盘访问、文件I/O操作、缓存同步等开销。看看这一典型硬件条件下的测试结果,您就会映像深刻:

  Insert ……………………100000 objects: 315 milliseconds,(3 microsecs/object)

  Creating tree ………………100000 objects: 271 milliseconds (2 microsecs/object)

  Hash search ………………100000 searches: 63 milliseconds (0 microsecs/search)

  Tree search …………………100000 searches: 271 milliseconds (2 microsecs/search)

  Sequential …………………100000 searches: 30 milliseconds (0 microsecs/search)

  Removing the tree ………2 milliseconds

  Search/delete ………………100000 objects: 321 milliseconds (3 microsecs/object)

       CPUPentium 4RAMDDR 400

多平台支持eXtremeDB是一款真正的多平台实时数据管理系统在各种软硬件平台上都可以工作包括从服务器到嵌入式操作系统在内的各种软件平台以至于无操作系统的平台x86PowerPCMIPSSHARMZilog等各种硬件平台、GCCVCMetroWorksTornado等各种编译器。并且,对于任何平台,eXtremeDBAPI接口都是相同的,保证了应用程序的跨平台性。

完善的功能:eXtremeDB还是一个系列化产品,为您提供实时数据管理所稍有的完善功能,包括SQLeXtremeSQL)支持、交易日志(eXtremeLog)支持、高可用性(eXtremeHA)支持等等。为了方便用户管理、查看实效性很强的实时时数据,eXtremeDB提供全内存式的Web服务器(eXtremeWS),从而形成完整的解决方案。

 

eXtremeDB内存式实时数据库已经将数据管理的时间和空间边界推向极限,以其无与伦比的实时性、嵌入性、稳定性、可靠性得到的从航空航天、自动化与控制、金融证卷、网络通信、交通运输、铁道工程、医疗仪器、信息家电以致消费类电子广大用户的普遍信任。