Databases as a service: why?
Originally created as a way to provide users certain functionalities not available in the central database services (different vendors, exotic configurations or privileged access to the database), the Database on Demand platform is in its core a way of automatizing database administration operations which can then be exposed or delegated to the end user.
The DB On Demand service addresses these needs: offering users an easy way to create and manage their own databases, empowering users to perform tasks that are traditionally carried out by database administrators or to use different database engines (currently MySQL, PostgreSQL, and InfluxDB) whilst abstracting for them operating system and database engine updates, providing access to highly efficient backup and recovery services and some support for service continuity in case of hardware failure.
How do I request an instance?
The DB On Demand service is integrated into the IT Department’s overall account and service management portal and instances can be requested using the link in the Database Services section on the CERN Resources Portal (https://resources.web.cern.ch).
However, users must **first** subscribe to the dbondemand-users e-group.
You provide:
- a unique instance name,
- a brief description of the purpose of the desired database,
- the database category (official or test),
- expiration date,
- database configuration details (database engine, size, number of simultaneous connections), and
- an e-group which will act as the list of instance administrators. Mandatory for Official/Production databases, but optional for test instances
We contact you before starting the creation process and then deliver:
- a fully operational DB On Demand instance, accessible under the an ip alias matching the instance name you requested.
- If the given e-group, listing the database administrators, does not exist, we automatically create an e-group with you as the owner (and only member); this allows you to add other administrators later if necessary.
The Account Management website can also be used to change the ownership of instances. In case this is not done before your CERN account expires, your database instance(s) will, just as for any other computing resources (e.g. web sites), will be transferred to your supervisor.
The DB On Demand website, a must in your bookmarks!
DB On Demand’s website (https://dbod.web.cern.ch/) is integrated with CERN’s Single Sign-On mechanism for authentication and authorisation; no special registration is needed. The website, intended to be as ergonomic and intuitive as possible, presents a top bar with links to the Home and Help pages. The Home page displays a list with basic information about the instances that you are authorised to manage, either as the owner or because you belong to the administration e-group somebody else’s instance. From this view, you are also able to use the core functionality provided by DB On Demand, using a set of buttons displayed for each instance.
Clicking on an instance name takes you to a page where you can see and edit all the information related to the selected instance, execute jobs and check the logs generated after job execution.
The functionality provided by DB On Demand, from top to bottom in the actions panel, includes: start-up, shut-down, file management (upload and download of configuration files and DB logs), backup management, restore, upgrade and monitoring. We hope the start-up and shut-down actions are self-explanatory; more information about the other options is given below.
File management
Clicking the file management button opens a window that allows you to modify the configuration files of the DB instances (my.cnf for MySQL, postgresql.conf for PostgreSQL) and download logs (slow query logs for MySQL instances and DB logs for PostgreSQL instances). DB On Demand does not provide versioning for these configuration files, so saving the previous version locally or to your AFS or DFS space, when making changes, is always recommended.
Backup management
The backup management window allows you to create single backups of your databases at a particular moment in time, or configure the way that automatic backups will be carried out. Automatic backups will be executed using the specified time interval. Backups to tape can also be configured but, as clearly stated in the same window, DB On Demand administrators should be contacted beforehand to set up a tape account for that instance.
DB On Demand backups are based on snapshots on the underlying storage. Snapshots contain only changes made to database file blocks, providing the advantage of executing a full online DB backup in a matter of seconds. Combining the use of snapshots and binary logs (MySQL), or WAL logs (PostgreSQL), databases can be taken back to a specific moment in time, achieving point-in-time recovery.
Database restore
For database restoring, DB On Demand provides a calendar view so you can easily identify the days, marked in green, when backups have been executed. After selecting one of those days, a list of snapshots taken on the selected day is loaded. Clicking one of those snapshots sets date and time values in the corresponding boxes. These values can be modified to restore the database to any desired moment in time, as long as there is a snapshot to use as a base to replay logs.
The restore functionality must be used with caution. Changes cannot be reverted, and when a snapshot is used, all the snapshots taken after the selected snapshot will be automatically removed, as they become inconsistent.
Database upgrade
When a new upgrade of the database system is made available, the upgrade button is enabled, allowing you to make the upgrade at your convenience. With a single click, the new version will be installed, and the necessary post-installation scripts will be run.
Monitoring
Monitoring is the only action that can be performed even if your instance has a job pending to be executed. Clicking on one of the available buttons will show the host or instance metrics.
DB On Demand has been integrated with Grafana to display system, instance, and storage metrics (Instance Monitoring below) and also with Kibana for host monitoring metrics.
Monitoring tools can be accessed from the tree view:
or from the information view of any instance:
More information
More information about the functionality provided by DB On Demand service, as well as some other useful information, is available on a Help page that can be accessed by following the link included in the top bar of the website, or directly in the URL https://dbod-user-guide.web.cern.ch/dbod-user-guide/. Please do not hesitate to visit this page if you need more information about DB On Demand.
You can also report an incident or submit a request using the CERN Service Portal, or sending an email to the Service Desk stating "Database on demand Demand" as the service.