The Problem With Oracle : If a developer/user can’t do it, it doesn’t exist.

 

This post was inspired by two separate events that happened back to back.

Event 1

One of my colleagues sent me a list of cool features that were available in a cloud database service we may be purchasing. The vast majority of those features have been available in Oracle for over a decade, and we are currently licensed to use them. I would suggest the Oracle features were in fact the inspiration for their inclusion in this cloud database product.

I got a little on the defensive and explained this situation, and their reply was along the lines of, “Most of those features are DBA-focused, not user-focused”. That was also not 100% true, but I can understand where that assumption came from.

Now you could raise several arguments, including these.

  • The person in question should have known about this functionality.
  • I should have done a better job about promoting this functionality.
  • I could have done a better job about making those features that were DBA-focused available to a wider audience.

Regardless of all that, we are left in the position where Oracle and several other database engines are seen as DBA-focused tools, and not really inclusive for developers and users.

FYI: I think this cloud database product is probably the right choice for this specific use case, so this is not {only} about me being an Oracle fan-boy. It is my frustration at the reinvention of the wheel being touted as new. Happens all the time… 🙂

Event 2

Jacob Duval posted these two tweets.

#mysql is better than #PostgreSQL

Jacob Duval

simply put: mysql has a superior developer experience. postgres has a superior DBA experience. DBA is not really a job anymore, so I pick the developer experience every time.

Jacob Duval

Then think(x) replied.

We are here to learn… #PostgreSQL can sometimes seem rigid and inflexible.. but then our customers tell us that data integrity needs to be a rigid and inflexible goal

think(x)

My reply to Jacob’s second tweet was.

Being a DBA I am supposed to disagree with you, but I actually agree. If products lose sight of their users they are doomed to failure. I think some of the “rigid” stuff is necessary, but the user experience should always feel as effortless as possible. Combining the two is key!

oraclebase

Thoughts

This post is not meant to be damning of any specific company or product. It’s just meant to highlight what I believe is (or should be) a significant change in mindset.

Cloud databases, including Oracle Autonomous Database, reduce the dependency on DBAs, which is a good thing. You can argue that you still need “power users” of any product, but I think there must be a greater emphasis on making services that are developer focused, or even user focused. If companies persist on delivering products that have rigid dividing lines they will lose the fight.

The Oracle database is filled with amazing tech, but so much of it is still dependent on the DBA. I would argue that if you need a DBA to use a feature, that feature doesn’t exist. Cloud interfaces can help somewhat, but even then I feel like they track the DBA’s thought process, not how a user or developer would approach them.

“But what about finance systems and ERPs etc.”, I hear you cry. Yes, there will always be systems that need tighter control and removal of rights from the developers and users. These should be cloud-based and that is where the “power users” come in, but let’s not act like all systems are the same. As people have said before, the rise of NoSQL was in part due to putting the power in the hands of the developers. You can argue the rights and wrongs of this, but it’s clear to me the days of the DBA are numbered, and there has to be a change of focus. This is going to be a lot harder for long established companies/products as they come with a lot of baggage.

You either milk the existing cash-cow until it dies, or you take a step back and ask yourself where you want to be in the future…

I don’t claim to have any answers. I’m just a generalist that uses a whole bunch of products from a whole bunch of companies, and most of them are too damn hard to use, even with the assistance of Uncle Google. 🙂

Cheers

Tim…

PS. I’m reminded of this post from the past. Infrastructure is dead. It’s all about the platforms baby!

Author: Tim...

DBA, Developer, Author, Trainer.

4 thoughts on “The Problem With Oracle : If a developer/user can’t do it, it doesn’t exist.”

  1. This writeup pretty much encapsulates my thoughts. There has ben a paradigm shift in the last few years that has led to questioning baked-in assumptions around databases and datastores.

    In my recent experience, we reimagined a lot of the services we provided (i.e non ERP, Billing etc) , moved to a rapid release cycle and that shift led to a similar realization i.e. for the ease of use we desired, the developer experience was questionable without full DBA involvement and it wasnt really worth the cost. Safe to say those services now use a different and flexible backend

  2. Hi Tim,

    We as DBA should focus on which topic now? I mean although in the age of cloud we do still have some troubleshooting work and not provisioning task, does it really look to have a long standing future? Or wd should move to something like Big Data Administrator/ DevOps/Something else.
    What is your thought?

  3. Susmit: You should move to what you find interesting. It’s impossible for me to tell you the best route for you. If you don’t enjoy what you do, you will never put in enough hours to be good at it. That’s why I tell people to pick what they enjoy, not what they think is most job-worthy.

  4. “It is very easy to be blinded to the essential uselessness of computers by the sense of achievement you get from getting them to work at all.” – Douglas Adams.

    MySQL is the hand tools.
    Postgres is a machine shop
    Oracle is a CNC machine shop

    G-code and toolpathing is simply beyond a lot of handtool users.

    You can build amazing things with all three, but it pains my soul to watch some poor dev labouring over something that’s already built into postgres and world-class in oracle just because they didn’t know it was there. Or to see a system crawling along because “to save time” the developer used hibernate to avoid having to learn about those boring database things.

    My guess is a DBA role will drift more towards Data Engineering, laying out the larger, essentially prefabricated components for the developers to wire together and put a nice interface in front.

Comments are closed.