Databases
Each WordPress VIP Platform environment is supported by a unique database running MariaDB 10.3.x. Unique databases per-environment allows testing to be performed on non-production environments without impacting the production environment.
- The default setting for
DB_CHARSET
isutf8mb4
, andDB_COLLATE
is defined asutf8mb4_unicode_ci
. In order for a SQL file to successfully be imported to a VIP database, it must use supported collation and character sets. - A data sync can be run from the production database to a non-production database through the VIP Dashboard.
- Databases for production environments are backed up every hour, including custom tables, and non-production databases are backed up daily.
- Database backups available for download in the VIP Dashboard differ slightly different from the automated backups that are created and stored internally by VIP. VIP’s master database backups are encrypted at rest before being replicated to Amazon AWS S3 utilizing encryption in transit and retained for 30 days.
- VIP uses Automattic’s HyperDB db.php. No other db.php drop-ins can be used on the platform.
- HyperDB is configured to send writes to an application’s master database, and sends reads to database replicas.
- WP-CLI’s
wp db *
commands are disallowed on VIP. - Direct database queries in code should be avoided whenever possible. WordPress API functions for fetching and manipulating data should be used instead.
Custom tables
Use caution when adding custom tables to a VIP Platform environment’s database.
- To prevent unexpected issues, all tables should begin with the
$wpdb->prefix
table prefix.
- Use
dbDelta
as part of an upgrade routine to add/update the table. - Do a thorough analysis of the schema and indexes and validate against the queries being run to make sure they match up.
- Add caching to queries where it makes sense.