Skip to content

lheian/rediSQL

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RediSQL

RediSQL is a redis module that embeded SQLite.

With great powers comes great responsability (cit. Uncle Ben)

Redis is born as a NoSQL database, this same module is already bordeline with the respect of the common sense that we, as community, should have.

Use but do not abuse RediSQL please.

Motivation

I love the agility provided by Redis, however, several times, I wished I had a little more structure in my in-memory database.

Even basic SQL is very powerful and years upon years of experience on several SQL implementation have bring us very mature product that we can now exploit with confidence.

Between all the SQL implementation, the one that best fitted the need for this module is definitely SQLite, for its velocity, portability, simplicity and capability to work in memory.

OpenSource and the necessity of real support and charge for my time.

How to Charge for your Open Source by Mike Perham brings well argumented thoughts on the necessity to charge for work done by developers, even in the Open Source world.

I have started myself a lot of Open Source project that, eventually, are all death because I wasn't able to dedicate the right ammount of time to them.

I am hoping to find the necessary funds to keep maintain this project.

I am starting with only an Open Source version, and then move to an enterprise version adding the necessary features.

Usage

From the root of the project you should be able to compile and link the module. Assuming you have both gcc and ld installed should be sufficient to run:

make sqlite
make

Now a rediSQL.so object should have been generate, and you simply load the module inside Redis.

Note that you need the last unstable redis branch in order of modules to work.

./redis-server --loadmodule ~/rediSQL/rediSQL.so

Now, your Redis instance has loaded the module and it is capable of accept SQL queries and execution.

./redis-cli

> REDISQL.EXEC "YOUR_QUERY_HERE"

Now you can create tables, insert data on those tables, make queries, remove elements, everything.

Alpha code

This is extremelly alpha code, there will be definitely some rough edges and some plain bugs, I really appreciate if you take your time to report those bugs.

A lot of possible functionality are not yet implemented, by now it is suppose to work on a single redis instance, in a future will be possible to distributed some functionality of the modules.

Contributing

I am going to accept pull request here on github.

However since I am going to sell premium version of this products I must ask to every contributer to assign all the rights of the contribution to me.

A pull request template is in place.

Need incentives

I am not sure, myself, that this modules should exists at all, if you find utility or potential in this little module please star the project or open issues requiring functionality.

License

This software is licensed under the AGPL-v3, it is possible to buy more permissive licenses.

<RediSQL, SQL capabilities to redis.> Copyright (C) 2016 Simone Mosciatti

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 93.5%
  • Objective-C 6.5%