# A client side column oriented DBMS.
Zeldus is a browser based database management system that allows for data to be loaded and queried with regular SQL syntax.
A simple demo is available here which demonstrates some of the functionality.
To get either:
- Clone the repo:
git clone https://github.com/RogerNoble/zeldus.git
. - Install with Bower:
bower install zeldus
.
To use, include a reference to either zeldus.js
or zeldus.min.js
on the page.
Create a new instance of Zeldus. Its constructor accepts a single parameter called dataSource.
db = new Zeldus({
dataSource: [ new DSLoader('lineitem', 'data/lineitem.json') ]
});
The dataSource must be set to an Object that contains a method called get
. The get
method must return an array of data Objects. An simple data source loader is included at /src/utils/dsloader.js
.
Once created Zeldus us ready to execute queries.
zeldus.execute(sqlQuery, callback);
To build first make sure all the dependencies are installed.
- Install node.js
- From the commandline navigate to the Zeldus directory and run
npm install
This will install Gulp which is used to run the build system
To build the source, from the command line run gulp
this will generate two files zeldus.js
and zeldus.min.js
.
To build the documentation, from the command line run gulp docs
this will generate the documentation in the docs folder.
Full API Documentation avaliable.
- Aggregation operators:
count, sum, min, max
- Compression
- Run Length Encoding
- Joins
- Projections
Zeldus is heavily based on the c-store architecture as proposed in the following papers.
- C-Store: A Column-oriented DBMS Mike Stonebraker, Daniel Abadi, Adam Batkin, Xuedong Chen, Mitch Cherniack, Miguel Ferreira, Edmond Lau, Amerson Lin, Sam Madden, Elizabeth O'Neil, Pat O'Neil, Alex Rasin, Nga Tran and Stan Zdonik. VLDB, pages 553-564, 2005
- Integrating Compression and Execution in Column-Oriented Database Systems Daniel J. Abadi, Samuel R. Madden, and Miguel C. Ferreira. Proceedings of SIGMOD, June, 2006, Chicago, USA.
- query execution in column oriented databases Abadi, Daniel J. Massachusetts Institute of Technology, 2008