NOTE: Issues tracker is disabled. You are welcome to contribute, pull requests accepted.
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 - The persistent key/value storage engine
- HTTP REST/Websockets endpoints powered by IWNET and BearSSL.
- 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 | ||
Java | ✔️ | ✔️ | ✔️ | ✔️2 | |
DartVM5 | ✔️ | ✔️2 | ❌3 | ||
Flutter5 | ✔️ | ✔️ | |||
React Native5 | ❌4 | ✔️ | |||
Swift5 | ✔️ | ✔️ | ✔️ |
[5]
Bindings are unmaintained Contributors needed.
[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
- Go
- Rust
- .Net
- Haskell
- Pharo
- Lua
- EJDB 2.0 core engine is well tested and used in various heavily loaded deployments
- Tested on
Linux
,macOS
andFreeBSD
. Has limited Windows support - Old EJDB 1.x version can be found in separate ejdb_1.x branch. We are not maintaining ejdb 1.x.
Are you using EJDB? Let me know!
EJDB2 code ported and tested on High Sierra
/ Mojave
/ Catalina
EJDB2 Swift binding for MacOS, iOS and Linux. Swift binding is outdated at now. Looking for contributors.
brew install ejdb
cmake v3.24 or higher required
git clone --recurse-submodules [email protected]:Softmotions/ejdb.git
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make install
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DPACKAGE_DEB=ON
make package
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DPACKAGE_RPM=ON
make package
EJDB2 can be cross-compiled for windows
Note: HTTP/Websocket network API is disabled and not yet supported
Nodejs/Dart bindings not yet ported to Windows.
Cross-compilation Guide for Windows
IWSTART is an automatic CMake initial project generator for C projects based on iowow / iwnet / ejdb2 libs.