Skip to content

Latest commit

 

History

History
157 lines (122 loc) · 6.21 KB

BASE.md

File metadata and controls

157 lines (122 loc) · 6.21 KB

EJDB 2.0

Join Telegram license maintained

EJDB2 is an embeddable JSON database engine published under MIT license.

The Story of the IT-depression, birds and EJDB 2.0

  • C11 API
  • Single file database
  • Online backups support
  • 500K library size for Android
  • iOS / Android / React Native / Flutter integration
  • Simple but powerful query language (JQL) as well as support of the following standards:
  • Support of collection joins
  • Powered by iowow.io - The persistent key/value storage engine
  • Provides HTTP REST/Websockets network endpoints with help of facil.io
  • JSON documents are stored in using fast and compact binn binary format


EJDB2 platforms matrix

Linux macOS iOS Android Windows
C library ✔️ ✔️ ✔️ ✔️ ✔️1
NodeJS ✔️ ✔️ 3
DartVM ✔️ ✔️2 3
Flutter ✔️ ✔️
React Native 4 ✔️
Swift ✔️ ✔️ ✔️
Java ✔️ ✔️ ✔️ ✔️2


[1] No HTTP/Websocket support #257
[2] Binaries are not distributed with dart pub. You can build it manually
[3] Can be build, but needed a linkage with windows node/dart libs.
[4] Porting in progress #273

Native language bindings

Unofficial EJDB2 language bindings

Status

  • EJDB 2.0 core engine is well tested and used in various heavily loaded deployments
  • Tested on Linux and OSX platforms. Limited Windows support
  • Old EJDB 1.x version can be found in separate ejdb_1.x branch. We are not maintaining ejdb 1.x.

Use cases

Are you using EJDB? Let me know!

macOS / OSX

EJDB2 code ported and tested on High Sierra / Mojave / Catalina

See also EJDB2 Swift binding for OSX, iOS and Linux

brew install ejdb

or

mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make install

Linux

Ubuntu/Debian

PPA repository

sudo add-apt-repository ppa:adamansky/ejdb2
sudo apt-get update
sudo apt-get install ejdb2

Building debian packages

cmake v3.15 or higher required

mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DPACKAGE_DEB=ON
make package

RPM based Linux distributions

mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DPACKAGE_RPM=ON
make package

Windows

EJDB2 can be cross-compiled for windows

Note: HTTP/Websocket network API is disabled and not supported on Windows until port of http://facil.io library (#257)

Nodejs/Dart bindings not yet ported to Windows.

Cross-compilation Guide for Windows