Use ADB DDBoost plugin
Overview
ADB DDBoost is a plugin-connector for native usage of the Dell EMC Data Domain storage system with Greenplum utilities for logical data backup (gpbackup) and restore (gprestore).
When the DDBoost plugin is used with gpbackup and gprestore, it connects to the Data Domain Platform server. To integrate with Data Domain Platform, the plugin requires the libDDBoost.so library version 7.7, which is supplied as part of the Dell DDBoostSDK 7.7 package. This library is proprietary and should be obtained through Dell Support or Dell Data Domain representatives in your country. Due to deduplication of data provided by the library, the DDBoost plugin allows you to significantly accelerate backup operations and reduce the physical storage usage.
|
NOTE
|
Installation and configuration
To install the ADB DDBoost plugin, follow the steps:
-
Install the adb-ddp-plugin package on all cluster hosts under the user with
sudoprivileges. Below is an example of installation via the APT package manager:$ sudo apt install adb-ddp-pluginAs a result of the successful command execution, a plugin executable file is added to the following location: $GPHOME/bin/adb_ddp_plugin.
-
Put the libDDBoost.so library to the lib directory on all cluster hosts.
-
Connect to the ADB coordinator host under the
gpadminuser:$ sudo su - gpadmin -
On the coordinator host, create a YAML configuration file in the /home/gpadmin directory (for example, adb_ddp_plugin.yaml). A file structure and its description are given below.
executablepath: /usr/lib/ggdb/bin/adb_ddp_plugin options: hostname: "testhost" username: "testuser" password: "XXXXXXXXXXXX" storage_unit: "testunit" directory: "testdir" write_buffer_size: "1048576" read_buffer_size: "1048576" log_level: "DEBUG" log_path: "/home/gpadmin"
| Name | Description | Default | Required |
|---|---|---|---|
executablepath |
An absolute path to the plugin in the file system of ADB hosts (along with the plugin executable file name). The plugin should be installed on all cluster hosts in the same directory. The default path to the plugin executable file is $GPHOME/bin/adb_ddp_plugin |
— |
Yes |
hostname |
An IP address or name of the host that provides operations with DDBoost. Can contain no more than 30 characters |
— |
Yes |
username |
A name of the user who is granted permissions to work with DDBoost. The user is configured on the DDBoost side. This is neither operating system nor ADB user. Can contain no more than 30 characters |
— |
Yes |
password |
A password of the user who is granted permissions to work with DDBoost |
— |
Yes |
storage_unit |
A name of the storage unit that is configured on the DDBoost side |
— |
Yes |
directory |
A name of the directory in the DDBoost file system. That directory is used to store all backup files created when the |
— |
Yes |
write_buffer_size |
A buffer size for writing data to DDBoost (in bytes). Values from the following range are allowed: 64 <= write_buffer_size <= 1048576 |
— |
Yes |
read_buffer_size |
A buffer size for reading data from DDBoost (in bytes). Values from the following range are allowed: 64 <= read_buffer_size <= 1048576 |
— |
Yes |
log_level |
A log level. Possible values:
|
WARN |
No |
log_path |
An absolute directory path to write plugin logs. The adb_ddp_plugin.log file is created in the specified directory when the plugin is used |
/home/gpadmin/gpAdminLogs |
No |
Usage examples
gpbackup
To use the ADB DDBoost plugin when creating backups via the gpbackup utility, specify the --plugin-config <yaml_path> command argument, where <yaml_path> is an absolute path to the plugin configuration file in YAML format.
The following example shows how to back up one table of the adb database:
-
Connect to the
adbdatabase on ADB coordinator under thegpadminuser (for example, viapsql). Using thepsqlcommand\dt, ensure the required table (public.testin the given example) exists in the database:\dtResult:
List of relations Schema | Name | Type | Owner | Storage --------+-----------------+-------+---------+---------------------- public | spatial_ref_sys | table | gpadmin | heap public | test | table | gpadmin | heap public | test2 | table | gpadmin | ao_column public | test3 | table | gpadmin | ao_column (4 rows)
-
Disconnect from
adband rungpbackupwith the--plugin-configparameter under thegpadminuser. Note that the--include-tableparameter allows you to back up one table:$ gpbackup --dbname adb --no-compression --single-data-file --include-table public.test --plugin-config /home/gpadmin/adb_ddp_plugin.yamlTIPWhen the DDBoost plugin is used along with
gpbackup, it is recommended to set the backup mode "all segment tables — one file" (--single-data-file). Do not use the parallel backup mode (--jobs) because of its extremely low write performance.In the command output, note the backup timestamp, which will be used as the backup directory and will be needed when restoring data:
[INFO]:-Backup Timestamp = 20251112160114
If the data backup succeeds, the command output ends with the following message:
[INFO]:-Backup completed successfully
-
Ensure that the backup files are generated and stored on the selected Data Domain Platform server. To do this, open the /<storage_unit>/<directory>/YYYYMMDD/YYYYMMDDHHmmSS directory on the server, where:
-
<storage_unit>and<directory>— values of the corresponding fields from the plugin YAML configuration file. -
YYYYMMDD— backup creation date. -
YYYYMMDDHHmmSS— backup creation date and time. It is a timestamp that will be used as the--timestampvalue when restoring data from the current backup.
$ ls ./<storage_unit>/<directory>/20251112/20251112160114/The directory contents are as follows:
gpbackup_0_20251112160114 gpbackup_3_20251112160114 gpbackup_0_20251112160114_toc.yaml gpbackup_3_20251112160114_toc.yaml gpbackup_1_20251112160114 gpbackup_4_20251112160114 gpbackup_1_20251112160114_toc.yaml gpbackup_4_20251112160114_toc.yaml gpbackup_20251112160114_config.yaml gpbackup_5_20251112160114 gpbackup_20251112160114_metadata.sql gpbackup_5_20251112160114_toc.yaml gpbackup_20251112160114_plugin_config.yaml gpbackup_6_20251112160114 gpbackup_20251112160114_report gpbackup_6_20251112160114_toc.yaml gpbackup_20251112160114_toc.yaml gpbackup_7_20251112160114 gpbackup_2_20251112160114 gpbackup_7_20251112160114_toc.yaml gpbackup_2_20251112160114_toc.yaml
On the coordinator host, in the $COORDINATOR_DATA_DIRECTORY/backups/YYYYMMDD/YYYYMMDDHHmmSS directory, a report about the completed backup is available with information about the number of objects in the backup copy:
$ cat /data1/master/gpseg-1/backups/20251112/20251112160114/gpbackup_20251112160114_reportExample of a report for a successful one-table backupGreengage Database Backup Report timestamp key: 20251112160114 gpdb version: 7.3.0+dev.845.g704bb9a9ef build 256+git704bb9a gpbackup version: 1.30.6 database name: adb command line: gpbackup --dbname adb --no-compression --single-data-file --include-table public.test --plugin-config /home/gpadmin/adb_ddp_plugin.yaml compression: None plugin executable: adb_ddp_plugin backup section: All Sections object filtering: Include Table Filter includes statistics: No data file format: Single Data File Per Segment incremental: False start time: Wed Nov 12 2025 16:01:14 end time: Wed Nov 12 2025 16:01:52 duration: 0:00:38 backup status: Success segment count: 8 count of database objects in backup: constraints 0 conversions 0 default privileges 0 event triggers 0 indexes 0 policies 0 rules 0 statistics_ext 0 sequences 0 tables 1 triggers 0 views 0
-
gprestore
To use the ADB DDBoost plugin when restoring data via the gprestore utility, specify the --plugin-config <yaml_path> command argument, where <yaml_path> is an absolute path to the plugin configuration file in YAML format.
The following example shows how to restore the public.test table, for which a backup was previously created:
-
Connect to the
adbdatabase on ADB coordinator under thegpadminuser (for example, viapsql). Drop thepublic.testtable:DROP TABLE test; -
Ensure the table does not exist via the
psqlcommand\dt:\dtResult:
List of relations Schema | Name | Type | Owner | Storage --------+-----------------+-------+---------+---------------------- public | spatial_ref_sys | table | gpadmin | heap public | test2 | table | gpadmin | ao_column public | test3 | table | gpadmin | ao_column (3 rows)
-
Disconnect from
adband rungprestorewith the--plugin-configparameter under thegpadminuser. Note that the--timestampvalue should contain the backup creation timestamp in theYYYYMMDDHHmmSSformat:$ gprestore --timestamp 20251112160114 --plugin-config /home/gpadmin/adb_ddp_plugin.yaml --include-table public.testIf the data restore succeeds, the command output ends with the following message:
[INFO]:-Restore completed successfully
-
Connect to the
adbdatabase again and check that thepublic.testtable is available:\dtResult:
List of relations Schema | Name | Type | Owner | Storage --------+-----------------+-------+---------+---------------------- public | spatial_ref_sys | table | gpadmin | heap public | test | table | gpadmin | heap public | test2 | table | gpadmin | ao_column public | test3 | table | gpadmin | ao_column (4 rows)