Skip to content
This repository was archived by the owner on Jul 11, 2021. It is now read-only.
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 18 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ RediSQL is the Fast, in-memory, SQL engine with batteries included.

It provides several benefits for your application.

1. Fast, it can top up to 130k inserts per *seconds*.
1. Fast, it can top up to 130k inserts per *second*.
2. Familiar, it works with standard SQL, no weird dialect or syntax to learn.
3. Easy to Operate, it is based on Redis, just start the standard Redis binary and and pass the RediSQL binary.
4. Easy to Use, being based on Redis there are already bindings for any language.
Expand All @@ -16,55 +16,55 @@ There are several use cases for RediSQL.
### RediSQL to store Transient Data

RediSQL is wonderful for transient data.
With supports for lightweights DBs you can just store all the data that are important now, and trash them all together as soon as they are not necessary anymore.
With supports for lightweights DBs, you can just store all the data that are important now, and trash them all together as soon as they are not necessary anymore.

### RediSQL as main database

The product is stable, it does not loose data and you can store the data into regular files to gain in persistency.
Moreover RediSQL support all the persistency features of Redis, hence RDB and AOF are both fully supported.
The product is stable, it does not lose data.
Moreover RediSQL supports all the persistency features of Redis, hence RDB and AOF are both fully supported.

## Much more to explore...

There are a lot of features in RediSQL that is worth to explore more, here a short excerpt of those features.
There are a lot of features in RediSQL that are worth exploring more. Here are short explanations of those features.

#### Lightweight DBs

RediSQL provides you with lightweight in memory databases.
It could completely shift your architecture, indeed you could thing to create a new isolated database each day, or for every tenant of your application or even for each of your users.
RediSQL provides you with lightweight in-memory databases.
It could completely shift your architecture. For example, you could create a new isolated database each day, one for each application tenant, or even one per user.

#### On disk storage

While RediSQL focus on in-memory database, it can also store data in a regular file. Of course this makes operations slower, but it allow to reach a level of persistency and safeness of data on pair with regular databases as Postgres or MySQL.
While RediSQL focuses on in-memory database, it can also store data in a regular file. Of course this makes operations slower, but it allows RediSQL to reach a level of data persistency on par with incumbent databases such as Postgres or MySQL.

#### Copy of DBs

With the concept of lightweight databases it become necessary to have a way to duplicate your database.
With the concept of lightweight databases, it becomes necessary to have a way to duplicate your database.
Indeed it is possible to copy a database into another one.
This allow several interesting patterns.
For example you could copy an in-memory database into a file-backed database and then ship the file for storage or other analysis.
This allows several interesting patterns.
For example, you could copy an in-memory database into a file-backed database and then ship the file for storage or other analysis.
Another pattern would be to copy a heavy read database into another for load balancing reasons.
Moreover you may use the copy function to keep a "base-database" to grow when new data comes in.

#### Directly expose the DB to users

With the ability to create several lightweight databases and the capability to copy those database, you could directly expose directly the databases to the final users instead of exposing a set of API that you would need to maintain.
With the ability to create several lightweight databases, and the capability to copy those database, you could directly expose the databases to the end users instead of exposing an API that you would need to maintain.
Just load all the data that the user may need into a RediSQL database, document the tables that are available, and give access to it to the users.
They will write their own API without waiting on you.

#### Stream and cache query results

RediSQL allow to store the results of queries into a Redis Stream.
This allow different clients to consume part of the result, or to delay the consuption of a result.
Moreover it allow to cache the result of expensive queries into Redis Streams and consume them over and over again.
RediSQL can also store results of queries into a Redis Streams.
This allows different clients to consume part of the result, or to delay the consuption of a result.
Moreover, it allows caching the result of expensive queries as Redis Streams to consume them over and over again.

#### Complete JSON support

JSON is the de-facto standard to share data between application, indeed RediSQL exploit the JSON1 module of SQLite to bring you the capability to easy and quickly manage JSON data inside SQL statements and tables.
In RediSQL you are able to manipulate JSON in all the possible way.
JSON is the de-facto standard for sharing data between applications. RediSQL exploits the JSON1 module of SQLite to bring that capability to easy and quickly manage JSON data inside SQL statements and tables.
In RediSQL you are able to manipulate JSON in every standard way.

#### Full text search support

RediSQL fully supports also the FTS{3,4,5} engine in SQLite giving you a full text engine at your fingertip.
RediSQL fully supports also the FTS{3,4,5} engine from SQLite, giving you a full text engine at your fingertip.
You will be able to manage and search for data.

## Getting started
Expand Down