In memory database
Data in main memory can be accessed faster than data stored in hard disk or other flash storage device. A database management system that primarily relies on main memory for computer data storage is called an In-memory database.
Main memory databases are faster than disk-optimized databases since the internal optimization algorithms are simpler and execute fewer CPU instructions. Data access in memory reduces the I/O reading activity when querying the data which provides faster performance than disk. The data access is more than a hundred thousand times faster than access from a hard disk, and a thousand times than access from a flash technology storage.
In memory database
By the performance advantage in access time, the overall database performance is significantly improved with In- memory data base. Since main memory databases store data on volatile memory devices, all the stored information are lost when the device loses power or are reset. This makes the In- memory databases lack support for the durability portion of the ACID (atomicity, consistency, isolation, durability) properties. In order to confirm with the durability, the data has to be persistent and has to reside on non-volatile storage. The storage used by a database to store data is divided into pages. In in- memory database such as SAP HANA, when a transaction changes data, the corresponding pages are marked and written to non-volatile storage in regular intervals. A database log also captures all changes made by transactions and each committed transaction generates a log entry that is written to non-volatile storage. This ensures the conformance to durability properties of the ACID.
Features of In memory database
• More effective compression methods can be used in-memory computing
• Provides columnar storage which stores a table in a sequence of columns.
• Enables Processing of application logic at database
• Parallel processing using multiple cores
• Scale out with data partitioning