- Notifications
You must be signed in to change notification settings - Fork2
An optimised, document-based SQL database
License
NotificationsYou must be signed in to change notification settings
QSmally/QDB
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
QDB is a synchronous database module reliant on JavaScript object-documents with multiple levels of optimisation built into it.
- Non-blocking;
- Optimised memory cache;
- Schema objects and automatic migration;
- Selection and transaction wrappers;
- Connection pools with external thread support.
npm install QSmally/QDB
constQDB=require("qdatabase");// ...
The main interface for interacting with QDB.
constservice=newQDB.Connection(path,options?);
A SQL transaction manager.
// Instantiates a transaction within the database. It is required// to call 'commit' or 'rollback' on the returned Transaction.consttransaction=service.transaction();// Perform changes in the connection...transaction.commit();// ortransaction.rollback();
An unchanged piece of the database in memory.
// Aggregate with certain instructions, like joining tables,// ordering them and regrouping them by a property.constusers=service.select().join(projects,"UserId","Projects").order(user=>Object.keys(user.Projects).length,QDB.descending).group("Rank");
The library integrates a CLI for interacting with QDB deployments.
npm install -g QSmally/QDB
$ qdb make Instances.qdb$ qdb Development.qdb create Users$ qdb Production.qdb vacuum
This module is licensed underApache 2.0.
About
An optimised, document-based SQL database