- CSQL
CSQL is an open source main memory high-performance relational database management system developed in sourceforge.net. It is designed to provide high performance on simple SQL queries and DML statements which involves only one table.
It supports only limited features which are used by most of the real time applications which includes INSERT, UPDATE, DELETE on single table and SELECT with local predicates on single table. It provides multiple interfaces to client
* DB API - to access the relational
storage engine
* SQL API - to accessSQL Engine
*ODBC - standard interface for C/C++ applications
*JDBC - standard interface for Java applicationsThis is mainly developed to be used as a cache for existing disk based commercial databases. Main Memory databases performs 10-20 times faster than the commercial database systems, as it completely keeps the database in main memory. Reference: [cite journal
title = DataBlitz Storage Manager: Main-Memory Database Performance for Critical Applications
publisher= sigmod proceedings
url=http://www.sigmod.org/sigmod/sigmod99/eproceedings/papers/rastogi_dem.pdf] for more information.Features:
* Direct access to database, it should be available in application's
address space
*Atomicity - All of the operations of a transaction performed take effect on the database or none of them will effect
* Consistency - Database should be in legal state when the transaction begins and when it ends
* Isolation - Application should be able to make operations in a transaction that appear isolated from all other transactions
* Protection from process failures by freeing resources held by dead application process
* Faster access for point lookup using hash indexing
* Faster access for range queries using tree indexing
* Data Item (row) level locking for high concurrency
* Support for multiple users and authentication mechanism to access database
* Support for large data items (column length) and variable sized data items (Varchar and Varbinary)
* Support forODBC ,JDBC
* Log Trace messages and debug messages for important operations to ease the debugging
* In case of failure, return code should specify the kind of error and stack trace of error messages to ease debugging and to identify the cause of error by looking at the error message stack
* It should support SQLDML statements which contains only single table.
* SQL Syntax Support for SQL Engine
** INSERT INTO[fieldNameList] VALUES (valuelist)
** UPDATESET fldname=value , ... [WHERE ]
** DELETE FROM[WHERE ]
** SELECT <* | fieldNameList> FROM[WHERE ] Note: 1.condition shall be [NOT]
2.predicate shall be
<"=, !=, >,<, >=, <="> [fieldName | value] References
Product Page
* http://sourceforge.net/projects/csql
Wikimedia Foundation. 2010.