10x faster than other Mobile Databases
All our benchmarks are Open Source. Check it out on GitHub and let us know what you think. We strive for fair and transparent benchmarks.
NoSQL – Intuitive APIs developers love
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | @Entity public class Person { @Id long id; String firstName; ... } // MyObjectBox is generated by ObjectBox BoxStore boxStore = MyObjectBox.builder() .androidContext(YourApp.this).build(); Box<Person> box = boxStore.boxFor(Person.class); Person person = new Person("Joe", "Green"); long id = box.put(person); // Create Person person = box.get(id); // Read person.setLastName("Black"); box.put(person); // Update box.remove(person); // Delete |
1 2 3 4 5 6 7 8 | @Entity data class Person( @Id var id: Long = 0, var firstName: String, var lastName: String ) val box = boxStore.boxFor<Person>() box.put(Person(0, "Joe", "Green")) |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | class Person: Entity { var id: Id<person> = 0 var firstName: String var lastName: String ... } let store = Store(directoryPath: aPermanentPath) let box = store.box(for: Person.self) let newPerson = Person(firstName: "Joe", lastName: "Green") let id = try! box.put(newPerson) // Create let person = box.get(id) // Read person.lastName = "Black" try! box.put(person) // Update try! box.remove(person) // Delete let query = box.query { return Person.firstName == "Joe" && Person.lastName.startsWith("B") } let persons: [Person] = query.find() </person> |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | @Entity() class Person { int id; String firstName; String lastName; } // Note: in Flutter you also need to specify a directory, see examples. final store = Store(getObjectBoxModel()); final box = store.box<Person>(); var person = Person() ..firstName = "Joe" ..lastName = "Green"; final id = box.put(person); // Create person = box.get(id); // Read person.lastName = "Black"; box.put(person); // Update box.remove(person.id); // Delete |
Keep your data in sync across devices - seamlessly
1 2 3 4 5 | SyncClient syncClient = Sync.client( boxStore, "ws://127.0.0.1" /* Use wss for encrypted traffic. */, SyncCredentials.none() ).buildAndStart(); // Connect and start syncing. |
1 2 3 4 5 | val syncClient = Sync.client( boxStore, "ws://127.0.0.1" /* Use wss for encrypted traffic. */, SyncCredentials.none() ).buildAndStart() // Connect and start syncing. |
1 2 3 | try Sync.makeClient(store: store, urlString: "ws://127.0.0.1:9999", credentials: SyncCredentials.makeNone()) try client.start() |
1 2 3 4 5 | SyncClient syncClient = Sync.client( store, 'ws://127.0.0.1:9999', // wss for SSL, ws for unencrypted traffic SyncCredentials.none()); syncClient.start(); // connect and start syncing |
Mobile users expect a seamless experience from their apps – whether online or offline. Make sure that data is synchronized between devices and / or a backend (cloud or server) with ObjectBox Sync, the fastest Data Sync solution for Mobile and IoT apps.
Stay in touch
ObjectBox’ embedded database and data sync solution empowers embedded solutions across industries. From Automotive to Industrial IoT, ObjectBox is used by embedded developers for speed, resource efficiency, and to reduce data transmission overhead. Read more about industry-specific applications here:
Benefits of using ObjectBox
Lightweight DB
With a footprint of less than 1 MB and no caching, ObjectBox uses minimum of the device’s resoures.
Fast Data Access
Efficient Data Sync with less overhead than any alternative known to us (that was benchmarked with Kapsch and BMW).
Offline-First
No dependance on a network, since the local data is directly available. Reduce Cloud and MNO costs by storing data locally and only syncing when needed.
Sustainability and privacy by design
Keep personal data with the user and reduce CO2 emissions by avoiding unnecessary data transfers.
More about mobile databases
What is a mobile database?
Mobile database is an edge database that runs on mobile devices, i.e. supports Android and iOS. It is a type of embedded database (one that is embedded into the application) that is also optimized for high performance on restricted decentralized devices, like mobile devices.
When do you need one?
If your mobile app stores any kind of data, it most likely needs a database solution. To save time, choosing an out-of-the-box solution is always a good idea. ObjectBox Database is free to use and easy to implement.
Is ObjectBox a full SQLite alternative?
ObjectBox is a database and not an ORM for SQLite, and so it is a full alternative. In some aspects it offers even more than SQLite, e.g. Data Sync and Flutter support.
Is ObjectBox an ORM?
No. It is an object-oriented NoSQL database that was built from the ground up.
Mobile Database Features
ObjectBox is an embedded, object-oriented database for Mobile Apps and IoT. Our NoSQL Mobile Database is 10x faster than any alternative, takes only 1/10th of the code compared to SQLite, and is a perfect alternative to SQLite and CoreData. On top, we built a data synchronization solution that takes care of seamlessly syncing data between the local mobile app and the backend / cloud. Get in touch to test ObjectBox out-of-the-box Data Sync now.
Lightspeed
Our motivation to build ObjectBox was to deliver the best possible performance, outperforming every embedded database we’ve ever tested.
Easy Object API
Objectbox is not an ORM, it is build for objects from the ground up, which means no more rows, columns, or SQL. Our concise API is easy to learn and only requires a fraction of the code compared to SQLite.
Querybuilder
With ObjectBox, simply query for objects with checks at compile times; no more typos causing crashes at runtime.
Object Relations
Object references / relationships are build-in, native references.
Reactive
Reacting to data changes is simple and powerful. Use reactive data observers from ObjectBox or integrate with RxJava.
Multiplatform
ObjectBox supports Android, plain-Java, Kotlin (Linux and Windows), POSIX, MacOS, iOS, Go, Python, Dart/Flutter, and C/C++.
Instant Unit Testing
With our multi-platform approach, you can run plain unit tests on the desktop (no Robolectric, on instrumentation tests) with a real database in milliseconds.
Robust Technology
ACID (Atomic, Consistent, Isolated, Durable) properties and Multiversion Concurrency Control (MVCC) provide you with safe transactions and parallelism.
Simple Threading
Objects returned by ObjectBox with in all threads. No strings attached.
No Manual Schema Migrations
ObjectBox takes care of new object versions with added, removed and renamed properties. Automatic schema migration removes that chore for developers.
Daocompact Library
greenDAO is an Object-Relational-Mapper (ORM). If you are already using greenDAO, you can seamlessly switch to ObjectBox using greenDAO compat APIs for ObjectBox. If you are using another ORM or DB, switching to ObjectBox is easy.
Battle Testing
From beta onward, ObjectBox has been running on 30k+ apps, and millions of devices. Of course, we’ve also run over 1,000 individual internal unit tests and empower apps with more than 20 million installs.
Join the community
SIEMENS
“very easy to integrate…gave us the data access speed we needed.”
KONTRON S&T group
“performance improvement far beyond other databases”
Atul Kumar
“ObjectBox made my work easy to store locally. Overall my experience with ObjectBox is mind blowing.”
Manas Thakur
“I liked the fact that it is a synchronous DB and that I don’t have to await for read/write operations.”
Cris @Crispert
“Terrific job, ObjectBox is marvelous solution, it almost makes data persistance invisible. I was really astonished to see how the code shrunk, in front of my eyes when I replaced realm. I’m still amazed how simple all of it is.”
Eslam Mongy
“Thank you. ObjectBox has proven to be an exceptionally efficient solution for local data storage. In my experience, it surpasses the performance of other available options.”
Mohammad Monfared
“I was impressed by the simplicity and efficiency of the ObjectBox database solution.”
Thierry Benda
“ObjectBox is a great candidate to store events and handle them later, amongst many other interesting features.”