ObjectBox offline-first Data Sync
Manage data flows on the edge and to the cloud easily and efficiently
Keep Data in Sync Across Devices – Offline-first
ObjectBox Sync is the out-of-the-box Data Sync solution to manage data flows and harmonize data across devices, offline as well as online. ObjectBox Sync keeps data up-to-date between devices and / or the cloud or an on-premise server. Easily develop cross-platform apps with intuitive native language APIs and keep data efficiently in sync across Mobile, IoT and other embedded devices. Leave all that boilerplate code for occasionally connected devices and JSON / REST data sending behind. Discover the easy to use alternative for syncing data – and simply rely on the data being available where needed when needed.
Edge to Cloud to Edge
Do you need up-to-date data from your mobile app in the cloud or from a connected car on your backend server? ObjectBox is optimized for efficient resource use and speed on restricted devices, like e.g. ECUs. ObjectBox Sync empowers superfast and efficient automatic bidirectional edge to cloud data updates with minimal data transmission and frugal overhead.
Edge to Edge
Synchronize data from edge device to edge device, e.g. synchronize an IoT gateway with an industrial PC, smart phone, any controlling unit (ECU) or an on-premise server on site, directly and without the need for an Internet connection or the cloud. ObjectBox makes it easy to synchronize data between devices on-premise / offline.
Decentralized Edge [planned]
The decentralized, distributed edge: keep data in sync and up-to-date from edge to edge with no central node. This peer-to-peer (p2p) setup works with or without a cloud or a central server. Use the p2p Offline Sync on your premises without any connection to the Internet.
Start Syncing your Data
Built by developers for developers. ObjectBox runs on most operating systems (e.g. Android, iOS, Linux, Windows) and APIs are available in the languages you already work with (Java, Go, C, C++, Kotlin, Python, swift, Dart/Flutter). Uniquely designed to meet the requiremens of the decentralized Edge Computing topology, ObjectBox is 10X faster than any alternative (like SQLite, CoreData, Redis, or Realm). ObjectBox database is designed from scratch to support offline and decentralized data sync on the edge. It is an efficient Firebase alternative.
For high-performance Edge Computing, ObjectBox is the solution of choice enabling you to guarantee fast response rates and design low-latency experiences. Co-locating computation and data at the source and with the users also brings privacy and security by design.
ObjectBox database is ACID-compliant and Sync is transactionally safe, so cou can rest assured you never lose data. ObjectBox Sync takes care of making the data sets you select reliably available where needed when needed in a highly efficient way. A bit like a Dropbox for app developers. If you’re new to ObjectBox Sync, take a look at our documentation, or request a demo or free trial.
SyncClient syncClient = Sync.client(
"wss://127.0.0.1" /* Use ws for unencrypted traffic. */,
).build(); // Connect and start syncing.
std::shared_ptr<obx::syncclient> syncClient = obx::Sync::client(
"wss://127.0.0.1:9999", // wss for SSL, ws for unencrypted traffic
syncClient->start(); // connect and start syncing</obx::syncclient>
OBX_sync* sync_client = obx_sync(store, "wss://127.0.0.1:9999"); // wss for SSL
obx_sync_start(sync_client); // connect and start syncing
Data Where You Need It, When You Need It
Offline First – Guarantee Functionality Offline
The ObjectBox database stores data (objects) locally, directly on the device, enabling offline use. ObjectBox Sync offers reliable online and offline data sync from edge to edge to server and / or the cloud. As a developer, you choose which object to synchronize when. ObjectBox takes care of harmonizing data across devices – offline on the edge, e.g. on a factory floor. ObjectBox takes care of automatically updating the cloud / a central instance when a connection is available.
Save time, costs and reduce hassle by using ObjectBox Sync. All data changes are synced automatically between client and server. ObjectBox is an embedded database with fast and safe integration into your app architecture. Free yourself from complex and time-consuming tasks and get your connected app running reliably and fast.
Efficient, Superfast, Sustainable
The ObjectBox database is 10x faster than any alternative; this performance advantage transfers directly to ObjectBox Sync – allowing for high speed data sync, and reduced mobile network and cloud costs. ObjectBox Sync offers a sustainable alternative to sending all data to the cloud – the less data sent to the cloud, the less energy required by the device, i.e. the longer your phone battery lasts.
Keep Data Local, Keep Data Private
Securely sync data between your Mobile and IoT apps with ObjectBox Sync, from edge to edge and from edge to cloud, with transport encryption. You can use ObjectBox sync on-premise like an “offline sync” that makes sure data is available when needed where needed on your location without a cloud or any need to ever leave your premises. Local data storage and selective Sync enables you to comply with GDPR and keep private data on the device it is used on.
Object persistence on and across devices
Go to market faster by building cross-platform apps with ObjectBox. With ObjectBox, you only need one implementation across devices – from sensor to server. ObjectBox supports many operating systems including Android, iOS, Windows, Linux, Raspbian. Use the native language of your choice, e.g. Java, Kotlin, swift, C, C++, Go, Flutter / Dart, to persist objects on the device (Edge Computing) and persist objects across devices (Sync). Benefit from efficient, lean and easily maintainable code.
What is ObjectBox Data Sync?
ObjectBox Data Sync is the continual process of harmonizing data between two or more devices and updating changes automatically between them. ObjectBox is offline first and ideal for Edge Computing. With ObjectBox, developers can easily store and sync data from sensor to server – on Android, iOS, Raspbian, Windows, MacOS, Linux or any POSIX-system. With ObjectBox’ super fast NoSQL database and data synchronization solution, quickly and efficient sync the data you need. Use it offline or online to keep data in sync between edge devices like mobile phones or IoT gateways, and with other IoT devices or the backend / cloud.
Sync Use Cases Across Industries
ObjectBox’ data persistence and synchronization solution is used in many contexts, from mobile apps to automotive, Industrial Controllers, healthcare, and smart home devices. ObjectBox empowers decentralized Edge Computing in a wide variety of use cases as a “software infrastructure”. Discover some of the industries that ObjectBox customers work in:
Choose A Special Mode of Syncing
Sensible Syncing – only sync data when something happens
Choose which data to sync sensibly by information value, e.g. monitor constant data streams from sensors for changes (e.g. temperature) and only sync when changes occur.
Limited Syncing – keep data ownership clear and don’t sync personal data
Keep confidential, car-specific and personal data locally, where it is safe. Be prepared for EU data privacy requirements.
Full Syncing Control – need a full data set? Sync all your data
Activate full sync for certain environments or times, for example while you run your AI on the edge, you might need to send over full data sets for AI model training.
Is my Use Case Supported? Current Limitations of Sync to Keep in Mind
You should be able to self-host
Offline-first: ObjectBox Sync is a self-hosted solution
This actually is one of our greatest strength! You can self-host and keep all the data within your setup – unlike typical cloud / SaaS solutions (everyone else really), you can use ObjectBox completely on-premise, or host it on your own private or of course any public cloud. And the best is: You can host it cost-effectively, because the ObjectBox Sync server can easily run very performantly on low-end devices, like e.g. Raspberry Pis.
The drawback for use cases that do not care about this, is: At this moment, you need to host the “Sync Server” yourself 😉
Options to host ObjectBox:
- locally / on-premise (e.g. on a computer, phone, a raspberry pi or most other embedded devices) or
- in the cloud, on one of the typical cloud providers or your private cloud.
The advantage is that Data Sync can be used in all types of distributed systems that are not or are not always connected to the Internet, such as within cars (on ECUs), on the shopfloor, any PoS, an underground parking lot, or a remote location. Because the Sync server has few hardware and software requirements, it can usually be used on existing infrastructure (retrofitting) or in low-cost setups. It is highly efficient and will keep data transmission volumes low, so it is ideal if you face very flaky network conditions or limited bandwidth scenarios.
No user-specific data sync
We don’t support user spaces yet
While it might be a big roadblock for many, user spaces are still on our roadmap. User spaces allow you to choose which data is synced to which “user”, which could be a device, a server, a cluster, or something else, depending on the use case.
In the context of mobile apps, we call it user-specific data. The way Sync works currently is that all data is sent to all app users.
However, this might be something you’ll be able to solve within your application. We encourage you to give it a try!
Still unsure whether Sync is good for your use case?
Consult the pages below to get a better understanding of Sync before you apply for a free trial.
Integration with other DBs, server hosting options, p2p, etc…
More in-depth technical information and setup/troubleshooting guides.
Ready to try ObjectBox Sync?
Sign up to get your free ObjectBox Sync trial.
Interested in pricing?
Learn more about how we price and request a quote.