changes for 2.5
[csql.git] / README
blob5986875dea0dd5d5892899df43115f0b7cd334c8
1 Introduction 
2 ------------
3         CSQL is a fast, multi-threaded SQL main memory database engine. It works in embedded mode, where database client and server run in the same host, avoiding network latency. It provides very high throughput of 100,000 selects/sec and 50,000 updates/sec. Applications shall access csql through standard interfaces,  ODBC or JDBC. It also provides proprietary APIs to access SQL engine and Storage engine directly.
4         It aids in the development of high performance, fault-resilent applications requiring concurrent access to the shared data.
6         CSQL shall also be used as client side caching mechanism for any database system without compromising on transactional properties and indexed access. This is achieved by using CSQL-main memory database to cache the data from the target database (any traditional disk based database system). 
7         This solution has been designed with modern database requirements in mind, and particularly for use within high-volume environment that requires high performance, while still supporting the transactional properties. Applications shall use this caching solution with no or minimal application code changes.
8         Perfomance benchmarking reveals that application throughput may increase by a factor of 20 to 100 by incorporating data caching in its architecture.
9         It is a free software, licensed with the GNU GENERAL PUBLIC LICENSE, http://www.gnu.org/. Refer COPYING file for Licensing information.
11 Platforms Supported
12 -------------------
13 Linux 
15 Compilers Supported
16 -------------------
17 g++ in linux
19 Compiling from source (If you have downloaded with source)
20 ----------------------------------------------------------
21 Go to the root directory and enter the following commands.
23 $ export JDK_HOME=<path of jdk home>
24 $ export PATH=$PATH:$JDK_HOME/bin
25 $ ./build.ksh
27 This will create "install" directory under the current directory and places all the executables created in bin directory and libraries in lib directory. 
28 If you want to install in some other directory then change the directory in --prefix option in build.ksh file before executing build.ksh script.
30 Available Documentation
31 -----------------------
32 1.User Manual is available under the docs directory
33 2.SQL API, ODBC, JDBC, ISQL  example programs under the examples directory
34 3.Wisconsin benchmark and cache demo under the demo directory
36 Starting the Server
37 -------------------
38 Note: kernel.shmmax should be set to more than 500 MB before starting the server
40 In linux for setting 1GB enter
41 $sysctl -w kernel.shmmax=1000000000
43 setupenv.ksh script is available at the root directory which shall be used to
44 set the necessary environment variables.
46 $. ./setupenv.ksh
48 Start the server using csqlserver executable
49 $./csqlserver
51 This starts the server and creates the database file.
52 Use csql tool to execute SQL statements interactively,
53 $csql
54 CSQL>
56 Note:
57 Refer UserManual.pdf available in docs folder to know how to work with csql
59 Shutting down the Server
60 ------------------------
61 Pressing Ctrl-C on the terminal where csqlserver is running, 
62 is safe and will stop the server gracefully by removing the database file.