Anyways, back to the story. Overall, this meeting was heavily DBA-centric from the very beginning. My good friend (and one of the best RAC specialists in the world) Alex Gorbachev did a pretty interesting keynote "Battle Against Any Guess". This notion is pushed by Alex for years, he even founded a special group some years ago with very well-respected list of members (http://www.battleagainstanyguess.com/). But still majority of big corporate IT solutions is badly instrumented and badly understood. So, there is a lot of room for improvement!
The second slot was mine. I've been scheduled against a talk about Oracle Enterprise Manager Cloud Control 12c by Mughees Minhas from Oracle (very corporate-oriented topic) - and as a result I've got about every person from small-to-medium IT environments, both DBAs and Developers. So, my tongue-in-cheek presentation about "Top5 Issues that Cannot be Resolved by DBAs" got absolutely perfect audience! And I've been not surprised when people were constantly nodding their heads when I was outlining my top picks. By the way, here they are:
- Architect's side:
- "Smart" columns - Storing multiple data elements in the same attribute looks like a good idea until you need to run a report, or until you need to adjust the whole structure.
- "STUFF" tables - It is very tempting to create a table called PARTY to store objects of all kinds ranging from the company main office building to the name of your great-grandfather from the security clearance form. Yeah, until couple of years later you want to do a data quality check...
- Inefficient hierarchical structures – It is true that many things can be stored hierarchically. However, managing a lot of hierarchical objects is very expensive and resource-intensive. Unless developers are willing to work with some kind of denormalized structures, the performance “black hole” will be deeper and deeper with the growth of total data volume.
- Developer's side
- Datatype misuse - If the date field is stored as text, you can forget about effective range scans and cardinalities because, for Oracle between 20123001 and 20130101, there are 7100 numbers and not one day! Poor, poor CBO...
- User-defined functions misuse - just try to ask youself a question, do you KNOW how many time this function from SELECT will be executed? And even more interesting - what would happen to this number of executions if you add another join to the FROM clause?
Final presentation of the day for me - yet another talk by Coleman Leviter on XML in the database. Yes, this topic have been covered by multiple speakers multiple times - but still (especially considering how many XML options we have in 11g database) there is a lot of confusion among developers. So, thanks to Coleman for constantly reminding us about proper ways of doing things!
Ok, enough for today...Time to do something useful in the office...h-m-m-m-m... write some PL/SQL?
P.s. In my presentation I briefly mentioned "dynamic sampling" - if anybody interested, here is a very nice overview of this feature by Maria Colgan: https://blogs.oracle.com/optimizer/entry/dynamic_sampling_and_its_impact_on_the_optimizer
Ok, enough for today...Time to do something useful in the office...h-m-m-m-m... write some PL/SQL?
P.s. In my presentation I briefly mentioned "dynamic sampling" - if anybody interested, here is a very nice overview of this feature by Maria Colgan: https://blogs.oracle.com/optimizer/entry/dynamic_sampling_and_its_impact_on_the_optimizer
No comments:
Post a Comment