There is an app development superhero hiding in plain sight on the enterprise IT team. It’s the database administrator, or DBA, who knows how to use advanced database features to make applications run faster, more reliably, and more securely. It’s an indispensable skill set that is underrepresented in the modern app development teams tackling today’s hot tech challenges, from Internet of Things projects to chatbots. DBAs “have a competitive advantage in app development, but they don’t know it,” says Martin D’Souza, a volunteer board member of an Oracle user group known as ODTUG and Director of Innovation at Insum Solutions.
Luckily, DBAs have more time to work on innovation projects as companies increasingly use cloud-based databases, which automate hands-on DBA chores such as backing up, patching, and tuning databases. That leaves DBAs available to bring their understanding of SQL and database operations to the development process. Too many developers ignore database performance, even though it can make or break an app experience.
However, DBAs can’t just sit around waiting to be called to the rescue. We asked a handful of database experts what DBAs need to know in order to apply their needed expertise to the modern app development world, and they cited a clutch of open source services and technologies: GitHub, REST, NodeJS, and Docker to start. DBAs who understand these will see doors open to new possibilities. “They stop being a ‘computer person’ and start becoming a problem-solver for their organizations,” says D’Souza. Here’s a quick look at the non-database technologies DBAs should know well.
“Git is an open source version control tool, and GitHub is a social version of that tool,” says D’Souza. GitHub is an internet-based repository that’s widely used for sharing code, whether publicly for open source projects or privately for in-house, enterprise projects. It provides access control and collaboration features such as bug tracking, feature requests, task management, and wikis for every project. “GitHub opens up a development project, and allows everyone to see and participate in it,” says D’Souza. And, there is a growing Oracle community sharing content on the site.
Forward-thinking database developers at D’Souza’s user group conferences ask their session attendees to participate on GitHub. “They say, ‘Here’s the cool project I developed, here’s the GitHub URL, go download it, but also help participate in it and log issues,’” he says. “People often think they have to submit code, but you don’t. Participation can be as simple as submitting an idea or logging a bug.” It’s a great way for DBAs to get integrated into this open and collaborative way of working. “Just participate with ideas and maybe submit a line of code or two, and the next thing you know you’re going to be hooked and hosting your own projects.”
RESTful services have grown to become the de facto way for computers to interoperate over the web. Knowing how to use RESTful services makes it easier to share database operations with all sorts of other applications and devices. When a company wants to share data in various formats, from populating an Excel file to sending text messages or connecting to a device like a voice assistant, RESTful services are the way to go.
REST has become so engrained in modern development that Oracle provides a free tool in its database called Oracle REST Data Services (ORDS) that can help DBAs turn their Oracle databases into RESTful API services. Plus, says D’Souza, once you understand REST, there are communities that have solved all sorts of problems with RESTful services, and you can simply find them and use them. “Imagine a business unit comes to you and says ‘We need to send out a million text messages tomorrow,’” D’Souza says. “What if you were able to say, ‘OK, I’ve got it, I’ll have it for you tomorrow.’ You’re going to be star of the show.”
“A lot of DBAs I talk to don’t know about Node.js,” says D’Souza, “But they should, because the the Node.js community has a whole library ecosystem out there, many of which can easily be integrated with RESTful services.” There’s even an open source project called node-oracledb that, in its own words “connects to Oracle Database for fast and functional applications.”
As soon as a DBA steps outside the database and engages with the development world, he or she will run into Docker environments. Docker is an extremely popular way to package all the services around an app into a container that allows the application to run unmodified on a developer’s laptop, a shared test server, or a public cloud, including Oracle Cloud. It helps enterprises build an agile software delivery pipeline to ship new features faster. “That’s where a lot of development platforms are moving,” says D’Souza. “It allows you to fire up an instance and tear it down quickly, which is great for testing.” A DBA who is looking to help developers best use the database should know how Docker containers work, says D’Souza. Fortunately, Oracle databases and developer tools are now available as Docker containers through the Docker Store marketplace. Another good place to start is on GitHub’s page for Dockerfiles for Oracle products and projects.
There’s a common thread running through all these tools: They make a DBA’s knowledge more valuable to the modern development process, and thus more relevant to solving a business’s current needs.
“Having your database right and your database secure is the most important part of the development process, but too often it’s overlooked because there’s no one there who knows what a DBA knows,” Carter says.
Jeff Erickson is Oracle’s editor at large.