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
- Lua
- EJDB 2.0 core engine is well tested and used in various heavily loaded deployments
- Tested on
Linux
andOSX
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.
- 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 ejdb2
cmake v3.15 or higher required
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 supported on Windows until port of http://facil.io library (#257)
Nodejs/Dart bindings not yet ported to Windows.