The Data Warrior

Changing the world, one data model at a time. How can I help you?

Archive for the tag “#datavault”

ODTUG KScope12: Day 2

So another extraordinary, information filled day in San Antonio, with a bit of pathos thrown in for depth.

Started the day again with Morning Chi Gung. Another nice group of folks dropped by to try it out and a few hardy souls returned to try again. I think they are all getting the hang of it and enjoying it. We will do it again in the morning.

First session of the day from me was OBIEE Answers vs BI Publisher from Borkur Steingrimsson of Rittman-Mead.

image

Borkur did a great job of highlighting the pros and cons of each toolset and outlining some of the use cases for the two tools. While there is some overlap, there are definitely some best practices to follow to help decide which to use for what.

One tool does not fit all.

Next session was mine: Introduction to Data Vault Modeling for an Oracle BI Environment.

I had a good crowd (below) to pitch data vault modeling to. Talked about where it fits and how this modeling approach can be leveraged in OBIEE and with Oracle’s Exalytics platform. The audience was small but I think they got a lot out of the talk.

Lots of note taking going on!

Next another information packed session from Tom Kyte about the various options in the Oracle database for securing your data.

He talked about many things including Oracle Total Recall, Audit Vault, and Database Vault (not to be confused with Data Vault Modeling), and Oracle Advanced Security option. Yes most of these cost more money for licenses but you really do need to think about how you protect your data and from whom.

Tom gave us a lot to think about.

Next, my favorite, lunch! Sort of a cook out style lunch with hamburgers, slaw and the fix’ns just in the exhibit hall.

In the picture you have some of the BI crowd (Stewart and Kevin) chatting with the Optimizer Queen (Maria). Lunch at Kscope is where many questions get answered and problems solved.

After lunch we had the official KScope12 (or was it 2022?) General Session complete with “special” effects and time travel.

Edward did a “this is your life” style interview with ODTUG President Mike Riley. Along with some good-natured ribbing, we also got some serious announcements:

  1. Mike Riley stepped down as President
  2. Monty Latiolais was appointed the new President
  3. Edward got “fired” as conference chair
  4. Mike got named conference chair for 2013
  5. Our long time executive director Kathleen McCasland handed the reins over to Crystal Walton so she could focus more on managing the great meeting company she has built, YCC.

There were many awards given including a Lifetime Achievement award to Kathleen (bravo!) and one to Mike for all he has done as President. Oracle Contributor of the year went to Kris Rice; volunteer of the year to Karen Cannel; editors choice award to Peter Koletzke and Duncan Mills.

And the BIG announcement was that KScope13 will be in New Orleans. Registration is open at http://kscope13.com

But wait there is more… I attended more great sessions in the afternoon and evening including another session from Tom Kyte on SQL secrets.

And Steward Bryson’s riveting session on how to use OBIEE against a transactional schema. (I did have a hard time getting a good picture because he NEVER STOPPED MOVING!)

Yes, that is Stewart in a suit…

He has nailed the approach to making OBIEE treat just about any schema design like a dimensional model. Very cool, a bit tricky. Next year we may do a joint session about making a data vault model work in OBIEE without having to instantiate a star schema data mart first. Stay tuned…

To end the day (sort of), we had an excellent and inspiring keynote from Cary Millsap (@carymillsap).

He had lots of inspiring and  insightful things to tell us based on his own life experiences as a father, husband, and business man. I can’t really do it justice so I will give you a few quotes from his slides:

Thinking clearly is more important than the right answer

To teach, test the code path, not just the memory

The goal of a parent: Kids who are interested in figuring out how to use what they are learning

Life is not linear (one of my favorites)

And the biggy:

Happiness is not a state. Happiness is a state change.

So do something BIG.

It really was a great talk.

And to finish out the day (for me anyway) I went to the BI Mad-Dashboard networking event. With Kevin McKinley as the host and Rittman-Mead providing the adult beverages, we had a good time networking and playing some interesting games.

There are actually even more networking events going on into the wee hours but that is it for me today (or I would not have gotten this blog post done).

But that is one of things that makes ODTUG and KScope so great is the opportunity to network and bond with colleagues old and new from around the globe in a relaxed setting.

More tomorrow…

Kent

ODTUG KScope12: Day 1 Symposium Sunday

Wow. What a day!

Started off with leading a Chi Gung class at 7 AM to about 18 attendees. Great start to the day.

Then it was off to the races with the kick off of the BI Symposium, chaired by Kevin McGinley. I got to be “interviewed” about my  Data Vault Modeling session on Monday ( I will report on that tomorrow) , along with several other presenters. That was followed by a lively talk show-style discussion led by Kevin and Stewart
Bryson. Below see the room and audience in attendance at 9:00 AM on a Sunday. (pretty good turn out – way better than last year!)

image

The panel discussion was followed by a series of talks from Oracle BI product management. There was lots of talk about mobile BI, Oracle’s acquisition of Endeca and of course BI in the Cloud.

(At this point I switched tracks to the Db development symposium chaired by Chet Justice aka @Oraclenerd)

The next talk I attended was by Kris Rice (@krisrice) who gave an intro to Oracle SQL Developer Data Modeler. (Nicely he plugged my Data Modeler talk on Thursday)

Some review (for me) and some new stuff too. I learned his trick for showing the joins between views – use the view to table utility to convert the views to tables, add PKs, then use the Discover Foreign Keys feature. This creates FKs based on column names and know PKs.

Cool trick. Just gotta remember to set “generate DDL” to “No”.

Quick switch back to the BI Symposium to see some screen shots of a new look and feel for OBIEE with modern mobile themes.

More coolness…especially if you are an iPad sort of geek.

Back to DB dev land (is it lunch yet?) to hear Oracle product manager Jeff Smith (@thatjeffsmith) take about full lifecycle development using SQL Developer.

Lots of great tips from Jeff about generating table api’s, using version control, doing schema diffs, and unit testing.

SQL Developer definitely has lots of features I did not know about. Being able to define unit tests inside the tool seems like a valuable option. I will be getting folks at my client site to try it out next week!

Oh yeah – he also mentioned DB Doc for creating HTML documentation  on your code because code is never really self-documenting. Gotta check into that more too…

<Lunch break – yummy Italian selection of salads and food>

Post-lunch back to BI and Mike Donohue from Oracle talking about reporting on data from “beyond the data warehouse.”

Heaven forbid! (well I guess we gotta deal with it now)

So, Mike talked a bit about how Endeca Information Discovery can be used to gain understanding and build analytics on big and unstructured data. Mentioned “faceted data model” and generating a key value store. Sounds cool. Have to look into that too.

Mike also discussed using BI Publisher to allow users access to local data (in Excel, XML, OLAP, etc)  so they can build their own reports. Scary thought but, in some businesses it will make sense because in reality not all data is in an ERP system or a well built RDBMS.

Whata gonna do?

<Back to DB Dev>

No to hear the world-famous Tom Kyte (of Ask Tom fame) talk about his approach to tuning. It was, as expected, a full house.

Tom’s main point was not to necessarily tune the specific problem query but more holistically to look at the overall algorithm (or approach) that was taken to solve the problem in the first place.

In his experience many queries can’t be tuned all that much when what was written was not even the best way to solve the problem. He gave quite a few eye-opening examples where there was simply a much better way to accomplish a task than the SQL that was originally written. Seems many situations really require re-engineering the solution.

A nice take away (that makes you go “duh”):

More code = More bugs

Less code = Less bugs

Moral of the story – find the simplest solution. If the code is really complex, you are probably wrong (or at least over complicating it). Try again.

Last symposium session for the day (for me) was Maria Colgan (Oracle) talking about tips to get the most out of the Oracle Cost Based Optimizer.

Maria is the queen of the optimizer. She explained what the optimizer will do in several situations and why and if it is wrong, what you need to change to get it right.

Okay – already on brain overload (and it is just day 1!).

Need sleep.

Have my own presentation tomorrow.

And Chi Gung at 7AM.

C ‘ya

Kent

P.S. There were lots of tweets all day with more pictures of the event. To see them look for #kscope and @ODTUG on Twitter (or follow me @kentgraziano).

Countdown to KScope: Oracle Education, Fitness and More

It’s almost here: the best education event for Oracle developers – the Oracle Development Tools User Group KScope12 conference.

It starts Saturday June 23rd with the annual community service day helping out the Boy’s and Girl’s Club of San Antonio.

Then things really get rolling on Sunday June 24th with the famed all-day, in-depth symposiums.

One Monday, the main sessions kick things into high gear.

This year I am lucky enough to give two presentations on my favorite topics.

On Monday June 25 from 10:00 am – 11:00 am, I will present Introduction to Data Vault Modeling for an Oracle BI Environment. 

Then on Thursday June 28, from 10:30 am – 11:30 am, you can close out the conference by attending my presentation on SQL Developer Data Modeler: Reverse Engineering (and Re-engineer) an Existing Database Using Oracle SQL Developer Data Modeler.

If you are using the KScope app, don’t forget to add these sessions to your schedule and then check in during the sessions to be eligible for  some special ODTUG prizes.

Of course there will be networking events, a vendor hall, food and fun.

With all the good food and sitting in intense sessions all day, it is important that we all do our best to stay fit. To help with that, I will again be leading a 30 minute Chi Gung session every morning at 7 AM on the main lawn.

Really – anyone can do it. Read my article here for details.

Come out and join me to get your day off to a calming start so you can focus on getting the most out of your day at Kscope12.

And don’t forget to follow me on twitter @KentGraziano. I will be tweeting live and posting pictures all week from the conference.

See you in San Antonio. Giddy Up!

-Kent

Flexible Data Warehouse Architecture

My friend and colleague, Sanjay, just put up a new video discussing aspects of using the Data Vault as your data warehouse architecture.

It is really short – just barely 10 minutes.

You can jump over to see the video here.

Covers a nice little discussion comparing dimensional (star schema) models to data vault as a centralized data warehouse repository (as opposed to end-user facing data mart).

As a bonus, Sanjay also covers the basics of data vault modeling using an actual chalk board (okay so he is “old school”).

So why listen to Sanjay?

He is the co-founder with Dan Linstedt of LearnDataVault.com and has done tons of writing and consulting on Data Vault for quite a few years. He was behind the scenes helping us get the book out on the web, Amazon, and on Kindle.

He knows whereof he speaks.

Have a listen.

Be careful – you might learn something. 🙂

Later.

– Kent

P.S. Don’t forget to follow me on twitter @KentGraziano or subscribe to this blog (button at top of the right column) so you don’t miss out on my updates.

P.P.S. ODTUG KScope12 is just around the corner. I will be doing two talks and bunch of other stuff out there in San Antonio in a few weeks. Stay tuned!

Quick Tip: Adding a Custom Design Rule to Oracle Data Modeler

As most of my readers know, I use Oracle’s SQL Developer Data Modeler to do all my data modeling.

It has a lot of great features that are documented online in various places. One of those is Design Rules.

Design Rules (Tools -> Design Rules -> Design Rules) include a host of predefined quality checks on many of the objects created in a data model. This includes entities, attributes, relationships, tables, columns, constraints, indexes, etc.

You select the rules, or group of rules, and hit “apply”. The rules then check your model and tell you, object by object, if there are any issues.

Some issues are warnings. Others show up as errors. A error generally means that if you try to create DDL, that DDL will fail when you try to execute it an Oracle database.

One nice feature is that you can double click on a highlighted issue and go directly to the object with the issue so you can fix it.

An example of a design rule check is the length of the table name. Oracle still has a limit of 30 characters (Why????)  on object names, so there are design rules to check for that.

Pretty useful really.

For the Data Vault model I am currently building, we are trying to generate lots of stuff based on the table name (i.e., surrogate key sequence and some PL/SQL load procedures, but that is a much longer story). As a result we discovered we need to limit the table names to 26 characters because we need to use the table name as a root that has prefixes and suffixes added in certain cases.

Too bad the built in design rule is set to 30.

And there is no way to modify that built in rule (verified on the OTN Forum).

So the solution is to create a Custom Rule (Tools -> Design Rules -> Design Rules). The intrepid Philip from the Oracle development team kindly provided me with the base code to create the rule I needed. I was able to take his code, and use the one custom rule that comes delivered as a template, to make a new rule that did the check I wanted.

Here is the code:

var ruleMessage;
var errType;
var table;
//define
function checkName(table){
result = true;
ruleMessage=””;
if(table.getName().length()>26){
ruleMessage=”Table name over 26 characters”;
errType=”Error”;
return false;
}else{
return true;
}
}
//invoke it
checkName(table);

I won’t explain the code (you can figure that out if you like), but it does work as I wanted, so I am a happy camper. 🙂

Now after I add new objects to the model (e.g., hubs, links, satellites), I just run this rule to find any that are too long. Then I fix the table name and reapply my constraint naming standards (another very useful and simple utility in the tool). After that I can generate the DDL and build the objects in the db, then re-run our code generator.

If you have not looked at the features of SDDM, time to look.

Happy Modeling!

– Kent

P.S. To see more article about SDDM, check out Jeff Smith’s blog (in my blog roll).

P.P.S. Don’t forget to follow me on twitter @KentGraziano. I retweet a lot of Jeff’s article there. 😉

Post Navigation