Our instance of VinylDNS currently stores some tables in MySQL, though all tables and a queue implementation are available in MySQL. Note
zone tables are only available in MySQL.
The motivation to split databases was due to the query limitations available in AWS DynamoDB. Currently, the following tables are present in our instance:
zone- holds zones
zone_access- holds user or group identifiers that have access to zones
batch_change- holds batch changes (multiple changes across zones in a single batch)
single_change- holds individual changes within a
user- holds user information, including access keys and secrets
record-set- holds record data
Setting up the database
VinylDNS uses Flyway to manage SQL migrations. This means that any database changes, including
creating the database, adding tables, etc. are all automatically applied when VinylDNS starts up. You do not need
to do anything other than giving access to VinylDNS API from your MySQL server instance. You can view the database
schema and migrations in the
mysql module db/migration folder
VinylDNS uses HikariCP for a high-speed connection pool.
Before you can configure MySQL, make note of the host, username, and password that you will be using. Follow the API Database Configuration to complete the setup.