释义 |
- History
- Technical Features
- Development and Distribution
- Supported Languages
- Further Reading
- References
{{Infobox software | name = ObjectBox | logo = | logo size = | screenshot = | caption = | author = | developer = Markus Junginger | released = {{Start date|2017|01|24}}[1] | latest release version = {{Start date|2017|09|04}}[2] | repo = https://github.com/objectbox | programming language = C++ | operating system = Android, Linux, Microsoft Windows | language = English | genre = object-oriented, key-value | website = https://objectbox.io/ }}ObjectBox is a NoSQL, ACID-compliant on-device object-oriented, key-value database for mobile and IoT. It is a combination of NoSQL approaches with object-orientation, optimized for small connected devices. It has a closed core, with Apache license for bindings. History ObjectBox was founded by Dr. Vivien Dollinger and Markus Junginger, who originally built the well known open source libraries greenDAO (an ORM) and EventBus. After coming across distinct shortcomings which arose due to the database used, they decided to develop a database of their own that would eradicate the limitations they came across. ObjectBox had been in development since 2015 and officially incorporated during participation in Techstars London 2017. On September 4th, 2017, ObjectBox 1.0 was launched and on July 25, 2018, ObjectBox 2.0 was launched. Technical Features - ObjectBox is a standalone database library for embedding into mobile applications and embedded processes without the need for complex configuration, servers or an administrator. Records are internally stored in direct-accessible flatbuffers, for increased speed and reduced memory footprint. Great care is taken to avoid unnecessary copying of in-memory data, using memory mapping when possible.
- ObjectBox integrates tightly with the client programming language, employing source code processors and code generation to transparently manage database information based on the client’s source code objects and their relationships, and automatically updating the database when fields are added or removed. Similarly, queries are expressed in the client language and syntax-checked by the compiler instead of not being validated until queries are actually run.
- ObjectBox is thread-safe and its fully ACID-compliant transactions support multiversion concurrency, providing a consistent picture of the database to several read transactions while a write transaction is in flight.
- Standard features like indexes and unique field value enforcement are also available.
(Technical)(To also include differences from other NoSQL databases)Speed w/ benchmarks link Development and Distribution ObjectBox DB is free to use and is available on GitHub, where language-specific bindings are also available. ObjectBox is currently working on a Synchronization solution that ties into the database. Supported Languages Since its launch, ObjectBox has steadily been releasing language bindings, including : - C/C++
- Kotlin[3]
- Java
- Go[4]
- Swift (Beta release)[5]
Further Reading - [https://proandroiddev.com/objectbox-a-modern-and-easy-to-use-android-database-1172b7605645 ObjectBox, a modern and easy to use Android database]
- [https://notes.devlabs.bg/realm-objectbox-or-room-which-one-is-for-you-3a552234fd6e Realm, ObjectBox or Room. Which one is for you?]
- [https://proandroiddev.com/applying-googles-android-architecture-with-objectbox-database-5153ce8ffac1 Applying Google’s Android architecture with ObjectBox database]
- [https://alternativeto.net/software/realm/ Alternatives to Realm for all platforms with any license]
- [https://www.netguru.co/codestories/realm-vs-objectbox-comparison Realm vs ObjectBox - Write Transactions Comparison]
References
|