Frequently Asked Questions
Feedback & Support
I have feedback for you...
Great! Let us know how we are doing and where we can improve the ObjectBox database. Drop us a line here: contact [at] objectbox.io.
I need help...
I think I found a bug...
I really need feature xyz...
How can I help?
We’re still a small team and you can help us by providing feedback, getting in touch, providing help and tutorials to the community, recommending us to other developers, and last not least: Tweets, shares, and likes are always appreciated a lot too. 🙂
Does ObjectBox support object relations?
Yes. ObjectBox comes with strong relation support and offers features like “lazy/eager loading” for optimal performance.
Is ObjectBox a "zero copy" database?
It depends. Internally and in the C API, ObjectBox does zero-copy reads. Language objects (Java, Go, Swift) require a single copy only.
Are there any threading constrictions?
No. The objects you get from ObjectBox are plain objects without any strings attached. You are safe to pass them around in threads.
On which platforms does ObjectBox run? Which programming languages are supported?
Android (4.0 and above), Linux (64 bit), Windows (64 bit), macOS, iOS, boards like Raspberry Pi. ObjectBox offers several native-language super easy-to-use and intuitive APIs: Java, Flutter / Dart, Kotlin, Go, C, C++, and Swift.
Can I use ObjectBox on the desktop/server?
Yes, you can ObjectBox run on the desktop/server side. Contact us for details if you are interested in running ObjectBox in client/server mode or containerized!
Can I use ObjectBox on smart IoT devices?
Yes, you can run the ObjectBox database on any IoT device that runs Linux (or one of the other supported platforms).
How do I rename object properties or classes?
If you only do a rename on the language level, ObjectBox will by default remove the old and add a new entity/property. To do a rename, you must specify the UID. Check the language specific docs how to do so.
Does ObjectBox cache data?
A nice thing about ObjectBox is that it does not do caching – it delegates that to the operating system. The OS usually knows very well how to optimize memory among processes according to their usage patterns.
How does that caching work? How much RAM is used?
The underlying technology is called memory mapping (e.g. mmap on Linux). Simplified, it makes data on disk available in RAM and thus serves as an excellent cache. The management is completely up to the OS, which has significant advantages. In short, it automatically uses more memory if available. And it can operate using very little memory. Thus, there is no need to manage or limit the cache. Adding to this is the fact that ObjectBox itself consumes very little resources (CPU & RAM), and thus leaves more RAM for caching compared to traditional databases.
How many concurrent connections can ObjectBox support?
We have seen 100.000 **concurrent** clients connected to a single machine. Depending on the details of your application, a single machine might already be able to serve the need. But of course, you would want to have a cluster anyway for different reasons. Thus, the load can be shared among the cluster nodes for additional scaling.
License & Pricing
What about Open Source?
We strongly believe in Open Source. With greenDAO and EventBus we have been contributing to open source for years. Therefore, we open sourced the ObjectBox language bindings under the Apache 2.0 license. We think it is the most interesting part for developers and really allows everyone to use ObjectBox. We want to open source more components later, but first we need to figure out some things with ObjectBox. Please give us time on this. 2018 and 2019 were interesting with regards to open source; if you are interested in learning more about the background see this article for a start. If you need access to the core, please reach out to us individually. We’re currently putting all our efforts in advancing the product. Please contact us if you have questions about this (contact [at] objectbox.io). Thank you.
The current license is temporary only. We will adjust it to be easier and more pragmatic as soon as we can. If you see issues with the current license, please contact us. We’re sure, we can figure it out. We want you to succeed with ObjectBox, and the license should not be an issue.
What about Pricing?
ObjectBox is free to use. We will roll out additional commercial services / products for ObjectBox in the future. The ObjectBox database will always be free to use.
Example for commercial services we offer:
- Implementing features on top of the database that could be beneficial for your app and solve challenges you might have. Check out sync, and our time series extension.
- Training: to get you started asap, we can come in and help you integrating ObjectBox in your specific context.
- Support: If you need professional support agreements, we can help.
Still have questions?
Tweet about us
Open an Issue