Offline-first Data Sync

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. Manage data flows on the edge and to the cloud easily and efficiently

pacman-GIF-complete-cropped (6xs)
EDGE-CLOUD-dark-teal

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 gif

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

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 you 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(
        boxStore, 
        "ws://127.0.0.1", 
        SyncCredentials.none()
).buildAndStart(); // Connect and start syncing.

val syncClient = Sync.client(
        boxStore,
        "ws://127.0.0.1",
        SyncCredentials.none()
).buildAndStart() // Connect and start syncing.

std::shared_ptr<obx::SyncClient> syncClient = obx::Sync::client(
    store, 
    "ws://127.0.0.1:9999", 
    obx::SyncCredentials::none()
);
syncClient->start();  // connect and start syncing

OBX_sync* sync_client = obx_sync(store, "ws://127.0.0.1:9999"); 
obx_sync_credentials(sync_client, OBXSyncCredentialsType_NONE, NULL, 0);
obx_sync_start(sync_client);  // connect and start syncing

OBX_sync* sync_client = obx_sync(store, "ws://127.0.0.1:9999");
obx_sync_credentials(sync_client, OBXSyncCredentialsType_NONE, NULL, 0);
obx_sync_start(sync_client);  // connect and start syncing

SyncClient syncClient = Sync.client(
        store,
        'ws://127.0.0.1:9999',
        SyncCredentials.none());
syncClient.start(); // connect and start syncing

syncClient, err := objectbox.NewSyncClient(
  store,
  "ws://127.0.0.1",
  objectbox.SyncCredentialsNone())

if err != nil {
  err = syncClient.Start() // Connect and start syncing.
} 

Data Where You Need It, When You Need It

Offline-first

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.

Feels Serverless

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.

fast-database-edge-iot 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 and private

ObjectBox DB persists data locally. ObjectBox Sync “server” can be hosted on-premise and on a wide variety of devices, e.g. on a mobile phone or an ECU. You can also host it on the cloud of course. So, you can control where your Data Sync takes place and never need to share data outside your devices / locations.

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.

AI-Icon On-device Vector Search for distributed AI

ObjectBox is the first on-device Vector Search for mobile, IoT, and other embedded devices (like ECUs, robots, machines, Raspberry Pis etc.). It’s highly performant and empowers you to do on-device RAG or on-device GenAI applications as well as boost your Edge AI performance – in a highly resourceful way, meaning: without draining the battery…. In combination with Data Sync, the opportunities for powerful, distributed Edge AI applications (and federated learning) are endless.

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.

reference sync

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:

Syncing Principles

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.

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.

… or schedule an Introductory Meeting.