Polyhedra内存数据库管理系统

一个为嵌入式使用而设计的高速关系型数据库系统

Polyhedra IMDB是一个高速的、运行于内存的关系型数据系统。它可以保存并查阅通过一个嵌入式系统的组成部分所需要的数据。使开发人员可以把精力集中在开发产品的功能上,使产品变得独一无二:

  • 运行于内存的高性能特征
  • 基于标准以减轻成本
  • ACID——符合事物块
  • 独立或容错配置
  • 触发器和活动查询提高了反应能力
  • 客户端的服务保护并允许远程访问
 
产品概况

Polyhedra IMDB是一个运行于内存的关系型数据库系统,被设计用于嵌入式系统中。它储存明确定义的接口信息以检索和更新它。它把程序编写人员从复杂的数据储存中释放出来:他们不再需要知道它是如何被保护、或储存介质上的数据格式。

 

Polyhedra是一个关系型数据管理系统。这是最广为人知、并广泛采用的数据库模型。从根本上说,数据是被储存在指定的数据表上;每个表有许多的属性,每一个都有一个相关的数据类型并且表的每行都对应一个数据记录。Polyhedra是以SQL为基础的,它是最广泛使用的语言以设置、查询和操纵数据库。

 

和其他关系型数据库一样,Polyhedra是一个“事物块”。这意味着操作与应用自动地组合在一起:中间的事物块状态对于其他应用程序是不可见的,并且如果一个事物块失败了,数据库就会回到之前的状态。由于数据库系统强制执行这些属性,即使系统发生故障,应用程序也不必担心数据的一致性。

 

像其他的关系型数据库一样,Polyhedra的数据库是灵活的。不仅数据表可以被添加,而且它还能在不影响运行应用程序的情况下添加栏(如果他们没有正在使用栏)。正因为Polyhedra使用一个非正式的、事物块数据模型和非正式的界面(SQL、ODBC和JDBC),所以人们可以很容易就适用。

 

Polyhedra IMDB是一个运行于内存的关系型数据库管理系统。保持储存所有数据意味着查询和更新的速度非常快。Polyhedra IMDB利用快照系统和日志运转记录来保证数据是被保护的,而不需要过多的光盘来储存。

 

为了更快的性能,它可以指定单个的数据表——甚至表中的单栏——作为一个过渡;如果一个事物块仅仅影响过渡的数据,那这个日志运转记录将不会写入文件。Polyhedra IMDB是一个完全客户端服务器,并且通信协议是独立平台的。另外,数据库文件是完全便携的,所以在一个主机平台上产生的文件可以被作为一个数据种子运行在不同的目标平台上,即使endian不匹配。

 

Polyhedra是基于标准的,并且主要的客户端库是ODBC(C/C++程序员)以及JDBC(Java)。

特点和益处
  • 基于标准——使用SQL、ODBD和JDBC以减轻适用成本
  • Polyhedra软件在“用户空间”中运行并不需要任何内核修改,特权或特殊安装
  • 高速查询和更新,通过一个低开销的日志来实现持久性
  • 简化交易模型,对性能进行调整
  • 积极查询保持客户及时更新而不需要polling,主动触发代码加强了完整性并执行了“连锁反应”变化
  • 热备份配置支持,适用于高可用性系统
  • 允许触发代码作为执行的一部分被附加到数据库
  • 甚至还有一个“不经常提醒”的功能,允许客户指定一个最小间隔的更新,用于图形显示,客户可以设定为十分之一秒以减少闪烁
  • 采用了客户机服务模式以保护数据并允许通过TCP进行远程访问
  • 支持直接把业务逻辑层附加在数据库因而减少了客户端应用程序所要做的工作(需要有开发人员编写的代码),并且提高整个性能及数据完整性
架构

Polyhedra是数据管理系统系列产品中的一员,有着非常相似的功能。这两个主要的产品分别是Polyhedra IMDB和Polyhedra FlashLite,它们都是关系型数据库系统,共享了相同的SQL引擎,相同的客户端构架及协议,并且都支持热备份模型在高可用性系统中的使用。两者主要的区别在于它们如何保持和保存数据库:

 

Polyhedra IMDB在内存中保存了数据库的工作副本。数据通过按需快照的方式被保存,通过日志记录机制被补充:在每一个成功的事物块终端改变了持久数据,日志记录被追加到快照文件,记录在事物块中什么是被改变的。当系统启动时,快照就准备就绪,随后所有追加的日志记录就被应用(但不包括第一个不完整的或损坏的记录)。

 

Polyhedra FlashLite 在一个可配置大小的RAM缓存文件中(假设在一个闪存文件系统中)保存了数据。一个被称为“Shadow Paging”的技术被用来确保事物块是持久的:数据库文件被看做一系列的页面,随着页面映射图允许逻辑页的文件内迁移。当一个事物块改变了逻辑页,更新后的版本就被写入到备用页;在事物块的终端,修改后的页面映射图写出,并且持有旧版本的数据页面就被标记成备份。如果系统在更新的映射图写出之前出前故障,该数据库可以使用之前版本的映射图以恢复之前的状况。

 

由于从程序编写者的角度来看在本质上是相同的——甚至使用完全相同的客户端库,在决定关于是否使用一个或另一个归结为脚本和性能的问题两者的区别是:

 

Polyhedra IMDB需要更多的RAM,但在更行数据库时提供更高的性能。Polyhedra FlashLite 可以运行于低至1MB或RAM(代码和缓存),尽管它可以以更大的缓存配置来加快性能,特别是大的查询和事物块。这两者产品之间的兼容性是如此之高,它甚至可以启动一个使用保存了的Polyhedra IMDB数据库的FlashLite 数据库作为一个开端,或者运行一个作为Polyhedra IMDB服务器的备用服务器的Polyhedra FlashLite——使它能够迁移一个使用Polyhedra IMDB的容错系统到一个使用Polyhedra FlashLite技术的容错系统而不会停机。

相关产品或服务

Polyhedra FlashLite

Enea OSE RTOS

Enea Element

Polyhedra的系统可靠性

Polyhedra是转为高可用性而设计的。了解Polyhedra的容错功能可以使您的设计更具可靠性!

您可从“资料下载”处下载最新技术白皮书!

Polyhedra所提供的服务

Enea的数据管理专家们时刻准备着为您提供各种专业服务,包括roadmap和加速功能、平台植移和适应、性能优化和架构咨询

Polyhedra所提供的服务

今天您已可以对Polyhedra进行评估。让我们一起来发现Enea的Polyhedra数据管理系统的强大功能!

点击此处下载“评估版本”!