Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Main Memory Database
1. Main Memory Database Systems
prabakaran.t@lakshyasolutions.com
Architect and Founder – CSQL MMDB
http://www.csqldb.com
2. DBMS Types
DRDB
Disk Based Database Management System
Stores data in disk
Buffer frequently accessed data to memory
MMDB
Main Memory Database Management System
Complete data is stored in memory
No buffer manager required
http://www.csqldb.com
3. DRDB VS MMDB
Fully cached DRDB != MMDB
Data structures are designed for disk based access
rather than main memory data access
Access mechanisms (Hash, Tree, etc) are optimized
for disk access rather than main memory
DRDB involves lot of data copies
DRDB provides client/server connections whereas
MMDB provides embedded mode
http://www.csqldb.com
4. DBMS Products
Disk Based Database Management System
Oracle
DB2
MySQL
Postgres
Main Memory Database Management System
CSQL
Timesten
http://www.csqldb.com
5. MMDB is better than DRDB
Hardware trend:
CPU speed, memory & Disk capacity grows 80%/yr
●
Memory performance grows 10%/yr
●
Disk speed remains same
●
Price of memory continues to drop
●
•Access time for main memory is orders of magnitude less than
that of disk. (100ns VS 10 ms)
•Application queries require random access most of the time(point
lookups)
•Data resides permanently on main memory. No disk I/Os
•No buffer manager overhead
•Data Structures and algorithms are designed for memory access
rather than disk access
http://www.csqldb.com
6. CSQL MMDB
Performance: Developed from scratch keeping one thing in
mind- performance.
Direct access to data: uses shared memory architecture
User Level Mutexes: Hand written using atomic instructions
Custom Allocators : Fixed and Variable Size Allocators
Embedded Architecture: No network overhead, no data copies
Tightly coupled: code segments which are performance critical
are tightly coupled to avoid data copies
http://www.csqldb.com
7. CSQL Features
•Fully ACID Transactions
•Highly concurrent
•Fault Tolerant
•Multi user – Authentication
•Multi granular locking – Database, Table, Row
•Hash Index, Tree Index
•Aggregates and Inner Join
•Client / Server and Embedded mode
•JDBC 3.0 and ODBC 3.0 compliant
CSQL is 30 times faster than DRDB
Visit http://www.csqldb.com for benchmark results
http://www.csqldb.com