---
title: RDBMS synchronization process
description: PingDataSync synchronizes data between a directory server and a relational database management system (RDBMS) with a Server SDK extension. PingDataSync provides multiple configuration options, such as advanced filtering (fractional and subtree), attribute and distinguished name (DN) mappings, transformations, correlations, and configurable logging.
component: pingdirectory
version: 11.0
page_id: pingdirectory:pingdatasync_server_administration_guide:pd_sync_rdbms_sync_process
canonical_url: https://docs.pingidentity.com/pingdirectory/11.0/pingdatasync_server_administration_guide/pd_sync_rdbms_sync_process.html
revdate: September 13, 2023
---

# RDBMS synchronization process

PingDataSync synchronizes data between a directory server and a relational database management system (RDBMS) with a Server SDK extension. PingDataSync provides multiple configuration options, such as advanced filtering (fractional and subtree), attribute and distinguished name (DN) *(tooltip: \<div class="paragraph">
\<p>A name uniquely identifying an object within the hierarchy of a directory tree.\</p>
\</div>)* mappings, transformations, correlations, and configurable logging.

To support synchronizing changes, the database must be configured with a change tracking mechanism. An approach involving triggers, (one trigger per table) to record all changes to a change log table, is recommended. The database change log table Ping Identity should record the type of change (INSERT, UPDATE, DELETE), the specific table name, the unique identifier for the changed row, the database entry type, the changed columns (from the source table), the modifier's name, and the changetimestamp.

PingDataSync delegates the physical interaction with the database to a user-defined extension, which has full control of the SQL queries. The extension layer provides flexibility in how the mapping semantics between the Lightweight Directory Access Protocol (LDAP) *(tooltip: \<div class="paragraph">
\<p>An open, cross platform protocol used for interacting with directory services.\</p>
\</div>)* environment and the relational database environment are defined. The connection management, pooling, retry logic, and other boilerplate code are handled internally by PingDataSync.

The RDBMS Synchronization (DBSync) implementation does not support failover between different physical database servers. Most enterprise databases have a built-in failover layer from which PingDataSync can point to a single virtual address and port and still be highly available. A single RDBMS node can scale to multiple directory server endpoints.
