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
- Native language bindings
- Supported platforms
- JQL query language
- Indexes and performance
- Network API
- C API
- License
| 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
- .Net
- Haskell
- Pharo
- EJDB 2.0 core engine is well tested and used in various heavily loaded deployments
- Tested on
LinuxandOSXplatforms. Limited Windows support - Old EJDB 1.x version can be found in separate ejdb_1.x branch. We are not maintaining ejdb 1.x.
- Softmotions trading robots platform
- Gimme - a social toy tokens exchange mobile application. EJDB2 is used both on mobile and server sides.
Are you using EJDB? Let me know!
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
sudo add-apt-repository ppa:adamansky/ejdb2
sudo apt-get update
sudo apt-get install ejdb2cmake v3.15 or higher required
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DPACKAGE_DEB=ON
make packagemkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DPACKAGE_RPM=ON
make packageEJDB2 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.