内存设备规范
对于使用内存数据库的 Python 应用程序,所有数据库数据、索引和元数据都需要一个常规内存设备,并且在未指定设备数组的情况下,该设备会在 exdb.open_database() 方法中自动定义和初始化。例如:
db = exdb.open_database("myopendb", dict)
db
<exdb.Database object at 0x100827610>
这里创建了一个名为“myopendb”的数据库。默认情况下,它以内存数据库的形式打开,使用 128MB 的内存。变量 db 是打开数据库的句柄。若要使用其他参数创建数据库,可以指定其他参数:
def open_database(dbname, dictionary, is_disk = False, db_segment_size = 128*1024*1024,
cache_segment_size = 16*1024*1024, mem_page_size=256, disk_page_size=4096,
db_log_type="REDO_LOG", disk_max_database_size = 0, file_extension_quantum = 4096*1024,
db_max_connections = 10):
请注意,对于内存数据库,参数 is_disk 必须为 False(默认值),并且参数 disk_page_size 和 disk_max_database_size 将被忽略。
持久数据库
对于使用持久数据库的 Python 应用程序,必须为以下内容指定至少四个内存设备:
- 字典和元数据以及可能的临时类数据:专用或共享内存设备
- 持久数据存储:文件、多文件或磁盘阵列设备
- 持久数据缓存:专用或共享内存设备
- 事务日志:文件、多文件或磁盘阵列设备
为此目的提供了以下类(从 Device 类继承):
- privateMemoryDevice
- sharedMemoryDevice
- fileDevice
- multiFileDevice
- raidDevice