DEV Community

Cover image for SleekwareDB - The Idea
Imam Ali Mustofa
Imam Ali Mustofa

Posted on • Originally published at dev.to

SleekwareDB - The Idea

The idea of building SleekwareDB was motivated by limited resources and environment. When a beginner / professional developer needs to improvise quickly with such a limited situation, then SleekwareDB is here as an easy and inexpensive alternative to data storage.

Maybe when you start to contribute and read the flow of this project, you will feel DeJavu with other similar projects.

This project will feel light because it was rebuilt with limited resources and environment. Compatible with Shared Hosts and VPS servers, because it is built to process data from JSON files as a database collection.

Referring to the fundamentals on which the SleekwareDB project was built:

SleekDB is a simple flat file like NoSQL database implemented in PHP without any third party dependencies storing data in plain JSON files.

It's not comparable to databases like Sqlite, MySQL, PostgreSQL and MariaDB because they are relational databases! SleekDB is a NoSQL database and therefore more comparable to e.g. MongoDB.

It's not designed to handle heavy load IO operations, it's designed to have a simple solution where all we need to manage a database is a few gigabytes of data. You can think of it as a database for low to medium operating load.

Source: SleekDB

As a promising overview of SleekDB

⚡ Lightweight & Fast

Stores data in plain-text utilizing JSON format, no binary conversion needed to store or fetch the data. Default query cache layer.

🔆 Schema free data storage

SleekDB does not require any schema, so you can insert any types of data you want.

🔍 Query on nested properties

As it supports schema free data, so you can filter and use conditions on nested properties of the JSON documents!

If you write this where clause:

where( 'post.author.role', '=', 'admin' )
Enter fullscreen mode Exit fullscreen mode

SleekDB will look for data at:

{
  "post": {
    "author": {
      "role": "admin"
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

✨ Dependency free, only needs PHP to run

Supports PHP 7+. Requires no third-party plugins or software.

🚀 Default caching layer

SleekDB will serve data from cache by default and regenerate cache automatically! Query results will be cached and later reused from a single file instead of traversing all the available files.

And many more...

By utilizing the impressive SleekDB library, I tried to explore to make it a service that can be installed on the server and manage json data using the Panel on the Website with ease. Then the data on the server can be accessed using the REST API.

Discussion (0)