eXtremeDB为最有创意的设备管理实时数据
产品包括:eXtremeDB,eXtremeSQL,eXtremeHA,eXtremeLog.eXtremeWeb.
随着嵌入式系统的不断发展,实时嵌入式系统也变得愈加复杂。许多开发商将商业化应用软件用于他们的设计当中,以期望利用高性能,高可靠性的系统来使他们在最短的时间内开发出卓越的产品。McOject的eXtremeDBTM在工业嵌入式数据库设备中能够为您提供很强的实时性能。McObject这一崭新的数据管理技术大大满足了智能化设备管理海量实时数据的需求。有嵌入式数据库以及实时操作系统的专家共同创建的McObject公司能使您的智能化设备更加富有创意。ExtremeDB已经在机顶盒,电信网关,消费性电子产品等领域得到了广泛的应用,并得到业界人士的一致认可。而目前一般的商业化实时数据库应用软件根本无法满足以上的众多要求。它不是从企业应用型数据库剪裁而来的,而是由McObject专家从零开始从头设计而来的。EXtremeDB无论在嵌入式编程方面还是在系统开发方面都能在资源紧凑的条件下运行,并且提供可靠的性能及易开发的环境。
数据管理:
随着嵌入式设备在通信间的日益普遍,共享信息数据也变得越来越频繁。诸如传感器数据,路由平台,配置及采集数据,通信目录等都需要共享关系型数据。显然,数据库设备必须提供高可靠性,易维护性的数据解决方案。当然自行开发的数据也很难这样的高要求。选择一可靠的商业数据库与其性价比,口碑都密切相关。许多开发商们对其采用的可靠的商用数据库颇为满意———为他们在较短的时间内开发出了卓越的产品,而且译码稳定易读。
运行环境:
■频繁的交易 ■尺寸超小
■支持ACID众多工具的交易 ■基于直接数据路径的内存
■支持多种数据类型 ■与众多RTOS相兼容
■直观易学易用的API ■自测错误
■易调用函数 ■灵活高效的数据查询
■译码稳定
面向开发:
McObject公司提供源码,因此eXtremeDB不仅能够满足您以上的众多要求,还可以您自己控制开发环境。普通数据库软件需要在开发商自行编写译码,而这些译码通常与API关系不大。有些商业数据库使建立在SQL之上的------SQL使商业应用数据库结构,其开销庞大,而这从根本上不能满足高性能嵌入式软件的需要。EXtremeDB由开发商和用户共同开发。EXtremeDB的设计完全符合用户的需求并且它在性能,稳定性和可靠性方面达到最新一级。
运行环境:
纯内存式eXtremeDB性能无比强壮,直观管理数据。 以应用程序的形式存储管理数据,删除了诸如缓存,翻译之类的高额开销,读写操作都在微妙一级。它还支持多个执行进程,支持ACID工具的交易,保证交易数据的完整性,一致性。EXtremeDB提供2个特有的API. 一为指针移动API ,以开始和结束数据库通信这样的普通操作提供标准的函数库。二为管理数据的API。对于运行系统来说,它就可以保证更加可靠的译码———应用程序建立时,编译器就能测试出数据和调用时的众多的错误。这就使得eXtremeBD运行更加稳定。
开发环境:
作为开发商当然希望能够在最短的时间内开发出易读稳定高效的译码。当eXtremeDB与有实时性需要的应用软件相集成时,开发商就能够更加自主地控制开发环境。与第三方应用软件相集成通常指可以学习和应用程序不完全一样API。面向开发的eXtremeDB API确保了在API中每个数据库映射出被处理数据的数据类型。在程序调试方面,eXtrmeBD利用各种陷阱测试程序错误而在在优化程序的实时性方面,您可根据需要有选择的禁用这项功能。事实上,eXtremeDB不仅紧凑高效,而且支持各种数据类型,包括结构,矢量及BLOB。此外,它的查询功能也非常强大,包括HASH索引提供完全的匹配搜索,B-tree索引进行模式匹配搜索,范围读取检索和目标辨识直接访问。索引除了存储数据库外,还包括单一的数据参考,从而使内存要求降到最低。
拓展:
在eXtremeDB中,用户可以先进行数据定义,然后在由它通过目标编译器从数据定义中生成API。其有点如下:
面向应用程序优化,API易学易用
易写易读的易维护的译码
编译使可以删除译码错误
实例:数据库中API在记录中重新输入值的实例:
实例:
The following is a (simple) class and an example of the
API to put a new value into a record in the database:
class Measurement{
string measure;
time timestamp;
unique tree
};
Measurement_measure_put(&m, meas);
Measurement_timestamp_put(&m, value);
累进误差测试及连续校验:
在应用程序通过失败交易或目标对象输入运行程序时,通过默认eXtremeDB启用重要否认功能阻止程序的执行,。在通常情况之下,应用程序的开发商就可以中断交易,并通过检查命令栈来查找失败原因。EXtremeDB支持众多校检陷阱,连续查找功能。当然,运行程序需要额外的CPU资源。然而,如果应用程序通过程序调试并且通过众多查错测试。开发商就可以生成通过删除陷阱和内部测试来重新调整时钟周期生成最优eXtremeDB运行程序。
eXtremeDB产品包括:
eXtremeDB Standrd Editon(标准版):
通过多任务和多线程支持局部存储器或共享存储器;
eXtremeHA Edition(高可用性版本)
建立在高时效性的二级执行协议之上,保证了主数据库和副数据库之间的一致性。在独立的硬件条件下,通过标准或外围通信协议完全支持多个同步数据库。
eXtremeTransactionLog(交易日志版本):
eXtremeDB新增稳定的eXtremeDB交易日志。在交易日志下,文档信息的改变都被记录到交易日志里。因此。当系统软硬件发生故障eXtremeDB运行程序可以借助它来恢复数据库。
eXtremeWS(Web Server):
eXtremeWS与eXtremeDB无缝集成,使您可以通过Web的方式访问,使用数据库。
eXtremeDB伸缩性非常强,数据管理的具体指标如下:
数据库指标 数据类型
每个数据库最多记录数:2,147,483,647 1,2,4,8有符号/无符号整数
最多索引:32,767 日期,时间
每个数据库中最多最多表格数:32,767 浮点,双字节
表格中最多字段数或矢量数:32,767 字符型(定长)
每个索引最多字段数:32,767 字符串(变长)
矢量中最多单元数:32,767 定尺寸数组
内存需求:最小60K 变长矢量
同时最多打开数据库数:16 结构(任何程度的嵌入)
每数据库最多同时连接数:64 BLOB
自动索引(递增)
用户定义识别符及指示
作为内存式实时数据库,eXtremeDB有良好的跨平台特性。在多种操作系统软件平台、处理器硬件平台上,eXtremeDB都能已超小的时间、空间开销为您管理实时数据。包括-
支持数据类型:
■ 1, 2, 4, 8有符号/无符号整数
■ enum
■ 浮点
■ 日期时间
■ char字符(固定长度), string字符 (variable length)
■ 固定大小数组
■ 变长矢量
■ structs (任何嵌入层次)
■ autoid (auto-increment)
■ BLOB
■ 用户定义识别符及参考
嵌入式平台
? VxWorks 5.4, 5.5
? QNX 4, QNX 6.x
? Various real-time Linux distributions
? LynxOS
? RTXC Quardos, RTXC 3.2
? Microsoft Windows embedded platforms
? Windows Real-Time Extensions
? Bare bones boards (no operating system is required)
桌面与服务器平台
? Sun Solaris 8 and Solaris 9
? HP-UX 11.x
? Linux distributions
? Classic Windows (98/NT/2000/XP)
开发环境
? gnu toolchain (gcc 2.95 and higher)
? Tornado 2.0 and 2.2 (GNU and Diab Compilers)
? QNX Momentics IDE (C, C++, Embedded C++)
? Metrowerks CodeWarrior IDE (various platforms)
? Microsoft Visual Studio (C/C++, .NET)
eXtremeDB-HA高可用性版本
eXtremeDB-HA是eXtremeDB的容错版本,HA以超小的尺寸和卓越的性能为eXtremeDB 提供高可用性。许多容错性系统都采用异步在数据库发生改变后再给备份数据库实例的被动机械备份方法。实际上,这样需要很长的响应时间,阻碍了系统的恢复,并有交易丢失的危险。显然,这在许多实时性较强的嵌入式系统中是绝不允许的。相反,eXtremeDB-HA运行采用了高实效性的备份方案。它能够在单一的交易之间随时更新数据信息,严格的数据处理时间保证了能够及时从主备份到副备份之间传输数据信息。这样的系统恢复过程就大大加快。一般的硬件配置如下:
■ 多任务(在统一硬件条件下的多任务或多线程)
■ 高速串口间通信的条件下支持2个或更多平台
■ 通过商业通信设备和诸如RS-485/RS-232,CAN或以太网将单独的Space地址相连。
■ 通过外围通信设备或协议将2个或多个控制器相连。
McObject开发的eXtremeDB-HA备份机制是建立在高实效性且严格的二级执行协议之上的。从而保证了主数据库和同步备份数据库之间的一致性。与eXtremeDB-HA运行系统连接的HA接口决定运用软件的配置建立,维护及中断eXtremeDB-HA众多连接途径。高实效性的HA传输协议触发通信和探测中断通信。高可用性应用程序结构:
包括eXtremeDB-HA在内的高可用性应用程序结构源码提供主副备份在交易间通过用户级通信渠道交换数据信息的采集机制,通过执行eXtremeDB核心库外的通信路径:HA应用程序结构在应用程序和eXtremeDB数据库编译码中就相对独立,并且在编译时提供灵活的测试及相互转换。高可用性应用结构为了能够更好地对容错的数据库解决方案进行开发部署,它提供演示数据库和如何与应用程序相集成的可用源码。这里包含建立在实时TCP/IP,UDP/IP,Named Pipes,Qnet等传输器通信路径的实例。此外,这一结构还提供可配置使用于任何一种路径且HA支持的应用程序原版。原版将能在开发商们安装后立即运行eXtremeDB -HA.
重要性能:
■ 在不丢失数据或中断操作的情况下恢复软硬件故障。
■ 高实效性的二级执行协议。
■ 轻松调用C,C++,APIs.
■ 通信路径和协议相对独立。
■ 支持热备份。
■ 备份与主数据库程序相一致。
■ 通过查询备份平衡负载。
■ 支持多个备份,随时可以备份。
eXtremeSQL
与McObject公司此前发布的eXtremeDB内存式实时数据库一样,eXtremeSQL也是纯内存式数据库,剔除了基于文件系统的数据库所必有的文件I/O操作、磁盘I/O操作、缓存机制、进程间通信等各种不确定性因素,以超小的时间、空间资源开销提供高速、确定、可靠、强壮并支持SQL的数据管理方案。全新的编程接口的eXtreme DB在诸如银行,证券交易等众多关键实时性领域广泛应用。eXtremeSQL也成为起主导作用的数据库语言。它建立在强壮的eXtremeDB和基于RAM SQL优化器之上,能够动态地处理海量动态SQL查询。
EXtremeSQL具有一下特色:
EXtremeSQL与eXtremeDB无缝集成,您可以在同一应用程序里使用功能强大的eXtremeDB API。EXtremeSQL无论实在多平台还是在性能集成方面都能给您带来颇多的方便.
§ 符合SQL-89标准--eXtremeSQL实现了ANSI SQL-89的大部分标准,包括INSERT、UPDATE、 DELETE及SELECT等语句;
§ 面向eXtremeDB进行扩展--eXtremeSQL支持eXtremeDB的结构、数组、矢量及基于OID的表(类)查询优化;
§ 与eXtremeDB无缝兼容--eXtremeSQL与eXtremeDB标准版、eXtremeDB高可用性(HA)增强版、eXtremeDB事务日志增强版等各个版本的eXtremeDB系统完全兼容。这样,用户不仅通过eXtremeDB获得接近于内存访问速度的数据管理性能;而且可以通过eXtremeSQL以SQL的语法访问eXtremeDB的数据库;
§ 提供实用工具--eXtremeSQL同时还提供一些实用工具,如交互式SQL程序eXQL。eXQL可以用于测试SQL语句,也是eXtremeSQL实现的一个示例工程。eXQL还能够对文本文件中预置的eXtremeSQL语句进行批处理.
创建一个最优化的SQL执行语句是一项复杂而富有挑战性的工作。SQL优化器分析以供数据库SQL查询并从数据库路径中选择出最优的检索方法。查询的优化与数据库的分布密切联系。在通常情况下,优化器通过数据库所提供的统计情况取样,然后再采集统计信息,最终计算出所选执行路径的开销。显然,建立优化机制与CPU密切相关且具有不可预测性。优化查询时间因查询而异,执行命令也随着符号数据的改变二改变。对于嵌入式系统而言,实时性始终是关键,而eXtremeSQL对其有了可靠的保证。另外,eXtremeSQL优化器使得应用程序指定它们各自的执行路径。比如,优化器不在查询中记录表格:子目录(joins)按顺序执行,表格以查询来区分。查询优化中的重要规则:
■ 如有需要,您可以使用索引。
■ 每个表格都赋予其在FORM中相对应的索引。
■ 检索词被分为混合词或多组分类词。与此,以更小索引来访问表格关系通常最优校验。
■ 子查询执行路径可通过校验子查询表达式的相关性而得以最优化。仅在子查询表达式查询的结果引用封闭范围字段的情况下,子查询的结果才会被保存和重新计算。
由美国McObject公司发布的eXtremeDB实时内存数据库是专为诸如网路通信设备、自动化产品、控制系统、医疗仪器、航空航天、机顶盒、手机及PDA等各行各业管理实时数据而设计的一种数据管理技术。自问世以来,eXtremeDB实时数据库得到了业界的大力欢迎,在包括波音公司的Apache直升机的Longbow雷达系统、F5网路公司的路由器、中国华东电网及华电集团的电力系统、华北电力大学、电力科学研究院、创建伟业公司的呼叫中心、Genesis Microchip/Philipps/DirectTV的机顶盒、Panasonic和Simens的手机,JVC最新便携式音乐播放器等各个领域得到了广泛的应用。自发布以来,得到了诸如航空航天,工业自动化,医疗自动化,金融证券行业,甚至消费性电子行业等行业的强烈回应!
eXtremeDB在管理实时数据的优点和特点:
产品系列完整。
McObject公司实时数据管理的eXtreme家族软件产品系列为您管理实时数据提供完整的解决方案,包括eXtremeDB内存式实时数据库、eXtremeSQL提供SQL语言访问内存数据库接口、eXtremeHA提供安全高效的数据备份、eXtremeLog为您的交易建立日志、eXtremeWS为您提供通过Web方式管理/监控实时数据。
.功能特别全。
eXtremeDB将数据保存在内存中,在内存中建立数据结构,在数据结构上提供数据库API,这些API提供了通常只有在企业数据库上才有的各种数据管理功能,如表结构、交易管理、HASH索引、树索引、OID、Autoid、引用、历史版本、事件触发等。在eXtremeDB的表中,不仅可以支持通常的简单数据,而且可以支持结构和矢量等等复杂数据。
.性能特别高。
由于数据是保存在内存中,因此,每次插入、检索、更新数据的操作都非常快。通常,在400MHz的处理器上一个交易的时间只有1~2微秒。这要比静态数据管理或常规数据库的性能要高很多。
.硬件要求特别低。
eXtremeDB在使用的时候,基本开销只有50K~100K尺寸;管理数据的效率高达70%~80%。相比而言,Oracle等商业数据库或我们自己编写的数据管理软件,效率在10%~20%左右。以我们为Genesis Microchip做的参考设计而言,管理152K个节目信息,包括标题索引、内容索引等诸多功能的数据库,占用内存的尺寸在8~9M左右。在我们的EPG参考设计中,如果用400MHz的处理器,检索一个节目的时间机会感觉不到。
.开发非常方便
eXtremeDB的数据库系统以C/C++的Library的形式提供给用户,与用户的程序无缝集成在一个运行程序之中。开发过程流畅,使用非常方便。
[ Last edited by catchingyou on 2006-2-10 at 10:49 ]
shareman 于 2006-03-07 08:50:32发表:
:time:1多谢楼主!好东东。这个数据库好像美国的APACHE直升机就用的它 版本系列还挺全 同事测了一下 插入 检索…………确实很快 还可以在Linux内核中跑呢:)