Skip to content

art-emini/kitedb

Repository files navigation

KiteDB

| Changelog | Docs |

A fast, small, simple, scalable, document-oriented database for NodeJS.

Features

  • Fast & Efficient
  • Simple to Use
    • Quick Setup
  • Document-Oriented
    • Collection/
      • Document/
        • shard-0.kite
        • shard-1.kite
        • ...
  • File Sharding
    • Documents Split into Shards
    • Auto/Smart Sharding based on Shard Size
      • Size limit per Shard
  • Scalable
    • Scalable with PM2 & Express
    • Scalable with File Sharding
  • V8 Serialization/Deserialization
    • Uses the fast NodeJS V8 serialize and deserialize tools
  • Smart & Auto Caching System
    • Caches recently accessed/modified data
    • Checks cache before reading a Shard
    • Expiry Date
      • Configurable time
      • Automatically removes old data from cache
  • Indexing
    • Stores data for quick access whenever
      • Document.searchIndex
    • No expiry
    • Efficient, no reads or writes
  • Safe
    • Backup and Restore
      • Replication
      • Backup entire Database
      • Restore specific / latest Backup
      • Many backups supported
      • Auto-remove old backups
    • Auto-backup
      • Interval Backups
      • Safety Dump Backups
    • Dumps
      • Catches Fatal Errors & Creates a Backup
      • Dumps the Debugger log into a file
  • Powerful Efficient Methods
    • Cache first, then reads
    • Mass additions, removals, modifications, etc
    • Advanced Searching Methods
      • Faceted - by property values
      • Satisfies - by satisfier boolean function
      • Keywords - by included keywords
      • Pattern - by regex key matching
      • Exact - by exact key
      • Index - by index
  • Special Properties
    • Each piece of data can have special properties
      • __immutable defines if that piece of data is immutable
      • __addedDate defines when that piece of data was added
      • __modifiedDate defines when that piece of data was last modified
    • These properties can also be disabled
  • Typescript Schema
    • Define a Schema for a Document to follow
  • Debugger
    • Colorful-logging Tool
    • Configurable
  • Fully Asynchronous
  • Small Package Size
  • Fully Typed

Download

NPM/Yarn

npm install kitedb or yarn add kitedb

License

MIT License

Copyright (c) 2023 Bleart Emini

Full Terms

Author

Bleart Emini (ksplatdev)

About

KiteDB - A fast, small, simple, scalable document-oriented database for NodeJS.

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Contributors