嵌入式数据库的架构与应用对象紧密相关,其架构是以内存、文件和网络等三种方式为主。
1.基于内存的数据库系统
基于内存的数据库系统中比较典型的产品是每个McObject公司的eXtremeDB嵌入式数据库,2013年3月推出5.0版,它采用内存数据结构,基于对象模型,并直接与应用结合,不属于客户端/服务器架构。eXtremeDB内存数据库与其他数据库相比,在提供高性能的数据管理服务的同时,专门针对实时系统的要求进行了优化。
eXtremeDB嵌入式数据库的架构见图1。
图1 eXtremeDB嵌入式数据库的架构
2.基于文件的嵌入式数据库系统
基于文件的嵌入式数据库系统是以文件方式存储数据库数据。比较典型的产品是由D.Richard Hipp建立的公有领域项目开发的SQLite轻量型嵌入式数据库系统。SQLite诞生于2000年,其设计目标是嵌入式的,而且已经在很多嵌入式产品中使用。它占用资源非常少,在嵌入式设备中,可能只需要几百“KB”的内存就够了,支持Windows/Linux/Unix等主流操作系统,同时能够跟许多程序语言相结合,如:TCL、C#、JAVA等。
SQLite轻量型嵌入式数据库系统架构见图2。
图2 SQLite嵌入式数据库系统架构
3.基于网络的数据库系统
基于网络的数据库系统是以远程数据库为存储载体的,客户端通过移动网访问服务器上的远程数据库。由于基于网络的数据库系统被应用在多种领域,其架构千变万化,没有统一相对固定结构和产品,如:C/S架构的数据库、B/S架构的数据库以及云数据库等。因此这里仅给出了一种简单的架构描述,见图3。
图3给出的是一款嵌入式数据库管理系统的架构,其目的是在嵌入式设备上使用的数据库管理系统,以解决移动计算环境下数据的管理问题。
基于网络的嵌入式数据库系统由基本的几个子系统组成,包括:远程数据库管理系统、远程数据库、同步服务器、嵌入式数据库管理系统、嵌入式数据库和连接网络等。
图3 嵌入式数据库管理系统的架构