Lakshya is currently also contributing to the Open Source movement through a Main Memory Cache DB called - Compact SQL (CSQL). The question is why not a traditional RDBMs? The answer is very obvious, the world doesnot lack in that. We have as many full-blown disk based DBs as we want. But what about their performance in today's IT industry. With growing volumes of data getting electronically stored and accessed, it is imperative and necessary that we should very soon in the near future come up with a solution which will enable almost real time quering, reporting and information access.
Take for example pre-paid mobile services. If the operator is not able to track what is the user's balance right at the moment he is making a call, then they stand to loose in millions. Because even a second's delay in determining the balance value, would enable the user to continue a call for which he has not paid the operator. We need realtime information access, cannot be provided be disk based traditional DBs and will become increasingly difficult as volumes increase.
Take for example the stock exchange display of quotes, which is put as a ticker on every news channel and numerous websites. the quotes get updated at realtime and updates have to take place extremely fast. This is where disk based DBs will slow down with increasing volumes.
Numerous such examples can be cited which glaringly point to the requirement of a solution.
The solution is a main memory caching database, that does not do Disk IO, but instead resides in the Memory and does Memory IO and NetworkIO (in case the Db is distributed across the memory of multiple machines). Obvious advantage is Disk IO speeds have not increased since long and can never match Memory IO speeds. Even Network speeds have increased from 10Mb to 100Mb to 1Gbps today and soon will cross this limit.
This is the foundation of a database that has been made for one and only one fundamental objective - performance, extremely fast performance. CSQL doesnot have any pretence of replacing main memory DBs it just will complement them. But without this complement, disk based DBs will soon be slowing the entire Information Age.
Lead / Introduction
CSQL is compact main memory open source SQL database engine that delivers ultra fast performance. It can handle 100K selects/sec and 50K updates/sec.
It can also work as a middle tier caching solution for any open source and commercial database thereby increasing the throughput of the application by 20 to 100 times without making any code changes.
CSQL - Main memory Database
Main memory databases are times faster than disk based database systems, as all the data is available in physical memory. It also avoids the buffer manager overhead which is found in disk based database systems. Moreover data access algorithms can work efficiently as compared to traditional disk based algorithms. One of the major factor which determines the performance of database management is disk I/O. Access time for main memory is orders of magnitude less than that of disk ( 100ns vs 10ms).
Real time applications perform random access(point lookups => f1 = ?) 90% of the time, for which records from different disk blocks needs to be read. This hampers the performance of the application. Main memory cost has reduced significantly in the recent years and even desktops now have 1 GB RAM. Database managment system which depends only on memory and does not any disk I/O will be many times faster than disk based database sytems. This led to design a main memory database engine which does not involve any disk I/O.
CSQL compact main memory open source SQL database engine, uses shared memory architecture, wherein the database will be available to the application process in its own process address space and can be accessed by simple pointer semantics. OS mutex mechanisms are costly as it requires context switch, csql implements its own mutex mechanism through atomic assembly instructions to reduce the machine cycles. CSQL is designed for one single purpose
'performance'. It is not a feature rich database product. It does only limited things, but with ultra fast high performance.
• SQL and Standard interface support
• Storage Engine Capabilities
• Data Replication
• Database Caching