Skip to content

RogerNoble/zeldus

Repository files navigation

#Zeldus A client side column oriented DBMS.

Introduction

Zeldus is a browser based database management system that allows for data to be loaded and queried with regular SQL syntax.

Demo

A simple demo is available here which demonstrates some of the functionality.

Usage

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);

Build

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.

API Documentation

Full API Documentation avaliable.

Roadmap

  • Aggregation operators: count, sum, min, max
  • Compression
  • Run Length Encoding
  • Joins
  • Projections

Reference

Zeldus is heavily based on the c-store architecture as proposed in the following papers.