开源嵌入式数据库
BerkeleyDB(1)
MySQL 这类基于 C/S 结构的关系型数据库系统虽然代表着目前数据库应用的
主流,但却并不能满足所有应用场合的需要。有时我们需要的可能只是一个简
单的基于磁盘文件的数据库系统。这样不仅可以避免安装庞大的数据库服务器,
而且还可以简化数据库应用程序的设计。Berkeley DB 正是基于这样的思想提
出来的。 Berkeley DB 简介 Berkeley DB 是一个开放源代码的
内嵌式数据库管理系统,能够为应用程序提供高性能的数据管理服务。应用它
程序员只需要调用一些简单的 API 就可以完成对数据的访问和管理。与常用的
数据库管理系统(如 MySQL 和 Oracle 等)有所不同,在 Berkeley DB 中并
没有数据库服务器的概念。应用程序不需要事先同数据库服务建立起网络连接,
而是通过内嵌在程序中的 Berkeley DB 函数库来完成对数据的保存、查询、修
改和删除等操作。 Berkeley DB 为许多编程语言提供了实用的 API
接口,包括 C、C 、Java、Perl、Tcl、Python 和 PHP 等。所有同数据库相关
的操作都由 Berkeley DB 函数库负责统一完成。这样无论是系统中的多个进程,
或者是相同进程中的多个线程,都可以在同一时间调用访问数据库的函数。而
底层的数据加锁、事务日志和存储管理等都在 Berkeley DB 函数库中实现。它
们对应用程序来讲是完全透明的。俗话说:“麻雀虽小五脏俱全。” Berkeley
DB 函数库本身虽然只有 300KB 左右,但却能够用来管理多达 256TB 的数据
并且在许多方面的性能还能够同商业级的数据库系统相抗衡。就拿对数据的并
发操作来说,Berkeley DB 能够很轻松地应付几千个用户同时访问同一个数据
库 的 情 况 。 此 外 , 如 果 想 在 资 源 受 限 的 嵌 入 式 系 统 上 进 行 数 据 库 管 理
Berkeley DB 可能就是惟一正确的选择了。 Berkeley DB 作为一种
嵌入式数据库系统在许多方面有着独特的优势。首先,由于其应用程序和数据
库管理系统运行在相同的进程空间当中,进行数据操作时可以避免繁琐的进程
间 通 信 , 因 此 耗 费 在 通 信 上 的 开 销 自 然 也 就 降 低 到 了 极 低 程 度 。 其 次
Berkeley DB 使用简单的函数调用接口来完成所有的数据库操作,而不是在数
据库系统中经常用到的 SQL 语言。这样就避免了对结构化查询语言进行解析和
处理所需的开销。 基本概念 Berkeley DB 简化了数据库的操作