All Projects β†’ atlx β†’ pocket-db

atlx / pocket-db

Licence: other
πŸŽ’ A pocket-sized Node.js, NoSQL database.

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to pocket-db

simpledbm
SimpleDBM is an Open Source Multi-Threaded Embeddable Transactional Database Engine in Java.
Stars: ✭ 51 (+240%)
Mutual labels:  nosql, nosql-database
MongoDB-University
Repo for All MongoDB University Courses
Stars: ✭ 102 (+580%)
Mutual labels:  nosql, nosql-database
Ardb
A redis protocol compatible nosql, it support multiple storage engines as backend like Google's LevelDB, Facebook's RocksDB, OpenLDAP's LMDB, PerconaFT, WiredTiger, ForestDB.
Stars: ✭ 1,707 (+11280%)
Mutual labels:  nosql, nosql-database
location-api-sl
This API can be use to all developers to get location details of Sri Lanka πŸ‡±πŸ‡° including major cities, sub areas, districts and Provinces. ⛳️
Stars: ✭ 35 (+133.33%)
Mutual labels:  nosql, nosql-database
skytable
Skytable is an extremely fast, secure and reliable real-time NoSQL database with automated snapshots and TLS
Stars: ✭ 696 (+4540%)
Mutual labels:  nosql, nosql-database
AloeDB
Light, Embeddable, NoSQL database for Deno πŸ¦•
Stars: ✭ 111 (+640%)
Mutual labels:  nosql, nosql-database
Stampede
The ToroDB solution to provide better analytics on top of MongoDB and make it easier to migrate from MongoDB to SQL
Stars: ✭ 1,754 (+11593.33%)
Mutual labels:  nosql, nosql-database
acebase
A fast, low memory, transactional, index & query enabled NoSQL database engine and server for node.js and browser with realtime data change notifications
Stars: ✭ 288 (+1820%)
Mutual labels:  nosql, nosql-database
soda-for-java
SODA (Simple Oracle Document Access) for Java is an Oracle library for writing Java apps that work with JSON (and not only JSON!) in the Oracle Database. SODA allows your Java app to use the Oracle Database as a NoSQL document store.
Stars: ✭ 61 (+306.67%)
Mutual labels:  nosql, nosql-database
pickledb-rs
PickleDB-rs is a lightweight and simple key-value store. It is a Rust version for Python's PickleDB
Stars: ✭ 116 (+673.33%)
Mutual labels:  nosql, nosql-database
cosmosdb-materialized-views
A full sample that shows how to implement real-time updated Materalized Views with CosmosDB, Change Feed and Azure Functions
Stars: ✭ 20 (+33.33%)
Mutual labels:  nosql
IoT-Technical-Guide
🐝 IoT Technical Guide --- δ»Žι›Άζ­ε»Ίι«˜ζ€§θƒ½η‰©θ”η½‘εΉ³ε°εŠη‰©θ”η½‘θ§£ε†³ζ–Ήζ‘ˆε’ŒThingsboardζΊη εˆ†ζž ✨ ✨ ✨ (IoT Platform, SaaS, MQTT, CoAP, HTTP, Modbus, OPC, WebSocket, η‰©ζ¨‘εž‹οΌŒProtobuf, PostgreSQL, MongoDB, Spring Security, OAuth2, RuleEngine, Kafka, Docker)
Stars: ✭ 2,565 (+17000%)
Mutual labels:  nosql
cloud-enablement-aws
Enabling MarkLogic in the cloud (AWS)
Stars: ✭ 18 (+20%)
Mutual labels:  nosql
caffeine
A basic REST service for JSON data - enough for prototyping and MVPs!
Stars: ✭ 1,155 (+7600%)
Mutual labels:  nosql
sre
πŸ“š Index for my study topics
Stars: ✭ 47 (+213.33%)
Mutual labels:  nosql
manon
πŸ§ͺ Play with SpringBoot 2, JWT, Querydsl, GraphQL, Docker, ELK, PostgreSQL, MariaDB, Redis, MongoDB, Flyway, Maven, Gradle, TestNG, JUnit5, JaCoCo, GreenMail, CI, Quality Gates, Prometheus, Gatling, etc.
Stars: ✭ 26 (+73.33%)
Mutual labels:  nosql
blogengine
BlogEngine template for Bufferwall
Stars: ✭ 23 (+53.33%)
Mutual labels:  nosql
in-memoriam
Lightweight, super fast, atomic, transactional in-memory database
Stars: ✭ 13 (-13.33%)
Mutual labels:  nosql
dndb
A Deno πŸ¦• persistent, embeddable and optimized NoSQL database for JS & TS
Stars: ✭ 64 (+326.67%)
Mutual labels:  nosql
python-lsm-db
Python bindings for the SQLite4 LSM database.
Stars: ✭ 115 (+666.67%)
Mutual labels:  nosql

PocketDB

A pocket-sized Node.js, easy-to-use, NoSQL database.

Important note(s)

  • This project is non-production ready, and barely has any development done.
  • With that being said, I'm planning on working and refining its functionality in the future, as I am currently busy actively working on another project.
  • Some essential methods (such as find) have not even been implemented, however I encourage you to contribute and see what you can accomplish!

Installation

$ npm install --save pocket

Features

  • Tiny β€” Small package size (8.3 KB zipped), 0 depedencies.
  • Performant β€” Uses efficient algorithms and data structures under the hood.
  • Dynamic β€” Can be used in-memory, or as a persistent data storage.
  • Extensible β€” Built with modularity in mind.
  • Interactive β€” Simply, chain-able, and predictable API.

Usage

// Import the database class.
import Db, {IModel, IProvider} from "pocket";

class ExampleProvider implements IProvider {
    // ...
}

interface IExampleModel extends IModel {
    message: string;
}

// Initialization.
const db = new Db<IExampleModel>("example");

// Use a custom provider (ex. JSON file).
db.use(new ExampleProvider());

// Create and store a record.
let item = db.create({
    // Required property, used for identification.
    id: 0,

    message: "Hello world!"
});

// Update the record.
item.update({
    message: "Fortune favors the brave."
});

// Apply the update's changes onto the database.
item.save();

// Sync (load) the record from the database.
item.sync();

// Find the record by its 'message' property.
item = db.find({
    message: "Hello world!"
})!;

Benchmarks

100 samples (iterations) are used in all benchmarks in order to get accurate, average readings.

# Write
1K items   : ~0.06037225998938084ms avg.
100K items : ~0.09036524929106235ms avg.
1M items   : ~0.8414506393671036ms avg.
100M items : ~82.79549079969526ms avg.

# Read
1K items   : ~0.04259479962289334ms avg.
100K items : ~0.32166273042559623ms avg.
1M items   : ~2.9804238600283863ms avg.
100M items : ~311.5762038500607ms (~0.3s) avg.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].