eXtremeDB是一款内存嵌入式数据库系统(IMDS),该数据库用于各种嵌入式系统和其它需要高性能、小尺寸、紧密存储、零内存分配或几种属性兼有的应用领域。eXtremeDB内存嵌入式实时数据库以其高性能、低开销、稳定可靠的极速实时数据管理能力在嵌入式数据管理领域及服务器实时数据管理领域独领风骚。
eXtremeDB的主要目标是为适用eXtremeDB的各种应用程序提供高性能。这些应用程序不同于工资单或库存等普通数据库商业应用程序。首先,基于eXtremeDB的应用程序运行在只有少量内存和缺少存储设备的廉价处理设备上。其次,即使在速度很慢的处理器上数据访问依然需要保持比较高的速度,简单查询和事务最多不超过几毫秒,与企业级数据库相比,这些设备上的数据存储量比较小,事务所持续的时间通常也非常短。此外,需要存储的数据可能是复杂的,实际上它差不多总是动态变化的。因此,当设计eXtremeDB内核时我们应遵循以下几项主要原则:
◆最小化支持持久数据所必须的资源——实质上就是将内存资源减到最小。对象都以很小的尺寸保存在数据库中——eXtremeDB引进的额外开销不但非常低,而且这些开销在应用程序中也是可控制的;另外,数据层提供了对对象数据的压缩。
◆保持极小的必要堆空间——在某些配置上eXtremeDB只需要不到1K的堆空间
◆维持极小的代码体积
◆通过紧密的集成持久存储和宿主应用程序语言消除额外的代码层。通常目标应用程序使用大量小规模的数据库操作而非大数据量的操作。这意味着通过指向对象的指针或引用来从对象中获得数据的操作必须非常迅速快捷,否则额外开销(例如发送一个消息的开销)会高得让人无法接受。eXtremeDB的数据存取方法使得对持久对象的引用能够和引用临时数据一样快速。
◆提供对动态数据结构的本地支持,例如变长字符串、链表和树。eXtremeDB通过以一种高效(快速)、安全(事务)、紧凑(内存)的方式来支持动态数据,从而 “扩展”了“C”语言。
1. 内存数据库,eXtremeDB将数据以程序直接使用的格式保存在主内存之中,不仅剔除了文件I/O的开销,也剔除了文件系统数据库所需的缓冲和Cache机制。其结果是每个交易一微秒甚至更少的极限速度,相比于类磁盘数据库而言,速度成百上千倍地提高。作为内存数据库,eXtremeDB不仅性能高,而且数据存储的效率也非常高。为了提高性能并方便程序使用,数据在eXtremeDB中不做任何压缩,100M的空间可以保存高达70M以上的有效数据,这是其他数据库所不可想象的。 2. 混合数据库,eXtremeDB不仅可以建立完全运行在主内存的内存数据库,更可以建立磁盘/内存混合介质的数据库。在eXtremeDB,我们把这种建立在磁盘、内存或磁盘+内存的运行模式称为eXtremeDB Fusion融合数据库。eXtremeDB Fusion兼顾数据管理的实时性与安全性要求,是实时数据管理的台阶性进步。 3. 嵌入式数据库,eXtremeDB内核以链接库的形式包含在应用程序之中,其开销只有50KB~130KB。无论在嵌入式系统还是在实时系统之中,eXtremeDB都天然地嵌入在应用程序之中,在最终用户毫不知情的情况下工作。eXtremeDB的这种天然嵌入性对实时数据管理至关重要:各个进程都直接访问eXtremeDB数据库,避免了进程间通信,从而剔除了进程间通信的开销和不确定性。同时, eXtremeDB独特的数据格式方便程序直接使用的,剔除了数据复制及数据翻译的开销,缩短了应用程序的代码执行路径。 4. 由应用定制的API,应用程序对eXtremeDB数据库的操作接口是根据应用数据库设计而自动产生,不仅提升了性能,也剔除了通用接口所必不可少的动态内存分配,从而提高了应用系统的可靠性。定制过程简单方便,由语言定制eXtremeDB数据库中的表格、字段、数据类型、事件触发、访问方法等应用特征,通过eXtremeDB预编译器自动产生访问该数据库的C/C++ API接口。 5. 可预测的数据管理 eXtremeDB独特的体系结构,保证了数据管理的可预测性。eXtremeDB不仅更快、更小,而且更确定。在80双核CPU的服务器上,eXtremeDB在1TB内存里保存15B条记录;无论记录数多少,eXtremeDB可以在八十分之一微秒的时间内提取一条记录。2.5 Firebird嵌入服务器版(Embedded Server) 从Interbase开源衍生出的Firebird,充满了勃勃生机。虽然它的体积比前辈Interbase缩小了几十倍,但功能并无阉割。为了体现Firebird短小精悍的特色,开发小组在增加了超级服务器版本之后,又增加了嵌入版本,版本为2.0。
eXtremeDB内存式实时数据库是专为诸如网路通信设备、自动化产品、控制系统、医疗仪器、航空航天、机顶盒、手机及PDA等各行各业管理实时数据而设计的一种数据管理技术。自问世以来,eXtremeDB实时数据库得到了业界的大力欢迎,在包括波音公司的Apache直升机的Longbow雷达系统、F5网路公司的路由器、中国华东电网及华电集团的电力系统、华北电力大学、电力科学研究院、创建伟业公司的呼叫中心、Genesis Microchip/Philipps/DirectTV的机顶盒、Panasonic和Simens的手机,JVC便携式播放器等各个领域得到了广泛的应用。
eXtremeDB实时数据库成功帮助中国监测电网状态
华东成千上万的企业及家庭用户今后将拥有更加可靠的电力供应,因为电网中将有一种新型监测系统对电力系统的运行情况进行监测,而这个系统中的实时数据管理将由McObject公司发布的eXtremeDB内存式实时数据库来完成。这种新型的监测系统就是由电力科学研究院研制的基于PMU的发电厂就地监测系统。
这种监测系统工作在发电厂,接收PMU采集的实时数据,对电网状态、尤其是关系电网稳定性的参数进行实时监视。这些实时数据首先保存在本地化eXtremeDB实时数据库中,然后定时保存进历史数据库,以提供安全可靠的电力传输。这种新型监测系统接收PMU内部数据的实时采集速度高达每秒100条。
“在大型电网中,系统故障蔓延速度非常之快,旧的安全设备根本来不及监测,更勿论阻止。而新型基于PMU的监测系统速度大大地加快了,向操作员提前发出危险警报,让操作员有充分的时间排除故障。这样就大大提高了电网的安全性。”电科院资深工程师许勇先生说道。
在这种新型监测系统中,eXtremeDB运行于Red Hat Linux 9之上。