Skip to content

Pure PHP NoSQL database with no dependency. Flat file, JSON based document database.

License

Notifications You must be signed in to change notification settings

SleekDB/SleekDB

Repository files navigation

Please give it a Star if you like the project 🎉 ❤️

SleekDB - A NoSQL Database made using PHP

Full documentation: https://sleekdb.github.io/

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

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

Features

  • Lightweight, faster

    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

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

    where( 'post.author.role', '=', 'admin' )

    SleekDB will look for data at:

    {
      "post": {
        "author": {
          "role": "admin"
        }
      }
    }
  • 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.

  • 🌈 Rich Conditions and Filters

    Use multiple conditional comparisons, text search, sorting on multiple properties and nested properties. Some useful methods are:

    • where
    • orWhere
    • select
    • except
    • in
    • not in
    • join
    • like
    • sort
    • skip
    • orderBy
    • update
    • limit
    • search
    • distinct
    • exists
    • first
    • delete
    • like
    • not lik
    • between
    • not between
    • group by
    • having
  • 👍 Process data on demand

    SleekDB does not require any background process or network protocol in order to process data when you use it in a PHP project. All data for a query will be fetched at runtime within the same PHP process.

  • 😍 Runs everywhere

    Runs perfectly on shared-servers or VPS too.

  • 🍰 Easy to learn and implement

    SleekDB provides a very simple elegant API to handle all of your data.

  • 🍰 Easily import/export or backup data

    SleekDB use files to store information. That makes tasks like backup, import and export very easy.

  • 💪 Actively maintained

    SleekDB is created by @rakibtg who is using it in various types of applications which are in production right now. Our other contributor and active maintainer is Timucin who is making SleekDB much better in terms of code quality and new features.

  • 📔 Well documented

    The official documentation of SleekDB does not just provide a good api documentation. It is filled with examples!

Visit our website https://sleekdb.github.io/ for documentation and getting started guide.