tag:blogger.com,1999:blog-71768016296354946882024-03-18T04:55:30.605+00:00SQL for Data Warehousing and AnalyticsGiving you a technical and business view of how to get the most from Oracle's analytic SQL and Data Warehouse technologiesASQLBaristahttp://www.blogger.com/profile/13350994132294695189noreply@blogger.comBlogger178125tag:blogger.com,1999:blog-7176801629635494688.post-11869551335289636152018-11-12T11:21:00.001+00:002018-11-27T16:28:18.384+00:00Ultimate, comprehensive review for big data warehousing for #OOW18.<p>Here it is…..<strong><em>THE</em></strong> ultimate, comprehensive review for big data warehousing for <strong>#OOW18.</strong></p>
<p><strong></strong>This review is for everyone who either missed this year’s conference or just wants to relive the amazing experience all over again (<em>but focusing on just the best bits obviously!</em>). So here you go, my complete view nicely packaged and available free of charge in a number of different formats…</p>
<p> </p>
<table width="100%">
<tbody>
<tr>
<td align="center">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td colspan="2" align="center"> <br /><img style="display: block; margin-left: auto; margin-right: auto;" title="Complete-Review-BDW-oow18.jpg" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeFgFiXRpPp_ppMqN81i0wIobs3cg7Tkh7Ftio38kkxH16Aod9VWtpOW5zsFRnMiHACjCFmG0NNvS3vpUQcRqij1ykzowG0R5jOrz47UchyphenhyphenFy2muL1i4NUSyVr99y423YqceRR5uw_qf0/?imgmax=1600" alt="Complete Review BDW oow18" width="600" border="0" /><br /><br /></td>
</tr>
<tr>
<td><img style="outline: none; text-decoration: none; border: none;" src="https://keithlaker.github.io/Images/1-OpeningKeynote-1024.jpg" alt="" width="250px" border="0" /></td>
<td><img style="outline: none; text-decoration: none; border: none;" src="https://keithlaker.github.io/Images/2-ADB-1024.jpg" alt="" width="250px" border="0" /></td>
</tr>
<tr>
<td>
<p><img style="outline: none; text-decoration: none; border: none;" src="https://keithlaker.github.io/Images/3-Sessions-1024.jpg" alt="" width="250px" border="0" /></p>
<p> </p>
<p> </p>
</td>
<td><br /> <img style="outline: none; text-decoration: none; border: none;" src="https://keithlaker.github.io/Images/4-HOLs-1024.jpg" alt="" width="250px" border="0" /></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p> </p>
<p>Following on from this year’s OpenWorld I have now put together the ultimate, comprehensive review for big data warehousing content from #OOW18. This free review contains the following information:</p>
<ul>
<li>Key video highlights from the main executive keynotes</li>
<li>Overview of the announcements for Autonomous Database - contains the links you need to learn even more about how the Autonomous Database can simplify and speed up your big data warehousing projects!</li>
<li>Full list of Oracle Product Management and Development presenters, links to all their social media sites are included alongside each profile.</li>
<li>All the downloadable content from this year’s Must-See sessions and Hands-on Labs by the Oracle Product Management and Development teams.</li>
<li>All the links you need to keep up to date on Oracle’s strategy and products for Big Data Warehousing, SQL and SQL Analytics and Big Data. This covers all our websites, blogs and social media pages.</li>
<li>Information to help get you ready for OpenWorld 2019.</li>
</ul>
<p><br />This review is available in the following formats:</p>
<ol>
<li><strong>iBooks </strong>for all Mac OSX and iOS devices, <a href="https://itunes.apple.com/us/book/complete-review-data-warehousing-big-data-from-openworld/id1441650703?ls=1&mt=11"><strong>click here to go to the iBook Store</strong></a>.</li>
<li><strong>PDF</strong> format for non-Apple users, <a href="https://www.dropbox.com/s/ej6o58mr3yqus7s/Complete-Review-BDW-oow18.pdf?dl=0"><strong>click here to download</strong></a>.</li>
<li><strong>Text</strong> format - designed for the DBA who is command-line only, <a href="https://www.dropbox.com/s/jxeag8yjugop8cu/Complete-Review-BDW-oow18.txt?dl=0"><strong>click here to download</strong></a>.</li>
</ol>
<p> </p>
<p>Hope you find this useful and don’t forget to checkout Chapter 7 which will help you build your personal business case for coming to OpenWorld 2019 - THE best tech conference on the calendar.</p>
<p> </p>
<p> </p>ASQLBaristahttp://www.blogger.com/profile/13350994132294695189noreply@blogger.com0tag:blogger.com,1999:blog-7176801629635494688.post-11863444777088273382018-10-25T04:42:00.001+01:002018-10-25T04:42:30.426+01:00Thursday at OpenWorld 2018 - Your Must-See Sessions<p> </p>
<p><img style="display: block; margin-left: auto; margin-right: auto;" title="cw46-oow-thousands-of-sessions-2613392.jpg" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXRxTQfCNld9F-Mmjr-LSVX7thUUH9FoU2Rvl5tNyThyphenhyphen_r1nV8HbJcfZQ8_7JEm4Rcu7xY33CiRKa5CkiC6gbfJJGWExxwUtGTcYAW0LjIRoVUyEyHkTa5UnmIwTDUlyGuU2xOyKci_ZQ/?imgmax=1600" alt="Cw46 oow thousands of sessions 2613392" width="596" height="160" border="0" /></p>
<p>Day three is a wrap so now is the perfect time to start planning your Day 4 session at <strong>OpenWorld 2018. Here’s your absolutely <strong>Must-See</strong> agenda for Thursday at OpenWorld 2018...</strong></p>
<p>My favorite session of the whole conference is today -<strong> Using Analytic Views for Self-Service Business Intelligence,</strong> which is at 9:00am in Room 3005, Moscone West. Multi-Dimensional models inside the database are very powerful and totally cool. AVs uniquely deliver sophisticated analytics from very simple SQL. If you only get to one session today then make it this one!</p>
<p>Of course, today is your final chance to get some much-needed real hands-on time with Autonomous Data Warehouse in the <strong>ADW</strong><strong> Hands-on Lab at 1:30pm - 2:30 at the Marriott Marquis (Yerba Buena Level) - Salon 9B. </strong>The product management team will help you sign up for a free cloud account and then get you working on our completely free workshop. Don't miss it, just bring your own laptop!</p>
<p> </p>
<p><span style="color: #444444; font-family: 'helvetica neue', arial, helvetica, sans-serif; font-size: 1.5em;"><strong>THURSDAY's MUST-SEE GUIDE</strong></span> </p>
<p><iframe src="https://keithlaker.github.io/bdw-oow-18/bdw-Thursday.hyperesources/iframe-htmlwidget.html" style="background: white;" width="100%" height="600px" scrolling="yes" marginwidth="0" marginheight="0" frameborder="0" allowfullscreen=""> </iframe></p>
<p> </p>
<p>Don't worry if you are not able to join us in San Francisco for this year's conference because I will be providing a comprehensive review after the conference closes on Thursday. The review will include links to download the presentations for each of my Must-See sessions and links to any hands-on lab content as well.</p>
<p><strong>Have a great conference.</strong></p>
<p>If you are here in San Francisco then enjoy the conference - it's going to be an awesome conference this year. </p>
<!-- Technorati Tags Start -->
<p>Technorati Tags: <a href="http://technorati.com/tag/Analytics" rel="tag">Analytics</a>, <a href="http://technorati.com/tag/Autonomous" rel="tag">Autonomous</a>, <a href="http://technorati.com/tag/Big%20Data" rel="tag">Big Data</a>, <a href="http://technorati.com/tag/Cloud" rel="tag">Cloud</a>, <a href="http://technorati.com/tag/Conference" rel="tag">Conference</a>, <a href="http://technorati.com/tag/Data%20Warehousing" rel="tag">Data Warehousing</a>, <a href="http://technorati.com/tag/OpenWorld" rel="tag">OpenWorld</a>, <a href="http://technorati.com/tag/SQL%20Analytics" rel="tag">SQL Analytics</a></p>
<!-- Technorati Tags End -->ASQLBaristahttp://www.blogger.com/profile/13350994132294695189noreply@blogger.com0tag:blogger.com,1999:blog-7176801629635494688.post-2109439979511111612018-10-24T03:33:00.001+01:002018-10-24T13:31:09.008+01:00Wednesday at OpenWorld 2018 - Your Must-See Sessions<p> </p>
<p><img style="display: block; margin-left: auto; margin-right: auto;" title="cw46-oow-thousands-of-sessions-2613392.jpg" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXRxTQfCNld9F-Mmjr-LSVX7thUUH9FoU2Rvl5tNyThyphenhyphen_r1nV8HbJcfZQ8_7JEm4Rcu7xY33CiRKa5CkiC6gbfJJGWExxwUtGTcYAW0LjIRoVUyEyHkTa5UnmIwTDUlyGuU2xOyKci_ZQ/?imgmax=1600" alt="Cw46 oow thousands of sessions 2613392" width="596" height="160" border="0" /></p>
<p>Here’s your absolutely <strong>Must-See</strong> agenda for Wednesday at OpenWorld 2018...</p>
<p>Day one is a wrap so now is the perfect time to start planning your Day 3 session at <strong>OpenWorld 2018.</strong></p>
<p>The list is packed full of really excellent speakers from Oracle product management talking about Autonomous Database and the Cloud. These sessions are what Oracle OpenWorld is all about: the chance to learn from the real technical experts.</p>
<p>Highlight of today is two additional chances to get some real hands-on time with Autonomous Data Warehouse in the ADW<strong> Hands-on Lab at 12:45pm - 1:45pm and then again at 3:45pm - 4:45pm, both at the Marriott Marquis (Yerba Buena Level) - Salon 9B. </strong>We will help you sign up for a free cloud account and then get you working on our completely free workshop. Don't miss it, just bring your own laptop!</p>
<p> </p>
<p><span style="color: #444444; font-family: 'helvetica neue', arial, helvetica, sans-serif; font-size: 1.5em;"><strong>WEDNESDAY'S MUST-SEE GUIDE</strong></span> </p>
<p><iframe src="https://keithlaker.github.io/bdw-oow-18/bdw-Wednesday.hyperesources/iframe-htmlwidget.html" style="background: white;" width="100%" height="600px" scrolling="yes" marginwidth="0" marginheight="0" frameborder="0" allowfullscreen=""> </iframe></p>
<p> </p>
<p>Don't worry if you are not able to join us in San Francisco for this year's conference because I will be providing a comprehensive review after the conference closes on Thursday. The review will include links to download the presentations for each of my Must-See sessions and links to any hands-on lab content as well.</p>
<p><strong>Have a great conference.</strong></p>
<p>If you are here in San Francisco then enjoy the conference - it's going to be an awesome conference this year.</p>
<p> </p>
<!-- Technorati Tags Start -->
<p>Technorati Tags: <a href="http://technorati.com/tag/Analytics" rel="tag">Analytics</a>, <a href="http://technorati.com/tag/Autonomous" rel="tag">Autonomous</a>, <a href="http://technorati.com/tag/Big%20Data" rel="tag">Big Data</a>, <a href="http://technorati.com/tag/Cloud" rel="tag">Cloud</a>, <a href="http://technorati.com/tag/Conference" rel="tag">Conference</a>, <a href="http://technorati.com/tag/Data%20Warehousing" rel="tag">Data Warehousing</a>, <a href="http://technorati.com/tag/OpenWorld" rel="tag">OpenWorld</a>, <a href="http://technorati.com/tag/SQL%20Analytics" rel="tag">SQL Analytics</a></p>
<!-- Technorati Tags End -->ASQLBaristahttp://www.blogger.com/profile/13350994132294695189noreply@blogger.com0tag:blogger.com,1999:blog-7176801629635494688.post-9840801440198462372018-10-23T02:47:00.001+01:002018-10-24T03:30:15.427+01:00Tuesday at OpenWorld 2018 - Your Must-See Sessions<p> </p>
<p><img style="display: block; margin-left: auto; margin-right: auto;" title="cw46-oow-thousands-of-sessions-2613392.jpg" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXRxTQfCNld9F-Mmjr-LSVX7thUUH9FoU2Rvl5tNyThyphenhyphen_r1nV8HbJcfZQ8_7JEm4Rcu7xY33CiRKa5CkiC6gbfJJGWExxwUtGTcYAW0LjIRoVUyEyHkTa5UnmIwTDUlyGuU2xOyKci_ZQ/?imgmax=1600" alt="Cw46 oow thousands of sessions 2613392" width="596" height="160" border="0" /></p>
<p>Here’s your absolutely <strong>Must-See</strong> agenda for Tuesday at OpenWorld 2018...</p>
<p>Day one is a wrap so now is the perfect time to start planning your Day 2 session at <strong>OpenWorld 2018.</strong></p>
<p>The list is packed full of really excellent speakers from Oracle product management talking about Autonomous Database and the Cloud. These sessions are what Oracle OpenWorld is all about: the chance to learn from the real technical experts.</p>
<p>Highlight of today is the chance to get some real hands-on time with Autonomous Data Warehouse in the ADW<strong> Hands-on Lab at 3:45 PM - 4:45 PM at the Marriott Marquis (Yerba Buena Level) - Salon 9B. </strong>We will help you sign up for a free cloud account and then get you working on our completely free workshop. Don't miss it, just bring your own laptop!</p>
<p> </p>
<p><span style="color: #444444; font-family: 'helvetica neue', arial, helvetica, sans-serif; font-size: 1.5em;"><strong>TUESDAY'S MUST-SEE GUIDE</strong></span> </p>
<p><iframe src="https://keithlaker.github.io/bdw-oow-18/bdw-Tuesday.hyperesources/iframe-htmlwidget.html" style="background: white;" width="100%" height="600px" scrolling="yes" marginwidth="0" marginheight="0" frameborder="0" allowfullscreen=""> </iframe></p>
<p> </p>
<p>Don't worry if you are not able to join us in San Francisco for this year's conference because I will be providing a comprehensive review after the conference closes on Thursday. The review will include links to download the presentations for each of my Must-See sessions and links to any hands-on lab content as well.</p>
<p><strong>Have a great conference.</strong></p>
<p>If you are here in San Francisco then enjoy the conference - it's going to be an awesome conference this year.</p>
<p> </p>
<!-- Technorati Tags Start -->
<p>Technorati Tags: <a href="http://technorati.com/tag/Analytics" rel="tag">Analytics</a>, <a href="http://technorati.com/tag/Autonomous" rel="tag">Autonomous</a>, <a href="http://technorati.com/tag/Big%20Data" rel="tag">Big Data</a>, <a href="http://technorati.com/tag/Cloud" rel="tag">Cloud</a>, <a href="http://technorati.com/tag/Conference" rel="tag">Conference</a>, <a href="http://technorati.com/tag/Data%20Warehousing" rel="tag">Data Warehousing</a>, <a href="http://technorati.com/tag/OpenWorld" rel="tag">OpenWorld</a>, <a href="http://technorati.com/tag/SQL%20Analytics" rel="tag">SQL Analytics</a></p>
<!-- Technorati Tags End -->ASQLBaristahttp://www.blogger.com/profile/13350994132294695189noreply@blogger.com0tag:blogger.com,1999:blog-7176801629635494688.post-85279955895020406212018-10-22T03:23:00.001+01:002018-10-22T03:23:26.715+01:00Monday at OpenWorld 2018 - Your Must-See Sessions<p>Here’s your absolutely <strong>Must-See</strong> agenda for Monday at OpenWorld 2018...</p>
<p>It all starts today - <strong>OpenWorld 2018.</strong> Each day I will provide you with a list of must-see sessions and hands-on labs. This is going to be one of the biggest and most exciting OpenWorlds ever!</p>
<p><br />Today is Day 1 so here here is my definitive list of Must-See sessions for the opening day. The list is packed full of really excellent speakers from Oracle product management talking about Autonomous Database and the Cloud. These sessions are what Oracle OpenWorld is all about: the chance to learn from the real technical experts.</p>
<p><br /><span style="color: #444444; font-family: 'helvetica neue', arial, helvetica, sans-serif; font-size: 1.5em;"><strong>MONDAY'S MUST-SEE GUIDE</strong></span> </p>
<p><iframe src="https://keithlaker.github.io/bdw-oow-18/bdw-Monday.hyperesources/iframe-htmlwidget.html" style="background: white;" width="100%" height="600px" scrolling="yes" marginwidth="0" marginheight="0" frameborder="0" allowfullscreen=""> </iframe></p>
<p> </p>
<p>Don't worry if you are not able to join us in San Francisco for this year's conference because I will be providing a comprehensive review after the conference closes on Thursday. The review will include links to download the presentations for each of my Must-See sessions and links to any hands-on lab content as well.</p>
<p><strong>Have a great conference.</strong></p>
<p>If you are here in San Francisco then enjoy the conference - it's going to be an awesome conference this year.</p>
<p> </p>
<!-- Technorati Tags Start -->
<p>Technorati Tags: <a href="http://technorati.com/tag/Analytics" rel="tag">Analytics</a>, <a href="http://technorati.com/tag/Big%20Data" rel="tag">Big Data</a>, <a href="http://technorati.com/tag/Conference" rel="tag">Conference</a>, <a href="http://technorati.com/tag/Data%20Warehousing" rel="tag">Data Warehousing</a>, <a href="http://technorati.com/tag/OpenWorld" rel="tag">OpenWorld</a>, <a href="http://technorati.com/tag/SQL%20Analytics" rel="tag">SQL Analytics</a>, <a href="http://technorati.com/tag/Cloud" rel="tag">Cloud</a>, <a href="http://technorati.com/tag/Autonomous" rel="tag">Autonomous</a></p>
<!-- Technorati Tags End -->ASQLBaristahttp://www.blogger.com/profile/13350994132294695189noreply@blogger.com0tag:blogger.com,1999:blog-7176801629635494688.post-62288790544869308962018-09-25T14:37:00.001+01:002018-09-28T16:57:52.096+01:00Get Organized With My Day-by-Day Guide For #oow18<p><img style="display: block; margin-left: auto; margin-right: auto;" title="cw46-oow-thousands-of-sessions-2613392.jpg" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjjysRtMopOdhU8CyIEDUGGQgGE8uZ8007PK1VCMQVaTrA_QWa21wMiJX5I-PHe8cZ11e2TJBzyC6ZfnjtDxpAkTS_bSn-klLGds_xd_GQ7YI3rHIJT0Ize4hkbv61hjC2ojj3QNXOhMfc/?imgmax=1600" alt="Cw46 oow thousands of sessions 2613392" width="596" height="160" border="0" /></p>
<p>It’s not long until the doors open at the Moscone Center in San Francisco for the biggest and most exciting tech conference in the calendar. Looking at the <a href="https://oracle.rainfocus.com/widget/oracle/oow18/catalogoow18?"><strong>online content catalog</strong></a> it’s hard to know where to start because there are so many sessions and just not enough time!</p>
<p>Which is here my Must-See Guide comes to the rescue. It lists all the most important data warehouse, big data, analytics, machine learning sessions and labs at #oow18 is now available as a comprehensive Day-by-Day version:</p>
<p>My Day-by-Day guide for OpenWorld 2018 is available in both old-fashioned PDF format as a free download <a style="font-weight: bold;" href="https://www.dropbox.com/s/jz2gt9cgfuu7ze0/BDW-Day-by-Day-Guide-oow18.pdf?dl=0">from here</a> and the more useful Apple Book format as a free download<strong> </strong><strong style="font-weight: bold;"><a href="https://itunes.apple.com/gb/book/day-by-day-guide-for-big-data-warehousing-oow18/id1437371218?mt=11&ign-mpt=uo%3D4">from here</a> </strong>(<em>open this link in a browser and then click on the blue “View in iBooks” button below the cover-picture</em>).</p>
<table width="100%">
<tbody>
<tr>
<td><img title="BDW-Day-by-Day-Guide-oow18.jpg" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHNhyphenhyphenDxzoEUrEsk3rv-pxxjszDyF8p1QhmSn-_1WOOGrqsM6Mu8cDHxoytnteFD7-b3swWkjPiuBFp6dUQFkqAY0uSdzOLlejc-7AT0GbNTyTmnUznUYDrwmkSd9-FP5-Kq57jSE3IjZw/?imgmax=1600" alt="BDW Day by Day Guide oow18" width="300" border="0" /></td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td><img style="display: block; margin-left: auto; margin-right: auto;" title="Monday.jpg" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimL7YyvipfINDwzmu5MJtsmtdci8BjCR3Rmh21iku9s5S14PfYfc0zbr19XA7T5EM3yiXcv3PBjWucwVulEJZPWAv7fmjacdILpt_-LcgqkhA1IaLq6pq-klJ8gN8K6n-fN4Z1o_KDbmk/?imgmax=1600" alt="Monday" width="300" border="0" /></td>
<td><img style="display: block; margin-left: auto; margin-right: auto;" title="Tuesday.jpg" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrWTK5AVeYkRRpiVgAkIvPQFAobjZyMzbZ80O86w20SoE4Sq3p1KWBt2MfHW2tGv21Fi17dz6j7zjKlZbFDIBmV53CUFoQ1X4wbph4WdmDEnEVXFlczRNTeBs7LjJlH3sbFgo96_9lO0Y/?imgmax=1600" alt="Tuesday" width="300" border="0" /></td>
</tr>
<tr>
<td><img style="display: block; margin-left: auto; margin-right: auto;" title="Wednesday.jpg" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEitkEt8dKtTyhFQ2rohnc4YwrJtGh7xJvUhUUnUbVtgOyxJnPjGE5LCcic6QNStDBytYu1rNk7oY-QA4Y9x06zexVuwmjN44PcyQyplQr5SoshxmSn9OFU64LPSEhR5QMSza2RjwUImn4Q/?imgmax=1600" alt="Wednesday" width="300" border="0" /></td>
<td><img style="display: block; margin-left: auto; margin-right: auto;" title="Thursday.jpg" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7AH_8Bzn4E_PmmndId82zhagETk7ovugwtKIK6WcCAp12LWXjYc7RL7yJROHji30JpXO8oJsU9_mpx6vXWgHOm7pVVvte-ZzlLBfKSyoTmGupFC4HUV9O9paD5uyHK8NZoSEFC7Fs3N0/?imgmax=1600" alt="Thursday" width="300" border="0" /></td>
</tr>
</tbody>
</table>
<p>As usual, all feedback is welcome and if I have missed a session or a hands-on lab that you think should be included in this guide then send me a quick email with the details: <a href="mailto:keith.laker@oracle.com">keith.laker@oracle.com</a>.</p>
<p>Have a great OpenWorld 2018 and hope to see you in San Francisco!</p>ASQLBaristahttp://www.blogger.com/profile/13350994132294695189noreply@blogger.com0tag:blogger.com,1999:blog-7176801629635494688.post-25778122312469285902018-09-21T08:19:00.001+01:002018-09-25T13:55:06.188+01:00Get Organized With My Must-See Google Calendars for #oow18<table style="background-color: red;" width="100%">
<tbody>
<tr>
<td align="center"><img style="display: block; margin-left: auto; margin-right: auto;" title="cw46-oow-thousands-of-sessions-2613392.jpg" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2j303K-ZI38tISxGw4QkDWZPCct37uqWwmDi73ICi7chm1hHCIgLrDBD9Qi1GG5aDQb57A5As75-9DCKLuhn1s3bcm25Lkws995mGD7A2PkL-ZfSiN8fywJr9efFkY_0CuK0js02J36g/?imgmax=1600" alt="Cw46 oow thousands of sessions 2613392" width="596" height="160" border="0" /></td>
</tr>
</tbody>
</table>
<p>There are so many sessions at this year’s <strong>OpenWorld</strong> it’s hard to know where to start when trying to pick which sessions to attend! To help you get your personal calendar organized and totally focused on THE most important sessions here is my pick of the very best sessions and labs that you definitely won’t want to miss! Simply cut & paste the links below into your calendar app and then sit back and relax because all you need to do next is turn up at Moscone and enjoy the best tech conference ever :-)</p>
<p>...so if you have a calendar app on your computer then just use the iCal links to subscribe to my calendars. Your calendar app should allow you to color-code each calendar to make life easier and more colourful!</p>
<p> </p>
<table width="100%">
<tbody>
<tr>
<td valign="top"><img src="https://cloud.oracle.com/res/svg/database.svg" alt="" width="75px" /></td>
<td>
<p>For <strong>data warehousing and cloud-focused </strong>sessions+labs use these links:</p>
<table>
<tbody>
<tr>
<td><img src="https://cdn.app.compendium.com/uploads/user/e7c690e8-6ff9-102a-ac6d-e4aebca50425/f4a5b21d-66fa-4885-92bf-c4e81c06d916/Image/163aff6b95b9bbdf7db08e66eebcf36f/icon_calendar_red_h150.png" alt="" width="50px" /></td>
<td>
<p>iCal format: <a href="https://calendar.google.com/calendar/ical/31pd442io213d7n1o44rstlqno%40group.calendar.google.com/private-5fc5e75a3b08e9ab2f2f0a3a16b839ef/basic.ics" target="_blank">https://calendar.google.com/calendar/ical/31pd442io213d7n1o44rstlqno%40group.calendar.google.com/private-5fc5e75a3b08e9ab2f2f0a3a16b839ef/basic.ics</a></p>
</td>
</tr>
<tr>
<td><img src="https://cdn.app.compendium.com/uploads/user/e7c690e8-6ff9-102a-ac6d-e4aebca50425/f4a5b21d-66fa-4885-92bf-c4e81c06d916/Image/8c4b439b6e19d9b87378a85d6b23fae7/ic_elearning_red_2400741.jpg" alt="" width="75px" /></td>
<td>
<p>Web page: <a href="https://calendar.google.com/calendar/embed?src=31pd442io213d7n1o44rstlqno%40group.calendar.google.com&ctz=America%2FLos_Angeles" target="_blank">https://calendar.google.com/calendar/embed?src=31pd442io213d7n1o44rstlqno%40group.calendar.google.com&ctz=America%2FLos_Angeles</a></p>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p>…this calendar covers sessions and labs on Database 18c, Autonomous Database, Autonomous TP, Autonomous DW, in-memory, multitenant, PL/SQL, SQL, data integration tools and database migration strategies.</p>
<p><br /><br /></p>
<table style="border-bottom: solid; border-top: blank; border-left: blank; border-right: blank;" width="100%">
<tbody>
<tr>
<td height="1px;"> </td>
</tr>
</tbody>
</table>
<p><br /><br /></p>
<table width="100%">
<tbody>
<tr>
<td valign="top"><img src="https://cloud.oracle.com/res/svg/dataanalyzer.svg" alt="" width="75px" /></td>
<td>
<p>For <strong>analytics-focused</strong> sessions+labs use these links:</p>
<table>
<tbody>
<tr>
<td><img src="https://cdn.app.compendium.com/uploads/user/e7c690e8-6ff9-102a-ac6d-e4aebca50425/f4a5b21d-66fa-4885-92bf-c4e81c06d916/Image/163aff6b95b9bbdf7db08e66eebcf36f/icon_calendar_red_h150.png" alt="" width="50px" /></td>
<td>
<p>iCal format: <a href="https://calendar.google.com/calendar/ical/5gqde6gojehdljbr69u4ekdufc%40group.calendar.google.com/private-f437d531087b3f426f02c5a7fb3b0d3a/basic.ics" target="_blank">https://calendar.google.com/calendar/ical/5gqde6gojehdljbr69u4ekdufc%40group.calendar.google.com/private-f437d531087b3f426f02c5a7fb3b0d3a/basic.ics</a></p>
</td>
</tr>
<tr>
<td><img src="https://cdn.app.compendium.com/uploads/user/e7c690e8-6ff9-102a-ac6d-e4aebca50425/f4a5b21d-66fa-4885-92bf-c4e81c06d916/Image/8c4b439b6e19d9b87378a85d6b23fae7/ic_elearning_red_2400741.jpg" alt="" width="75px" /></td>
<td>
<p>Web page: <a href="https://calendar.google.com/calendar/embed?src=5gqde6gojehdljbr69u4ekdufc%40group.calendar.google.com&ctz=America%2FLos_Angeles" target="_blank">https://calendar.google.com/calendar/embed?src=5gqde6gojehdljbr69u4ekdufc%40group.calendar.google.com&ctz=America%2FLos_Angeles</a></p>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p>…this calendar covers sessions and labs on in-database SQL analytics, Oracle Analytics Cloud, Oracle Autonomous Analytics Cloud, graph analytics and machine learning.</p>
<p><br /><br /></p>
<table style="border-bottom: solid; border-top: blank; border-left: blank; border-right: blank;" width="100%">
<tbody>
<tr>
<td> </td>
</tr>
</tbody>
</table>
<p><br /><br /></p>
<table width="100%">
<tbody>
<tr>
<td valign="top"><img src="https://cloud.oracle.com/res/svg/APIManager.svg" alt="" width="75px" /></td>
<td>
<p>For <strong>developer-focused</strong> sessions+labs use these links:</p>
<table>
<tbody>
<tr>
<td><img src="https://cdn.app.compendium.com/uploads/user/e7c690e8-6ff9-102a-ac6d-e4aebca50425/f4a5b21d-66fa-4885-92bf-c4e81c06d916/Image/163aff6b95b9bbdf7db08e66eebcf36f/icon_calendar_red_h150.png" alt="" width="50px" /></td>
<td>
<p>iCal format: <a href="https://calendar.google.com/calendar/ical/vk2dsvs2q9verl7hcgsf0rgn9o%40group.calendar.google.com/private-fd3d24871f735a063ae1d47e36c4b34d/basic.ics" target="_blank">https://calendar.google.com/calendar/ical/vk2dsvs2q9verl7hcgsf0rgn9o%40group.calendar.google.com/private-fd3d24871f735a063ae1d47e36c4b34d/basic.ics</a></p>
</td>
</tr>
<tr>
<td><img src="https://cdn.app.compendium.com/uploads/user/e7c690e8-6ff9-102a-ac6d-e4aebca50425/f4a5b21d-66fa-4885-92bf-c4e81c06d916/Image/8c4b439b6e19d9b87378a85d6b23fae7/ic_elearning_red_2400741.jpg" alt="" width="75px" /></td>
<td>
<p>Web page: <a href="https://calendar.google.com/calendar/embed?src=vk2dsvs2q9verl7hcgsf0rgn9o%40group.calendar.google.com&ctz=America%2FLos_Angeles" target="_blank">https://calendar.google.com/calendar/embed?src=vk2dsvs2q9verl7hcgsf0rgn9o%40group.calendar.google.com&ctz=America%2FLos_Angeles</a></p>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p>…this calendar covers sessions and labs on PL/SQL, SQL Developer, APEX, Java, SQL, JSON, XML, etc etc.</p>
<p><br /><br /></p>
<table style="border-bottom: solid; border-top: blank; border-left: blank; border-right: blank;" width="100%">
<tbody>
<tr>
<td> </td>
</tr>
</tbody>
</table>
<p><br /><br /></p>
<table width="100%">
<tbody>
<tr>
<td valign="top"><img src="https://cloud.oracle.com/res/svg/bigdata.svg" alt="" width="75px" /></td>
<td>
<p>For<strong> big data-focused</strong> sessions+labs use these links:</p>
<table>
<tbody>
<tr>
<td><img src="https://cdn.app.compendium.com/uploads/user/e7c690e8-6ff9-102a-ac6d-e4aebca50425/f4a5b21d-66fa-4885-92bf-c4e81c06d916/Image/163aff6b95b9bbdf7db08e66eebcf36f/icon_calendar_red_h150.png" alt="" width="50px" /></td>
<td>
<p>iCal format: <a href="https://calendar.google.com/calendar/ical/3tcm4a0uvm3j8u3beo8naeap80%40group.calendar.google.com/private-bc388075f22025310ba47fdcc4d16c90/basic.ics" target="_blank">https://calendar.google.com/calendar/ical/3tcm4a0uvm3j8u3beo8naeap80%40group.calendar.google.com/private-bc388075f22025310ba47fdcc4d16c90/basic.ics</a></p>
</td>
</tr>
<tr>
<td><img src="https://cdn.app.compendium.com/uploads/user/e7c690e8-6ff9-102a-ac6d-e4aebca50425/f4a5b21d-66fa-4885-92bf-c4e81c06d916/Image/8c4b439b6e19d9b87378a85d6b23fae7/ic_elearning_red_2400741.jpg" alt="" width="75px" /></td>
<td>
<p>Web page: <a href="https://calendar.google.com/calendar/embed?src=3tcm4a0uvm3j8u3beo8naeap80%40group.calendar.google.com&ctz=America%2FLos_Angeles" target="_blank">https://calendar.google.com/calendar/embed?src=3tcm4a0uvm3j8u3beo8naeap80%40group.calendar.google.com&ctz=America%2FLos_Angeles</a></p>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p>...this calendar covers sessions and labs on Big Data Appliance, Big Data SQL, machine learning, graph, spatial and other big data technologies such as Kafka etc etc.</p>
<p><br /><br /></p>
<table style="border-bottom: solid; border-top: blank; border-left: blank; border-right: blank;" width="100%">
<tbody>
<tr>
<td> </td>
</tr>
</tbody>
</table>
<p><br /><br /></p>
<p> </p>
<p>Below is the full calendar (derived from the list of links above) for all the MUST-See sessions and labs at OpenWorld 2018 for <strong>Big Data Warehousing in the Autonomous Cloud.</strong>Enjoy OpenWorld 2018!</p>
<p> </p>
<table style="table-layout: fixed; width: 800px; overflow: hidden;">
<tbody>
<tr>
<td style="overflow: hidden;">
<div style="overflow: scroll; width: 100%;"><iframe src="https://calendar.google.com/calendar/embed?showPrint=0&showTabs=0&mode=WEEK&height=1080&wkst=2&bgcolor=%23FFFFFF&src=5gqde6gojehdljbr69u4ekdufc%40group.calendar.google.com&color=%23125A12&src=3tcm4a0uvm3j8u3beo8naeap80%40group.calendar.google.com&color=%23B1440E&src=31pd442io213d7n1o44rstlqno%40group.calendar.google.com&color=%23AB8B00&src=vk2dsvs2q9verl7hcgsf0rgn9o%40group.calendar.google.com&color=%232952A3&ctz=America%2FLos_Angeles&dates=20181023/20181025" style="border-width: 0;" width="5000" height="800" scrolling="yes" frameborder="0"></iframe></div>
</td>
</tr>
</tbody>
</table>
<p>You can scroll the above panel left->right->left to view the sessions and labs scheduled on Tuesday, Wednesday, Thursday. Enjoy!</p>
<p>Hope to see you in San Francisco.</p>
<!-- Technorati Tags Start -->
<p>Technorati Tags: <a href="http://technorati.com/tag/Analytics" rel="tag">Analytics</a>, <a href="http://technorati.com/tag/Big%20Data" rel="tag">Big Data</a>, <a href="http://technorati.com/tag/Cloud" rel="tag">Cloud</a>, <a href="http://technorati.com/tag/Conference" rel="tag">Conference</a>, <a href="http://technorati.com/tag/Data%20Warehousing" rel="tag">Data Warehousing</a>, <a href="http://technorati.com/tag/OpenWorld" rel="tag">OpenWorld</a></p>
<!-- Technorati Tags End -->ASQLBaristahttp://www.blogger.com/profile/13350994132294695189noreply@blogger.com0tag:blogger.com,1999:blog-7176801629635494688.post-5016221910081582672018-04-04T11:57:00.002+01:002018-04-04T12:40:57.841+01:00Autonomous Data Warehouse is LIVE!That’s right: Autonomous Data Warehouse Cloud is <strong><span style="color: #ff2600;">LIVE </span></strong>and available in the Oracle Cloud.<br />
<h3>
ADWC Launch Event at Oracle Conference Center</h3>
We had a major launch event on Thursday last week at the Oracle Conference center in Redwood Shores which got a huge amount of press coverage. Larry Ellison delivered the main keynote covering how our next-generation cloud service is built on the self-driving Oracle Autonomous Database technology which leverages machine learning to deliver unprecedented performance, reliability and ease of deployment for data warehouses.<br />
<br />
As an autonomous cloud service, it eliminates error-prone manual management tasks and, most importantly for a lot readers of this blog, frees up DBA resources, which can now be applied to implementing more strategic business projects.<br />
<br />
The key highlights of our Oracle Autonomous Data Warehouse Cloud include:<br />
<br />
<strong>Ease of Use:</strong> Unlike traditional cloud services with complex, manual configurations that require a database expert to specify data distribution keys and sort keys, build indexes, reorganize data or adjust compression, Oracle Autonomous Data Warehouse Cloud is a simple "load and go" service. Users specify tables, load data and then run their workloads in a matter of seconds-no manual tuning is needed.<br />
<br />
<strong>Industry-Leading Performance:</strong> Unlike traditional cloud services, which use generic compute shapes for database cloud services, Oracle Autonomous Data Warehouse Cloud is built on the high-performance Oracle Exadata platform. Performance is further enhanced by fully-integrated machine learning algorithms which drive automatic caching, adaptive indexing and advanced compression.<br />
<br />
<strong>Instant Elasticity: </strong>Oracle Autonomous Data Warehouse Cloud allocates new data warehouses of any size in seconds and scales compute and storage resources independently of one another with no downtime. Elasticity enables customers to pay for exactly the resources that the database workloads require as they grow and shrink.<br />
<br />
To highlight these three unique aspects of Autonomous Data Warehouse Cloud the launch included a live, on-stage demo of ADWC and Oracle Analytics Cloud. If you have never seen a new data warehouse delivered in seconds rather than days then pay careful attention to the demo video below where George Lumpkin creates a new fully autonomous data warehouse with a few mouse clicks and then starts to query one of the sample schemas, shipped with ADWC, using OAC.<br />
<br />
Probably the most important section was the panel discussion with a handful of our early adopter customers which was hosted by Steve Daheb, Senior Vice President, Oracle Cloud. As always. it’s great to hear customers talk about how the simplicity and speed of ADWC are bringing about significant changes to the way our customers think about their data.<br />
<br />
I you missed all the excitement, the keynote, demos and discussions then here is some great news….we recorded everything for you so can watch it from the comfort of your desk. Below are the links to the three main parts of the launch:<br />
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<a class="blocky" href="https://www.youtube.com/watch?v=EgHkLQsg6sg" target="_blank">
<div class="separator" style="clear: both; text-align: center;">
<img border="0" data-original-height="168" data-original-width="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEikaC15NecHowX6eFigeTP_qgTi37bY5NBHKb-dY9tjwWVqmPBZ4XmexcqqPn5uPeWAaMArAncx4fBiUOTwpP0bRx7SHwqEV6ZZN58d3O5yU7D1rBRCE-dfVJ2vFFKNTRRkbH8nOlNXOnQ/s1600/LJE-350.jpg" /></div>
<div class="separator" style="clear: both; text-align: left;">
<strong>Video: </strong>Larry Ellison, CTO and Executive Chairman, Oracle, introduces Oracle Autonomous Database Cloud. Oracle Autonomous Database Cloud eliminates complexity and human error, helping to ensure higher reliability, security, and efficiency at the lowest cost.
<br /></div>
</a>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<a class="blocky" href="https://www.youtube.com/watch?v=YqnhRPq2Hq0" target="_blank">
<div class="separator" style="clear: both; text-align: center;">
<img border="0" data-original-height="168" data-original-width="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrQJWYjmTe7HCT_XwLe3B0QeEqLE4ZwkUkjzivmbejUM3xxCTDzlKOJKGexsP4JxXjZyRYQcsBk_UkECna0V_HZ-CmQK0zXU8rxQ-eKdCOsCyJPuiLgdzrUzLDAqIVGcJWy14QFMlUJVE/s1600/panel-discussion-350.jpg" /></div>
<div class="separator" style="clear: both; text-align: left;">
<strong>Video: </strong>Steve Daheb, Senior Vice President, Oracle Cloud, discusses the benefits of Oracle Autonomous Cloud Platform with Oracle customers:
- Paul Daugherty, Accenture
- Benjamin Arnulf, Hertz
- Michael Morales, QMP Health
- Al Cordoba, QLX
<br /></div>
</a>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<a class="blocky" href="https://www.youtube.com/watch?v=XkOdlIewqLc" target="_blank">
<div class="separator" style="clear: both; text-align: center;">
<img border="0" data-original-height="168" data-original-width="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTHyrbOzwLNh6i3_sMQalvrg2SI3TgEurZLCG3KK6fa0dFvr2uAHLb0yP-vH8RMv8mXqgjSZOnTYjRxyU-jJWeD-_k2F2lVfZNf5VO7vCjObtbwoQcoTFk4x4jsVF2RhnKTHbJ42ohBOQ/s1600/GL-demo-350.jpg" /></div>
<div class="separator" style="clear: both; text-align: left;">
<strong>Video: </strong>George Lumpkin, Vice President of Product Management, Oracle, demonstrates the self-driving, self-securing, and self-repairing capabilities of Oracle Autonomous Data Warehouse Cloud.
<br /></div>
</a>
<br /><br />
<h3>
So what's next?</h3>
So you are all fired up and you want to learn more about Autonomous Data Warehouse Cloud! Where do you go? First place to visit is the ADWC home page on cloud.oracle.com:<br />
<a href="https://cloud.oracle.com/datawarehouse" target="_blank">https://cloud.oracle.com/datawarehouse</a><br />
<h4>
Can I Try It?</h4>
Yes you can! We have a great program that let's you get started with Oracle Cloud for free with $300 in free credits. Using your credits (which will probably last you around 30 days depending on how you configure your ADWC)you will be able to get valuable hands-on time to try loading some your own workloads and testing integration with our other cloud services such as Analytics Cloud and Data Integration Cloud.<br />
<h4>
Are there any tutorials to help me get started?</h4>
Yes there are! We have quick start tutorials covering both Autonomous Data Warehouse Cloud and our bundled SQL notebook application called Oracle Machine Learning, just <a href="https://docs.oracle.com/en/cloud/paas/autonomous-data-warehouse-cloud/tutorials.html">click here:</a><br />
<ul>
<li>Provisioning Autonomous Data Warehouse Cloud</li>
<li>Connecting SQL Developer and Creating Tables</li>
<li>Loading Your Data</li>
<li>Running a Query on Sample Data</li>
<li>Creating Projects and Workspaces in OML</li>
<li>Creating and Running Notebooks</li>
<li>Collaborating in OML</li>
<li>Creating a SQL Script</li>
<li>Running SQL Statements</li>
</ul>
<h4>
Is the documentation available?</h4>
Yes it is! The documentation set for <a href="https://docs.oracle.com/en/cloud/paas/autonomous-data-warehouse-cloud/" target="_blank">ADWC is right here</a> and the documentation set for <a href="https://docs.oracle.com/en/cloud/paas/autonomous-data-warehouse-cloud/omlug/getting-started-oracle-machine-learning1.html" target="_blank">Oracle Machine Learning is right here</a>.<br />
<h4>
Anything else I need to know?</h4>
Yes there is! Over the next few weeks I will be posting links to more videos where our ADWC customers will take about their experiences of using ADWC during the last couple of months. There will be information about some deep-dive online tutorials that you can use as part of your free $300 trial along with lots of other topics that re too numerous to list.<br />
<br />
If you have a burning question about Oracle Autonomous Data Warehouse Cloud then feel free to reach out to me via email:<a href="mailto:keith.laker@oracle.com">keith.laker@oracle.com</a>ASQLBaristahttp://www.blogger.com/profile/13350994132294695189noreply@blogger.com0Redwood Shores, Redwood City, CA, USA37.5364134 -122.2455363999999937.4860459 -122.32621739999999 37.5867809 -122.1648554tag:blogger.com,1999:blog-7176801629635494688.post-82042105930685491102018-02-22T13:43:00.001+00:002018-02-22T13:57:07.922+00:00Demoing ADWC+OAC Querying Massive Data Volumes<p><img style="display: block; margin-left: auto; margin-right: auto;" title="cloudworld_2018_blog.png" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhuko7dsJhNyr1F9_jF2ml3hlot5TlqIMxGAQW2xakJ5OQy5meV_YOjTXDZBSh7CE51kS6tkCmizFkNA2yV83m7lMDLiQFojCkuyZehwmVqB_K_1GOq_XceY8SqMpLn4xRpk2S2xIgJOjs/?imgmax=1600" alt="Cloudworld 2018 blog" width="650px" border="0" /></p>
<p>If you missed all the major announcements from OpenWorld 2017 about <strong>Oracle Autonomous Data Warehouse Cloud</strong> then take some time to review this blog post <a href="https://oracle-big-data.blogspot.co.uk/2017/10/review-of-big-data-warehousing-at.html" target="_blank">Review of Big Data Warehousing at OpenWorld 2017 - Now Available</a>. Take a look a <strong>Chapter 2 - YOUR ORACLE DATA WAREHOUSE IN THE AUTONOMOUS CLOUD.</strong></p>
<p>Once you have fully digested the powerpoint presentations and videos included in Chapter 2 you will then be ready to watch this exciting new video:</p>
<p>Below is an excerpt of Thomas Kurian’s Keynote session at Oracle Cloud World in Feb 2018. In this video, George Lumpkin, VP of Product Management, shows how easy it is to create an new data warehouse inside the Oracle Autonomous Data Warehouse Cloud, how fast and elastic it is and how quick and easy it is to integrate with other parts of Oracle's Cloud portfolio - in this case Oracle Analytics Cloud.</p>
<p>This demo will take you from zero-to-dashboard in around 10 minutes! </p>
<table width="100%">
<tbody>
<tr>
<td align="center"><iframe src="//www.youtube.com/embed/Q0xhCRMENA8" width="640" height="360" frameborder="0" allowfullscreen=""></iframe></td>
</tr>
</tbody>
</table>
<p> </p>
<p><em>For the full-length video of Thomas Kurian's keynote at Oracle CloudWorld, New York, go here: <strong><a href="https://video.oracle.com/detail/videos/most-recent/video/5737360994001/oracle-cloud-and-the-future-of-your-business?autoStart=true" target="_blank">Oracle Cloud and the Future of Your Business</a></strong></em></p>
<p>Once you have seen the video above you will understand that Autonomous Data Warehouse Cloud is amazingly easy: it is simple to set up and requires no tuning. You will know that Autonomous Data Warehouse is amazingly elastic in that it scales online without downtime and it helps you save money because you only have to pay for exactly what you need. The way Autonomous Data Warehouse Cloud integrates with Oracle Analytics Cloud (and other Oracle cloud services too) means you can know deliver complete end-to-end analytics solutions using Oracle Cloud.</p>
<p><strong>Autonomous Data Warehouse Cloud truly represents the new step in data management for the cloud!</strong></p>
<p>For more information about Autonomous Data Warehouse Cloud please follow these links:</p>
<p><a href="http://www.oracle.com/technetwork/database/bi-datawarehousing/overview/index.html" target="_blank">Autonomous Data Warehouse Cloud on OTN</a></p>
<p><a href="https://cloud.oracle.com/en_US/datawarehouse" target="_blank">Autonomous Data Warehouse Cloud on cloud.oracle.com</a></p>
<p> </p>
<p> </p>
<p> </p>
<!-- Technorati Tags Start -->
<p>Technorati Tags: <a href="http://technorati.com/tag/Analytics" rel="tag">Analytics</a>, <a href="http://technorati.com/tag/Cloud" rel="tag">Cloud</a>, <a href="http://technorati.com/tag/Data%20Warehousing" rel="tag">Data Warehousing</a></p>
<!-- Technorati Tags End -->ASQLBaristahttp://www.blogger.com/profile/13350994132294695189noreply@blogger.com0San Francisco, CA, USA37.7749295 -122.4194155000000136.9717915 -123.71030900000001 38.578067499999996 -121.12852200000002tag:blogger.com,1999:blog-7176801629635494688.post-28374111632920110622017-11-27T14:45:00.001+00:002017-11-27T14:52:11.119+00:00SQL Pattern Matching Deep Dive - the PDF VersionThose of you with long memories might just be able to recall a whole series of posts I did on SQL pattern matching which were taken from a deep dive presentation that I prepared for the <a href="http://www.ioug.org/p/cm/ld/&fid=992" target="_blank">BIWA User Group Conference</a>. The title of each blog post started with <strong>SQL Pattern Matching Deep Dive...</strong>and covered a set of 6 posts:<br />
<br />
Part 1 - Overview<br />
Part 2 - Using MATCH_NUMBER() and CLASSIFIER()<br />
Part 3 - Greedy vs. reluctant quantifiers<br />
Part 4 - Empty matches and unmatched rows?<br />
Part 5 - SKIP TO where exactly?<br />
Part 6 - State machines<br />
<br />
There are a lot of related posts derived from that core set of 6 posts along with other presentations and code samples. One of the challenges, even when searching via Google, was tracking down all the relevant content.<br />
<br />
Therefore, I have spent the last 6-9 months converting all my deep dive content into a book and I have added a lot of new content based discussions I have had at user conferences, questions posted on the developer SQL forum, discussions with my development team and some new presentations developed for the OracleCode series events.<br />
<br />
To make it life easier for everyone I have split the content into two volumes and <a href="https://www.dropbox.com/s/et9qpp59ujioj1h/Complete%20Guide%20to%20SQL%20Pattern%20Matching%20-%20Vol%201.pdf" target="_blank">Volume 1 is now available in PDF Format</a> - <i>it’s free to download! </i><b>BUT - don't forget there is an iBook version of available <a href="https://oracle-big-data.blogspot.co.uk/2017/11/sql-pattern-matching-deep-dive-book.html" target="_blank">here</a> which has a lot of useful additional features.</b><br />
<a href="https://itunes.apple.com/us/book/complete-guide-to-sql-pattern-matching-volume-1/id1302139558?ls=1&mt=11" target="_blank"> <img alt="Complete Guide to SQL Pattern Matching Vol 1" border="0" height="600" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghre44GczUQ5DKdF-Uwe1E0SsbCnTzCgxBAo0Lv7br20o_Ivegl_pFWl9mxXBEk-Pug8YipBg_LTj7JIQKHD5hydN-qBNgv9f8ow8t_leUnRVBD9sz-IoYLidYolmHshsC8cdnBouNJhQ/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="Complete Guide to SQL Pattern Matching - Vol 1.jpg" width="459" /></a><br />
This first volume covers the following topics:<br />
<strong><br /></strong>
<strong>Chapter 1: Introduction</strong> Background to the book and explanation of how some of the features with the book are expected to work<br />
<strong><br /></strong>
<strong>Chapter 2: Industry specific use cases</strong> In this section we will review a series of uses cases and provide conceptual simplified SQL to solve these business requirements using the new SQL pattern matching functionality<br />
<strong><br /></strong>
<strong>Chapter 3: Syntax for MATCH_RECOGNIZE</strong> The easiest way to explore the syntax of 12c’s new MATCH_RECOGNIZE clause is to look at a simple example...<br />
<strong><br /></strong>
<strong>Chapter 4: How to use built-in measures for debugging</strong> In this section I am going to review the two built-in measures that we have provided to help you understand how your data set is mapped to your pattern.<br />
<strong><br /></strong>
<strong>Chapter 5: Patterns and Predicates</strong> This chapter looks at how predicates affect the results returned by MATCH_RECOGNIZE.<br />
<strong><br /></strong>
<strong>Chapter 6: Next Steps</strong> This final section provides links to additional information relating to SQL pattern matching.<br />
<strong><br /></strong>
<strong>Chapter 7: Credits</strong><br />
<br />
My objective is that by the end of this two-part series you will have a good, solid understanding of how MATCH_RECOGNIZE works, how it can be used to simplify your application code and how to test your code to make sure it is working correctly.<br />
<br />
In a couple of weeks I will publish information about the contents of Volume 2 and when I hope to have it finished!<br />
<br />
As usual, if you have any comments about the contents of the book then let please email me directly at <a href="mailto:keith.laker@oracle.com" target="_blank"><strong>keith.laker@oracle.com</strong></a><br />
ASQLBaristahttp://www.blogger.com/profile/13350994132294695189noreply@blogger.com0San Francisco, CA, USA37.7749295 -122.4194155000000136.9717915 -123.71030900000001 38.578067499999996 -121.12852200000002tag:blogger.com,1999:blog-7176801629635494688.post-4844753257748184262017-11-06T18:25:00.001+00:002017-12-01T11:32:00.783+00:00SQL Pattern Matching Deep Dive - the book<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Those of you with long memories might just be able to recall a whole series of posts I did on SQL pattern matching which were taken from a deep dive presentation that I prepared for the <a href="http://www.ioug.org/p/cm/ld/&fid=992" target="_blank">BIWA User Group Conference</a>. The title of each blog post started with <strong>SQL Pattern Matching Deep Dive...</strong> and covered a set of 6 posts:</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<ul>
<li><a href="https://oracle-big-data.blogspot.co.uk/2016/03/sql-pattern-matching-deep-dive-part-1.html" style="font-family: "helvetica neue", arial, helvetica, sans-serif;" target="_blank">Part 1 - Overview</a></li>
<li><a href="https://oracle-big-data.blogspot.co.uk/2016/04/sql-pattern-matching-deep-dive-part-2.html" style="font-family: "helvetica neue", arial, helvetica, sans-serif;" target="_blank">Part 2 - Using MATCH_NUMBER() and CLASSIFIER()</a></li>
<li><a href="https://oracle-big-data.blogspot.co.uk/2016/04/sql-pattern-matching-deep-dive-part-3.html" style="font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;" target="_blank">Part 3 - Greedy vs. reluctant quantifiers</a><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"> </span></li>
<li><a href="https://oracle-big-data.blogspot.co.uk/2016/10/sql-pattern-matching-deep-dive-part-4.html" style="font-family: "helvetica neue", arial, helvetica, sans-serif;" target="_blank">Part 4 - Empty matches and unmatched rows?</a></li>
<li><a href="https://oracle-big-data.blogspot.co.uk/2016/11/sql-pattern-matching-deep-dive-part-5.html" style="font-family: "helvetica neue", arial, helvetica, sans-serif;" target="_blank">Part 5 - SKIP TO where exactly?</a></li>
<li><a href="https://oracle-big-data.blogspot.co.uk/2017/01/sql-pattern-matching-deep-dive-part-6.html" style="font-family: "helvetica neue", arial, helvetica, sans-serif;" target="_blank">Part 6 - State machines</a></li>
</ul>
<br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">There are a lot of related posts derived from that core set of 6 posts along with other presentations and code samples. One of the challenges, even when searching via Google, was tracking down all the relevant content.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Therefore, I have spent the last 6-9 months converting all my deep dive content into a book - an Apple iBook. I have added a lot of new content based discussions I have had at user conferences, questions posted on the developer SQL forum, discussions with my development team and some new presentations developed for the OracleCode series events.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">To make it life easier for everyone I have split the content into two volumes and just in time for Thanksgiving <a href="https://itunes.apple.com/us/book/complete-guide-to-sql-pattern-matching-volume-1/id1302139558?ls=1&mt=11" target="_blank">Volume 1 is now available in the iBook Store</a> - <em>it's free to download!</em></span><br />
<span style="font-family: helvetica neue, arial, helvetica, sans-serif;"><i><br /></i></span>
<span style="font-family: helvetica neue, arial, helvetica, sans-serif;"><b style="font-style: italic;">UPDATE</b><i>: this book is now available in </i><a href="https://oracle-big-data.blogspot.co.uk/2017/11/sql-pattern-matching-deep-dive-pdf.html" style="font-style: italic;" target="_blank"><b>PDF format</b></a><i> but unfortunately most of the really nice iBook features are turned off </i>:-(</span><br />
<span style="font-family: helvetica neue, arial, helvetica, sans-serif;"><i><br /></i></span>
<a href="https://itunes.apple.com/us/book/complete-guide-to-sql-pattern-matching-volume-1/id1302139558?ls=1&mt=11" target="_blank">
<img alt="Complete Guide to SQL Pattern Matching Vol 1" border="0" height="600" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghre44GczUQ5DKdF-Uwe1E0SsbCnTzCgxBAo0Lv7br20o_Ivegl_pFWl9mxXBEk-Pug8YipBg_LTj7JIQKHD5hydN-qBNgv9f8ow8t_leUnRVBD9sz-IoYLidYolmHshsC8cdnBouNJhQ/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="Complete Guide to SQL Pattern Matching - Vol 1.jpg" width="459" /></a>
<br />
<br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">This first volume covers the following topics:</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<br />
<ul>
<li><strong style="font-family: "helvetica neue", arial, helvetica, sans-serif;">Chapter 1: Introduction </strong><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Background to the book and explanation of how some of the features with the book are expected to work</span></li>
<li><strong style="font-family: "helvetica neue", arial, helvetica, sans-serif;">Chapter 2: Industry specific use cases</strong><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
In this section we will review a series of uses cases and provide conceptual simplified SQL to solve these business requirements using the new SQL pattern matching functionality. </span></li>
<li><strong style="font-family: "helvetica neue", arial, helvetica, sans-serif;">Chapter 3: Syntax for MATCH_RECOGNIZE</strong><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
The easiest way to explore the syntax of 12c’s new MATCH_RECOGNIZE clause is to look at a simple example. </span></li>
<li><strong style="font-family: "helvetica neue", arial, helvetica, sans-serif;">Chapter 4: How to use built-in measures for debugging</strong><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
In this section I am going to review the two built-in measures that we have provided to help you understand how your data set is mapped to your pattern. </span></li>
<li><strong style="font-family: "helvetica neue", arial, helvetica, sans-serif;">Chapter 5: Patterns and Predicates</strong><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
This chapter looks at how predicates affect the results returned by MATCH_RECOGNIZE </span></li>
<li><strong style="font-family: "helvetica neue", arial, helvetica, sans-serif;">Chapter 6: Next Steps</strong><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">
This final section provides links to additional information relating to SQL pattern matching. </span></li>
<li><strong><span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">Chapter 7: Credits</span></strong></li>
</ul>
<br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">My objective is that by the end of this two-part series you will have a good, solid understanding of how MATCH_RECOGNIZE works, how it can be used to simplify your application code and how to test your code to make sure it is working correctly.</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">In a couple of weeks I will publish information about the contents of Volume 2 and when I hope to have it finished!</span><br />
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;"><br /></span>
<span style="font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">As usual, if you have any comments about the contents of the book then let please email me directly at <a href="mailto:keith.laker@oracle.com" target="_blank"><strong>keith.laker@oracle.com</strong></a></span>ASQLBaristahttp://www.blogger.com/profile/13350994132294695189noreply@blogger.com0San Francisco, CA, USA37.7749295 -122.4194155000000136.9717915 -123.71030900000001 38.578067499999996 -121.12852200000002tag:blogger.com,1999:blog-7176801629635494688.post-2188781601274326782017-10-24T09:12:00.001+01:002017-10-26T11:48:44.745+01:00Review of Big Data Warehousing at OpenWorld 2017 - Now Available<br />
<img alt="Image Cover" border="0" height="438" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjcO2pEWjaVeV6zzeQ0vLiZjJ1zjpwubLIGU831weT9hpFSiZ4FssHHSgSHPWNaiDsJg9HSygz3s0l9s9QPnYPgHoQf8oC87TSwu0gK_y2jSLnXB1sUhifhyphenhyphenU2W9iSR-mltFQiTS_Yr_40/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="Image-Cover.jpg" width="599" /><br />
<br />
Did you miss OpenWorld 2017? Then my latest book is definitely something you will want to download! If you went to OpenWorld this book is also for you because it covers all the most important big data warehousing messages and sessions during the five days of OpenWorld.<br />
<br />
Following on from OpenWorld 2017 I have put together a comprehensive review of all the big data warehousing content from OpenWorld 2017. This includes all the key sessions and announcements from this year's Oracle OpenWorld conference. This review contains the following information:<br />
<br />
<strong><em>Welcome</em></strong> - an overview of the contents. <br />
<br />
<strong><em>Let’s Go Autonomous </em></strong>- containing all you need to know about Oracle’s new, fully-managed <strong>Autonomous Data Warehouse Cloud</strong>. This was the biggest announcement at OpenWorld so this chapter contains videos, presentations and podcasts to get you up to speed on this completely new data warehouse cloud service.<br />
<strong><em><br /></em></strong><strong><em>Keynotes</em></strong> - Relive OpenWorld 2017 by watching the most important highlights from this year’s OpenWorld conference with our on demand video service which covers all the major keynote sessions. <br />
<strong><em><br /></em></strong><strong><em>Key Presenters</em></strong> - a list of the most important speakers by product area such as database, cloud, analytics, developer and big data. Each biography includes all relevant social media sites and pages.<br />
<strong><em><br /></em></strong><strong><em>Key Sessions </em></strong>- a list of all the most important sessions with links to download the related presentations organized<br />
<by analytics="" and="" area="" as="" big="" cloud="" data.="" database="" developer="" product="" strong="" such=""><em><br /></em></by><by analytics="" and="" area="" as="" big="" cloud="" data.="" database="" developer="" product="" strong="" such=""><em><b>Staying Connected</b> </em></by>
- Details of all the links you need to keep up to date on Oracle’s strategy and products for Data Warehousing and Big Data. This covers all our websites, blogs and social media pages.<br />
<br />
This review is available in three formats:<br />
<br />
1) For highly evolved users, i.e. <strong>Apple</strong> users, who understand the power of Apple’s iBook format, your multi-media enabled <a href="http://itunes.apple.com/us/book/id1299442692">iBook version is available here</a>.<br />
<br />
2) For <strong>Windows</strong> users who are forced to endure a 19th-Century style technological experience, your <a href="https://www.dropbox.com/s/i30xnon3k105bqb/BDW-Review-oow17.pdf">PDF version is available here.</a><br />
<br />
3) For <strong>Linux</strong> users, Oracle DBAs and other IT dinosaurs, all of whom are allergic to all graphical user interfaces, the <a href="https://www.dropbox.com/s/dmqp2oubewzuo49/BDW-Review-oow17.txt">basic version of this comprehensive review is available here</a>.<br />
<br />
I hope you enjoy this review and look forward to seeing you next year at OpenWorld 2018, October 28 to November 1. If you’d like to be notified when registration opens for next year’s Oracle OpenWorld then <a href="https://go.oracle.com/LP=59379">register your email address here</a>.<br />
<br />
<br />
<!-- Technorati Tags Start -->
Technorati Tags: <a href="http://technorati.com/tag/Analytics" rel="tag">Analytics</a>, <a href="http://technorati.com/tag/Big%20Data" rel="tag">Big Data</a>, <a href="http://technorati.com/tag/Conference" rel="tag">Conference</a>, <a href="http://technorati.com/tag/Data%20Warehousing" rel="tag">Data Warehousing</a>, <a href="http://technorati.com/tag/iBook" rel="tag">iBook</a>, <a href="http://technorati.com/tag/OpenWorld" rel="tag">OpenWorld</a><br />
<!-- Technorati Tags End -->ASQLBaristahttp://www.blogger.com/profile/13350994132294695189noreply@blogger.com0San Francisco, CA, USA37.7749295 -122.41941550000001-37.426391499999994 72.346209499999986 90 42.814959499999986tag:blogger.com,1999:blog-7176801629635494688.post-38930014283032697232017-10-04T04:05:00.001+01:002017-10-04T04:08:27.792+01:00OpenWorld 2017: Must-See Sessions for Day 4 - Wednesday<table style="width: 100%px;">
<tbody>
<tr>
<td align="center"><img alt="" src="https://cdn.app.compendium.com/uploads/user/e7c690e8-6ff9-102a-ac6d-e4aebca50425/cef96c59-a1c3-444c-931e-3e3aa30fd89b/File/124843aacdaf33e2c94be58f68fa525b/aaeaaqaaaaaaaawfaaaajgq3ymnjmdkxlwyyywitnde5nc05njnilwjmnzm4ndexzthmmq.jpg" width="600px" /></td>
</tr>
</tbody>
</table>
<br />
Day 4 is here which makes today #Autonomous Wednesday. Included my definitive list of Must-See sessions for today are two of THE most important sessions at this years conference. You will not want to miss these two sessions:<br />
<br />
<img alt="Fpbhdancoapcoben" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjp9To-tiM1itebs0ZpCz_aDNUUuivPzxkJSAWc8Hi50LRk-hKx4peKJP5SBHt6hcGfgVvW9UOLnZNr-h2g7dLtbw1SiFi2sCXegJxlN8B7r5aJ24ryoBVmT5GRO38h04K4anGCJWIWFrU/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fpbhdancoapcoben.png" width="597" /><br />
<br />
The rest of list is, of course, packed full of sessions and labs covering our Big Data Warehouse technologies and features. These sessions are what Oracle OpenWorld is all about: the chance to learn about the latest technology from the real technical experts.<br />
<h2>
<span style="color: #444444; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">WEDNESDAY'S MUST-SEE GUIDE</span></h2>
<iframe allowfullscreen="" frameborder="0" height="600px" marginheight="0" marginwidth="0" scrolling="yes" src="https://keithlaker.github.io/MSG-Day.hyperesources/iframe-htmlwed.html" style="background: white;" width="100%"> </iframe><br />
<br /> Don't worry if you are not able to join us in San Francisco for this year's conference because I will be providing a comprehensive review after the conference closes on Thursday.<br /> <br /> The review will include links to download the presentations for each of my Must-See sessions and links to any hands-on lab content as well.<br />
Have a great conference.<br /> <br /> If you are here in San Francisco then enjoy the conference - it's going to be an awesome conference this year.<br /> <br /> Don't forget to make use of our Big DW #oow17 smartphone app which you can access by pointing your phone at this QR code:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmdSDWgY6Izirzii-qYhRKzoeRNI1kkeHhKwJE6Rn8o6zCJ5HjIlwSwAXJTBEkmzNzorKvUReZkm_eYSvmCgS7CnY-M-YKjGIuBVdGEDGdIOZyAcUkRFMrKnQ_96q5SJo71nnDT1QrU6U/s1600/qrcode.41572804.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" border="0" data-original-height="200" data-original-width="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmdSDWgY6Izirzii-qYhRKzoeRNI1kkeHhKwJE6Rn8o6zCJ5HjIlwSwAXJTBEkmzNzorKvUReZkm_eYSvmCgS7CnY-M-YKjGIuBVdGEDGdIOZyAcUkRFMrKnQ_96q5SJo71nnDT1QrU6U/s1600/qrcode.41572804.png" /></a></div>
ASQLBaristahttp://www.blogger.com/profile/13350994132294695189noreply@blogger.com0San Francisco, CA, USA37.7749295 -122.4194155000000136.9717915 -123.71030900000001 38.578067499999996 -121.12852200000002tag:blogger.com,1999:blog-7176801629635494688.post-45114685972383345452017-10-03T00:33:00.001+01:002017-10-04T04:08:40.649+01:00OpenWorld 2017: Must-See Sessions for Day 3 - Tuesday<table style="width: 100%;">
<tbody>
<tr>
<td align="center"><img alt="" src="https://cdn.app.compendium.com/uploads/user/e7c690e8-6ff9-102a-ac6d-e4aebca50425/cef96c59-a1c3-444c-931e-3e3aa30fd89b/File/124843aacdaf33e2c94be58f68fa525b/aaeaaqaaaaaaaawfaaaajgq3ymnjmdkxlwyyywitnde5nc05njnilwjmnzm4ndexzthmmq.jpg" width="600px" /></td>
</tr>
</tbody>
</table>
<br />
Day 3, Tuesday, is here and this is my definitive list of Must-See sessions for today.<br />
<br />
Today we are focused on the new features in Oracle Database 18c - multitenant, in-memory, Oracle Text, machine learning, Big Data SQL etc etc. These sessions are what Oracle OpenWorld is all about: the chance to learn about the latest technology from the real technical experts.<br />
<h2>
<span style="color: #444444; font-family: "helvetica neue" , "arial" , "helvetica" , sans-serif;">TUESDAY'S MUST-SEE GUIDE</span></h2>
<iframe allowfullscreen="" frameborder="0" height="600px" marginheight="0" marginwidth="0" scrolling="yes" src="https://keithlaker.github.io/MSG-Day.hyperesources/iframe-htmlmon.html" style="background: white;" width="100%"> </iframe><br />
<br />
Don't worry if you are not able to join us in San Francisco for this year's conference because I will be providing a comprehensive review after the conference closes on Thursday.<br />
<br />
The review will include links to download the presentations for each of my Must-See sessions and links to any hands-on lab content as well.<br />
Have a great conference.<br />
<br />
If you are here in San Francisco then enjoy the conference - it's going to be an awesome conference this year.<br />
<br />
Don't forget to make use of our Big DW #oow17 smartphone app which you can access by pointing your phone at this QR code:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmdSDWgY6Izirzii-qYhRKzoeRNI1kkeHhKwJE6Rn8o6zCJ5HjIlwSwAXJTBEkmzNzorKvUReZkm_eYSvmCgS7CnY-M-YKjGIuBVdGEDGdIOZyAcUkRFMrKnQ_96q5SJo71nnDT1QrU6U/s1600/qrcode.41572804.png" style="margin-left: 1em; margin-right: 1em;"><img alt="" border="0" data-original-height="200" data-original-width="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmdSDWgY6Izirzii-qYhRKzoeRNI1kkeHhKwJE6Rn8o6zCJ5HjIlwSwAXJTBEkmzNzorKvUReZkm_eYSvmCgS7CnY-M-YKjGIuBVdGEDGdIOZyAcUkRFMrKnQ_96q5SJo71nnDT1QrU6U/s1600/qrcode.41572804.png" /></a></div>
ASQLBaristahttp://www.blogger.com/profile/13350994132294695189noreply@blogger.com0San Francisco, CA, USA37.7749295 -122.4194155000000136.9717915 -123.71030900000001 38.578067499999996 -121.12852200000002tag:blogger.com,1999:blog-7176801629635494688.post-61334012985626262472017-10-02T03:27:00.001+01:002017-10-02T03:32:44.391+01:00OpenWorld 2017: Must-See Sessions for Day 2 - Monday<table style="width: 100%px;">
<tbody>
<tr>
<td align="center"><img src="https://cdn.app.compendium.com/uploads/user/e7c690e8-6ff9-102a-ac6d-e4aebca50425/cef96c59-a1c3-444c-931e-3e3aa30fd89b/File/124843aacdaf33e2c94be58f68fa525b/aaeaaqaaaaaaaawfaaaajgq3ymnjmdkxlwyyywitnde5nc05njnilwjmnzm4ndexzthmmq.jpg" alt="" width="600px" /></td>
</tr>
</tbody>
</table>
<p>Day 2, Monday, is here and this is my definitive list of Must-See sessions for today. The list is packed full of sessions and labs that follow on from yesterday's (Sunday) big announcements around Oracle Autonomous Database and Oracle Autonomous Data Warehouse Cloud. These sessions are what Oracle OpenWorld is all about: the chance to learn about the latest technology from the real technical experts.</p>
<h2><span style="color: #444444; font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;">MONDAY's MUST-SEE GUIDE</span></h2>
<p><iframe src="https://keithlaker.github.io/MSG-Day.hyperesources/iframe-htmlmon.html" style="background: white;" width="100%" height="600px" scrolling="yes" marginwidth="0" marginheight="0" frameborder="0" allowfullscreen=""> </iframe></p>
<p><br /> Don't worry if you are not able to join us in San Francisco for this year's conference because I will be providing a comprehensive review after the conference closes on Thursday.<br /> <br /> The review will include links to download the presentations for each of my Must-See sessions and links to any hands-on lab content as well.</p>
<p>Have a great conference.<br /> <br /> If you are here in San Francisco then enjoy the conference - it's going to be an awesome conference this year.<br /> <br /> Don't forget to make use of our Big DW #oow17 smartphone app which you can access by pointing your phone at this QR code:</p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmdSDWgY6Izirzii-qYhRKzoeRNI1kkeHhKwJE6Rn8o6zCJ5HjIlwSwAXJTBEkmzNzorKvUReZkm_eYSvmCgS7CnY-M-YKjGIuBVdGEDGdIOZyAcUkRFMrKnQ_96q5SJo71nnDT1QrU6U/s1600/qrcode.41572804.png"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmdSDWgY6Izirzii-qYhRKzoeRNI1kkeHhKwJE6Rn8o6zCJ5HjIlwSwAXJTBEkmzNzorKvUReZkm_eYSvmCgS7CnY-M-YKjGIuBVdGEDGdIOZyAcUkRFMrKnQ_96q5SJo71nnDT1QrU6U/s1600/qrcode.41572804.png" alt="" border="0" data-original-height="200" data-original-width="200" /></a></div>ASQLBaristahttp://www.blogger.com/profile/13350994132294695189noreply@blogger.com0San Francisco, CA, USA37.7749295 -122.4194155000000136.9717915 -123.71030900000001 38.578067499999996 -121.12852200000002tag:blogger.com,1999:blog-7176801629635494688.post-69188839501064196042017-09-30T20:58:00.000+01:002017-10-02T03:32:52.850+01:00OpenWorld 2017 - Must-See Sessions for Day 1 - Sunday<table style="width: 100%px;">
<tbody>
<tr>
<td><img src="https://cdn.app.compendium.com/uploads/user/e7c690e8-6ff9-102a-ac6d-e4aebca50425/cef96c59-a1c3-444c-931e-3e3aa30fd89b/File/124843aacdaf33e2c94be58f68fa525b/aaeaaqaaaaaaaawfaaaajgq3ymnjmdkxlwyyywitnde5nc05njnilwjmnzm4ndexzthmmq.jpg" alt="" width="600px" /></td>
</tr>
</tbody>
</table>
<p>It all starts today - <strong>OpenWorld 2017.</strong> Each day I will provide you with a list of must-see sessions and hands-on labs. This is going to be one of the most exciting OpenWorlds ever!<br /> <br /> Today is Day 1 so here here is my definitive list of Must-See sessions for the opening day. The list is packed full of really excellent speakers such as <strong><a href="https://twitter.com/FranckPachot" target="_blank">Franck Pachot</a></strong>, <strong><a href="https://twitter.com/aaharon" target="_blank">Ami Aharonovich</a></strong>, <strong><a href="https://twitter.com/galobalda" target="_blank">Galo Balda</a></strong> and <strong>Rich Niemiec</strong>. These sessions are what Oracle OpenWorld is all about: the chance to learn from the real technical experts.<br /> <br /> Of course you need to end your first day in Moscone North Hall D for Larry Ellison's welcome keynote - it's going to be a great one!<br /> </p>
<h2><span style="color: #444444; font-family: 'helvetica neue' , 'arial' , 'helvetica' , sans-serif;">SUNDAY'S MUST-SEE GUIDE</span></h2>
<p><iframe src="https://keithlaker.github.io/MSG-Day.hyperesources/iframe-htmlsun.html" style="background: white;" width="100%" height="600px" scrolling="yes" marginwidth="0" marginheight="0" frameborder="0" allowfullscreen=""> </iframe></p>
<p><br /> Don't worry if you are not able to join us in San Francisco for this year's conference because I will be providing a comprehensive review after the conference closes on Thursday.<br /> <br /> The review will include links to download the presentations for each of my Must-See sessions and links to any hands-on lab content as well.</p>
<p>Have a great conference.<br /> <br /> If you are here in San Francisco then enjoy the conference - it's going to be an awesome conference this year.<br /> <br /> Don't forget to make use of our Big DW #oow17 smartphone app which you can access by pointing your phone at this QR code:<br /> </p>
<div class="separator" style="clear: both; text-align: center;"><a style="margin-left: 1em; margin-right: 1em;" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmdSDWgY6Izirzii-qYhRKzoeRNI1kkeHhKwJE6Rn8o6zCJ5HjIlwSwAXJTBEkmzNzorKvUReZkm_eYSvmCgS7CnY-M-YKjGIuBVdGEDGdIOZyAcUkRFMrKnQ_96q5SJo71nnDT1QrU6U/s1600/qrcode.41572804.png"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjmdSDWgY6Izirzii-qYhRKzoeRNI1kkeHhKwJE6Rn8o6zCJ5HjIlwSwAXJTBEkmzNzorKvUReZkm_eYSvmCgS7CnY-M-YKjGIuBVdGEDGdIOZyAcUkRFMrKnQ_96q5SJo71nnDT1QrU6U/s1600/qrcode.41572804.png" alt="" border="0" data-original-height="200" data-original-width="200" /></a></div>ASQLBaristahttp://www.blogger.com/profile/13350994132294695189noreply@blogger.com0San Francisco, CA, USA37.7749295 -122.4194155000000136.9717915 -123.71030900000001 38.578067499999996 -121.12852200000002tag:blogger.com,1999:blog-7176801629635494688.post-39028049994957993542017-09-27T00:55:00.001+01:002017-09-28T19:18:51.814+01:00#oow17 BDW Smartphone App Now LiveIt’s only 4 days and counting until OpenWorld 2017 starts.<br />
<br />
If you are coming to this year’s conference then you will definitely want to use our completely <strong>free</strong> #oow17 online BDW app for smartphones and tablets which is <span style="color: #ff2600;"><strong>now live</strong></span>: <a href="https://keithlaker.github.io/Storyboard.html#LandingPad">https://keithlaker.github.io/Storyboard.html#LandingPad</a>.<br />
<br />
The app includes a day-by-day calendar of all the most important sessions covered in the comprehensive Big Data Warehousing Must-See Guide, see here: <a href="https://oracle-big-data.blogspot.co.uk/2017/08/updated-big-data-warehousing-must-see.html">https://oracle-big-data.blogspot.co.uk/2017/08/updated-big-data-warehousing-must-see.html</a>.<br />
<br />
The day-by-day coverage breaks sessions down into 5 categories:<br />
<ul>
<li>Data Warehousing and Cloud</li>
<li>Analytics and Machine Learning</li>
<li>Unstructured and development</li>
<li>Big Data</li>
<li>Hands-on labs</li>
</ul>
each session is color coded to the above topics making it easier to focus on the areas that are most important to you. Please send my any feedback. Hope the app is useful and enjoy OpenWorld 2017: <strong>Your Data Warehouse Transformation Starts Here.</strong><br />
<strong><br /></strong>
<br />
<table style="width: 100%px;">
<tbody>
<tr>
<td style="text-align: center;" width="50%"><img alt="BDW Intro" border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjjKLx74JuDjNPWF4mZGbUqEnOPGeSufINjWYnJPURydXhBDIo0kuypUNL8SoO8sCmPhuuf-pN7HyMXSL5BMWk1E9DLETqAZmoIeyutvZQjqMlduUhFskgkdZdRrWNll45AYa_eUkk6Zw/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="BDW-Intro.jpg" width="202" /></td>
<td style="text-align: center;" width="50%"><img alt="BDW LP" border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh817tguESBE4kmI-MVZyPJm9N8L8IC1kL87Fz5V-bPGtcWNtPDvJXhl0rExZc3c8prize8PmZHcALJWDwMY_k-bn4vT0VlEfXPr_Fadv9G6anMmVXOt0wmFPByOjNfG_TLJxzrKDQaIAI/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="BDW-LP.jpg" width="240" /></td>
</tr>
<tr>
<td style="text-align: center;"><strong>Landing page which includes video for #oow17</strong></td>
<td style="text-align: center;"><strong>Main page app with links to the day-by-day session guide</strong>s</td>
</tr>
</tbody>
</table>
<br />
<br />
If you have a QR Code reader then point your smartphone at this QR code to automatically load the smartphone web app:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGXP0fic16Qa54233n3_I-oCbmr2BU3jCpqulhfF91pB4RFU1QnmSioE0sYw_R_0ruVQU0-2SekXg4A19EQR7_eQOvWB6RJIx21le7G1kmIUjVVgWsU8nf6NSaiTu3NrZPhCWMwtWYtwo/s1600/qrcode.41572804.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="200" data-original-width="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiGXP0fic16Qa54233n3_I-oCbmr2BU3jCpqulhfF91pB4RFU1QnmSioE0sYw_R_0ruVQU0-2SekXg4A19EQR7_eQOvWB6RJIx21le7G1kmIUjVVgWsU8nf6NSaiTu3NrZPhCWMwtWYtwo/s1600/qrcode.41572804.png" /></a></div>
<br />
<br />
<br />
ASQLBaristahttp://www.blogger.com/profile/13350994132294695189noreply@blogger.com0San Francisco, CA, USA37.7749295 -122.4194155000000136.9717915 -123.71030900000001 38.578067499999996 -121.12852200000002tag:blogger.com,1999:blog-7176801629635494688.post-7653881007562217932017-08-29T10:02:00.000+01:002017-08-29T10:11:53.372+01:00UPDATED: Big Data Warehousing Must See Guide for Oracle OpenWorld 2017<table style="width: 100%px;">
<tbody>
<tr>
<td width="50%"><img alt="Front Cover for Must-See Guide" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieiaZvBiWYUq_0S0qwH-Dy5hNPxmLgHC0UnKB2IUiw6aGBaSpsYdKlayEgAZailr9_4AjhGaQQNVsg6v93IlG_uWLKOJWsMN7p5WubvmnR_qUCE_3GmAL9z3QHGRgPwgVix_trX_ZPZGE/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="front_page.jpeg" width="300px" /></td>
<td align="center" width="50%"><strong>** NEW ** Chapter 5</strong><br />
<br />
<img alt="Fullsizeoutput 10f6" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2l3ShwPCZtCCPBNrSD1NudL2g3MbvRI25oSeoyhrOuwiwkuoq-DhSVcp0xmjRaLjyBNruwU-LlDLb8ejRrdaWXYLmzh1N2zLpqMnjDT3t__EX-PSvLBGqTdkQX1ftKptISX2m5Aut7nQ/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_10f6.jpeg" width="300px" /></td>
</tr>
</tbody>
</table>
<br />
<h3 style="text-align: center;">
<strong>*** UPDATED *** Must-See Guide now available as PDF and via Apple iBooks Store</strong></h3>
This updated version now contains details of all the most important hands-on labs AND<strong> a day-by-day calendar</strong>. This means that our comprehensive guide now covers absolutely everything you need to know about this year’s <strong><span style="color: #ff2600;">Oracle OpenWorld</span></strong> conference. Now, when you arrive at Moscone Conference Center you are ready to get the absolute most out of this amazing conference.<br />
<br />
The updated, and still completely <strong><span style="text-decoration: underline;">free,</span></strong> big data warehousing Must-See guide for OpenWorld 2017 is now available for download from the Apple iBooks Store - <strong><a href="https://itunes.apple.com/us/book/big-data-warehousing-must-see-guide-for-oracle-openworld/id1257158574">click here</a>, </strong>and in PDF format - <a href="https://www.dropbox.com/s/kpsvermbekaqcrj/BDW-Must-See-Guide-oow17.pdf"><strong>click here</strong></a>.<br />
<br />
Just so you know…this guide contains the following information:<br />
<br />
<table style="width: 100%px;">
<tbody>
<tr>
<td width="15%"><img alt="Page8" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxl9rQGNTaCboitUGY-Iy_yDOs59i93DeMDPavAxzgCCMbmKWEMl71p4oABoNpMDnBk7-CTA8X_qBy4ctL8_2t-iqaWTUeRQEk2FHzVEJT51A_e1CJWzrMgV3cLV5kmoaVo4iYieGsmq4/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="Page8.jpg" width="100" /></td>
<td width="15%"><img alt="Page17" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgHILlSSszZpncy4WrnU5HEgRtm-9hY1XeeEdwgBD2IzH-fIN7e3aatHB9Q8MQKYQIh8ZZwO6NAa_a7T8cnPYR8yfHKF1EI4Bw1Z0xgfcAHtJQltUSIKkN_RuQuT0uy4Yg7qbsDceYlWU/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="Page17.jpg" width="100" /></td>
<td width="15%"><img alt="Page19" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGLPAJ3136vkYO8CDj1aLgR8jqtl7diegrBAzBPKPxxgXiQaiGkgGlP4a0p8ItbBOu_NEYsE_606aoM9XgC8bG7-TL1BKCVbBITaMrG3ZE-UBP_UEhIlw9MD-El9BXyaZaQJDKrVw47n0/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="Page19.jpg" width="100" /></td>
<td width="15%"><img alt="Page41" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwDswfh8ZFjMqVm5K5R5SNsUsWE9hhd8g0Tptxhd9_3zywn5QvEpGOiOMhGxD_N3Ci1XCocwO48LpBWfWlNsOTI25rwiz4EY85-pLy-m_86u-Ne7vdDuheyIA7aE0h0h56hFhTEPa4NsU/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="Page41.jpg" width="100" /></td>
<td width="15%"><img alt="Fullsizeoutput 10f6" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2l3ShwPCZtCCPBNrSD1NudL2g3MbvRI25oSeoyhrOuwiwkuoq-DhSVcp0xmjRaLjyBNruwU-LlDLb8ejRrdaWXYLmzh1N2zLpqMnjDT3t__EX-PSvLBGqTdkQX1ftKptISX2m5Aut7nQ/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="Page41.jpg" width="100" /></td>
<td width="15%"><img alt="Page90" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWw8E9hwH2VwouEwmr9-A6PaXfdQPymdZ-SCXNiP33HrLgWynPilnqI9Qc8wZNyyElzg7ttPwKPUT51NmH9-JPVWyTu9iRQ57DbvTY06TFweQ0f8QaD89mApwOdtYVM63L_0PoiJ_y84g/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="Page90.jpg" width="100" /></td>
</tr>
<tr>
<td align="center" width="15%">Page 8 - <br />
On-Demand Videos</td>
<td align="center" width="15%">Page 11 - Justify<br />
Your trip</td>
<td align="center" width="15%">Page 18 - Key<br />
Presenters</td>
<td align="center" width="15%">Page 39 - Must See<br />
Sessions</td>
<td align="center" width="15%">Page 83 - Must See<br />
Day-by-Day</td>
<td align="center" width="15%">Page 150 - <br />
Useful Maps</td>
</tr>
</tbody>
</table>
<blockquote>
<strong>Chapter 1</strong> - Introduction to the must-see guide. </blockquote>
<blockquote>
<strong>Chapter 2</strong> - A guide to the key the highlights from last year’s conference so you can relive the experience or see what you missed. Catch the most important highlights from last year's OpenWorld conference with our on demand video service which covers all the major keynote sessions. Sit back and enjoy the highlights. The second section explains why you need to attend this year’s conference and how to justify it to your company. </blockquote>
<blockquote>
<strong>Chapter 3</strong> - Full list of Oracle Product Management and Development presenters who will be at this year’s OpenWorld. Links to all their social media sites are included alongside each profile. Read on to find out about the key people who can help you and your teams build the FUTURE using Oracle’s Data Warehouse and Big Data technologies. </blockquote>
<blockquote>
<strong>Chapter 4</strong> - List of the “must-see” sessions <strong>and hands-on labs </strong>at this year’s OpenWorld by category. It includes all the sessions and hands-on labs by the Oracle Product Management and Development teams along with key customer sessions. Read on for the list of the best, most innovative sessions at Oracle OpenWorld 2017. </blockquote>
<blockquote>
<strong>Chapter 5</strong> - Day-by-Day “must-see” guide. It includes all the sessions and hands-on labs by the Oracle Product Management and Development teams along with key customer sessions. Read on for the list of the best, most innovative sessions at Oracle OpenWorld 2017. </blockquote>
<blockquote>
<strong>Chapter 6</strong> - Details of all the links you need to keep up to date on Oracle’s strategy and products for Data Warehousing and Big Data. This covers all our websites, blogs and social media pages. </blockquote>
<blockquote>
<strong>Chapter 7 </strong>-<strong> </strong> Details of our exclusive web application for smartphones and tablets provides you with a complete guide to everything related to data warehousing and big data at OpenWorld 2017. </blockquote>
<blockquote>
<strong>Chapter 8</strong> - Information to help you find your way around the area surrounding the Moscone Conference Center this section includes some helpful maps. </blockquote>
Let me know if you have any comments. Enjoy and see you in San Francisco.<br />
<br />
<!-- Technorati Tags Start -->
Technorati Tags: <a href="http://technorati.com/tag/Analytics" rel="tag">Analytics</a>, <a href="http://technorati.com/tag/Big%20Data" rel="tag">Big Data</a>, <a href="http://technorati.com/tag/Conference" rel="tag">Conference</a>, <a href="http://technorati.com/tag/Data%20Warehousing" rel="tag">Data Warehousing</a>, <a href="http://technorati.com/tag/OpenWorld" rel="tag">OpenWorld</a>, <a href="http://technorati.com/tag/Spatial" rel="tag">Spatial</a>, <a href="http://technorati.com/tag/SQL%20Analytics" rel="tag">SQL Analytics</a><br />
<!-- Technorati Tags End -->ASQLBaristahttp://www.blogger.com/profile/13350994132294695189noreply@blogger.com0San Francisco, CA, USA37.7749295 -122.4194155000000136.9717915 -123.71030900000001 38.578067499999996 -121.12852200000002tag:blogger.com,1999:blog-7176801629635494688.post-12731436995284276022017-08-11T15:07:00.002+01:002017-08-14T17:11:39.621+01:00Sneak preview of BDW OpenWorld smartphone app...
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="chrome=1,IE=edge" />
<title>DW and Big Data - OpenWorld 2017</title>
<style>
html {
height:100%;
}
body {
margin:0;
height:100%;
}
</style>
<!-- copy these lines to your document head: -->
<base href="https://keithlaker.github.io/">
<meta name="viewport" content="user-scalable=yes, width=768" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<link rel="apple-touch-icon-precomposed" href="Images/oow-logo-2015.png" />
<link rel="apple-touch-icon" sizes="57x57" href="Images/favicon-57.jpg">
<link rel="apple-touch-icon" sizes="60x60" href="Images/favicon-60.jpg">
<link rel="apple-touch-icon" sizes="72x72" href="Images/favicon-72.jpg">
<link rel="apple-touch-icon" sizes="76x76" href="Images/favicon-76.jpg">
<link rel="apple-touch-icon" sizes="114x114" href="Images/favicon-114.jpg">
<link rel="apple-touch-icon" sizes="120x120" href="Images/favicon-120.jpg">
<link rel="apple-touch-icon" sizes="144x144" href="Images/favicon-144.jpg">
<link rel="apple-touch-icon" sizes="152x152" href="Images/favicon-152.jpg">
<link rel="apple-touch-icon" sizes="180x180" href="Images/favicon-180.jpg">
<link rel="icon" type="image/png" sizes="192x192" href="Images/favicon-192.jpg">
<link rel="icon" type="image/png" sizes="32x32" href="Images/favicon-32.jpg">
<link rel="icon" type="image/png" sizes="96x96" href="Images/favicon-96.jpg">
<link rel="icon" type="image/png" sizes="16x16" href="Images/favicon-16.jpg">
<link rel="manifest" href="Images/browserconfig.xml">
<meta name="msapplication-TileColor" content="#ffffff">
<meta name="msapplication-TileImage" content="Images/favicon-144.jpg">
<meta name="theme-color" content="#ffffff">
<link rel="stylesheet" type="text/css" href="Images/css/iframes2017.css" />
<!-- Startup Images -->
<!-- iPhone -->
<link href="BDW-Load.hyperesources/apple-touch-startup-image-320x460.png"
media="(device-width: 320px) and (device-height: 480px)
and (-webkit-device-pixel-ratio: 1)"
rel="apple-touch-startup-image">
<!-- iPhone (Retina) -->
<link href="BDW-Load.hyperesources/apple-touch-startup-image-640x920.png"
media="(device-width: 320px) and (device-height: 480px)
and (-webkit-device-pixel-ratio: 2)"
rel="apple-touch-startup-image">
<!-- iPhone 5 -->
<link href="BDW-Load.hyperesources/apple-touch-startup-image-640x1096.png"
media="(device-width: 320px) and (device-height: 568px)
and (-webkit-device-pixel-ratio: 2)"
rel="apple-touch-startup-image">
<!-- iPad -->
<link href="BDW-Load.hyperesources/apple-touch-startup-image-768x1004.png"
media="(device-width: 768px) and (device-height: 1024px)
and (orientation: portrait)
and (-webkit-device-pixel-ratio: 1)"
rel="apple-touch-startup-image">
<link href="BDW-Load.hyperesources/apple-touch-startup-image-748x1024.png"
media="(device-width: 768px) and (device-height: 1024px)
and (orientation: landscape)
and (-webkit-device-pixel-ratio: 1)"
rel="apple-touch-startup-image">
<!-- iPad (Retina) -->
<link href="BDW-Load.hyperesources/apple-touch-startup-image-1536x2008.png"
media="(device-width: 768px) and (device-height: 1024px)
and (orientation: portrait)
and (-webkit-device-pixel-ratio: 2)"
rel="apple-touch-startup-image">
<link href="BDW-Load.hyperesources/apple-touch-startup-image-1496x2048.png"
media="(device-width: 768px) and (device-height: 1024px)
and (orientation: landscape)
and (-webkit-device-pixel-ratio: 2)"
rel="apple-touch-startup-image">
<!-- end copy -->
</head>
<body>
<!-- copy these lines to your document: -->
<table class="wrapper-layer">
<tr>
<td>a
<div id="bdwload_hype_container" style="margin:auto;position:relative;width:100%;height:100%;overflow:hidden;">
<script type="text/javascript" charset="utf-8" src="BDW-Load.hyperesources/bdwload_hype_generated_script.js?41044"></script>
</div>
<!-- end copy -->
<!-- text content for search engines: -->
<div style="display:none" aria-hidden=true>
<div>YOUR DATA WAREHOUSE
TRANSFORMATION
STARTS TODAY</div>
<div></div>
<div>456
</div>
<div></div>
<div>October 1–5, 2017 San Francisco, CA #OOW17</div>
<div>
</div>
<div>Continue...</div>
<div>114
</div>
<div>240
</div>
</div>
<!-- end text content: -->
</td>
</tr>
</table>
</body>
</html>
ASQLBaristahttp://www.blogger.com/profile/13350994132294695189noreply@blogger.com1San Francisco, CA, USA37.7749295 -122.4194155000000136.9717915 -123.71030900000001 38.578067499999996 -121.12852200000002tag:blogger.com,1999:blog-7176801629635494688.post-86803138131825891622017-07-17T15:24:00.001+01:002017-07-17T15:25:37.372+01:00MATCH_RECOGNIZE and predicates - everything you need to know<br />
<table style="width: 100%px;">
<tbody>
<tr>
<td align="center"><img alt="" src="https://upload.wikimedia.org/wikipedia/commons/0/00/PaperTapes-5and8Hole.jpg" width="550px" /></td>
</tr>
</tbody>
</table>
<h1>
MATCH_RECOGNIZE and predicates</h1>
At a recent user conference I had a question about when and how predicates are applied when using MATCH_RECOGNIZE so that’s the purpose of this blog post. Will this post cover everything you will ever need to know for this topic? Probably!<br />
Where to start….the first thing to remember is that the table listed in the FROM clause of your SELECT statement acts as the input into the MATCH_RECOGNIZE pattern matching process and this raises the question about how and where are predicates actually applied. I briefly touched on this topic in part 1 of my deep dive series on MATCH_RECOGNIZE: <strong><a href="https://oracle-big-data.blogspot.co.uk/2016/03/sql-pattern-matching-deep-dive-part-1.html">SQL Pattern Matching Deep Dive - Part 1</a>.</strong><br />
In that first post I looked at the position of predicates within the explain plan and their impact on sorting. In this post I am going to use the built in measures (MATCH_NUMBER and CLASSIFIER) to show the impact of applying predicates to the results that are returned.<br />
First, if you need a quick refresher course in how to use the MATCH_RECOGNIZE built-in measures then see part 2 of the deep dive series: <strong><a href="https://oracle-big-data.blogspot.co.uk/2016/04/sql-pattern-matching-deep-dive-part-2.html">SQL Pattern Matching Deep Dive - Part 2, using MATCH_NUMBER() and CLASSIFIER()</a>.</strong><br />
As per usual I am going to use my normal stock ticker schema to illustrate the specific points. You can find this schema listed on most of the pattern matching examples on <strong><a href="http://livesql.oracle.com/">livesql.oracle.com</a>.</strong> There are three key areas within the MATCH_RECOGNIZE clause that impact on predicates…<br />
<ol>
<li>PARTITION BY column</li>
<li>ORDER BY column</li>
<li>All other columns</li>
</ol>
<br />
<h3>
1. Predicates on the PARTITION BY column</h3>
Let’ start with a simple query:<br />
<blockquote>
<pre>select * from ticker
MATCH_RECOGNIZE(
PARTITION BY symbol ORDER BY tstamp
MEASURES match_number() as mn
ALL ROWS PER MATCH
<strong>PATTERN (strt)
DEFINE strt as 1=1</strong>
);</pre>
</blockquote>
<br />
Note that we are using an <strong><em>always-true</em></strong> pattern <span style="font-family: "courier"; font-size: 12px;">STRT</span> which is defined as 1=1 to ensure that we process all rows and the pattern has no range so it will be matched once and then reset to find the next match. As our ticker table contains 60 rows, the output also contains 60 rows<br />
<br />
<img alt="Output with no predicates" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbNLzJA2Z2WgJ5TldBwv_j83wMJvW566Ol2t-87Ew3OvVQsYnHlTWV3QzLmfPSid9cHLM6YZLV7uu8QOgHlBi4AH-H4vYazWXsE0qwGDqoavmbKeV3PaPOCi1kLHuaQ25anO5KvKW0jGg/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_fe3.jpeg" width="400" /><br />
<br />
Checkout the column headed <strong>mn</strong> which contains our match_numnber() measure. This shows that within the first partition for ACME we matched the always-true event 20 times, i.e. all rows were matched. If we check the explain plan for this query we can see that all 60 rows (3 symbols, and 20 rows for each symbol) were processed:<br />
<img alt="Explain plan for query with no predicates" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgyTg9O2uqoUMcLCh5oe1GF9a-rAVDPbXCJmnF_EVs5QhvqWxyuodNBFCkchdsaUgbIQM8fSMVBII8fqG2Bkcl4RUgYtRUiQI6ftA7Zhyh01BNT8iTuNQH0sNh5EZ_vMGiW2Pc0TDQbw34/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_fe7.jpeg" width="600px" /><br />
<br />
If we now apply a predicate on the PARTITION BY column, <span style="font-family: "courier"; font-size: 12px;">SYMBOL</span>, then we can see that the first “block” of our output looks exactly the same, however, the explain plan shows that we have processed fewer rows - only 20 rows.<br />
Let’ modify and rerun our simple query:<br />
<blockquote>
<pre>select * from ticker
MATCH_RECOGNIZE(
PARTITION BY symbol ORDER BY tstamp
MEASURES match_number() as mn
ALL ROWS PER MATCH
<strong>PATTERN (strt+)
DEFINE strt as 1=1</strong>
)
WHERE symbol = ‘ACME';</pre>
</blockquote>
<br />
the results look similar but note that the output summary returned by SQL Developer indicates that only 20 rows were fetched:<br />
<img alt="Query with predicate on partition by column" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjt7qzDmyzemIJDqFKmqzq4PbHoqjwGeL6_jcL7aZeCjjRuyJIbNOF-XP6vlXubNX_WKYPrdeolbiVc8jbR74X8acC1t3xWONLL1Qfd3bATHYKEyLp3kWLCTZY25FJXXzRmr4NlP7e7bRg/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_fe9.jpeg" width="300px" /><br />
<br />
notice that the match_number() column (<strong>mn</strong>) is showing 1 - 20 as values returned from the pattern matching process. If we look at the explain plan….<br />
<img alt="Explain for query with simple WHERE clause" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijQQUYyKRMATPyJ4a6-ucp3Oh9fTz7N_foAhLqaQ5wkHQSoA33GIw-ADBhZa1FnsDuwIwRLTTdMKc0Ibvo1Inm3RPSZ0li9OM6CLmBQAhKIPkRpmuSJIebhu2SXr4fOKeuk9wOOb1rgsI/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_feb.jpeg" width="600" /><br />
…this also shows that we processed 20 rows - so partition elimination filtered out the other 40 rows before pattern matching started. Therefore, if you apply predicates on the PARTITION BY column then MATCH_RECOGNIZE is smart enough to perform partition elimination to reduce the number of rows that need to be processed.<br />
<h3>
Conclusion - predicates on the PARTITION BY column.</h3>
Predicates on the partition by column reduce the amount of data being passed into MATCH_RECOGNIZE.<br />
Built-in measures such as MATCH_NUMBER work as expected in that a contiguous sequence is returned.<br />
<br />
<h3>
2. <span style="font-size: 1.17em;">Predicates on the </span><span style="font-size: 1.17em;">ORDER BY column</span></h3>
What happens if we apply a predicate to the ORDER BY column? Let’s amend the query and add a filter on the tstamp column:<br />
<blockquote>
<pre>select * from ticker
MATCH_RECOGNIZE(
PARTITION BY symbol ORDER BY tstamp
MEASURES match_number() as mn
ALL ROWS PER MATCH
PATTERN (strt)
DEFINE strt as 1=1
)
WHERE symbol='ACME'
<strong>AND tstamp BETWEEN '01-APR-11' AND '10-APR-11';</strong></pre>
</blockquote>
returns a smaller resultset of only 10 rows and match_number is correctly sequenced from 1-10 - as expected:<br />
<img alt="Results from predicates on PARTITION BY and ORDER BY columns" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhohmxQ9qvjGm9lPlIZ-DgFv7tNWmtyTqq9Kd3whno1fh0gMj-DagtnlKAnpw65oGoTUF_pmHQJz3kEV7iRB4FWaYgCM7hEOUvYIKyytA4hvxQHb4cjK0dfj74zhcVaVzJ48SWUiaKbuGs/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_fed.jpeg" width="300px" /><br />
however, the explain plan shows that we processed all the rows within the partition (20).<br />
<img alt="Explain plan for PARTITION BY and ORDER BY predicates" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEglHkkldn7uGRfGEbiiWbhcRPYmK58Y1w0Y62vrbWewjuqTBXAOKX0vUGNQ0uhKPpPcODC2xH_qKPDbki0mrkS0vkuHNIPpfRPmnrugT_H19KVBJA-wmmY_5ukjdqKNkTb5GZOsKRkwnJw/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_fef.jpeg" width="600px" /><br />
<br />
This becomes a little clearer if remove the predicate on the SYMBOL column:<br />
<br />
<blockquote>
<pre>select * from ticker
MATCH_RECOGNIZE(
PARTITION BY symbol ORDER BY tstamp
MEASURES match_number() as mn
ALL ROWS PER MATCH
PATTERN (strt)
DEFINE strt as 1=1
)
WHERE <strong>tstamp BETWEEN ’01-APR-11' AND '10-APR-11';</strong></pre>
</blockquote>
<br />
now we see that 30 rows are returned<br />
<img alt="Query with predicates only on ORDER BY column" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjQjNnGrT2xHq5WglIf0hJk8Ce4DhTFaeALrVtaoYl0L2LQyWqwxR-oTBh_3nXI82Uvj0mCXgetONOsYiwZ_w-L6ChzTBZfPBeOJODcTDmdTFhRWg7fskm-HdZd9wJ0Cj7JvWWNJTxHtc4/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_ff1.jpeg" width="350px" /><br />
<br />
but all 60 rows have actually been processed!<br />
<img alt="Explain for query with predicates on ORDER BY column" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhP9fs1P8ZmpOWKvJa4kX9EARHznuNwn26YLk5yWhhB9MpzJYubYfike6CQvo34QVJekW6aQQE6-LCtorg_BMctj5nrjFWz91b29KK10C5E5DoWoXeAcRCKcgBvvbS13djnuw77QlnGfDA/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_ff3.jpeg" width="600px" /><br />
<h3>
Conclusion</h3>
Filters applied to non-partition by columns are applied after the pattern matching process has completed: rows are passed in to MATCH_RECOGNIZE, the pattern is matched and then predicates on the ORDER BY/other columns are applied.<br />
Is there a way to prove that this is actually what is happening?<br />
<h3>
3.Using other columns</h3>
Lets add another column to our ticker table that shows the day name for each trade. Now let’s rerun the query with the predicate on the SYMBOL column:<br />
<blockquote>
<pre>select * from ticker
MATCH_RECOGNIZE(
PARTITION BY symbol ORDER BY tstamp
MEASURES match_number() as mn
ALL ROWS PER MATCH
<strong>PATTERN (strt)
DEFINE strt as 1=1</strong>
)
WHERE symbol = ‘ACME';</pre>
</blockquote>
<br />
<img alt="Fullsizeoutput ff5" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhDUC02_oQj8K6osEsFBLZIVUgGJ9e_9onnkofFpVaIq93qUH1Ag2DwKZ9wzg0BI9XtCh_5f85YsNiHAoykhkpMIRyg59dBE-COUp3mPHiUzS3cYShmeDpKnj6k-pX6lgCfBARSeT-6xJU/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_ff5.jpeg" width="400px" /><br />
the column to note is MN which contains a contiguous sequence of numbers from 1 to 20.<br />
What happens if we filter on the day_name column and only keep the working-week days (Mon-Fri):<br />
<br />
<blockquote>
<pre>select * from ticker
MATCH_RECOGNIZE(
PARTITION BY symbol ORDER BY tstamp
MEASURES match_number() as mn
ALL ROWS PER MATCH
<strong>PATTERN (strt)
DEFINE strt as 1=1</strong>
)
WHERE symbol = ‘ACME'
AND day_name in (‘MONDAY’, ’TUESDAY’, ‘WEDNESDAY’, ’THURSDAY’, ‘FRIDAY’);</pre>
<div>
</div>
</blockquote>
now if we look at the match_number column, mn, we can see that the sequence is no longer contiguous: the value in row 2 is now 4 and not 2, row 7 the value of mn is 11 even though the previous row was 8:<br />
<br />
<img alt="Fullsizeoutput ff7" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgg2ySb0h9Mwb-S4oRxrCfB68EtD9uyVtx5pYsOqkSJDFJ1Q6WXFJGVxw75HjGlO5m-caa916U5HBFsovwgJLUJJFxXCIedqqXbt5CWcGrGDNpHeL4bz_bZ4I3R99DHOYYiTa22eyqFEI8/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_ff7.jpeg" width="400px" /><br />
It is still possible to “access” the rows that have been removed. Consider the following query with the measure <span style="font-family: "courier"; font-size: 12px;">PREV(day_name):</span><br />
<blockquote>
<pre>select * from ticker
MATCH_RECOGNIZE(
PARTITION BY symbol ORDER BY tstamp
MEASURES match_number() as mn,
<strong>prev(day_name) as prev_day</strong>
ALL ROWS PER MATCH
PATTERN (strt)
DEFINE strt as 1=1
)
WHERE symbol='ACME'
AND day_name in ('MONDAY', 'WEDNESDAY', 'FRIDAY');</pre>
</blockquote>
<br />
this returns the following:<br />
<img alt="Fullsizeoutput ff9" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMkIyAs8Qi0Qm580HiWjx3SuM8rH3NkHbK6V92NK4rngveIYmiJdpanv1FD61dUC1zYtvYErEx_Xbqhfp3nTX67hXQjOxXIRwIiGWNYO1jT16Vc1bZ63NyZ0El1oBKroRnfW1qpfHh8Ds/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_ff9.jpeg" width="400" /><br />
where you can see that on row 2 the value for SUNDAY has been returned even though logically looking at the results the previous day should be FRIDAY.<br />
This has important implications for numerical calculations such as running totals, final totals, averages, counts, min and max etc etc because these will take into account all the matches (depending on how your pattern is defined) prior to the final set of predicates (i.e. non-PARTITION BY columns) being applied.<br />
<br />
<h2>
One last example</h2>
Let’s now change the always-true pattern to search for as many rows as possible (turn it into a <a href="https://oracle-big-data.blogspot.co.uk/2016/04/sql-pattern-matching-deep-dive-part-3.html"><strong>greedy quantifier</strong></a>)<br />
<blockquote>
<pre>select symbol, tstamp, mn, price, day_name, prev_day, total_rows from ticker
MATCH_RECOGNIZE(
PARTITION BY symbol ORDER BY tstamp
MEASURES match_number() as mn,
prev(day_name) as prev_day,
count(*) as total_rows
ALL ROWS PER MATCH
PATTERN (strt+)
DEFINE strt as 1=1
)
WHERE symbol='ACME'
AND day_name in ('MONDAY', 'WEDNESDAY', 'FRIDAY');</pre>
</blockquote>
<br />
the results from the following two queries:<br />
Query 1:<br />
<blockquote>
<pre>select symbol, tstamp, mn, price, day_name, prev_day, total_rows, avg_price, max_price
from ticker
MATCH_RECOGNIZE(
PARTITION BY symbol ORDER BY tstamp
MEASURES match_number() as mn,
prev(day_name) as prev_day,
count(*) as total_rows,
trunc(avg(price),2) as avg_price,
max(price) as max_price
ALL ROWS PER MATCH
<strong>PATTERN (strt+)</strong>
DEFINE strt as 1=1
)
WHERE symbol=‘ACME';</pre>
</blockquote>
Query 2:<br />
<blockquote>
<pre>select symbol, tstamp, mn, price, day_name, prev_day, total_rows, avg_price, max_price from ticker
MATCH_RECOGNIZE(
PARTITION BY symbol ORDER BY tstamp
MEASURES match_number() as mn,
prev(day_name) as prev_day,
count(*) as total_rows,
trunc(avg(price),2) as avg_price,
max(price) as max_price
ALL ROWS PER MATCH
<strong>PATTERN (strt+)</strong>
DEFINE strt as 1=1
)
WHERE symbol='ACME'
<strong>AND day_name in ('MONDAY', 'WEDNESDAY', 'FRIDAY');</strong></pre>
</blockquote>
<br />
the number of rows returned is different but the values for the calculated columns (previous day, count, max and min) are exactly the same:<br />
Resultset 1:<br />
<img alt="Fullsizeoutput ffd" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhy80420S8cl7j5oKdej_m0b2v1rGCsjSLyxp5npYcvToe_NEEZRyv8s8TqWaHWj_yfM_k5A8yZwUz3yDtKeW4t58q76gZbr1N3rNJa9Fe0cll1g0qCci4pyi_0EmPZQxCrF7ZNJ3vo66U/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_ffd.jpeg" width="450" /><br />
Resultset 2:<br />
<img alt="Fullsizeoutput ffc" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiTU71JQLFTHm5jwBphRi6xH9DuMSUuTArZQ7p0Ozg-gdHrrD9MdZ9BesYHB0vIUPS-qrzwNnIR7kTkXLWm38a6ofMYu_9WsLy97jKoVoXKrCv4GuMRK47RmImkHSHNkkbeJpWQpWFG-J4/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_ffc.jpeg" width="450" /><br />
<br />
<h2>
Conclusion</h2>
When I briefly touched on this topic in part 1 of my deep dive series on MATCH_RECOGNIZE, <strong><a href="https://oracle-big-data.blogspot.co.uk/2016/03/sql-pattern-matching-deep-dive-part-1.html">SQL Pattern Matching Deep Dive - Part 1</a>, </strong>the focus was on the impact predicates had on sorting - <em>would additional sorting take place if predicates were used.</em><br />
In this post I have looked at the impact on the data returned. Obviously by removing rows at the end of processing there can be a huge impact on calculated measures such as match_number, counts and averages etc.<br />
Hope this has been helpful. If you have any questions then feel free to send me an email: keith.laker@oracle.com.<br />
<em><br /></em>
<em><a href="https://upload.wikimedia.org/wikipedia/commons/0/00/PaperTapes-5and8Hole.jpg">Main image courtesy of wikipedia</a></em><br />
<em><br /></em>
<!-- Technorati Tags Start -->
Technorati Tags: <a href="http://technorati.com/tag/Analytics" rel="tag">Analytics</a>, <a href="http://technorati.com/tag/Database%2012c" rel="tag">Database 12c</a>, <a href="http://technorati.com/tag/Pattern%20Matching" rel="tag">Pattern Matching</a>, <a href="http://technorati.com/tag/SQL" rel="tag">SQL</a><br />
<!-- Technorati Tags End -->ASQLBaristahttp://www.blogger.com/profile/13350994132294695189noreply@blogger.com0San Francisco, CA, USA37.7749295 -122.4194155000000136.9717915 -123.71030900000001 38.578067499999996 -121.12852200000002tag:blogger.com,1999:blog-7176801629635494688.post-11964175240658232212017-07-17T10:38:00.001+01:002017-08-18T11:24:23.721+01:00PDF version - Big Data Warehousing Must See Guide for Oracle OpenWorld 2017<p><img style="display: block; margin-left: auto; margin-right: auto;" title="front_page.jpeg" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieiaZvBiWYUq_0S0qwH-Dy5hNPxmLgHC0UnKB2IUiw6aGBaSpsYdKlayEgAZailr9_4AjhGaQQNVsg6v93IlG_uWLKOJWsMN7p5WubvmnR_qUCE_3GmAL9z3QHGRgPwgVix_trX_ZPZGE/?imgmax=1600" alt="Front Cover for Must-See Guide" width="458" height="600" border="0" /></p>
<p> </p>
<h3 style="text-align: center;">….and now it’s here in PDF format as well!</h3>
<p> </p>
<p>The <strong><span style="text-decoration: underline;">free</span></strong> big data warehousing Must-See guide for OpenWorld 2017 is now available for download in PDF format - <strong><a href="https://www.dropbox.com/s/kpsvermbekaqcrj/BDW-Must-See-Guide-oow17.pdf">click here</a>, and yes it’s completely free</strong>. This comprehensive guide covers everything you need to know about this year’s <strong><span style="color: #ff2600;">Oracle OpenWorld</span></strong> conference so that when you arrive at Moscone Conference Center you are ready to get the most out of this amazing conference. The guide contains the following information:</p>
<table width="100%">
<tbody>
<tr>
<td width="20%"><img style="display: block; margin-left: auto; margin-right: auto;" title="Page8.jpg" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxl9rQGNTaCboitUGY-Iy_yDOs59i93DeMDPavAxzgCCMbmKWEMl71p4oABoNpMDnBk7-CTA8X_qBy4ctL8_2t-iqaWTUeRQEk2FHzVEJT51A_e1CJWzrMgV3cLV5kmoaVo4iYieGsmq4/?imgmax=1600" alt="Page8" width="120" border="0" /></td>
<td width="20%"><img style="display: block; margin-left: auto; margin-right: auto;" title="Page17.jpg" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgHILlSSszZpncy4WrnU5HEgRtm-9hY1XeeEdwgBD2IzH-fIN7e3aatHB9Q8MQKYQIh8ZZwO6NAa_a7T8cnPYR8yfHKF1EI4Bw1Z0xgfcAHtJQltUSIKkN_RuQuT0uy4Yg7qbsDceYlWU/?imgmax=1600" alt="Page17" width="120" border="0" /></td>
<td width="20%"><img style="display: block; margin-left: auto; margin-right: auto;" title="Page19.jpg" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGLPAJ3136vkYO8CDj1aLgR8jqtl7diegrBAzBPKPxxgXiQaiGkgGlP4a0p8ItbBOu_NEYsE_606aoM9XgC8bG7-TL1BKCVbBITaMrG3ZE-UBP_UEhIlw9MD-El9BXyaZaQJDKrVw47n0/?imgmax=1600" alt="Page19" width="120" border="0" /></td>
<td width="20%"><img style="display: block; margin-left: auto; margin-right: auto;" title="Page41.jpg" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwDswfh8ZFjMqVm5K5R5SNsUsWE9hhd8g0Tptxhd9_3zywn5QvEpGOiOMhGxD_N3Ci1XCocwO48LpBWfWlNsOTI25rwiz4EY85-pLy-m_86u-Ne7vdDuheyIA7aE0h0h56hFhTEPa4NsU/?imgmax=1600" alt="Page41" width="120" border="0" /></td>
<td width="20%"><img style="display: block; margin-left: auto; margin-right: auto;" title="Page90.jpg" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWw8E9hwH2VwouEwmr9-A6PaXfdQPymdZ-SCXNiP33HrLgWynPilnqI9Qc8wZNyyElzg7ttPwKPUT51NmH9-JPVWyTu9iRQ57DbvTY06TFweQ0f8QaD89mApwOdtYVM63L_0PoiJ_y84g/?imgmax=1600" alt="Page90" width="120" border="0" /></td>
</tr>
<tr>
<td align="center" width="20%">Page 8 - <br />On-Demand Videos</td>
<td align="center" width="20%">Page 17 - Justify<br />Your trip</td>
<td align="center" width="20%">Page 19 - Key<br />Presenters</td>
<td align="center" width="20%">Page 41 - Must See<br /> Sessions</td>
<td align="center" width="20%">Page 90 - <br />Useful Maps</td>
</tr>
</tbody>
</table>
<blockquote>
<p><strong>Chapter 1</strong> - Introduction to the must-see guide.</p>
<p><strong>Chapter 2</strong> - A guide to the key the highlights from last year’s conference so you can relive the experience or see what you missed. Catch the most important highlights from last year's OpenWorld conference with our on demand video service which covers all the major keynote sessions. Sit back and enjoy the highlights. The second section explains why you need to attend this year’s conference and how to justify it to your company.</p>
<p><strong>Chapter 3</strong> - Full list of Oracle Product Management and Development presenters who will be at this year’s OpenWorld. Links to all their social media sites are included alongside each profile. Read on to find out about the key people who can help you and your teams build the FUTURE using Oracle’s Data Warehouse and Big Data technologies.</p>
<p><strong>Chapter 4</strong> - List of the “must-see” sessions at this year’s OpenWorld by category. It includes all the sessions and hands-on labs by the Oracle Product Management and Development teams along with key customer sessions. Read on for the list of the best, most innovative sessions at Oracle OpenWorld 2016.</p>
<p><strong>Chapter 5</strong> - Details of all the links you need to keep up to date on Oracle’s strategy and products for Data Warehousing and Big Data. This covers all our websites, blogs and social media pages.</p>
<p><strong>Chapter 6 </strong>-<strong> </strong> Details of our exclusive web application for smartphones and tablets provides you with a complete guide to everything related to data warehousing and big data at OpenWorld 2016.</p>
<p><strong>Chapter 7</strong> - Information to help you find your way around the area surrounding the Moscone Conference Center this section includes some helpful maps.</p>
<p> </p>
</blockquote>
<p>What’s missing? At the moment there is no information about hands-on labs or the demogrounds but as soon as that information is available I will update the contents and push it to the iBooks Store. Stay tuned for update notifications posted on <a href="https://twitter.com/ASQLBarista">Twitter</a>, <a href="https://www.facebook.com/ASQLBarista/">Facebook</a>, <a href="https://plus.google.com/communities/101394147384545405907">Google+</a> and <a href="https://www.linkedin.com/groups/2129659">LinkedIn</a>.</p>
<p>To download the PDF version of this guide, <a href="https://www.dropbox.com/s/kpsvermbekaqcrj/BDW-Must-See-Guide-oow17.pdf"><strong>click here</strong></a>. Of course, if you an Apple iPhone, iPad, desktop computer and.or laptop then you can download the guide as an <span style="font-family: Helvetica; font-size: 12px;"><strong>Apple iBook</strong></span>, <strong><a href="https://oracle-big-data.blogspot.co.uk/2017/07/big-data-warehousing-must-see-guide-for.html">click here</a> which includes all the usual iBook features and interactions</strong>.</p>
<p>Let me know if you have any comments. Enjoy.</p>
<p> </p>
<!-- Technorati Tags Start -->
<p>Technorati Tags: <a href="http://technorati.com/tag/Analytics" rel="tag">Analytics</a>, <a href="http://technorati.com/tag/Big%20Data" rel="tag">Big Data</a>, <a href="http://technorati.com/tag/Conference" rel="tag">Conference</a>, <a href="http://technorati.com/tag/Data%20Warehousing" rel="tag">Data Warehousing</a>, <a href="http://technorati.com/tag/OpenWorld" rel="tag">OpenWorld</a>, <a href="http://technorati.com/tag/Spatial" rel="tag">Spatial</a>, <a href="http://technorati.com/tag/SQL%20Analytics" rel="tag">SQL Analytics</a></p>
<!-- Technorati Tags End -->ASQLBaristahttp://www.blogger.com/profile/13350994132294695189noreply@blogger.com0San Francisco, CA, USA37.7749295 -122.4194155000000136.9717915 -123.71030900000001 38.578067499999996 -121.12852200000002tag:blogger.com,1999:blog-7176801629635494688.post-57771331576657579052017-07-11T09:24:00.001+01:002017-08-18T11:19:08.018+01:00Big Data Warehousing Must See Guide for Oracle OpenWorld 2017<p><img style="display: block; margin-left: auto; margin-right: auto;" title="front_page.jpeg" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEieiaZvBiWYUq_0S0qwH-Dy5hNPxmLgHC0UnKB2IUiw6aGBaSpsYdKlayEgAZailr9_4AjhGaQQNVsg6v93IlG_uWLKOJWsMN7p5WubvmnR_qUCE_3GmAL9z3QHGRgPwgVix_trX_ZPZGE/?imgmax=1600" alt="Front Cover for Must-See Guide" width="458" height="600" border="0" /></p>
<p> </p>
<h3 style="text-align: center;"><strong>It’s here - at last! I have just pushed my usual must-see guide to the Apple iBooks Store.</strong></h3>
<p> </p>
<p>The <strong><span style="text-decoration: underline;">free</span></strong> big data warehousing Must-See guide for OpenWorld 2017 is now available for download from the Apple iBooks Store - <strong><a href="https://itunes.apple.com/us/book/big-data-warehousing-must-see-guide-for-oracle-openworld/id1257158574">click here</a>, and yes it’s completely free</strong>. This comprehensive guide covers everything you need to know about this year’s <strong><span style="color: #ff2600;">Oracle OpenWorld</span></strong> conference so that when you arrive at Moscone Conference Center you are ready to get the most out of this amazing conference. The guide contains the following information:</p>
<table width="100%">
<tbody>
<tr>
<td width="20%"><img style="display: block; margin-left: auto; margin-right: auto;" title="Page8.jpg" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxl9rQGNTaCboitUGY-Iy_yDOs59i93DeMDPavAxzgCCMbmKWEMl71p4oABoNpMDnBk7-CTA8X_qBy4ctL8_2t-iqaWTUeRQEk2FHzVEJT51A_e1CJWzrMgV3cLV5kmoaVo4iYieGsmq4/?imgmax=1600" alt="Page8" width="120" border="0" /></td>
<td width="20%"><img style="display: block; margin-left: auto; margin-right: auto;" title="Page17.jpg" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgHILlSSszZpncy4WrnU5HEgRtm-9hY1XeeEdwgBD2IzH-fIN7e3aatHB9Q8MQKYQIh8ZZwO6NAa_a7T8cnPYR8yfHKF1EI4Bw1Z0xgfcAHtJQltUSIKkN_RuQuT0uy4Yg7qbsDceYlWU/?imgmax=1600" alt="Page17" width="120" border="0" /></td>
<td width="20%"><img style="display: block; margin-left: auto; margin-right: auto;" title="Page19.jpg" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGLPAJ3136vkYO8CDj1aLgR8jqtl7diegrBAzBPKPxxgXiQaiGkgGlP4a0p8ItbBOu_NEYsE_606aoM9XgC8bG7-TL1BKCVbBITaMrG3ZE-UBP_UEhIlw9MD-El9BXyaZaQJDKrVw47n0/?imgmax=1600" alt="Page19" width="120" border="0" /></td>
<td width="20%"><img style="display: block; margin-left: auto; margin-right: auto;" title="Page41.jpg" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgwDswfh8ZFjMqVm5K5R5SNsUsWE9hhd8g0Tptxhd9_3zywn5QvEpGOiOMhGxD_N3Ci1XCocwO48LpBWfWlNsOTI25rwiz4EY85-pLy-m_86u-Ne7vdDuheyIA7aE0h0h56hFhTEPa4NsU/?imgmax=1600" alt="Page41" width="120" border="0" /></td>
<td width="20%"><img style="display: block; margin-left: auto; margin-right: auto;" title="Page90.jpg" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWw8E9hwH2VwouEwmr9-A6PaXfdQPymdZ-SCXNiP33HrLgWynPilnqI9Qc8wZNyyElzg7ttPwKPUT51NmH9-JPVWyTu9iRQ57DbvTY06TFweQ0f8QaD89mApwOdtYVM63L_0PoiJ_y84g/?imgmax=1600" alt="Page90" width="120" border="0" /></td>
</tr>
<tr>
<td align="center" width="20%">Page 8 - <br />On-Demand Videos</td>
<td align="center" width="20%">Page 17 - Justify<br />Your trip</td>
<td align="center" width="20%">Page 19 - Key<br />Presenters</td>
<td align="center" width="20%">Page 41 - Must See<br /> Sessions</td>
<td align="center" width="20%">Page 90 - <br />Useful Maps</td>
</tr>
</tbody>
</table>
<blockquote>
<p><strong>Chapter 1</strong> - Introduction to the must-see guide.</p>
<p><strong>Chapter 2</strong> - A guide to the key the highlights from last year’s conference so you can relive the experience or see what you missed. Catch the most important highlights from last year's OpenWorld conference with our on demand video service which covers all the major keynote sessions. Sit back and enjoy the highlights. The second section explains why you need to attend this year’s conference and how to justify it to your company.</p>
<p><strong>Chapter 3</strong> - Full list of Oracle Product Management and Development presenters who will be at this year’s OpenWorld. Links to all their social media sites are included alongside each profile. Read on to find out about the key people who can help you and your teams build the FUTURE using Oracle’s Data Warehouse and Big Data technologies.</p>
<p><strong>Chapter 4</strong> - List of the “must-see” sessions at this year’s OpenWorld by category. It includes all the sessions and hands-on labs by the Oracle Product Management and Development teams along with key customer sessions. Read on for the list of the best, most innovative sessions at Oracle OpenWorld 2016.</p>
<p><strong>Chapter 5</strong> - Details of all the links you need to keep up to date on Oracle’s strategy and products for Data Warehousing and Big Data. This covers all our websites, blogs and social media pages.</p>
<p><strong>Chapter 6 </strong>-<strong> </strong> Details of our exclusive web application for smartphones and tablets provides you with a complete guide to everything related to data warehousing and big data at OpenWorld 2016.</p>
<p><strong>Chapter 7</strong> - Information to help you find your way around the area surrounding the Moscone Conference Center this section includes some helpful maps.</p>
<p> </p>
</blockquote>
<p>What’s missing? At the moment there is no information about hands-on labs or the demogrounds but as soon as that information is available I will update the contents and push it to the iBooks Store. Stay tuned for update notifications posted on <a href="https://twitter.com/ASQLBarista">Twitter</a>, <a href="https://www.facebook.com/ASQLBarista/">Facebook</a>, <a href="https://plus.google.com/communities/101394147384545405907">Google+</a> and <a href="https://www.linkedin.com/groups/2129659">LinkedIn</a>.</p>
<p> </p>
<p>If you want the <a href="https://oracle-big-data.blogspot.co.uk/2017/07/pdf-version-big-data-warehousing-must.html"><strong>guide as PDF book</strong></a> then see here - <em>and yes it’s still completely free.</em></p>
<p>Let me know if you have any comments. Enjoy.</p>
<p> </p>
<!-- Technorati Tags Start -->
<p>Technorati Tags: <a href="http://technorati.com/tag/Analytics" rel="tag">Analytics</a>, <a href="http://technorati.com/tag/Big%20Data" rel="tag">Big Data</a>, <a href="http://technorati.com/tag/Conference" rel="tag">Conference</a>, <a href="http://technorati.com/tag/Data%20Warehousing" rel="tag">Data Warehousing</a>, <a href="http://technorati.com/tag/OpenWorld" rel="tag">OpenWorld</a>, <a href="http://technorati.com/tag/Spatial" rel="tag">Spatial</a>, <a href="http://technorati.com/tag/SQL%20Analytics" rel="tag">SQL Analytics</a></p>
<!-- Technorati Tags End -->ASQLBaristahttp://www.blogger.com/profile/13350994132294695189noreply@blogger.com0747 Howard St, San Francisco, CA 94103, USA37.7831029 -122.4040588000000312.261068400000003 -163.71265280000003 63.305137400000007 -81.09546480000003tag:blogger.com,1999:blog-7176801629635494688.post-53731002604642173822017-05-17T14:58:00.004+01:002017-05-17T14:58:44.583+01:00Connecting Apache Zeppelin to your Oracle Data Warehouse<img alt="Zeppelin NT DSC 9550" border="0" height="417" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY1j1PQ3_gz1u_Q9Qxo2KZbAtRo-5baESytQNYMN658APNKVyZc2ocsbrgNnuzclzUqn4J6Dn7qjhwk4EaYab_sxYgnqHmYmY6FXHhTrzfsksOCq3Zjnn69LUlyqOPJ3rg-jmwFYz0WyE/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="Zeppelin_NT-DSC_9550.jpg" width="599" /><br /> <br />In my last posts I provided an <a href="https://oracle-big-data.blogspot.co.uk/2017/04/using-zeppelin-notebooks-with-your.html">overview of the Apache <strong>Zeppelin</strong></a> open source project which is a new style of application called a “<strong><em>notebook</em></strong>”. These notebook applications typically runs within your browser so as an end user there is no desktop software to download and install.<br />
<br />
Interestingly, I had a very quick response to this article asking about how to setup a connection within Zeppelin to an Oracle Database. Therefore, in this post I am going to look at how you can install the Zeppelin server and create a connection to your Oracle data warehouse.<br />
<br />
This aim of this post is to walk you through the following topics:<br />
<ul>
<li>Installing Zeppelin</li>
<li>Configuring Zeppelin</li>
<li>What is an interpreter</li>
<li>Finding and installing the Oracle JDBC drivers</li>
<li>Setting up a connection to an Oracle PDB</li>
</ul>
Firstly a quick warning! There are a couple of different versions of Zeppelin available for download. At the moment I am primarily using version 0.6.2 which works really well. Currently, for some reason I am seeing performance problems with the latest iterations around version 0.7.x and this issue. I have discussed this a few people here at Oracle and we are all seeing the same behaviour - queries will run, they just take 2-3 minutes longer for some unknown reason compared with earlier versions, pre-0.7.x, of Zeppelin.<br />
<br />
In the interests of completeness in this post I will cover setting up a 0.6.2 instance of Zeppelin as well as a 0.7.1 instance.<br />
<br />
<h3>
Installing Zeppelin</h3>
The first thing you need to decide is where to install the Zeppelin software. You can run on your own PC or on a separate server or on the same server that is running your Oracle Database. I run all my linux based database environments within Virtualbox images so I always install onto the same virtual machine as my Oracle database - makes life easier for moving demos around when I am heading off to user conference.<br />
<br />
Step two is to download the software. The download page is here: <a href="https://zeppelin.apache.org/download.html">https://zeppelin.apache.org/download.html</a>.<br />
<br />
Simply pick the version you want to run and download the corresponding compressed file - my recommendation, based on my experience, is to stick with version 0.6.2 which was released on Oct 15, 2016. I always select to download the full application - “<strong><em>Binary package with all interpreters</em></strong>” just to make life easy and it also gives me access the full range of connection options which, as you will discover in my next post, is extremely useful.<br />
<h4>
Installing Zeppelin - Version 0.6.2</h4>
After downloading the zeppelin-0.6.2-bin-all.tgz file onto my Linux Virtualbox machine I simply expand the file to create a “zeppelin-0.6.2-bin-all” directory. The resulting directory structure looks like this:<br />
<br />
<img alt="Fullsizeoutput 104a" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjED_vPmIAJjT75B1stD1U3gM1tM4ShMv5Kl0V9aurxmQ19bGsVB45TWPBh33CrZLinQngFWb4jDmZbzKlc4fCV090dCH_Re2cCU5byU3iEWMtjetndiuJWGZBkM-eSz8HgAUuKcP2lDdQ/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_104a.jpeg" width="550" /><br />
<br />
<br />
Of course you can rename the folder name to something more meaningful, such as “my-zeppelin” if you wish….obviously, the underlying folder structure remains the same!<br />
<br />
<img alt="Fullsizeoutput 104c" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpk3-abIwCuvHV_BFedG3GYnx3Grwpi9_PYlG_H5OOeaDAcC5IHq0pMVeUsF9xTVp9h9YUgvsq2SkFtICiodlDqXp8ss5n9qlaoRyqAvoGlczSRarvrmGU5Oqc60OLRVkFZ98xdLQ8XRI/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_104c.jpeg" width="550" /><br />
<br />
<h4>
Installing Zeppelin - Version 0.7.x</h4>
The good news is that if you want to install one of the later versions of Zeppelin then the download and unzip process is exactly the same. At this point in time there are two versions of 0.7, however, both 0.7.0 and 0.7.1 seem to suffer from poor query performance when using the JDBC driver (<em>I have only tested the JDBC driver against Oracle Database but I presume the same performance issues are affecting other types of JDBC-related connections</em>). As with the previous version of Zeppelin you can, if required, change the default directory name to something more suitable.<br />
Now we have our notebook software unpacked and ready to go!<br />
<br />
<h3>
Configuring Zeppelin (0.6.2 and 0.7.x)</h3>
This next step is optional. If you have installed the Zeppelin software on the same server or virtual environment that runs your Oracle Database then you will need to tweak the default configuration settings to ensure there are no clashes with the various Oracle Database services. By default, you access the Zeppelin Notebook home page via the port 8080. Depending on your database environment this may or may not cause problems. In my case, this port was already being used by APEX, therefore, it was necessary to change the default port…<br />
<h4>
Configuring the Zeppelin http port</h4>
If you look inside the “<strong>conf</strong>” directory there will be a file named “zeppelin-site.xml.template”, rename this to “<strong>zeppelin-site.xml</strong>”. Find the following block of tags:<br />
<blockquote>
<pre><property>
<name>zeppelin.server.port</name>
<value>8080</value>
<description>Server port.</description>
</property></pre>
</blockquote>
the default port settings in the conf file will probably clash with the APEX environment in your Oracle Database. Therefore, you will need to change the port setting to another value, such as:<br />
<blockquote>
<pre><property>
<name>zeppelin.server.port</name>
<strong> <value>7081</value></strong>
<description>Server port.</description>
</property></pre>
</blockquote>
<br />
Save the file and we are ready to go! It is worth spending some time reviewing the other settings within the conf file that let you use cloud storage services, such as the <a href="https://cloud.oracle.com/en_US/bare-metal-storage/object-storage/faq">Oracle Bare Metal Cloud Object Storage</a> service. For my purposes I was happy to accept the default storage locations for managing my notebooks and I have not tried to configure the use of an SSL service to manage client authentication. Obviously, there is a lot more work that I need to do around the basic setup and configuration procedures which hopefully I will be able to explore at some point in time - watch this space! <br />
<br />
OK, now we have everything in place: software, check…. port configuration, check. It’s time to start your engine!<br />
<br />
<h3>
Starting Zeppelin</h3>
This is the easy part. Within the <strong>bin</strong> directory there is a shell script to run the Zeppelin daemon:<br />
<blockquote>
<pre>. ../my-zeppelin/bin/zeppelin-daemon.sh start</pre>
</blockquote>
<br />
There is a long list of command line environment settings that you can use, see here: <a href="https://zeppelin.apache.org/docs/0.6.2/install/install.html">https://zeppelin.apache.org/docs/0.6.2/install/install.html</a>. In my Virtualbox environment I found it useful to configure the following settings:<br />
<ul>
<li>ZEPPELIN_MEM: amount of memory available to Zeppelin. The default setting is - -Xmx1024m -XX:MaxPermSize=512m</li>
<li>ZEPPELIN_INTP_MEM: amount of memory available to the Zeppelin Interpreter (connection) engine and the default setting is derived from the setting of ZEPPELIN_MEM</li>
<li>ZEPPELIN_JAVA_OPTS: simply lists any additional JVM options</li>
</ul>
therefore, my startup script looks like this:<br />
<blockquote>
<pre>set ZEPPELIN_MEM=-Xms1024m -Xmx4096m -XX:MaxPermSize=2048m</pre>
<pre>set ZEPPELIN_INTP_MEM=-Xms1024m -Xmx4096m -XX:MaxPermSize=2048m</pre>
<pre>set ZEPPELIN_JAVA_OPTS="-Dspark.executor.memory=8g -Dspark.cores.max=16"</pre>
<pre>. ../my-zeppelin/bin/zeppelin-daemon.sh start</pre>
</blockquote>
<pre> </pre>
Fingers crossed, once Zeppelin has started the following message should appear on your command line:<br />
<blockquote>
<pre> <strong>Zeppelin start [ <span style="color: #008f00;"> OK </span> ]</strong></pre>
</blockquote>
<br />
<h3>
Connecting to Zeppelin</h3>
Everything should now be in place to test whether your Zeppelin environment is up and running. Open a browser and type the ip address/host name and port reference which in my case is: <strong>http://localhost:7081/#/</strong> then the home page should appear:<br />
<br />
<img alt="Fullsizeoutput 1050" border="0" height="166" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMCwKa2Kks4cX2keiTQf-xQWQpnAw9m89vKkF1TQxsvro5aF1YEHzKRdqxDpt5vnWbUpAzA-H2BfK8480pxOlyQvA9o-mVaO3E5e_YJZZ92FWKyTDgCGggLGFURa9oHVwp3xS1mFquiGM/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_1050.jpeg" width="599" /><br />
<br />
The landing pad interface is nice and simple.<br />
<br />
In the top right-hand corner you will see a green light which tells me that the Zeppelin service is up and running. “anonymous” is my user id because I have not enabled client side authentication. In the main section of the welcome screen you will see links to the help system and the community pages, which is where you can log any issues that you find.<br />
<br />
The <strong>Notebook</strong> section is where all the work is done and this is where I am going to spend the next post exploring in some detail. If you are used using a <em>normal</em> BI tool then Zeppelin (along with most other notebook applications) will take some getting used to because it creating reports follows is more of scripting-style process rather than a wizard-driven click-click process you get with products like Oracle Business Intelligence. Anyway, more on this later,<br />
<br />
<h3>
What is an Interpreter?</h3>
To build notebooks in Zeppelin you need to make connections to your data sources. This is done using something called an “<strong>Interpreter</strong>”. This is a plug-in which enables Zeppelin to use not only a specific query language but also provides access to backend data-processing capabilities. For example, it is possible to include shell scripting code within a Zeppelin notebook by using the %sh interpreter. To access an Oracle Database we use the JDBC interpreter. Obviously, you might want to have lots of different JDBC-based connections - maybe you have an Oracle 11g instance, a 12cR1 instance and a 12c R2 instance. Zeppelin allows you to create new interpreters and define their connection characteristics.<br />
<br />
It’s at this point that version 0.6.2 and versions 0.7.x diverge. Each has its own setup and configuration process for interpreters so I will explain the process for each version separately. Firstly, we need to track down some JDBC files…<br />
<br />
<h4>
Configuring your JDBC files</h4>
Finally, we have reached the point of this post - <strong><span style="text-decoration: underline;">connecting Zeppelin to your Oracle data warehouse</span></strong>. But before we dive into setting up connections we need to track down some Oracle specific jdbc files. You will need to locate one of the following files to use with Zeppelin: <strong>ojdbc7.jar</strong> (Database 12c Release 1) or <strong>ojdbc8.jar</strong> (Database 12c Release 2).<br />
<br />
You can either copy the relevant file to your Zeppelin server or simply point the Zeppelin interpreter to the relevant directory. My preference is to keep everything contained within the Zeppelin folder structure so I have taken my Oracle JDBC files and moved them to my Zeppelin server. If you want to find the JDBC files that come with your database version then you need to find the jdbc folder within your version-specific folder. In my 12c Release 2 environment this was located in the folder shown below:<br />
<br />
<img alt="Fullsizeoutput 1052" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi914Tmqb7qarKA-5wcV-bPeFuHRyUv4g2NBTzVzoVNUTiX2Bvlzb_MzKj5WzqVajb96xKkoq5Tus1s1yvPB2-s025u15Ns7TvtICdWgVScsm4E7sCm-rHRTC6ZVN5jE_4nPBz_jNlfDXw/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_1052.jpeg" width="550" /><br />
<br />
<br />
alternatively, I could have copied the files from my local SQL Developer installation:<br />
<br />
<img alt="Fullsizeoutput 1054" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpKA0hw8ukC7IteY9Q0fIvHQ2OqycfrBwaPrq2LK17WKD_psl_BpFMRJkCxx0sj4UG49EtM7Ej8zJPD2mVpf6gJ5nzkM14o0Ir4B6fzKmYfwjfvSdteJq8D9xZxGXlhBYLA-wmcNoYNd8/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_1054.jpeg" width="550" /><br />
<br />
take the jdbc file(s) and copy them to the /interpreter/jdbc directory within your Zeppelin installation directory, as shown below:<br />
<br />
<img alt="Fullsizeoutput 1057" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTgodhlB3CbNKgSoQyT6h6eRTzPgS1Wdr-3QsCBXfT6MPf9xilMpLVNverdknMEYVVrZX0VDddKN1B7UtJjYJFfCRznAnB8JYMc-UdZE0VOPHelZQXbFBWNDo4zEc-6QSFZVtBaqsf6xg/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_1057.jpeg" width="550" /><br />
<br />
<h3>
Creating an Interpreter for Oracle Database</h3>
At last we are finally ready to create a connection to our Oracle Database! Make a note of the directory containing the Oracle JDBC file because you will need that information during the configuration process. There is a difference between the different versions of Zeppelin in terms of creating a connection to an Oracle database/PDB.<br />
<br />
Personally, I think the process in version 0.7.x makes more sense but the performance of jdbc is truly dreadful for some reason. There is obviously been a major change of approach in terms of how connections are managed within Zeppelin and this seems to causing a few issues. Digging around in the documentation it would appear that 0.8.x version will be available shortly so I am hoping the version 0.7x connection issues will be resolved!<br />
<br />
<h4>
Process for creating a connection using version 0.6.2</h4>
Starting from the home page (just click on the word “Zeppelin” in the top left corner of your browser or open a new window and connect to <strong>http://localhost:7081/#/</strong>), then click on the username “anonymous” which will reveal a pulldown menu. Select “Interpreter” as shown below:<br />
<br />
<img alt="Fullsizeoutput 105e" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdNlAb9zaXYRTN4WPDXf_URfJ2lFM04VgkNHjxC0-hz9aeLMaixpwbOy5_sh4VAjW74FvNhA3ZSBCgNPl0PLeAJqjRLncX33O0sUPL1S5GVF8jhRGYwXZIbG3Rr_FfPjpUnTQ51nTsYzY/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_105e.jpeg" width="550" /><br />
<br />
this will take you to the home page for managing your connections, or interpreters. Each query language and data processing language has its own interpreter and these are all listed in alphabetical order.<br />
<br />
<img alt="Fullsizeoutput 105f" border="0" height="259" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhT2qd6z9btuFrdntTjVW24VubcqjIdvOlW2Zqj3BTetqRYK-4BhyrpAY3HAT2posne-bvJvESaXcQqSVNhqBvIjpYGfC3jRHM3oWGrKwNrHGOk_UhytjNWKhitCFAyrpDFbR9dQiWXGMU/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_105f.jpeg" width="599" /><br />
<br />
<br />
scroll down until you find the entry for <strong>jdbc</strong>:<br />
<br />
<img alt="Fullsizeoutput 1060" border="0" height="329" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjtSRzA0tl7JfD3Ii_J8smLCoTZQtICJvFW0dzd4_P1tDI-8WE4S8tYcnA4liKx2-YYIvIVjWYKcmHLg_TV6P3t_I349TYYIbe4FmZh1Rq-LofiM__FK95AttwK0KbyTXefkRVTd8GNAJ0/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_1060.jpeg" width="599" /><br />
<br />
here you will see that the jdbc interpreter is already configured for two separate connections: postgres and hive. By clicking on the “<strong>edit</strong>” button on the right-hand side we can add new connection attributes and in this case I have removed the hive and postgres attributes and added new attributes<br />
<ul>
<li>osql.driver</li>
<li>osql.password</li>
<li>osql.url</li>
<li>osql.user</li>
</ul>
the significance of the “<strong>osql.</strong>” prefix will become obvious when we start to build our notebooks - essentially this will be our reference to these specific connection details. I have added a dependency by including an artefact that points to the location of my jdbc file. In the screenshot below you will see that I am connecting to the example sales history schema owned by user <strong>sh</strong>, password <strong>sh</strong>, which I have installed in my pluggable database <strong>dw2pdb2</strong>. The listener port for my jdbc connection is 1521.<br />
<br />
If you have access to SQL Developer then an easy solution for testing your connection details is to setup a new connection and run the test connection routine. If SQL Developer connects to your database/pdb using your jdbc connection string then Zeppelin should also be able to connect successfully. FYI…error messages in Zeppelin are usually messy and long listings of a Java program stack. Not easy to workout where the problem actually originates. Therefore, the more you can test outside of Zeppelin the easier life will be - <em>at least that is what I have found!</em><br />
<br />
Below is my enhanced configuration for the jdbc interpreter:<br />
<br />
<img alt="Fullsizeoutput 1061" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh28PXJ_hiBavzHnPIQIH3c1MXugJNhK0tSa7nPh-ED8w5YduWh9AQ1oa8BTvsuozXsecvphmtWTTXDo_TKiPQokCiDEShYQg9-_6rZYUtsXmYM3JjWPrfBNm8RlNjwkwmjj6IwrvBIPok/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_1061.jpeg" width="550" /><br />
<br />
The default.driver is simply the entry point into the Oracle jdbc driver which is <strong>oracle.jdbc.driver.OracleDriver</strong>. The last task is to add an artifact [sic] that points to the location of the Oracle JDBC file. In this case I have pointed to the 12c Release 1 driver stored in the ../zeppelin/intepreter/jdbc folder.<br />
<br />
<h4 style="font-size: medium;">
Process for creating a connection using version 0.7.x</h4>
As before, starting from the home page (just click on the word “Zeppelin” in the top left corner of your browser or open a new window and connect to <strong>http://localhost:7081/#/</strong>), then click on the username “anonymous” which will reveal a pulldown menu shown below:<br />
<img alt="Fullsizeoutput 105e" border="0" height="243" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSmLC0ceDA9N_YTVHZz4W-TicN7GeuSzWpu_jt7GiwcnU184PGuISUwQOT6MDjCFH-1u9gb3wjql_eq3GROa6ypeIBY75CcgHe8KGSiRZ2rR6hF_zDv5xHZDoMUAS-mwUhz1VZhFTnSVU/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_105e.jpeg" width="458" /><br />
<br />
now with version 0.7.0 and 0.7.1 we need to actually create a new interpreter, therefore, just click on the “+Create” button:<br />
<br />
<img alt="Fullsizeoutput 1063" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgX2vYp_NVCJz6eP4p6tYpdUNss5YIA8HMn0xDu3wYAFnE6F5II8gGkCrl49-zzBSwZXJK2Pff0KBp2ByU8lFSYdL_i8RFc4IwLPwL21vwKdU97U72sNvBo-tJtURLFrHVORZf9xfCR-Cs/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_1063.jpeg" width="550" /><br />
<br />
this will bring up the “Create new interpreter” form that will allow you to define the attributes for the new interpreter:<br />
<br />
<img alt="Fullsizeoutput 1067" border="0" height="303" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwRcwrRFejILjwVE2Og1xHwlQ2CuHVkv8AWDbHOhP3gTOJVSHxkpHbAHn8D-fs3h_RoQXYbmd-aTQymvEn09xTkpIb8uIgAcfdZfnKpKlDGscBpXg8RlxpPSeLeP0Ldv7cEDwJCpKAYkc/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_1067.jpeg" width="598" /><br />
<br />
<br />
I will name my new interpreter “osql” and assign it to the JDBC group:<br />
<br />
<img alt="Fullsizeoutput 1068" border="0" height="302" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiD_Pt2-OSyoD99p3v6eiFoqeQzhdaMiAKSD-_k4csjSx3-ImYmbCYqAaZ8905ogUGja3xNP_lm5qs6aVezSF1ReSV76efdbyVsB_yx4Bepy9zYfdhAK5YHaIuYeGT8j1xcTeQaA5MUhm0/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_1068.jpeg" width="598" /><br />
<br />
this will pre-populate the form with the default attributes needed to define a JDBC-type connection such as:<br />
<ul>
<li>default.driver: driver entry point into the Oracle JDBC driver</li>
<li>default.password: Oracle user password</li>
<li>default.url: JDBC connection string to access the Oracle database/pDB </li>
<li>default.user: Oracle username</li>
</ul>
<div>
the initial form will look like this:<br />
<br /></div>
<img alt="Fullsizeoutput 1069" border="0" height="345" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMPRSveT52Ez5EsNstF7L8i_8PzsLBwwxEGrziJnhzXycDiemAJhJjQkeVcoR8A6vo3KlsLrhyphenhyphenJw6esMWIiexpFOWP0PjFNpYXlVWm_3LU4D9lOwXAHI0MPEZLMcwHrRpgbDC8lqJzXAg/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_1069.jpeg" width="599" /><br />
<br />
and in my case I need to connect to a PDB called <strong>dw2pdb2</strong> on the same server accessed via the listener port 1521, the username is <strong>sh</strong> and the password is <strong>sh</strong>. The only non-obvious entry is the default.driver which is <strong>oracle.jdbc.driver.OracleDriver</strong>. As before, the last task is to add an artifact [sic] that points to the location of the Oracle JDBC file. In this case I have pointed to the 12c Release 2 driver stored in the ../zeppelin/intepreter/jdbc folder.<br />
<br />
Once you have entered the configuration settings, hit Save and your form should look like this:<br />
<br />
<img alt="Fullsizeoutput 106b" border="0" height="283" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkeylqiGsRF1LjaLmKd88670mAffwdhB07ETWyvVfCrp4f1M5GTpzn3ldEpgMcfpBIcybn9Hl1vfyciA4-9VANl7WJoO-41ptgLIaFteoBe8jF0K-YUn6P_n_fMjd8Qc3q2hq-bMOXV68/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_106b.jpeg" width="599" /><br />
<br />
<br />
<h3>
Testing your new interpreter</h3>
To test the your interpreter will successfully connect to your database/pdb and run a SQL statement we need to create a new notebook. Go back to the home page and click on the “Create new note” link in the list on the left side of the screen.<br />
<br />
<img alt="Fullsizeoutput 1073" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQFTk4cU-wCktbjBKR9KP-ce713_fYS-jNK0P0QNr8yWzxUMBn98SVoXhoIqCUeMVh-QYrPPvnogGVoVAv-eL45ijq0_s6_NFsaO5vQaiWawXBHe8SCfMfXM2EQ8TT51UIr0zRiENrJoU/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_1073.jpeg" width="550" /><br />
<br />
Enter a name for your new note:<br />
<br />
<img alt="Fullsizeoutput 1072" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEibbBB6Ps22oYrsC3Ofcn8K7LD_Kp-p2nXLer3uXrpycSexl6ySckxfFYvpsxZZgWyEGIrV6VrVUv0kQ78riDd9kA7WJ_K17-buJYm5IndNFmEkBLuMPXTwcHx039QhUmf3WA2_IpcPCXc/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_1072.jpeg" width="550" /><br />
<br />
which will bring you to the notebook screen which is where you write your scripts - in this case SQL statements. This is similar in layout and approach as many worksheet-based tools (SQL Developer, APEX SQL Worksheet etc etc). If you are using version 0.6.x of Zeppelin then you can bypass the following…<br />
<br />
If you are using version 0.7.x then we have to bind our SQL interpreter (osql) to this new note which will allow us to run SQL commands against the sh schema. To add the osql interpreter simply click on the gear icon in the top right-hand side of the screen:<br />
<br />
<img alt="Fullsizeoutput 1070" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIuOjeql7XhV1rdHkLi7AmWSfHciEZGp2N3TAN-VGCTGvNx1gDf4rkJhkxPHE506Ak68u_juH8cy7LlPePg6GAz6sH6dxaT7mGipxf-FlPWoQOqoL8vfu3C13mLmvlMaJBZC44NYig1ak/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_1070.jpeg" width="550" /><br />
<br />
this will then show you the list of interpreters which are available to this new note. You can switch interpreters on and off by clicking on them and for this example I have reduced the number of interpreters to just the following: markup (md), shell scripting (sh), file management (file), our Oracle SH pdb connection (osq) and jdbc connections (jdbc). Once you are done, click on the “<strong>Save</strong>” button to return to the note.<br />
<br />
I will explain the layout the of the note interface in my next post. For the purposes of testing the connection to my pdb I need to use the “osql” interpreter and give it a SQL statement to run. This is two-lines of code as shown here <br />
<br />
<img alt="Fullsizeoutput 1077" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_vYi_F5l7BjxuAxz0-SFrwMN5SPRKoDxsI7XEzIOseAFR1GLpO0bUqt5NIAErt-ECbviNLDH3qaY96YHEf6GatWBjANSOSJgQXXNkeXWwnBhuPIFm7tW6y-ot9jh5elv2AO7JSRzp0IU/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_1077.jpeg" width="400" /><br />
<br />
On the right side of the screen there is a triangle icon which is will execute or “Run” my SQL statement:<br />
<blockquote>
<pre>SELECT sysdate FROM dual</pre>
</blockquote>
<br />
<img alt="Fullsizeoutput 1079" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWV2Xaq7Fk8PKnslmgbnf_4GPwvi6ai7LuXQv9zxRThD-WXw79ghrEDULveCm6pqgmbx3cvxGs3-TX4W7Q-GO7x7mo7DqNz8agsoqqLeuvLDLNq7ShdWy_sKFGkBgezGeFrwj6wgf14zs/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_1079.jpeg" width="400" /><br />
<br />
note that I have not included a semi-colon (;) at the end of the SQL statement! In version 0.6.2 if you include the semi-colon (;) you will get a java error. Version 0.7x is a little more tolerant and does not object to having or not having a semi-colon (;).<br />
<br />
Using my Virtualbox environment the first time I make a connection to execute a SQL statement the query takes 2-3 minutes to establish the connection to my PDB and then run the query. This is true even for simple queries such as SELECT * FROM dual. Once the first query has completed then all subsequent queries run in the normal expected timeframe (i.e. around the same time as executing the query from within SQL Developer).<br />
<br />
Eventually, the result will be displayed. By default, output is shown in tabular layout (as you can see from the list of available icons, "<i>graph-based layouts are also available</i>"<br />
<br />
<img alt="Fullsizeoutput 1078" border="0" height="146" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQssIazF0rlLu87e2IWT0gjJowsgUo-eLwv0BI23KCBFjKht5cxk85rxmfnSNbXIN7UBo_anNmlzsNnCfiIx0wsztmGd2IBVqnLHo_iVkk7O59EjqXbSedVeGAP-7ofokq1NOIyzjM0k4/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_1078.jpeg" width="277" /><br />
<br />
…and we have now established that the connection to our SH schema is working.<br />
<br />
<h3>
Summary</h3>
In this post we have covered the following topics:<br />
<ul>
<li>How to install Zeppelin</li>
<li>How configure and start Zeppelin</li>
<li>Finding and installing the correct Oracle JDBC drivers</li>
<li>Set up a connection to an Oracle PDB and tested the connection</li>
</ul>
As we have seen during this post, there are some key differences between the 0.6.x and 0.7.x versions of Zeppelin in terms of the way interpreters (connections) are defined. Now we have a fully working environment (Zeppelin connected to my Oracle 12c Release 2 PDB which includes sales history sample schema).<br />
<br />
Therefore, in my next post I am going to look at how you can use the powerful notebook interface to access remote data files, load data into a schema, create both tabular and graph-based reports, briefing books and even design simple dashboards. Stay tuned for more information about how to use Zeppelin with Oracle Database.<br />
<br />
If you are already using Zeppelin against your Oracle Database and would like to share your experiences that would be great - please use the comments feature below or feel free to send me an email: keith.laker@oracle.com.<br />
<br />
<em>(image at top of post is courtesy of wikipedia)</em><br />
<em><br /></em>
<em><br /></em>
<!-- Technorati Tags Start -->
Technorati Tags: <a href="http://technorati.com/tag/Data%20Warehousing" rel="tag">Data Warehousing</a>, <a href="http://technorati.com/tag/Oracle%20Database%2012c" rel="tag">Oracle Database 12c</a>, <a href="http://technorati.com/tag/Zeppelin" rel="tag">Zeppelin</a><br />
<!-- Technorati Tags End -->ASQLBaristahttp://www.blogger.com/profile/13350994132294695189noreply@blogger.com0Redwood City, CA 94065, USA37.5331558 -122.2483725999999837.482789800000006 -122.32905359999998 37.5835218 -122.16769159999998tag:blogger.com,1999:blog-7176801629635494688.post-49991131483893794252017-04-20T16:09:00.003+01:002017-05-17T15:01:04.939+01:00Using Apache Zeppelin Notebooks with your Oracle Data Warehouse <img alt="Zeppelin NT DSC 9550" border="0" height="417" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjY1j1PQ3_gz1u_Q9Qxo2KZbAtRo-5baESytQNYMN658APNKVyZc2ocsbrgNnuzclzUqn4J6Dn7qjhwk4EaYab_sxYgnqHmYmY6FXHhTrzfsksOCq3Zjnn69LUlyqOPJ3rg-jmwFYz0WyE/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="Zeppelin_NT-DSC_9550.jpg" width="599" /><br />
<br />
Over the past couple of weeks I have been looking at one of the Apache open source projects called <b>Zeppelin</b>. It’s a new style of application called a “<strong><em>notebook</em></strong>” which typically runs within your browser. The idea behind notebook-style applications like Zeppelin is to deliver an adhoc data-discovery tool - <em>at least that is how I see it being used</em>. Like most notebook-style applications, Zeppelin provides a number of useful data-discovery features such as:<br />
<ul>
<li>a simple way to ingest data</li>
<li>access to languages that help with data discovery and data analytics</li>
<li>some basic data visualization tools</li>
<li>a set of collaboration services for sharing notebooks (<em>collections of reports</em>)</li>
</ul>
Zeppelin is essentially a scripting environment for running ordinary SQL statements along with a lot of other languages such as Spark, Python, Hive, R etc. These are controlled by a feature called “interpreters” and there is a list of the latest interpreters available <a href="https://zeppelin.apache.org/#new-interpreters">here</a>.<br />
<br />
A good example of a notebook-type of application is <a href="https://www.rstudio.com/">R Studio</a> which many of you will be familiar with because we typically use it when demonstrating the R capabilities within <a href="http://www.oracle.com/technetwork/database/options/advanced-analytics/index.html"><strong>Oracle Advanced Analytics</strong></a>. However, R Studio is primarily aimed at data scientists whilst Apache Zeppelin is aimed at other types of report developers and business users although it does have a lot of features that data scientists will find useful.<br />
<h3>
Use Cases</h3>
What’s a good use case for Zeppelin? Well, what I like about Zeppelin is that you can quickly and easily create a notebook<em>, or workflow</em>, that downloads a log file from a URL, reformats the data in the file and then displays the resulting data set as a graph/table.<br />
<br />
Nothing really earth-shattering in that type of workflow except that Zeppelin is easy to install, it’s easy to setup (once you understand its architecture), and it seems to be easy to share your results. Here’s a really simple workflow described above that I built to load data from a file, create an external table over the data file and then run a report:<br />
<br />
<img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLYg1j7EnR1sTJHoZoH86pjxP_ZGL8OWf3EE2hdpu0sQ_pMzdeYsTh5IMRuk6tqXZwIhQPtX0Z2BI9Gp64HjCUwaM4niZN5ZsG5xX6xkReus_hyMjh353WcpYS5K_pytNTtaXtBvZn7NI/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="First-Workflow.jpeg" width="600" /><br />
<br />
This little example shows how notebooks differ from traditional BI tools. Each of the headings in the above image (<em>Download data from web url, Create directory to data file location, Drop existing staging table</em> etc etc) is a separate paragraph within the “Data Access Tutorial” notebook.<br />
<br />
The real power is that each paragraph can use a different language such as SQL, or java, shell scripting or python etc etc. In the workbook shown above I start by running a shell script that pulls a data file from a remote server. Then using a SQL paragraph I create a directory object to access the data file. The next SQL paragraph drops my existing staging table and the subsequent SQL paragraph creates the external table over the data file. The final SQL paragraph looks like this:<br />
<blockquote>
<pre>%osql</pre>
<pre>select * from ext_bank_data</pre>
</blockquote>
<pre> </pre>
where %osql tells me the language, or interpreter, I am using which in this case is SQL connecting to a specific schema in my database.<br />
<h3>
Building Dashboards </h3>
You can even build relatively simple briefing books containing data from different data sets and even different data sources (Zeppelin supports an ever growing number of data sources) - in this case I connected Zeppelin to two different schemas in two different PDBs:<br />
<br />
<img alt="Screenshot or Zeppelin Dashboard Report" border="0" height="209" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMLboBDLhJQrHgAeIBwjlXLzeXWLKCZJx-4bc1rWnr3Jlyp-DV0OS4jq05Xt3_N38m9k1BNpYPBllxKjzNxq29RkpkAEjn74Q5bzr-0OD8t2tAp4HRNVmEP7PhJoRCUiLGBvjYL82F1Ig/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="Dashboard2.jpg" width="598" /><br />
<br />
What’s really nice is that I can even view these notebooks on my smartphone (iPhone) as you can see below. The same notebook shown above appears on my iPhone screen in a vertical layout style to make best use of the screen real estate:<br />
<br />
<br />
<img alt="Zeppelin Report Running on iPhone7 Plus" border="0" height="337" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgpOcp5yCSjea01H8fRX-K2Igb0EhyphenhyphenbETdF_40A-kAeANdocOl-kZXw4gYbIZrLiW0hqN_cyHLoF8Bbj6UfrNTK_bF8bOPsAsleQFuLzDHkLq6IxZGdX4R05GarzgLE5rw6eVm0vhY0J1k/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="IMG_0027.PNG" width="599" /><br />
<br />
<br />
I am really liking Apache Zeppelin because it’s so simple to setup (I have various versions running on Mac OSX and Oracle Linux) and start. It has just enough features to be very useful and not overwhelming. I like the fact that I can create notebooks, or reports, using a range of different languages and show data from a range of different schemas/PDBs/database alongside each other. It is also relatively easy to share those results. And I can open my notebooks (reports) on my iPhone.<br />
<h3>
Visualizations</h3>
There is a limited set of available visualizations within the notebook (report) editor when you are using a SQL-based interpreter (connector). Essentially you have a basic, scrollable table and five types of graph to choose for viewing your data. You can interactively change the layout of the graph by clicking on the “<strong>settings</strong>” link but there are no formatting controls to alter the x or y labels - if you look carefully at the right-hand area graph in the first screenshot you will probably spot that the time value labels on the x-axis overlap each other.<br />
<br />
<h3>
Quick Summary</h3>
Now, this may be obvious but I would not call Zeppelin a data integration tool nor a BI tool for reasons that will become clear during the next set of blog posts.<br />
<br />
Having said that, overall, Zeppelin is a very exciting and clever product. It is relatively easy to setup connections to your Oracle Database, the scripting framework is very powerful and there are visualization features are good enough. It's a new type of application that is just about flexible enough for data scientists, power users and report writers.<br />
<h3>
What’s next?</h3>
In my next series of blog posts, which I aiming to write over the next couple of weeks, I will explain how to download and install Apache Zeppelin, how to setup connections to an Oracle Database and how to use some of the scripting features to build reports similar to the ones above. If you are comfortable with writing your own shell scripts, SQL scripts, markup scripts for formatting text then Zeppelin is very flexible tool.<br />
<br />
<br />
<br />
If you are already using Zeppelin against your Oracle Database and would like to share your experiences that would be great - please use the comments feature below or feel free to send me an email: <a href="mailto:keith.laker@oracle.com"><strong>keith.laker@oracle.com</strong></a>.<br />
<br />
<em>(image at top of post is courtesy of wikipedia)</em><br />
<em><br /></em>
<!-- Technorati Tags Start -->
Technorati Tags: <a href="http://technorati.com/tag/Analytics" rel="tag">Analytics</a>, <a href="http://technorati.com/tag/Data%20Warehousing" rel="tag">Data Warehousing</a>, <a href="http://technorati.com/tag/Database%2012c" rel="tag">Database 12c</a>, <a href="http://technorati.com/tag/SQL%20Analytics" rel="tag">SQL Analytics</a><br />
<!-- Technorati Tags End -->ASQLBaristahttp://www.blogger.com/profile/13350994132294695189noreply@blogger.com0Redwood City, CA 94065, USA37.5331558 -122.2483725999999837.482789800000006 -122.32905359999998 37.5835218 -122.16769159999998tag:blogger.com,1999:blog-7176801629635494688.post-14319533490527917582017-03-21T14:31:00.004+00:002020-12-18T10:45:10.972+00:00My query just got faster - brief introduction to 12.2 in-memory cursor duration temp tables<style>
pre {
display: block;
font-family: monospace;
white-space: pre;
margin: 1em 0;
font-size: 12px
}
</style>
<br />
<table style="width: 100%;">
<tbody>
<tr>
<td align="center"><img alt="" src="https://upload.wikimedia.org/wikipedia/commons/8/8e/1968_AMC_AMX_yellow_390_auto_md-er.jpg" width="550px" />
<br>
<em>Image courtesy of wikipedia </em>
<br>
</td>
</tr>
</tbody>
</table>
<br />
This post covers one of the new SQL performance enhancements that we incorporated into <span style="color: red;"><strong>Database 12c Release 2</strong></span>. All of these enhancements are completely automatic, i.e. transparent to the calling app/developer code/query. These features are enabled by default because who doesn’t want their queries running faster with zero code changes?<br />
<br />
So in this post I am going to focus on the new <strong>In-Memory “cursor duration” temporary table</strong> feature. Let’s start by looking at cursor duration temp tables…<br />
<h2>
<span style="font-size: xx-small;">Above image courtesy of <a href="https://commons.wikimedia.org/wiki/File:1968_AMC_AMX_yellow_390_auto_md-er.jpg">wikimedia.org</a></span></h2>
<h3>
What is a cursor duration temp table?</h3>
This is a feature that has been around for quite a long time. Cursor duration temporary tables (CDTs) are used to materialize intermediate results of a query to improve performance or to support complex multi step query execution. The following types of queries commonly use cursor duration temp tables:<br />
<ul>
<li><a href="http://docs.oracle.com/database/122/SQLRF/SELECT.htm#GUID-CFA006CA-6FF1-4972-821E-6996142A51C6">WITH Clause</a> and <a href="http://docs.oracle.com/database/122/NEWFT/new_features.htm#NEWFT-GUID-F7A8ED97-5DE5-40CB-886F-4D4C5923B554">parallel recursive WITH</a></li>
<li><a href="http://docs.oracle.com/database/122/SQLRF/Expression-Lists.htm#SQLRF52099">Grouping Sets</a></li>
<li><a href="https://blogs.oracle.com/optimizer/entry/star_transformation">Star Transformation</a></li>
<li><a href="https://docs.oracle.com/database/122/ARPLS/DBMS_FREQUENT_ITEMSET.htm#ARPLS66411">Frequent Item Set Counting</a></li>
<li>XLATE </li>
</ul>
What happens during the query execution process, assuming CDTs are used to materialize intermediate results, is that a temporary table is created during compilation and the query is rewritten to refer to the temporary table(s). Before the actual query executes, the temporary tables are populated using “<strong>Insert Direct Load</strong>”. The required temporary segments are allocated when the data is loaded and the segment information is managed within the session for the duration of the query. Obviously, the scope of data in the CDT is private to the specific query execution. There is no exposed mechanism available today that allows you to view the data within a CDT except through tracing.<br />
<h3>
So what is an In-Memory cursor duration temp table?</h3>
An In-Memory cursor duration temp table (IMCDTt) is simply where the data for a CDTs is stored in memory, which results in a “<em>significant</em>” performance boost for queries that make multiple passes over a data set or need to materialise intermediate results. The switch to using in-memory tables means that your queries should see a reduction in I/O since each pass-over the data set does not incur additional I/O operations to access that data.<br />
There maybe times when there is insufficient memory available to load all the data, so what happens in these situations? When this does happen then we use local (private) temp segments will be allocated to store the excess data and when an in-memory cursor duration temp table is queried it will query both the memory and the private temp segments to return the data.<br />
<h3>
Will all my queries use this new feature?</h3>
Our internal algorithms determine when and how this new feature is used. At the moment only serial queries that make multiple passes over a data set or queries that need to materialize intermediate results will use this feature. Don’t be concerned if your queries do not end up using these new in-memory cursor duration temp tables. There is nothing you can do to force their use within a query. The point of this post is to simply make you aware of a new term that could, potentially, appear in your explain plans. Obviously, going forward we will explore the possibility of expanding the scope of this feature to cover other types of queries.<br />
<h3>
Do I need to license database in-memory option?</h3>
No. There is no need to license the costed Database In-Memory option. Of course, if you are using the Exadata and Database Cloud services then really useful analytical options such as advanced analytics (data mining, machine learning), spatial and graph analytics and in-memory are included in most of the service prices. If that isn’t good enough reason to move to the Oracle Cloud then I don’t know what is!<br />
<h3>
Where does the memory come from?</h3>
In broad general terms the memory used by In-Memory “cursor duration” temporary tables comes from the PGA pool. Does this mean you might need to increase the size of your PGA memory area? As usual, “it depends…..” on a lot of different factors including whether you have a lot of queries today that use cursor duration temporary tables and which are likely to switch over to using the new in-memory cursor duration temporary tables. All I can say is: monitor your usage of PGA and determine if you need to increase the size of your PGA because you are running out of resources. Of course, if a query cannot allocate sufficient memory to use in-memory cursor duration” temporary tables it will simply revert back to using the pre-12.2 cursor duration” temporary tables.<br />
That’s the background stuff all covered so now we can look at a couple of SQL code examples to see how this all works in practice.<br />
<h2>
Sample Schema</h2>
Let’s look at a simple query using the sales history sample schema (to download this sample schema goto the <a href="http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html"><strong>database downloads page</strong></a> on OTN, find your operating system and click on the “<strong>See All</strong>” link, then scroll down until you find the download link for the “<em>Oracle Database xxxxx Examples</em>”. Finally, follow the <a href="https://docs.oracle.com/database/121/COMSC/installation.htm#COMSC00002"><strong>installation instructions in the Oracle Documentation</strong></a> to install the SH schema into your database instance).<br />
Alternatively you can access the sales history schema using our new web-based <a href="https://livesql.oracle.com/apex/f?p=590:71:111944821688734::NO:::"><strong>LiveSQL</strong></a>. You will need to create an account if you don’t already have one.<span style="font-size: 1.17em;"> </span><br />
<h2>
Example: GROUP BY with GROUPING SETS</h2>
What we want to find is the total revenue for each product and promotion during the period 01-Jan-2000 and 31-Dec-2000 along with the total sales in each channel. We can do this by using the GROUP BY GROUPING SETS feature (a very big topic for another day). Here’s the query we need to run:<br />
<blockquote>
<pre>SELECT /*+MONITOR */
p.prod_category,
x.promo_id,
c.channel_class,
t.calendar_quarter_desc,
s.time_id,
SUM(s.amount_sold)
FROM sales s, products p, promotions x, channels c, times t
WHERE s.time_id
BETWEEN to_date('1998-01-01', 'YYYY-MM-DD')
AND to_date('2000-12-31', 'YYYY-MM-DD')
AND p.prod_id = s.prod_id
AND x.promo_id = s.promo_id
AND c.channel_id = s.channel_id
AND t.time_id = s.time_id
GROUP BY GROUPING SETS
((p.prod_category, x.promo_id),
(c.channel_class, t.calendar_quarter_desc),
(p.prod_category, t.calendar_quarter_desc),
(s.time_id, t.calendar_quarter_desc))
ORDER BY 1,2,3,4,5</pre>
</blockquote>
Just to add some additional functionality to this example I am going to include a hint for parallel query and a hint that will allow me to access the real-time SQL monitoring within SQLDeveloper - for more information about this really great feature read this blog post by <a href="http://www.thatjeffsmith.com/archive/2011/06/on-real-time-sql-monitoring-and-the-monitor-hint/">ThatJeffSmith: On Real-Time SQL Monitoring and the /*+MONITOR*/ Hint</a>.<br />
The examples below are not going to showing huge performance gains simply because I am using a very small data set (the sales history sample schema) and I am running the queries in two separate VirtualBox machines on my laptop and the Big Data Lite image is also running a lot of other features, such as a complete Hadoop environment. Therefore, you just need to stay focused on the changes to I/O in the examples below.<br />
<h2>
<span style="font-size: 1.17em;">Part A, Pre 12-2: using cursor duration temp tables</span></h2>
Using the GROUPING SETS feature we will create totals for each specific combination of product category, promo_id, channel class along with quarters and months. The output is quite long because there are quite a few permutations of dimension members even in the sales history schema, so here is first block of rows returned into SQL Developer so you can get a sense of the structure of the data set that is returned. This query is running in a 12.1 Database (I am actually using one of the current release of the <a href="http://www.oracle.com/technetwork/database/bigdata-appliance/oracle-bigdatalite-2104726.html"><strong>Big Data Lite VirtualBox image</strong></a> that includes Database 12c Release 1). I have truncated the output but you can see most of the results for the first GROUPING SET of prod_id and promo_id. The query does return a lot more rows: 1,205 rows.<br />
<br />
<br />
<img alt="Output from Query 1" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgR_hXY5C1-W2tsaE0ubqP1uJhGQ2yjvUTEGD5_Wl9NGj4EKvCK4fQpqYZxseuffzdRhLdzdJUBncFlzNGlPyFiJ6UuD8K3bka4WStLpBewYKc7JIZ2wILaBCEl1H_xaoxTGGI9PF-iXks/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="Example1_dataset.jpeg" width="600px" /><br />
<br />
The monitoring report in SQL Developer for the above query looks like this:<br />
<br />
<img alt="Fullsizeoutput 1007" border="0" height="331" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzaVKTzXZ9QZW6OiSiRMnquTtBvti3QTLHTwCOI_ffu6gvDPKZrZxGwW-y6F2U02AIqZx48BfTnoIyIe1RTJlwp5ZLENXETLHr5jbCqjm_oQxqjWyD-gHevOrlRgVwpfreuQJ8fYB-M3w/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="fullsizeoutput_1007.jpeg" width="598" /><br />
<br />
<br />
We can see that there are a number of distinct blocks of work but at the top of the plan we can see the <strong>TEMP TABLE TRANSFORMATION </strong>reference followed by <strong>LOAD AS SELECT</strong> with no further keywords, which is expected because we are not using 12.2 to run this query. About half-way down the report you can see the<strong> </strong>additional<strong> LOAD AS SELECT </strong>statements against the temp table containing the base level information we need to create the various total combinations within the GROUPING SETS clause.<br />
<br />
If you want more information the <strong>temp table transformation</strong> step then there is an excellent post on the <a href="https://blogs.oracle.com/optimizer">optimizer blog</a>: <a href="https://blogs.oracle.com/optimizer/entry/star_transformation">https://blogs.oracle.com/optimizer/entry/star_transformation</a>. From the plan below you can see that our temp table is then reused during the rest of the query where we reuse the temp table to construct the various totals for each combination of dimension members.
<br /><br />
We can see that we are incurring I/O during each phase of the query: we are making 684 I/O requests and 172.6MB of I/O Bytes. Given that I am using two VMs running at the same time I don’t see much point in focusing on the actual execution time. So that’s our plan running in Database 12c Release 1.<br />
<h2>
Part B, 12.2: using in-memory cursor duration temp tables</h2>
Now let’s switch over to using our 12.2 database - I am using the latest developer <a href="http://www.oracle.com/technetwork/database/enterprise-edition/databaseappdev-vm-161299.html"><strong>VirtualBox image that is posted on OTN</strong></a>. Using this evironment we can see that if we re-run our query the result of the query , in terms of rows returned, is the same which is always great news. <br />
<br />
<br />
<img alt="Output from Query 1" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgR_hXY5C1-W2tsaE0ubqP1uJhGQ2yjvUTEGD5_Wl9NGj4EKvCK4fQpqYZxseuffzdRhLdzdJUBncFlzNGlPyFiJ6UuD8K3bka4WStLpBewYKc7JIZ2wILaBCEl1H_xaoxTGGI9PF-iXks/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="Example1_dataset.jpeg" width="600px" /><br />
<br />
Let’s take a look at the monitoring report for the same query now running in Database 12c Release 2:<br />
<br />
<img alt="SQL Developer Monitoring Report for 12-2 Query " border="0" height="329" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6aosEgI4-vNARuDwMJ0KkM46oIZMMhGhNppPrTT239ZBG_tfdrqL1dGC0xaAKaRU7ymXmBi-kZeFNhzxkCqoWLX4QeXxvvs8dx8KxLWob9S-YyjhCG5HWpm5aJySHZ26TJiSd0JtfjXU/?imgmax=1600" style="display: block; margin-left: auto; margin-right: auto;" title="12-2-QueryMonitorPlan.jpeg" width="599" /><br />
<br />
<br />
The first to notice when comparing the two monitoring plans is that we have significantly reduced the amount of I/O in 12.2. In 12.1 our relatively simple grouping set query generations 684 I/O requests and 172.6MB of I/O. Compare that with the data in the monitoring report for the same query running in 12-2 - 40 I/O requests and 9.9MB of I/O. This means that we have managed to improve the overall efficiency of our query by simply upgrading to 12.2.<br />
<br />
<span style="text-decoration: underline;">Obviously your mileage will vary according to the details of the query you are executing but that is a nice resource efficiency and performance boost that has required zero code changes and it’s completely FREE!. </span><br />
<span style="text-decoration: underline;"><br /></span>In summary, with this GROUPING SET example we have reduced the amount of I/O and the number of I/O requests through the use of in-memory cursor duration temp tables. As with the previous report, you will see continual references to “LOAD AS SELECT”, however, in 12.2 there is an additional set of keywords which identify the use of the new in-memory cursor duration temp tables:<br />
<blockquote>
<pre><strong>LOAD AS SELECT ((CURSOR DURATION MEMORY))</strong> </pre>
</blockquote>
In the bottom half of the report you should notice that the above statement covers two additional plan lines HASH (GROUP BY) and TABLE ACCESS (FULL) which reference the temp table object, however, there are no I/O operations - which confirms the use of in-memory cursor duration temp tables.<br />
<h2>
Summary</h2>
This post has covered just one of the many new SQL performance enhancements that we incorporated into Database 12c Release 2. I covered the most important features in my <a href="https://oracle.rainfocus.com/scripts/catalog/oow16.jsp?search=CON6452&search.event=oracleopenworld">presentation at last year’s OpenWorld</a>. A lot of these enhancements, including In-Memory “cursor duration” temporary tables, are completely automatic, i.e. transparent to the calling app/query and they are enabled by default because who doesn’t want their queries running faster with zero code changes? Within this release of 12.2 we are limiting their use to just serial queries of the types listed at the start of the post.<br />
<br />
Just to be absolutely clear - there are no hints or parameters you can set to force the use of In-Memory “cursor duration” temporary tables. Our internal algorithms will determine if this feature is used within your query. If In-Memory “cursor duration” temporary tables are used then you will see the following lines in your explain plans: <strong>LOAD AS SELECT (CURSOR DURATION MEMORY)</strong><br />
<br />
As I have outlined above, there are definite efficiency benefits to be gained from using this feature due to the reduction in I/O which should also improve overall query performance-<em> although your mileage will vary depending on your particular environment! </em>If you would like to share your experiences of using this new feature then please contact me via email (keith.laker@oracle.com).<br />
<br />
<br />
<!--EndFragment-->ASQLBaristahttp://www.blogger.com/profile/13350994132294695189noreply@blogger.com0