Database Memory Device Specification in Python

For Python applications using in-memory databases, a single conventional memory device is required for all database data, indexes and metadata and is automatically defined and initialized in the exdb.open_database() method when no device array is specified. For example:

 
    db = exdb.open_database("myopendb", dict)
    db
    <exdb.Database object at 0x100827610>
     

Here the database with the name “myopendb” is created. By default, it is opened as an in-memory database, using 128Mb of RAM. The variable db is a handle to the open database. To create a database with other parameters, other arguments can be specified:

 
    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):
                 

(Note that the parameter is_disk must be False (the default) for an in-memory database, and the parameters disk_page_size and disk_max_database_size are ignored.)

Persistent Databases

For Python applications using persistent databases, at least four memory devices must be specified for:

The following classes (inherited from the Device class) are provided for this purpose:

privateMemoryDevice

sharedMemoryDevice

fileDevice

multiFileDevice

raidDevice