All Projects → vincentdchan → Polodb

vincentdchan / Polodb

Licence: mit
PoloDB is an embedded JSON-based database.

Programming Languages

python
139335 projects - #7 most used programming language
rust
11053 projects

Projects that are alternatives of or similar to Polodb

Eliasdb
EliasDB a graph-based database.
Stars: ✭ 611 (+116.67%)
Mutual labels:  database, embedded
Deveeldb
DeveelDB is a complete SQL database system, primarly developed for .NET/Mono frameworks
Stars: ✭ 80 (-71.63%)
Mutual labels:  database, embedded
Keyvast
KeyVast - A key value store
Stars: ✭ 33 (-88.3%)
Mutual labels:  database, cross-platform
Sqlectron Gui
A simple and lightweight SQL client desktop with cross database and platform support.
Stars: ✭ 3,852 (+1265.96%)
Mutual labels:  database, cross-platform
Couchbase Lite Core
Cross-platform C++ core library for Couchbase Lite
Stars: ✭ 187 (-33.69%)
Mutual labels:  database, embedded
Flashdb
An ultra-lightweight database that supports key-value and time series data | 一款支持 KV 数据和时序数据的超轻量级数据库
Stars: ✭ 378 (+34.04%)
Mutual labels:  database, embedded
Ejdb
🏂 EJDB 2.0 — Embeddable JSON Database engine C library. Simple XPath like query language (JQL). Websockets / Android / iOS / React Native / Flutter / Java / Dart / Node.js bindings. Docker image.
Stars: ✭ 1,187 (+320.92%)
Mutual labels:  database, embedded
Couchbase Lite C
C language bindings for the Couchbase Lite embedded NoSQL database engine
Stars: ✭ 58 (-79.43%)
Mutual labels:  database, embedded
Unqlite
An Embedded NoSQL, Transactional Database Engine
Stars: ✭ 1,583 (+461.35%)
Mutual labels:  database, embedded
Slowpoke
Low-level key/value store in pure Go.
Stars: ✭ 98 (-65.25%)
Mutual labels:  database, embedded
Imguifontstudio
Font Helper Gui Tool for programming
Stars: ✭ 149 (-47.16%)
Mutual labels:  cross-platform, embedded
Cubdb
Elixir embedded key/value database
Stars: ✭ 235 (-16.67%)
Mutual labels:  database, embedded
Guilite
✔️The smallest header-only GUI library(4 KLOC) for all platforms
Stars: ✭ 5,841 (+1971.28%)
Mutual labels:  cross-platform, embedded
Dbreeze
C# .NET MONO NOSQL ( key value store embedded ) ACID multi-paradigm database management system.
Stars: ✭ 383 (+35.82%)
Mutual labels:  database, embedded
Mogwaierdesignerng
Java 2D & 3D visual entity relationship design & modeling (ERD,SQL) for Oracle,MSSQL,Postgres and MySQL
Stars: ✭ 90 (-68.09%)
Mutual labels:  database, cross-platform
Sqlitebrowser
Official home of the DB Browser for SQLite (DB4S) project. Previously known as "SQLite Database Browser" and "Database Browser for SQLite". Website at:
Stars: ✭ 15,801 (+5503.19%)
Mutual labels:  database, cross-platform
Isar
Super Fast Cross Platform Database for Flutter & Web Apps
Stars: ✭ 236 (-16.31%)
Mutual labels:  database, cross-platform
Pgquarrel
pgquarrel compares PostgreSQL database schemas (DDL)
Stars: ✭ 274 (-2.84%)
Mutual labels:  database
Trino
Official repository of Trino, the distributed SQL query engine for big data, formerly known as PrestoSQL (https://trino.io)
Stars: ✭ 4,581 (+1524.47%)
Mutual labels:  database
Dbq
Zero boilerplate database operations for Go
Stars: ✭ 273 (-3.19%)
Mutual labels:  database

PoloDB

Build Status Crates.io npm version PYPI version

PoloDB is an embedded JSON-based database.

中文版

Features

  • Simple/Lightweight/Easy to learn and use
  • Various language bindings
  • Embedded (No standalone processes, no cross-process calls)
  • No runtime dependency
  • NoSQL
  • MongoDB-like API
  • Cross-Platform
  • Store data in ONE file

Introduction

PoloDB is a library written in Rust that implements a lightweight MongoDB.

PoloDB has no dependency(except for libc), so it can be easily run on most platforms (thanks for Rust Language).

The data of PoloDB is stored in a file. The file format is stable, cross-platform, and backwards compatible.

The API of PoloDB is very similar to MongoDB. It's very easy to learn and use.

Platform

Theoretically, PoloDB supports all platforms that the Rust compiler supports. But PoloDB is a personal project currently. Limited by my time, I have only compiled and tested on the following platforms:

  • macOS Big Sur x64
  • Linux x64 (Tested on Fedora 32)
  • Windows 10 x64

Manual

Developing Plan

The features will be implemented one by one in order.

  • [x] Basic database API
    • [x] CURD
    • [x] Transactions
    • [ ] Indexes
    • [ ] Aggregation
  • [x] Command line Tools
  • [x] Mobile Platform Compilation
    • [x] iOS
    • [ ] Android
    • [ ] Flutter
  • [ ] Language bindings
    • [x] C/C++
    • [ ] Go
    • [x] Swift (Repo)
    • [x] Python (Doc)
    • [x] Node.js (Doc)
    • [ ] Java/Kotlin
    • [ ] Dart
  • [ ] Tons of tests
  • [ ] Multi-threads support
  • [ ] Extension API
    • [ ] Data Encryption
    • [ ] JavaScript Engine
  • [ ] Visualization Tools

Contribute

Module Path Description
Core src/polodb_core The core implementation of the Database
C Library src/polodb_clib The C FFI implementation of PoloDB
CLI tool src/polodb_cli The command line tool of PoloDB
Node.js bindings polodb.js The Node.js binding using N-API
Python bindings pypolodb The CPython binding using Extension API
Swift bindings SwiftyPoloDB The Swift binding
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].