What are some of the newer trends in this area?
Schemaless designs have risen, such as JSON documents, to help avoid the complexity of state but fall short on data consistency and governance over a longer period of time.
Can you name the biggest challenges facing DBAs and database developers?
One of the key challenges is how to better serve the rest of the development organization. As an example, if a developer needs a database instance that he or she can experiment on with schema changes that they require, as a DBA, I need to be able to provide them with this instance fast and I also need to make sure the structure in the database is aligned with our latest changes.
And, if a developer requires a change in my database schema to get a code fix working that he or she created, I need to be able to roll out those changes to all of my databases as quickly as possible—once they’ve passed my automatic and manual testing. Doing these types of things manually slows the process and is ripe for human errors.
What technologies and trends can help them be more productive? How can automation play a role?
DevOps automation with continuous integration [CI] engines can help roll out changes to both the software and the infrastructure very quickly. The infrastructure-as-code concept can help DBAs provision environments for developers and quality assurance teams quickly. Docker containers and the lightweight solutions they provide are another way for DBAs to accelerate the provisioning of database environments to developers.
Cloud-based databases make it very easy to spin instances up and down based on needs. Features such as those offered by Oracle’s Autonomous Database will further reduce the maintenance burden on DBAs. Automating tasks such as installing patches and managing storage extensions will let DBAs focus on the structure of their schema and the code that runs inside the database.
Combine this with frameworks that streamline the process of getting the latest schema structure up, and you can achieve a solution that will make everyone happy. DBAs still get to have the final word on their database structure, and developers can get their changes implemented and delivered much faster.
What steps should DBAs be taking now to benefit from automation?
DBAs should first get familiar with the core concepts of Agile methodology and DevOps automation—not just in terms of infrastructure setup or product patching but also in terms of code and schema delivery and maintenance. Once they are familiar with the goals and the base approaches, they should start looking into solutions that specialize in database CI/CD cycles and experiment with those.
It could be quite a complex process to introduce these methodologies and tools into an existing project. It might be best to start with a new project or module that is just starting out. Leveraging these tools as soon as the project starts will make things simpler. This can help DBAs get used to the new development process and see the benefits it provides, giving them motivation to introduce the same process into existing projects.
This article is the first installment of a six-part series by editors of IOUG SELECT and DBTA on "DevOps and the Modern Enterprise" with three articles on the SELECT website and three articles on the DBTA and Big Data Quarterly websites.