38.1. 扩展性如何工作

LightDB是可扩展的,因为它的操作是目录驱动的。如果你熟悉标准的关系型数据库系统,你会知道它们把有关数据库、表、列等的信息存储在众所周知的系统目录中(某些系统称之为数据目录)。目录对于用户来说好像其他的表一样,但是DBMS把自己的内部信息记录在其中。LightDB和标准关系型数据库系统的一个关键不同是LightDB在其目录中存储更多信息:不只是有关表和列的信息,还有关于数据类型、函数、访问方法等等的信息。这些表可以被用户修改,并且因为LightDB的操作是基于这些表的,所以LightDB可以被用户扩展。通过比较,传统数据库系统只能通过在源代码中改变硬编码的过程或者载入由DBMS提供者特殊编写的模块进行扩展。

此外,LightDB服务器能够通过动态载入把用户编写的代码结合到它自身中。也就是,用户能够指定一个实现了一个新类型或函数的对象代码文件(例如一个共享库),并且LightDB将按照要求载入它。把用SQL编写的代码加入到服务器会更加轻而易举。这种即时修改其操作的能力让LightDB独特地适合新应用和存储结构的快速原型设计。