NoCOUG is hosting its winter conference next week – On February 11th.
As usual, we’ll have the best speakers and presentations ever. This time I’m extra happy because two of the speakers that are going to be there, Dr. Neil Gunther and Robyn Sands, are there because I was wowed by them in a previous conference and asked our Director of Conference Programming to invite them. And they agreed! I believe it is the first time that either of them presents at NoCOUG and I’m very excited about this.
I’m sure I don’t need to introduce Robyn Sands to any Oracle professional – She’s an OakTable member who talks a lot about the right ways to manage performance. She is very scientific and precise but she gives very practical advice that is very applicable.
Dr. Neil Gunther is a well known performance expert. So well known that he has his own Wikipedia article. I first ran into his work when I did performance testing work, something like 6 years ago. From his articles, I learned the importance of having performance models without which you cannot interpret your results and know when your tests were faulty. I ran into him again when Tanel Poder mentioned that Dr. Neil Gunther is now doing work that will be relevant to Oracle professionals. He appeared in HotSos few years back and now we get to see him at NoCOUG – with both a keynote session and a technical session. He invited the crowds to ask questions at his blog, so you can participate.
In addition to these two prestigious names, we have few local celebrities giving presentations: Ahbaid Gaffoor, lead DBA at Amazon, will show his make-based deployment methodology. If you don’t have a deployment methodology, this presentation is a must-see. Maria Colgan will give a presentation about data loading for data warehouses. Although she’s an Oracle presenter, which sometimes means “marketing”, Maria is smart and knowledgeable and if you are doing data warehouse work – she is worth listening to.
I’ll be presenting “What Every DBA Should Know About TCP/IP Networks”. The presentation is about network problems I’ve had to solve in the last year and how I solved them with some basic knowledge of networks, a packet sniffer and an envelope. If you ever wondered how to make your network admin take you seriously, how to get more bang from your bandwidth and whether or not you should care about your SDU, you should definitely show up.
I’m looking forward to meeting old and new friends in the conference. Its going to be a blast.
Iggy Fernandz invented an impossible challenge.
NoCoug and Apress sponsored an international competition.
9 SQL experts from all over the world submitted clever solutions.
SQL Guru Dan Tow reviewed the solutions and picked his favorite.
Alberto Dell’Era wins the challenge for his wonderful solution using Discrete Fourier Transforms; the runner-up is André Araujo from Australia, who used binary arithmetic and common table expressions in his solution.
The Order of the Wooden Pretzel will be bestowed on Alberto but the real prize is six books of his choice from the Apress catalog. André will receive a prize of six e-books of his choice.
Congratulations to the winners! Iggy will contact you soon to arrange for the delivery of your bounty. Thanks to everyone who participated. We’ll see you again in April for the second SQL challenge. BTW. If you have good SQL riddles – something fun and difficult, send them my way. Who knows, maybe you’ll be featured as the next challenging wizard.
Which reminds me: Last April, when Iggy presented his challenge, he told me that he wrote his own highly efficient solution to the problem. Now that the challenge is over and the winners have been announced – it is high time he will present his own solution to the world. Please go to his blog and bug him a bit about this. I’m sure a little peer pressure will make him see the light. Thanks 🙂
NoCoug will publish Iggy’s review of the winning result in the NoCoug Journal. If it’ll be posted online I’ll link to it. Iggy’s article includes an explanation of the decision by Dan Tow and also an explanation of the mathematics behind Alberto’s solution that I actually almost kind-of understood after reading both Alberto’s and Iggy’s explanations for around 4 hours one afternoon. My university would take my degree back if they knew, I’m sure.
One thing that bugs me is that Alberto’s winning solution is not very interesting from a SQL perspective. Note that the winning solution is the DFT solution which uses cartesian joins and subquery factoring, not the FFT solution which uses SQL Model. Dan Tow said that Model is iterative and therefore violates the spirit of SQL – which is about sets and relations. I can understand his sentiment, except that Model is part of the SQL standard.
So the winning solution is just plain SQL. It is algorithmically brilliant and I completely admire Alberto for coming up with it, but still just plain (very long) SQL. And I was wondering – this is a SQL challenge and not a math challenge. Shouldn’t the winning solution demonstrate more SQL brilliance and less math brilliance?
On the other hand, the winning solution demonstrates one of the most important principles of programming – Using a clever algorithm (such as FFT) will give you performance and scalability that no amount of query and database tuning will ever achieve. So in away its light use of SQL features does make it a good win for a SQL challenge.
My personal favorite solution is Fabien (Walder) Contaminard‘s. He still uses more math than SQL. He uses the multinomial distribution (which unlike’s Alberto’s math I actually understood). I thought it was a simple, straight forward, readable and very clever solution. Of course, it was slower than the winning entry, but he did find some interesting differences between SQL Server and Oracle while trying to optimize it.
Here’s a summary of all submitted solutions:
- Laurent Schneider’s solution using CONNECT BY and XMLQUERY (Switzerland).
- Rob van Wijk’s solution using the MODEL clause (Netherlands).
- Vadim Tropashko’s solution using 11gR2 recursive joins This entry should win the shortest solution award. (USA).
- Craig Martin’s solution using CONNECT BY and logarithms (USA).
- Alberto Dell’Era’s two solutions using Fourier transforms (Italy).
- Fabien (Waldar) Contaminard’s solution using the multinomial distribution (France).
- Almost anonymous Postgres solution using pipeline functions (Romania).
- André Araujo’s solution using binary arithmetics and subquery factoring (Australia)
Thanks for playing. See you all next Year. Don’t forget to send me your SQL riddles so I can pick the best for the next challenge (and spend long weekends trying to solve them all!)
I’m into local things these days. I try to buy food at the local farmers market and my books in local book stores. I’m lucky to live in California where the farmer markets contain tons of fresh veggies even in February, and the local book shop carries several copies of “Cost Based Fundamentals” 🙂
I’m also happy when I can get my Oracle Geekery locally. I mean, I enjoy meeting DBAs from all over the world in the big international conferences. But practically speaking, my next job is more likely to come from the DBA I met at a local user group and tells me about that great company he is working for, and the local OUG is where I meet the guys (and girls) that I can call up when I’m completely stuck on a problem, or if I want to meet someone to have a drink and talk shop for a bit.
Local user groups rule. Especially in California.
After all that chat, here are my reasons for telling my bosses that I’ll be on training on May 21st and they can only call me on emergencies:
- Cary Millsap will be giving the keynote and a presentation. I’m a huge fan of his 🙂
- Gaja Krishna Vaidyanatha will be presenting “The SAN is Guilty… Until Proven Otherwise!”. He is such a good presenter that you’ll enjoy this even if you don’t have SAN.
- I’m giving my “Streams Troubleshooting” presentation. If you ever stared at the screen helpless while streams simply did not work, you probably want to attend. I have tons of experience to share.
- Dave Abercrombie from Convio will talk about session tagging for end-to-end monitoring and troubleshooting. I met him at HotSos – he’s a good speaker with great approach to monitoring.
- Did I mention how cheap NoCoug conferences are? I still can’t believe that you get to listen to all those great presentations + breakfast + lunch for 25$. I mean, this is 1% from the cost of Oracle Open World, and you get so much more value.
- Its a good chance to catch up with my local Oracle friends.
- People go to me and say “Hey! I love your blog!” 🙂
- I’m not in the office. This is almost like vacation, but it doesn’t count as PTO because I’m in a conference.
So did I.
For the last few weeks there were links flying everywhere. Solutions, people commenting on solutions, people commenting on comments, and so on. I got completely lost on who said what to whom. And we are only a month and a half into the competition!
For our collective convenience, I present the definitive list of who said what to whom regarding the NoCoug SQL Challenge. Bravely stolen from Iggy Fernandez by yours truly.
- More prizes! You remember that the winner will receive six books by his choice from Apress catalog. Apress just donated six more eBooks for the runner ups. I guess they are also overwhelmed by all the great solutions that were sent.
- The end date for the competition was not published, but rumors are that it’ll probably happen at the end of June. So if you have a brilliant solution you did not send your results in yet (SQLchallenge@nocoug.org) , it is time to do so.
- Remember the “SQL vs. PL/SQL” debate? (If you don’t there are links below). Iggy asked a bunch of oracle gurus their opinion on the topic and publish an article about it on NoCoug’s Journal (I think we are the only Oracle User Group with a quarterly journal). NoCoug members will get a copy in the mail, as usual. Non-Members can either register really fast or ask their friends if they can borrow a copy 🙂
- Official announcement: http://www.nocoug.org/SQLchallenge/FirstSQLchallenge.pdf
- Write-up on Chen Shapira’s blog: https://prodlife.wordpress.com/2009/03/31/first-international-nocoug-sql-challenge/
- Rob van Wijk’s solution using the MODEL clause (Netherlands): http://rwijk.blogspot.com/2009/03/calculating-probabilities-with-n-throws.html
- Vadim Tropashko’s solution using Common Table Expressions (USA): http://vadimtropashko.wordpress.com/2009/03/25/variable-number-of-joins/
- Laurent Schneider’s solution using CONNECT BY and XMLQUERY (Switzerland): http://www.amazon.com/gp/blog/post/PLNKI2MYB0YCYAUL/#Mx1E6DR4VGI3O9Z
- Craig Martin’s solution using CONNECT BY and logarithms (USA): http://www.amazon.com/gp/blog/post/PLNKI2MYB0YCYAUL/#Mx26NK96OBG2FLQ
- Alberto Dell’Era’s two solutions using Fourier transforms (Italy): http://www.adellera.it/investigations/nocoug_challenge/index.html
- Fabien (Waldar) Contaminard’s solution using the multinomial distribution (France): http://www.waldar.org/blog/200904/nocougs-first-sql-challenge
- Postgres solution (Romania): http://hype-free.blogspot.com/2009/04/nocoug-sql-challenge.html
- Comment on Alberto Dell’Era’s solution by Jonathan Lewis: http://jonathanlewis.wordpress.com/2009/04/15/model/
- Analysis of Alberto Dell’Era’s solution by Iggy Fernandez: https://prodlife.wordpress.com/2009/03/31/first-international-nocoug-sql-challenge/#comment-2772
Debate on the merits of SQL and PL/SQL
- Rob van Wijk: http://rwijk.blogspot.com/2009/03/choosing-between-sql-and-plsql.html
- Chen Shapira: https://prodlife.wordpress.com/2009/03/20/would-you-rather-maintain-sql-or-plsql/
- Laurent Schneider: http://laurentschneider.com/wordpress/2009/03/to-sql-or-to-plsql.html
- H.Tonguç Yýlmaz: http://tonguc.wordpress.com/2009/03/21/hot-discussion-sql-or-plsql/
Whew, quite a link collection. Now I’m obsessing whether or not I missed anyone!
If I did, let me know if the comments. I’ll keep editing this post with the latest info.
North California DBAs – Mark your calanders because May is going to be a busy month 🙂
On May 19-20 Cary Millsap and Karen Morton will give their famous “Oracle Performance for Developers” seminar in Pleasanton. Register on Method-R website, but don’t forget to register to NoCoug first, so you’ll get a member discount on the seminar.
Then, May 21 is NoCoug’s Winter Conference. Cary Millsap will give the keynote, Karen Morton will talk about managing statistics (and hopefully do her magic tricks!), Gaja Krishna Vaidyanatha will give two hours of stand-up comedy about the SAN, Dave Abercrombie will talk about the user of session tags for end-to-end troubleshooting and monitoring.
I’ll also be there, this time presenting “Troubleshooting Streams”. It is an updated version of my OOW presentation. There won’t be a live demo this time, and I’ll talk much more about the way streams work and how to build systems that will require less troubleshooting in the future.
Some updates regarding my favorite user group.
- Our next conference is at February 12 in Oracle’s location at Redwood Shores. We’ll have keynote and two presentations by Tom Kyte! This doesn’t happen often and I hope you won’t miss it.
I’ll also give a presentation, but since it is parallel with one of Tom’s sessions, I won’t be surprised to find myself speaking to a very empty room.
- If you live in North California, enjoy learning about Oracle technologies and did not yet register for next year’s NoCoug membership, you should definitely do so this month. NoCoug membership rates and conference fees will go up starting Feb 1st, so you can save real money by joining now.
- NoCoug members get special discount at HotSos. The discount is actually higher than the NoCoug membership fee, so if you plan to attend HoSos, it will be absurd not to join NoCoug.
- I created a facebook group for NoCoug, you can join to recieve updates about our activities.
- After half year of volunteering at NoCoug, I finally joined the NoCoug board. I was voted the training day coordinator. Wish me luck 🙂
NoCoug, the North California Oracle User Group, will hold its fall conference on Thursday, November 13. You can read the full details in our website.
If you are in the area, you really don’t want to miss this. Jonathan Lewis will give a keynote and a session about partitioning, Dan Tow will explain tuning for recent data and Jeremiah Wilton will give two session. In short, you’ll have trouble choosing which session to attend. Just the way a good conference should be.
I volunteered to be a track lead, so you can find me in Tassajara room, fixing the projector, giving announecements and introducing speakers. Drop by and say hello 🙂