OraStory

Entries categorized as ‘Witterings’

The dea(r)th of Oracle RDBMS and contracting?

March 19, 2008 · 33 Comments

I’m feeling flat today and apologise for the sensationalist headline.

I also apologise for another one of this useless opinion-based posts. There are far too many of opinions in this site, not to mention far too many posts on things requiring further investigation which never gets done, and not nearly enough concise, factual posts which give anyone any genuine interest. One day this will change… but not today - it’s cathartic to let it out.

So, I tend to contract these days, specialising in pretty much anything Oracle RDBMS-wise coming primarily from a development/application angle – i.e. development, design, performance tuning, architecture, development DBA.

Two observations I have about the current market for Oracle contracts in the UK.

Firstly, an increasing number of clients have HR-imposed limits where they will engage a contractor for a maximum of one year. For a database expert, this presents a bit of a problem. So much of what we do is about the data. I find it takes at least six months to get a really good handle on just a fraction of the business and its data. So, after one year you’ve not long started ramping up the value that you can deliver. Maybe this behaviour is more common in banks and other such finance companies but, apart from my current client, I’ve talked to two prospective future clients who have the same such policy. This sort of policy only make sense if you think you can swap in/out any development resource and put no value on them having knowledge specific to your business.

And now to Oracle. I feel like the war has been lost and there are only a few pockets of resistance left now, resistance that will sooner or later be squashed. The religious war regarding sensible, about pragmatic use of databases and database code, about doing work related to data in the database, about data quality being enforced in the database, etc versus the database should be a bit bucket camp. 

Over the last few years I’ve worked on some pretty decent databases, some of which I created. They all took a pragmatic approach to the database. Even in n-tier Java environments, if it made sense we put the logic where it made sense, where there was a strategic or performance advantage whichever tier that was.

Even at my current client, I was pleasantly surprised to find a database-centric application – you might even say excessively so. But not for much longer. The database is under attack. A newly created hierarchy have decreed that databases are indeed bad.

And I was speaking to a friend today at a previous employer, a major media / entertainment company. They are planning to abandon their pragmatic approach to Oracle and switch wholely to open source databases, ORM tools, and the like.

I just don’t understand why. Actually I do understand some of the why. 

  • Databases don’t perform well when SQL is written by people who neither like nor understand SQL, people who don’t appreciate that they need to abandon their iterative approaches and need to think in sets, people who struggle to string together a couple of tables.
  • SQL doesn’t always perform well when written by people who neither like nor understand access paths and indexes.
  • It’s difficult to write good SQL against poor table design.
  • When databases don’t perform well, people don’t want to wait for people to tune or redesign, they want to buy some more memory or CPU and have it installed later that day. 
  • People of Influence with a decent database background are becoming few and far between.
  • People are reluctant to use built-in features like RLS, Oracle Audit Vault / FGA, etc, etc and prefer to write their own framework from scratch.
  • And not insignificantly, database testing tools are way behind the curve. Managers are getting used to full-featured testing reports, code coverage and code metrics and rightfully see the database as backward in this area.

And if you’re going to have a bit bucket, well, you might as well have a free bit bucket. And then you might as well stick ORM on top of it.

Categories: Witterings · contracting · oracle

New Year’s Resolutions

January 8, 2007 · Leave a Comment

Happy New Year.

My main personal technical resolution is to find more time to get a grip on more of the topics that Jonathan Lewis writes about. His level of knowledge and insight continues to astound. His book Cost-Based Oracle Fundamentals is excellent. I’d love to get to a position where I don’t have to read, re-read and then re-read again his articles and chapters and then re-read and refer to other reference points to get a handle on his excellent works.

It’s all bloody good stuff for getting one thinking … thinking about how little one understands about one’s own so-called specialist subject.

I’m sure I’m not alone in feeling humbled, to the point of embarassment even, by my lack of knowledge in comparison to the real experts out there like himself, Tom Kyte, et al.

The depth and breadth of their knowledge is phenomenal.

Categories: Witterings

The long and winding road III

December 15, 2006 · 3 Comments

Of course, what you could do in this situation is write a set of encapsulating functions that return the conditions of the WHERE clause. But then you’re probably sacrificing some degree of maintainability and visibility/simplicity of code.

I was reminded of the quote from Pulp Fiction, well really from the Bible of course (Ezekial 25:17), which one could try to adapt in a pathetic attempt at geeky humour:

“Blessed is he, who in the name of relational databases and set operations, shepherds the weak through the valley of ORM mapping tools for he is truly his brother’s keeper, and the finder of lost database developers.

And I will strike down upon thee with great wait events and furious hit ratios, those who poison and destory my database efficiency.

And you will know my name is Oracle, when I lay my buffer cache upon thee.”

… oh dear….

Categories: Witterings · oracle

Other people’s problems are great

November 29, 2006 · Leave a Comment

Tom Kyte and others talk excellently as usual about participation in the Oracle commuity.

About 8 years ago, I used to use the various community channels quite heavily – both seeking advice and offering. For whatever reason, this used to be the less open ones such as Experts Exchange.

Anyway, without realising it, I must have become a lot more introspective. I only tended to visit the community when I myself was stuck. I know I must have been really busy at times, but no excuse, who isn’t. And after a while, I just forgot.

Where I currently work, they have a private chat system with all sorts of channels of interest, including a Oracle channel. Huzzah. I had forgotten how cool it is to try to answer other people’s questions.

The great thing about other people’s problems is that they are often so much more interesting than your own work and what you are meant to be working on. And sometimes it’s an opportunity to have a bit of focus on that feature you’ve been meaning to look at, or a refresher on something you’d unwittingly forgotten, or just helping a fellow teammate out of a fix.

And you can always laugh at some people’s problems / attitude. Wowzers Penny! That’s an extreme. Sometimes you can lead a horse to water but you can’t make it drink, but that is just another level.

Categories: Witterings