Ditto Basics
As an edge sync platform, Ditto seamlessly shuttles data from points A to B in peer‑to‑peer, client-server, and hybrid environments. With Ditto, you get to choose the architecture that best meets your unique goals and use cases.
This Ditto Basics guide provides a high-level overview of fundamental concepts that, once understood, will empower you to make the most of what Ditto has to offer.
The Ditto platform is a complex ecosystem consisting of many components that together form Ditto’s highly-available cloud-optional data management solution:
- Ditto shuttles data from points A to B without the need for a centralized authority, such as a central server to validate and merge data changes.
- If data inconsistencies occur as a result of concurrent edits; as in, simultaneous offline edits made to the same data items stored in different locations, those conflicts eventually merge as a single value.
The following video narration provides a quick overview of how Ditto ensures data delivery from points A to B regardless of challenging network conditions:
Ditto is an SDK library integrated with your app. Once integrated, each peer retains a single system database known as a Ditto store. The Ditto store operates locally within the end‑user’s environment, such as a physical device like an iPhone. (See Small Peer: Your App Integrated with Ditto)
The local Ditto store securely stores and processes transactional data as independent copies of the data, referred to as replicas. By maintaining multiple replicas of the same data across distributed peers, if one peer experiences connectivity issues or becomes unresponsive, your app remains fault-tolerant and optimized, ensuring a consistently smooth end-user experience.
When internet connection is restored or a secure network is accessible, offline changes automatically sync with the cloud database deployment and even back to your centralized server — enterprise cloud, data center, legacy database, or business intelligence tool. (See Big Peer: A Powerful Cloud Component)
Small Peer is an abstract term that Ditto uses to refer to your app logic integrated with the Ditto SDK running within the end-user environment, such as a web, mobile, or desktop app, or Linux‑enabled server system.
The defining attributes of Small Peers include:
- Storage, RAM, and CPU resources are generally static and unchangeable. For example, a Small Peer could be an Apple iPhone 13 with a fixed storage capacity of 256 GB.
- Form an intelligent peer‑to-peer mesh network by automatically connecting with nearby peers through available transport protocols like Bluetooth Low Energy (LE).
Entirely managed by Ditto, the mesh network established by Small Peers forms the foundation of the platform's advanced peer‑to‑peer architecture, facilitating seamless offline‑first capabilities.
For more information, see any of the following:
Within the peer-to-peer network structure is a cloud database deployment referred to as the Big Peer. Despite its role as a centralized node in the Kubernetes cluster, the Big Peer seamlessly integrates within the distributed network like any other connected peer, albeit with elevated access permissions.
The key features of the Big Peer include handling large amounts of data through horizontal scaling, ensuring continuous uptime operation and availability, fostering data and network security, and automatically managing critical scaling decisions.
After undergoing rigorous performance testing to confirm its efficiency, scalability, and ability to handle a high volume of transactions, the Big Peer is proven to handle up to 40,000 transactions per second. This includes 25,000 write transactions and 15,000 read transactions.
For more information, see any of the following: