DBAs—Who Needs ‘Em? Perhaps You
At our recent SQL for i Spotlight event, one of our clients in attendance raised the question, “Do we need a DBA?” Knowing their situation, Jon responded, “You probably could use one, but the real question is what will you do with the other 75 percent of the DBA’s time?” It was said somewhat lightheartedly, but the more we thought about it, the more intriguing the question became.
For years we’ve proudly boasted that our beloved IBM i doesn’t need the services of a dedicated database administrator. None of this load balancing silliness for us! Need a table? Create it! Need it bigger? Add more data and DB2 will do it! The system takes care of the details for creating the table space, allocating storage for it, load balancing and extending the storage as need be. You know, administration, as in database administration. So IBM i is our DBA, right?
While DBAs on Oracle, SQL Server and DB2 on other platforms do a lot of the kind of administration that IBM i does for us (thanks, IBM i!), it turns out that they do typically have time left in their busy admin schedules to do some other things related to the databases they administer—such as creating indexing strategies to ensure all of the queries the users and application programs do to access the data is done efficiently. Sure, IBM i can and will create many of those indexes “on the fly” and those kinds of autonomic tuning tasks are getting increasingly more powerful on our system. Still, someone proactively taking a look at such things, monitoring performance and perusing the myriad of SQL performance tools that exist on the system can still have a great impact on the efficiency of the database and our applications.
Who is doing that on your system? If your answer is something along the lines of, “the programmers are responsible for doing performance tuning on their own code,” then who ensures the individual developers aren’t duplicating effort and perhaps even interfering with one another’s efforts? And what about all those users doing their own data access via various reporting or business-intelligence tools?
Who does data modeling for your new databases? Who designs and implements security and referential integrity? Who decides when to use such features as check constraints?
But (we hear some of you saying) that’s not really database administration. That’s ... something else ... just part of application design.
Hmmm.... We wonder if maybe that’s why so few IBM i shops we work with utilize (at least consistently) things like referential integrity and check constraints or even journaling and commitment control? After all, if it’s not really any one person’s job to ensure those things are done and they’ve never been done in the shop before, who is going to start the ball rolling now? Many folks consider that they have more critical things to take care of in their applications. Yet implementing such features are critical to ensuring the accuracy and integrity of your data. Shouldn’t someone be leading the charge to implement them?
Still not convinced? Do you know what another part of the DBA’s job is on other platforms? Since they’re the experts who fully understand what their database’s capabilities and limitations are, they are often the people who are brought in to help advise management on how (and on what platform) to implement the next mission-critical project.
So perhaps at this very moment an Oracle or SQL Server DBA is providing advice to the CIO in your shop on how to implement the next big BI or data-analytics project. What are the chances they will suggest that IBM i is the best platform for it—even though the IBM i applications are already responsible for maintaining all of the data that’s out there to be analyzed?
Why didn’t anyone seek your advice? Perhaps you’re seen as an RPG developer, not a DBA—and these kinds of decisions need to be made by someone who is a database expert, don’t they? But you’re every bit the database expert for DB2 for i, right? Along with application design and coding and maybe some helpdesk work and the list goes on. Does the term “jack of all trades, master of none” come to mind?