DB Sync Concepts This section provides an overview of DB Sync concepts, detailing the foundational topics and principles related to database synchronization. DB Sync framework purposeDB Sync is a system for sharing data between a central SQL database and local SQL databases used by nomad apps that need to function off-line.Actors of DB SyncDB Sync involves three key roles: the System Administrator, who handles installation and setup; the Application Developer, who integrates DB Sync into applications to perform the synchronization processes; and the Client Application Administrator, who configures client app settings, manages permissions, and addresses sync issues without altering the database.DB Sync architectureA DB Sync system includes a central server and several DB Sync client apps, each with its own local database.DB Sync objectsThe DB Sync system manipulates a database schema, SQL tables, DB Sync client apps and end users.Application SQL tablesApplication SQL tables must adhere to minimal definition rules, including primary keys with specific constraints, optional foreign keys for data consistency, and support for auto-incremented columns. CHECK and UNIQUE constraints can be defined in both the application database and the DB Sync schema, which manages configuration and data changes for remote databases.User authentication and permissionsThe DB Sync system can authenticate end users with GAS/SSO/GIP, or with a login+password when using the direct mode.The synchronization mechanismThe database synchronization mechanism implements concurrent data access and updates between central and remote databases used by DB Sync client apps.Concurrent data access conflictsData sync conflicts can occur and needs to be treated by the client application.Data filtersData filters define SQL conditions on SQL tables, to filter the data rows send to the DB Sync client apps. Data filters can be parameterized, to get user-specific filtered data.DB Sync implementation tasksThe section gives an overview of the tasks to achieve database synchronization between a central database and remote databases used by nomad apps.