In-memory database has its own characteristics that disk-based database does not have. A memory-based database is often much faster than a disk-based database in data retrieval and data processing; since memory-based database has all or most of data and data structure in memory and data operation and data storage are at the same level, it has more flexibility in manipulating data and data structures than disk-based database; such flexibility is greatly suitable for creating customer definable databases as disclosed in the Patent Application “Data-Driven Database Management System” filed by Tianlong Chen. Since data is already in the memory, most copying procedures in normal disk-based database are not required any more, removing a great deal of operation overheads.
Because of the flexibility provided by memory, it is easy to create a variety of different kinds of databases to handle different types of data with their distinguishing data operations. As examples, a biometric database as disclosed in aforementioned Patent Application “Apparatus and Method for Biometric Database Management System” handles biometric data and biometric identification and verification operations using proprietary or open standard interface such as BioAPI as query interface; a relational database handles structured data in table format using SQL as query language; in a more general sense, a file system (such as Network File System or NFS) is also one kind of “general-sense” database, and a variety of different file systems having different characteristics using different accessing protocols (such as SCSI). A disk-based relational database uses either a proprietary storage system (i.e. a proprietary file system) or a regular file system provided by the Operating System to store data. Therefore whether it is a regular-sense database or a general-sense database, they can all be abstracted as an abstract database comprising data storage and interfaces for data access, manipulation and other data operations.
Memory is more expensive than hard disk, however it is faster than hard disk and it is more flexible in data manipulation than hard disk; therefore a system with memory-based database is likely to be more expensive than that with a disk-based database. It is not cost-effective to load database all into memory for some business and applications.
Such positive and negative characteristics make it possible for a new kind of service architecture—on-demand database platform in which a database can be loaded into memory platform for fast data processing, and be off-loaded or unloaded when it is done. Many other services can be done due to the characteristics, including multiple different types of databases, and customizable databases into such on-demand service.