tag:blogger.com,1999:blog-81526714875956504372024-03-14T07:52:09.703-04:00DoccoLabs BlogSQL Server stuff & our product-related postsAnonymoushttp://www.blogger.com/profile/04924873994452131263noreply@blogger.comBlogger81125tag:blogger.com,1999:blog-8152671487595650437.post-12080213016422861652021-03-09T18:21:00.002-05:002021-03-09T18:21:27.866-05:00Introducing DL Network Monitor<p> Happy to introduce another free app, this time <b>focusing on Network Traffic </b>(so, not the typical database discipline)</p><p></p><div class="separator" style="clear: both; text-align: center;"><br /></div><div class="separator" style="clear: both; text-align: center;"><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwKvHRA8gN74KLPW7PZ-cZUWz8555H6LK-JQ7teM2IWmh77B_eiOADWOpx0P8wbBExfLgjrJ88DuhCZdw7DzLZ6h9Spafk61PMthP-bBCBnzOQxpvq2ik_yTYGdtGfAuCT03rfBVlCP-U/" style="margin-left: 1em; margin-right: 1em;"><img alt="" data-original-height="932" data-original-width="1724" height="346" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwKvHRA8gN74KLPW7PZ-cZUWz8555H6LK-JQ7teM2IWmh77B_eiOADWOpx0P8wbBExfLgjrJ88DuhCZdw7DzLZ6h9Spafk61PMthP-bBCBnzOQxpvq2ik_yTYGdtGfAuCT03rfBVlCP-U/w640-h346/image.png" width="640" /></a></div><br /><br /></div><p></p><p>The app is pretty straight-forward: giving the user a real-time network stats, while also aggregating the data for Totals, Max Speed and more.</p><p>For more info & downloads go here:<a href="https://doccolabs.com/index.html#products-dlnetworkmonitor" target="_blank"> https://doccolabs.com/index.html#products-dlnetworkmonitor</a></p><p>While mentioned on the site, note that you can also get this directly from the Microsoft Store. Simply search for "DL Network Monitor"</p><p><br /></p><p>Cheers,<br />-Adi</p>SQL Stripeshttp://www.blogger.com/profile/16656693032032317647noreply@blogger.com1tag:blogger.com,1999:blog-8152671487595650437.post-4091654450328318972020-05-29T21:20:00.001-04:002020-05-29T21:20:57.585-04:00New Decade - New VersionsHey there folks,<div>I wouldn't call 2020 a great year (so far), but some good things are happening:</div><div><br /></div><div>After a *long* break, I took some time to update all of the Apps to make a leap and get some refreshed features.</div><div><br /></div><div>Some of the features across all products include:</div><div><br /></div><div>All:</div><div><div>- SQL Authentication types extended to Azure/AAD</div><div>- Contact UI options updated</div><div>- Engine/Framework updates</div><div>- Launcher Dark Mode support</div></div><div>- Core Engine & Target Framework updated</div><div><br /></div><div><div>Server Repository:</div><div>- Added support for various Azure AAD Authentication</div><div>- Fixed multiple thread-related UI issues</div><div>- Fixed column conflict issues</div><div>- Modified internal default timeout</div><div>- Using Repository Database version 2.6</div><div><br /></div><div>Logger:</div><div>- Removed redundant code</div><div>- Better handling of log file writing conflicts</div></div><div><br /></div><div>As a reminder, <b>all products are completely free! </b></div><div><br /></div><div>Enjoy!</div><div><br /></div><div><br /></div><div><br /></div>SQL Stripeshttp://www.blogger.com/profile/16656693032032317647noreply@blogger.com0415 1st Ave S, Seattle, WA 98104, USA47.5986216 -122.334388847.575467542755689 -122.36872107539062 47.621775657244314 -122.30005652460937tag:blogger.com,1999:blog-8152671487595650437.post-44526369369414452202018-04-17T16:17:00.000-04:002018-04-17T17:58:53.079-04:00Here we go!<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3XDfxGnxzH_A7ut4CbTrag9fWvDE6_e6uzzE_K7w0PLhnc3dupZdWy9B04kWGLdI6wxoVUJkoBimb43h5-s2cMEvYAPEhymlPyMsAQFFUxBHIRS6m1uYoelTTpgOzThNEBJCTId3MT3Tz/s1600/Breaking-News-Logo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="151" data-original-width="600" height="80" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3XDfxGnxzH_A7ut4CbTrag9fWvDE6_e6uzzE_K7w0PLhnc3dupZdWy9B04kWGLdI6wxoVUJkoBimb43h5-s2cMEvYAPEhymlPyMsAQFFUxBHIRS6m1uYoelTTpgOzThNEBJCTId3MT3Tz/s320/Breaking-News-Logo.png" width="320" /></a></div>
<h2>
Today is a really special day! </h2>
<br />
Docco Labs has been offering a collection of unique SQL-related tools to make everybody's tasks easier when it comes to handling with data (Import, Export, Explore and more)<br />
<br />
We've started with SQL Stripes, and over the years created more apps and products, including <b><a href="http://www.doccolabs.com/products_cliptable.html">SQL ClipTable</a></b>, <b><a href="http://www.doccolabs.com/products_dbfileexplorer.html">Database Space Explorer</a> </b>, <b><a href="http://www.doccolabs.com/products_sqltablezip.html">SQL Query Zipper</a></b>, <a href="http://www.doccolabs.com/products_logtableviewer.html"><b>Log4Sql</b> </a>and <b><a href="http://www.doccolabs.com/products_superbulkcopy.html">SuperBulkCopy</a></b><br />
<br />
<h3>
As of today, all of these products are offered <span style="color: blue;">FOR FREE</span>!</h3>
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCW2pX7S-CFLD7yZaQvzdoOxcxl3yxEhAW5bkxdRxMcUu-mIgElvL5Sxjm9XC7gF1ZTd2de_SxpvPekxNdfGuKmLrDRtteHhtJTxYhnmWgwSmoUx4kAG4VeAE0yoH_VADRphx-y8xxYKn2/s1600/free.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" data-original-height="248" data-original-width="579" height="85" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCW2pX7S-CFLD7yZaQvzdoOxcxl3yxEhAW5bkxdRxMcUu-mIgElvL5Sxjm9XC7gF1ZTd2de_SxpvPekxNdfGuKmLrDRtteHhtJTxYhnmWgwSmoUx4kAG4VeAE0yoH_VADRphx-y8xxYKn2/s200/free.png" width="200" /></a>To get the free versions, simply download and install, or upgrade through your already-installed products.<br />
<br />
Hope you enjoy using our products.<br />
<br />
Feel free to share these exciting news!<br />
<br />
Best,<br />
Adi<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLPn-d2zQRtpgMKOXcjIrpFyACxaFqx-vhUMCvUhuBCOiFAOrp_ZDSiow7D5HeIcVQgTL1Hu4nOxFzIX0ni12wEnUKyqI5DWofIXKHaa2smqImN7QaCucLEs2g5UniiGDTQ5w3BRlJWRuH/s1600/BundleLogo2.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" data-original-height="485" data-original-width="573" height="168" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiLPn-d2zQRtpgMKOXcjIrpFyACxaFqx-vhUMCvUhuBCOiFAOrp_ZDSiow7D5HeIcVQgTL1Hu4nOxFzIX0ni12wEnUKyqI5DWofIXKHaa2smqImN7QaCucLEs2g5UniiGDTQ5w3BRlJWRuH/s200/BundleLogo2.png" width="200" /></a></div>
<br />Anonymoushttp://www.blogger.com/profile/04924873994452131263noreply@blogger.com0tag:blogger.com,1999:blog-8152671487595650437.post-70305565152481031872018-04-06T18:45:00.000-04:002018-04-06T18:45:02.987-04:00Big News coming soon<h3 style="text-align: center;">
<span style="font-weight: normal;">There are new versions in the pipeline, along with some </span><span style="color: purple;">very exciting news</span><span style="font-weight: normal;">. </span></h3>
<h3 style="text-align: center;">
<span style="font-weight: normal;">Stay tuned!</span></h3>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0Ygll2lCreoI5KmJnbxqYBDziy058yGSISeubnJaeZ6rhoR4Xbbp5znIl5DWlmYsmwMf-GkNSFQuS01XcelT09iRQ1tSz3Wc4e1pUXEhv7Q7UF-jW09xwLMg7BdpO88YztyxixQh9vhzm/s1600/DoccoLabs_Icon_Logo_BusinessCard_green_rounded.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="256" data-original-width="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0Ygll2lCreoI5KmJnbxqYBDziy058yGSISeubnJaeZ6rhoR4Xbbp5znIl5DWlmYsmwMf-GkNSFQuS01XcelT09iRQ1tSz3Wc4e1pUXEhv7Q7UF-jW09xwLMg7BdpO88YztyxixQh9vhzm/s1600/DoccoLabs_Icon_Logo_BusinessCard_green_rounded.png" /></a></div>
<br />Anonymoushttp://www.blogger.com/profile/04924873994452131263noreply@blogger.com0tag:blogger.com,1999:blog-8152671487595650437.post-18157527210701448092017-04-06T15:04:00.000-04:002017-04-06T15:04:20.526-04:00SuperBulkCopy (Major) Refresh<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg76xEzKu6uUOAyEnu6bp5hNryzDIXRB2mxUk7fT7Mi03OPqQeEsl8sJUmL7-xWkI_uKyDSrsmLOe1i0nCC4eFgjcNA-G65MN90upbNtovwuTmc7yQnZnENihRRQhz95WR-_EJIcXEJdJmF/s1600/sbcp_04-2017-capture.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="420" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg76xEzKu6uUOAyEnu6bp5hNryzDIXRB2mxUk7fT7Mi03OPqQeEsl8sJUmL7-xWkI_uKyDSrsmLOe1i0nCC4eFgjcNA-G65MN90upbNtovwuTmc7yQnZnENihRRQhz95WR-_EJIcXEJdJmF/s640/sbcp_04-2017-capture.JPG" width="640" /></a></div>
<br />
<br />
<a href="http://www.doccolabs.com/products_superbulkcopy.html">SuperBulkCopy </a>(and the command-line sbcp) is one of our newest (free) which comes to replace the traditional usage of both 'BULK INSERT' and 'bcp' with something much more powerful, yet simple.<br />
<br />
If you've ever worked with either, trying to turn text-based files into a SQL Table, you are probably quite aware of the various limitations. SuperBulkCopy was written to overcome those limitations and provide a quick working solution.<br />
<br />
OK, so that was the quick refresh. Now, there's a new version which just came out, and in addition to the <a href="http://www.doccolabs.com/products_superbulkcopy.html">existing abilities</a>, it introduces the following:<br />
<br />
<h4>
- Gzip support! You can now bulk import directly from a .gz file </h4>
This is a big one -> often the input files are compressed and traditional import tools usually require a preliminary step of uncompromising everything to a different folder.<br />
SuperBulkCopy will detect those compressed files and will extract the stream in-memory, quickly importing the uncompressed data.<br />
<br />
<h4>
- Wildcard support! Now supporting wildcard* input files</h4>
Have multiple files in a folder which all needs to be imported? No problem -> the wildcard feature will take care of achieving it all in a single run. Whether to the same table or different tables.<br />
If you wish to use different table names, see the item below!<br />
<br />
<h4>
- Output table pattern support! </h4>
This feature helps you customize the output table name. Based on input file names, dates, unique id's and more.<br />
The supported patterns are:<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>%ifn -> Input Filename<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>%timestamp -> Timestamp (yyyy-mm-dd-hh-mm-ss)<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span>%date -> yyyy-mm-dd<br />
For example, if Output Table Name is "my_table_%ifn", and input file name is "my_file.csv" then the table will be named "my_table_my_file_csv"<br />
<br />
<h4>
<br />- Added a new custom field generation -> adding input filename as an additional field to the output table/file</h4>
This new feature allows you to add custom fields into the destination table/s.<br />
The current supported fields are:<br />
- Input Filename<br />
- Input Directory<br />
<br />
<br />
More cool things to come -- in the meantime, enjoy this new version!<br />
<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/04924873994452131263noreply@blogger.com0tag:blogger.com,1999:blog-8152671487595650437.post-38313731662906672342016-12-28T18:09:00.001-05:002016-12-28T18:09:06.652-05:00Database Space ExplorerAs part of our app renaming/re-branding - Database File Explorer is now known as Database Space Explorer. The main reason is that this product, which started being very focused on the file/filegroup usage is expanding to many other database-space related stats.<br />
<br />
With that being said, we encourage you to try out the latest version of the app - there are many new features, fixes and enhancements. For example - A "Table Popularity" view which lists table by their connection and references to/by other objects. This provides another easy way to explore large databases.<br />
<br />
Here's a screenshot:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijixfBLh30hm7gRN6y-7PEm6u_AYTjqVopY_5JD1-tZE5FTIcBLmZVLVrGgnFsveNOeTxJF71unlMhqY6IR5To1_QCt0GfgmGTjXzRd9s3kNymx_iuKyrgeOrksK-r2seE4ntKFjFFMsyp/s1600/database_space_explorer_table_popularity_screenshot.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="518" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEijixfBLh30hm7gRN6y-7PEm6u_AYTjqVopY_5JD1-tZE5FTIcBLmZVLVrGgnFsveNOeTxJF71unlMhqY6IR5To1_QCt0GfgmGTjXzRd9s3kNymx_iuKyrgeOrksK-r2seE4ntKFjFFMsyp/s640/database_space_explorer_table_popularity_screenshot.JPG" width="640" /></a></div>
<br />
<br />Anonymoushttp://www.blogger.com/profile/04924873994452131263noreply@blogger.com0tag:blogger.com,1999:blog-8152671487595650437.post-18601112411811154672016-07-13T17:07:00.000-04:002016-07-13T17:07:04.236-04:00SqlTableZip is now known as - "SQL Server Query Zipper"I think names are important. And product names specifically should indicate something about the actual product.<br />
<br />
With that in mind, "<b><a href="http://www.doccolabs.com/http://www.doccolabs.com/products_sqltablezip.html" target="_blank">SQL Server Query Zipper</a></b>" (or SQL Query Zipper in short) does a better job on explaining what the tool does - even before reading the description.<br />
<br />
There's a new version - which in addition to other enhancements, also goes by the new name.<br />
<br />
TA-DA!<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1Ped_Uqrlz0DYjbIhF70ERzzUQ56ZscqA_LmPnChjblvkvBqCQFqbj-y8hRTx3wrq4nhJI4x4JIjpPusOldWr-8YLDHTq4_4nDQjGYC1-6MdR4d8otk8lamkUv2VlfI667ZXFuWdeyEAK/s1600/sql-server-query-zipper-new-name.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="513" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1Ped_Uqrlz0DYjbIhF70ERzzUQ56ZscqA_LmPnChjblvkvBqCQFqbj-y8hRTx3wrq4nhJI4x4JIjpPusOldWr-8YLDHTq4_4nDQjGYC1-6MdR4d8otk8lamkUv2VlfI667ZXFuWdeyEAK/s640/sql-server-query-zipper-new-name.JPG" width="640" /></a></div>
<br />
The console version was also renamed and the executable is now called:<b> SSQZConsole</b>Anonymoushttp://www.blogger.com/profile/04924873994452131263noreply@blogger.com0tag:blogger.com,1999:blog-8152671487595650437.post-78860378106078283002016-05-24T15:46:00.001-04:002016-05-24T16:07:16.014-04:00SuperBulkCopy (SBCP) Walk-through Recently, We've introduced a <a href="http://www.doccolabs.com/products_superbulkcopy.html" target="_blank"><u><span style="color: #3d85c6;">free</span></u> </a>new tool called SuperBulkCopy (short name: sbcp)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqmigAVXpjUspVMKM-4ctc1r9btSFAnIeDONNGPeaGKtb7TtcrCcDy2gEDzzE-rIbZu5JG-O_OfGQkB0G8ShqW9uGFTltBjrTYJKHKMcgQ0o8DFsAejCWBb_0WmeMoMtx0XSJzD_7ZxjeP/s1600/SBCP_Logo1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqmigAVXpjUspVMKM-4ctc1r9btSFAnIeDONNGPeaGKtb7TtcrCcDy2gEDzzE-rIbZu5JG-O_OfGQkB0G8ShqW9uGFTltBjrTYJKHKMcgQ0o8DFsAejCWBb_0WmeMoMtx0XSJzD_7ZxjeP/s1600/SBCP_Logo1.png" /></a></div>
<br />
<br />
What it does is simple to explain, and yet pretty challenging to implement - it does everything we wanted BULK INSERT, BCP, or any existing flat file importer to do: Get the job done, as automatic as possible.<br />
<br />
In this post I'll provide a walk-through, with many images. Video will also become available in the future but hopefully this segment can get you up to speed as to: "Why do I REALLY need this!"<br />
<br />
Again, as mentioned above, this tool is absolutely free. So just get it and start playing!<br />
<br />
Let's begin.<br />
<br />
<h3>
Part 1: The struggle</h3>
<br />
Here's the setup - I got a fairly big file from a client, and need to turn it into a SQL Table for further analysis.<br />
<br />
I look at the file:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnqtALNqCR2ynO-5T-N4v1yLVy3VeaXoRCncsazcxGnF8lv1svEBmkErC7jVv-js3HkJJPC0PFYywPQxbg-jJZSgQ_n_FAh-_FqehksaQ2BFT7-VzzJwc8qP6CB55YNXR-t7PFG6nurLd-/s1600/001_explorer_window.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="276" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnqtALNqCR2ynO-5T-N4v1yLVy3VeaXoRCncsazcxGnF8lv1svEBmkErC7jVv-js3HkJJPC0PFYywPQxbg-jJZSgQ_n_FAh-_FqehksaQ2BFT7-VzzJwc8qP6CB55YNXR-t7PFG6nurLd-/s640/001_explorer_window.JPG" width="640" /></a></div>
<br />
It's about 1.7gb big. Thinking - already let's have a look with Notepad:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhShW7FbdR8kWTDqVKSV6C_eTRxJMlAUyuawQHnSTJcuimGu7uLyYunB6TlMLeP2EYE4s87eElzShKpi1Fv7CgD4BO4vVt3M0laEQSMaeYgaF3FXHaNoLtjSd2y-X_zTQb8p-NIlXLcVpRK/s1600/004_trying_notepad.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="376" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhShW7FbdR8kWTDqVKSV6C_eTRxJMlAUyuawQHnSTJcuimGu7uLyYunB6TlMLeP2EYE4s87eElzShKpi1Fv7CgD4BO4vVt3M0laEQSMaeYgaF3FXHaNoLtjSd2y-X_zTQb8p-NIlXLcVpRK/s640/004_trying_notepad.JPG" width="640" /></a></div>
<br />
Nah! too big. How about Notepad++?<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh67hgiAvW_AUqNEK-JVGAN3cCC795uZVlcd5HAdCfgNeCpKdMCBK8L1gtWwEoq92aqAiSOGqevlVWtYmwSzjSLqQRiu6wzJzseBQT8-mkpTCZpn8iyPNIiQ7rAgNIzDYR7K3ewGVzNhlaJ/s1600/006_trying_npp.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="316" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh67hgiAvW_AUqNEK-JVGAN3cCC795uZVlcd5HAdCfgNeCpKdMCBK8L1gtWwEoq92aqAiSOGqevlVWtYmwSzjSLqQRiu6wzJzseBQT8-mkpTCZpn8iyPNIiQ7rAgNIzDYR7K3ewGVzNhlaJ/s640/006_trying_npp.JPG" width="640" /></a></div>
<br />
Nope. The same thing.<br />
<br />
OK, next step -- I do know (and we'll see this in a moment) that this file has mixed data types, and everything is wrapped with "quotes". Also - it has headers, which eliminates the ability for either BULK INSERT or BCP to handle it correctly.<br />
So we'll do the next natural thing and jump right into the "Text Import Wizard", or use SSIS directly. (Same engine anyway)<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYK6d_43Lfx2X_GFf3s_bu0hZIfUMbSi2cCNP8ozKFy4P0VM91aMUxeclOOggVYwsADdmZ2eZANu8m3p_AgSTpKV7v0GYWCw7sOxrTWmOOJv1WXcd8iIVPylR_9A5F0UuGjdlX8DVKUHjE/s1600/012_data_import_wizard_text_qualifier.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhYK6d_43Lfx2X_GFf3s_bu0hZIfUMbSi2cCNP8ozKFy4P0VM91aMUxeclOOggVYwsADdmZ2eZANu8m3p_AgSTpKV7v0GYWCw7sOxrTWmOOJv1WXcd8iIVPylR_9A5F0UuGjdlX8DVKUHjE/s1600/012_data_import_wizard_text_qualifier.JPG" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Loaded the file, with the correct delimiters, as well as specified the Text Qualifier - A quick preview indicates we're almost good to go:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOGVO8wkJlFwucBQpqKoEeq0AMlC_slkoQf-TLDJb5M7CVNpBTpKc6Ne3Wa7ScMvGBxmISawN7t-txHDnVorR_Fb4eRJOnqUwfTYZ61sF34b3w-kbzf7kDNfBhVLklKYdeP4NXuM6IUXOi/s1600/013_data_import_wizard_text_preview.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOGVO8wkJlFwucBQpqKoEeq0AMlC_slkoQf-TLDJb5M7CVNpBTpKc6Ne3Wa7ScMvGBxmISawN7t-txHDnVorR_Fb4eRJOnqUwfTYZ61sF34b3w-kbzf7kDNfBhVLklKYdeP4NXuM6IUXOi/s1600/013_data_import_wizard_text_preview.JPG" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Mapping the data into a new table, after also using the "Suggest Data Types" feature</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbteQE9Ql8CR3MUKSFd5J1lLdNOg7CsmZ881W_-o3pBADxQ-7L09-2_z7pWphcWQ1S7FLYs_5mznTRiYQOE3ccrKe4ysJQHF9vA88Prn17nd4MJJXvLC4u539eOJWV0SC17MGyihbA9VX7/s1600/014_data_import_wizard_looks_promising.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhbteQE9Ql8CR3MUKSFd5J1lLdNOg7CsmZ881W_-o3pBADxQ-7L09-2_z7pWphcWQ1S7FLYs_5mznTRiYQOE3ccrKe4ysJQHF9vA88Prn17nd4MJJXvLC4u539eOJWV0SC17MGyihbA9VX7/s1600/014_data_import_wizard_looks_promising.JPG" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
But - OH NO! The process has failed.<br />
<div class="separator" style="clear: both; text-align: left;">
This can be caused by so many reasons, from data truncation, into type mismatch, headers not 100% matching the field structure and more.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIayGNbQm7H0R3gADZNjk1BoXcmWfnqYY7cpYVXU1kw2hbGoXoXEn78eT7-9C-kI1wXhHVjug8sJ83vju7J-hY7tKRntZp7hTX98HbAx2MguMSn01L8Q1xPTd7cox6q8ACSnTXzeLQIE4I/s1600/017_data_import_wizard_failed_2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIayGNbQm7H0R3gADZNjk1BoXcmWfnqYY7cpYVXU1kw2hbGoXoXEn78eT7-9C-kI1wXhHVjug8sJ83vju7J-hY7tKRntZp7hTX98HbAx2MguMSn01L8Q1xPTd7cox6q8ACSnTXzeLQIE4I/s1600/017_data_import_wizard_failed_2.JPG" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Looking at the friendly logs:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlew91SucdOlM1zhZIbRIYgkUTy-66Y_iyo2r3ooCDeTaPaucirw0SU8hLPPC5KZp1BeyHP0FVGKRoc2JnkUQ5gWudqBeGiUXh3OztcexMlKC6BUq4Sok1oBcnpOJb9_tf6Ujods-VOmzf/s1600/018_data_import_wizard_fun_error_messages.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="304" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhlew91SucdOlM1zhZIbRIYgkUTy-66Y_iyo2r3ooCDeTaPaucirw0SU8hLPPC5KZp1BeyHP0FVGKRoc2JnkUQ5gWudqBeGiUXh3OztcexMlKC6BUq4Sok1oBcnpOJb9_tf6Ujods-VOmzf/s640/018_data_import_wizard_fun_error_messages.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Fun Times!</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Now, I'm not saying that everything fails, and even the ones that do are in some cases solvable after a few iterations of trial & error.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
But the question is - WHY BOTHER? Where's there is a free tool today that will do all the hard work for you?</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<h3 style="clear: both; text-align: left;">
Part 2: The Easy Way Out</h3>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Let's try to do that same thing with SuperBulkCopy.</div>
<div class="separator" style="clear: both; text-align: left;">
It's very fast and easy to use, so I'll take the time showing a few different methods of getting the job done.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Let's go! (again)</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Okay, after installing the tool, let's run it. I'm using the DoccoLabs launcher but you might as well simply run it directly from the start menu.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzhXLtyQEOEHSdcGF5OGPb1AFgllsDI0tMzhdDJ3J4xayyECAoVnaSuWLmGb7PJfGy54yfyqWbncs3H89EbjJzxVNsP4rdiZovFmO7Vf-YssjRIePTvRU8Uge1Tbpq-LeegJulgggIkxb1/s1600/020_doccolabs_launcher.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzhXLtyQEOEHSdcGF5OGPb1AFgllsDI0tMzhdDJ3J4xayyECAoVnaSuWLmGb7PJfGy54yfyqWbncs3H89EbjJzxVNsP4rdiZovFmO7Vf-YssjRIePTvRU8Uge1Tbpq-LeegJulgggIkxb1/s1600/020_doccolabs_launcher.JPG" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Okay - now it's loaded.</div>
<div class="separator" style="clear: both; text-align: left;">
On Input Settings, I choose that same file. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfQWLLrQZKeGdvxAA3CxeBiiWg8JJfkDE0rf4Tkl9KkC89SSUlCF07PF1IGb8ORpOkrBWGiGvUiXzW85GbfnCyV2t8YuNXu9HUFicisnw716iCgqZ3SNaOVYKuxI_ScZdPWDj8369m-FER/s1600/022-SuperBulkCopy-choose-file-preview-file.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="421" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfQWLLrQZKeGdvxAA3CxeBiiWg8JJfkDE0rf4Tkl9KkC89SSUlCF07PF1IGb8ORpOkrBWGiGvUiXzW85GbfnCyV2t8YuNXu9HUFicisnw716iCgqZ3SNaOVYKuxI_ScZdPWDj8369m-FER/s640/022-SuperBulkCopy-choose-file-preview-file.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Now, even before going further - there's a quick "Preview" option, regardless of file size - it will show you a sample</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtghnJQtXBqi2B20CScQ_NHRoGFOWu3NtX0R9Uwzb3AfOKB6UrV9h_bJEsDyU8nrOZzLP9nvqYHjouaepHlrWX_t8oyagizTC68dwIol3le5WxTCWqkPuUAeB7HzMSj28BH_Z_agel8D3e/s1600/023-SuperBulkCopy-choose-file-preview-file-content.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="501" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtghnJQtXBqi2B20CScQ_NHRoGFOWu3NtX0R9Uwzb3AfOKB6UrV9h_bJEsDyU8nrOZzLP9nvqYHjouaepHlrWX_t8oyagizTC68dwIol3le5WxTCWqkPuUAeB7HzMSj28BH_Z_agel8D3e/s640/023-SuperBulkCopy-choose-file-preview-file-content.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Yep, Looks great!</div>
<div class="separator" style="clear: both; text-align: left;">
Now, there's not a lot to do: Simply defining the Destination SQL Server connection. I'll even ignore the fine-tuning options and simply let it run.</div>
<div class="separator" style="clear: both; text-align: left;">
(Note: for the demo I've only imported part of the file, which is another feature, but one can easily import the entire content)</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-G5cpVMZmiLHueBVMtfiXI72kPIkAIRR6MHJIh6OhmCvVojP-S0exDAAw-RuApkCn20CMuPETPUUyUaTulIDGNp-KHEQZ7sLDGP1HIrNbAf_CGiely0Yd7849_IdfM31Qp_PWtGwJzy3f/s1600/025-SuperBulkCopy-Completed.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="421" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-G5cpVMZmiLHueBVMtfiXI72kPIkAIRR6MHJIh6OhmCvVojP-S0exDAAw-RuApkCn20CMuPETPUUyUaTulIDGNp-KHEQZ7sLDGP1HIrNbAf_CGiely0Yd7849_IdfM31Qp_PWtGwJzy3f/s640/025-SuperBulkCopy-Completed.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
So - completed. Let's go check the table in SSMS:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj2o1vhqN-sp3Px0D5r5sn9j5bxSymS8njOnC3B155zUwvdhEZNXjsnEooMQ96Qd2NUkEBMEK61d3STw1dCY2mUKQr3MZ6tVu4k9Gd3cebYADLwbiJwBRbzqxGkweEMrDbBws2qcnUcHwJ/s1600/027_SuperBulkCopy-SSMS-table-view.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="387" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgj2o1vhqN-sp3Px0D5r5sn9j5bxSymS8njOnC3B155zUwvdhEZNXjsnEooMQ96Qd2NUkEBMEK61d3STw1dCY2mUKQr3MZ6tVu4k9Gd3cebYADLwbiJwBRbzqxGkweEMrDbBws2qcnUcHwJ/s640/027_SuperBulkCopy-SSMS-table-view.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
It's right there. Looking at the table definitions even shows that the best data-types were used:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK93DwjxrkO7PvOsQpqW_KOR_s2wLSsMvZd_VOMr9vQXl2abSXtrPfJ8TRKrLxbvmUE-o4UMM1KRxjSTO7MmDbriiCo7X3hLgX78jb4S3Fo5HXnhKUZanQt0zDsFw1CbZqjnmWluWS_4xw/s1600/027_SuperBulkCopy-SSMS-table-definition-view.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjK93DwjxrkO7PvOsQpqW_KOR_s2wLSsMvZd_VOMr9vQXl2abSXtrPfJ8TRKrLxbvmUE-o4UMM1KRxjSTO7MmDbriiCo7X3hLgX78jb4S3Fo5HXnhKUZanQt0zDsFw1CbZqjnmWluWS_4xw/s1600/027_SuperBulkCopy-SSMS-table-definition-view.JPG" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Basically, we're done.</div>
<div class="separator" style="clear: both; text-align: left;">
But I want to spend another minute of showing you how SuperBulkCopy can run just as easily as a console-app from command line.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
After setting all the relevant input-output configuration for this demo, we can <b>save</b> the configuration for later use.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
In our case, the configuration looks like this:</div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-size: xx-small;"><br /></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><?xml version="1.0" encoding="UTF-8" ?></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><config></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> <input></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> <Filename>c:\temp\text_samples\big_file_with_quoted_identifiers_20160301.tsv</Filename></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> <AutoDetectHeaders>True</AutoDetectHeaders></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> <AutoGuessDelimiters>True</AutoGuessDelimiters></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> </input></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> <output></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> <TableName>test1</TableName></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> <OptimizeDataTypes>True</OptimizeDataTypes></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> <ConnectionString>Data Source=127.0.0.1;Initial Catalog=tempdb;Integrated Security=True;</ConnectionString></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> <DropTableIfExists>True</DropTableIfExists></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> </output></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"> <AllowAsyncDataWrite>True</AllowAsyncDataWrite></span></div>
<div class="separator" style="clear: both;">
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"></config></span></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<br />
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
And I can save it using the main menu.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr_RoNCJHVneY0e0T3Oi19rpJ_j0zELALvFLAwl8We-EK-QPqLvVjcu3wL3wGZHFRrfiF047xViN_P90C8ZjlCnl3AxH4aS9EV2szgQKUrEAkdcUbmmqFSJfOg0bVM92g-ypqDHUWUYr1w/s1600/029_SuperBulkCopy-config-save.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="262" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjr_RoNCJHVneY0e0T3Oi19rpJ_j0zELALvFLAwl8We-EK-QPqLvVjcu3wL3wGZHFRrfiF047xViN_P90C8ZjlCnl3AxH4aS9EV2szgQKUrEAkdcUbmmqFSJfOg0bVM92g-ypqDHUWUYr1w/s640/029_SuperBulkCopy-config-save.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Now - I can start using sbcp.exe</div>
<div class="separator" style="clear: both; text-align: left;">
Of course, instead of generating the XML file, I could write it myself. Typing sbcp.exe /? provides all the essential information of how to build a configuration file.</div>
<div class="separator" style="clear: both; text-align: left;">
Alternatively, everything *can* be done with simple command-line arguments but I find XML option to be more clear and easy to understand.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
So, now let's open a command window and direct sbcp.exe to the configuration file:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDPgghdGfp8aHT7CAwMJ1TUEnaoQyYQiu-ttgcMOB8z3RAk8Gb91DT85NOoVcvzHGI6jkhOZtACGEb06i0Hd4vdhZLhCP_liLFXdA8hm3kxcusLy_88W43gUs6H0G7Bm0IoCOpwJyVKadV/s1600/030_sbcp_command_line_args.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDPgghdGfp8aHT7CAwMJ1TUEnaoQyYQiu-ttgcMOB8z3RAk8Gb91DT85NOoVcvzHGI6jkhOZtACGEb06i0Hd4vdhZLhCP_liLFXdA8hm3kxcusLy_88W43gUs6H0G7Bm0IoCOpwJyVKadV/s1600/030_sbcp_command_line_args.JPG" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
And here are the results:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP-6K0AOx96M7Fmi7WvEq7e8jvrrcepBfuPLWTmyx30a_IgT1UZRA_JzvQT9x8Dg5ju8OHUb3YDA6qFoDrZg_GQ3P3HN2HGg1c3B_n7BJ3RmF80HG8Bmb2SjTLrhLvMy_ZBqk0wum48bVm/s1600/031_sbcp_command_line_results.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgP-6K0AOx96M7Fmi7WvEq7e8jvrrcepBfuPLWTmyx30a_IgT1UZRA_JzvQT9x8Dg5ju8OHUb3YDA6qFoDrZg_GQ3P3HN2HGg1c3B_n7BJ3RmF80HG8Bmb2SjTLrhLvMy_ZBqk0wum48bVm/s1600/031_sbcp_command_line_results.JPG" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Basically - the exact same result as the UI version produces. Only here - the process can be fully automated. (for example, if such file arrives every day and needs to be turned into a table)</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Furthermore - this can run <b>directly from SSMS</b> by using the SQLCMD mode. Here's how</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Switch into SQLCMD Mode on the SSMS main menu:</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5pwnuRALEqWuRH7o095fU4o1SVDVtHXKEJw5UynQ3lXLV1Bk5NKrNeY_XfM6z3TxuBgNpp7szOb82Qs7KCseINY9hu0wvLMU97-FbsYEGknUaF5Q0Bf-7q7uYZSDU-xRfM2vrvnEobIwa/s1600/035_SSMS_switch_to_sqlcmd_mode.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="386" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi5pwnuRALEqWuRH7o095fU4o1SVDVtHXKEJw5UynQ3lXLV1Bk5NKrNeY_XfM6z3TxuBgNpp7szOb82Qs7KCseINY9hu0wvLMU97-FbsYEGknUaF5Q0Bf-7q7uYZSDU-xRfM2vrvnEobIwa/s640/035_SSMS_switch_to_sqlcmd_mode.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Now, run the same as you just did from the command line. don't forget to add the <span style="background-color: #cccccc;">!!</span> indicator.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOmxT-zVq1J6MUa6Zizw3S-HbwdL5xD1YkNyR0y1yjU2xvuq_Q2IjJnXawItIWGG05QHRFia0vjHTNdmTPavyRZ8n00nx5XA7UAfZenyOoAOVU3EABZyhdTyln8yg-sPprNQ_dzEk0p1LO/s1600/038_SSMS_sqlcmd_mode_execution.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="387" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjOmxT-zVq1J6MUa6Zizw3S-HbwdL5xD1YkNyR0y1yjU2xvuq_Q2IjJnXawItIWGG05QHRFia0vjHTNdmTPavyRZ8n00nx5XA7UAfZenyOoAOVU3EABZyhdTyln8yg-sPprNQ_dzEk0p1LO/s640/038_SSMS_sqlcmd_mode_execution.JPG" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<h3 style="clear: both; text-align: left;">
Part 3: Conclusions</h3>
<div class="separator" style="clear: both; text-align: left;">
In short, SuperBulkCopy can easily get into flat-file input into your SQL Server. It does a lot such as detecting headers, delimiters, data-types and more.</div>
<div class="separator" style="clear: both; text-align: left;">
It's a free tool that can potentially turn this annoying task into a rather easy one.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
You can get it from this line: <a href="http://www.doccolabs.com/products/superbulkcopy">http://www.doccolabs.com/products/superbulkcopy</a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
---</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Have anything to add? Let us know! (comments, twitter mentions, emails or whatever channel you like best)</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaUc5N7jCwmc2e21ySwE3HsZ4RDnR5D0zqDgL2-bBG5TRl2XP-TjQbScM0aI6hnYwQXXZHmAmDErH8-hOUV2Q8m8JL5v0fkgDaxsJhEEPXsxLTAxLCLQXfNCLn3Yz856GpRCOmPv3JmlGJ/s1600/SBCP_Logo1.jpg" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjaUc5N7jCwmc2e21ySwE3HsZ4RDnR5D0zqDgL2-bBG5TRl2XP-TjQbScM0aI6hnYwQXXZHmAmDErH8-hOUV2Q8m8JL5v0fkgDaxsJhEEPXsxLTAxLCLQXfNCLn3Yz856GpRCOmPv3JmlGJ/s200/SBCP_Logo1.jpg" width="192" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
Anonymoushttp://www.blogger.com/profile/04924873994452131263noreply@blogger.com0tag:blogger.com,1999:blog-8152671487595650437.post-24946222542541835692016-05-19T12:12:00.003-04:002016-08-10T18:34:19.306-04:00SQL Stripes is now FREE (Going EOL)<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMX538iYNvZueCgZsCngdRIkWOmiFT-JaEORucqlwF0MPDe0THcWgLC_joIBnwBDaGrDsAkeJaafDW07eYQv0h8GtEzpITbST64jjY46l_5wisAvTAYauCSExNjs93TE6WPbvj90RvB0j_/s1600/SQLStripes_Logo1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMX538iYNvZueCgZsCngdRIkWOmiFT-JaEORucqlwF0MPDe0THcWgLC_joIBnwBDaGrDsAkeJaafDW07eYQv0h8GtEzpITbST64jjY46l_5wisAvTAYauCSExNjs93TE6WPbvj90RvB0j_/s1600/SQLStripes_Logo1.png" /></a></div>
<br />
<br />
It feels a bit awkward to say it, but SQL Stripes - the first product that ever came out of DoccoLabs, is reaching its <span style="color: blue;">End-Of-Life.</span><br />
<br />
As SQL Stripes is getting old, and after a lot of considerations I've decided to not write a new "similar" product mostly due to the ROI given a growing number of other monitoring tools out there.<br />
<br />
SQL Stripes, like all of the other products was written with love and passion to making the SQL Server users' life easier.<br />
It was written out of need, and served many customers. (And still does to this day)<br />
<br />
For existing users who get what they need from the product - feel free to working with this but keep in mind that there will be no more future releases, fixes or any sort of support around it.<br />
<br />
In addition, We're making SQL Stripes <b>free</b>! If you would like to keep working with it after the trial is over (or even before it expires), send me an email and I'll send you an activation key.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3qHg5BuBp5qLnBymDpd4iMG8SeaYtFPxXoTP8hdppYWB_sZ8ld9g5P-dyb6AGwUVBmiKnJME2NTglfzGNDxx0p3kJiDD-zINtygPwqIvpmLPRAtyQ5nCZNWuN_ezdqyam22FdK8WHGQcM/s1600/sqlstripes_screenshot_databaseinfo.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="SQL Stripes Screenshot" border="0" height="397" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3qHg5BuBp5qLnBymDpd4iMG8SeaYtFPxXoTP8hdppYWB_sZ8ld9g5P-dyb6AGwUVBmiKnJME2NTglfzGNDxx0p3kJiDD-zINtygPwqIvpmLPRAtyQ5nCZNWuN_ezdqyam22FdK8WHGQcM/s640/sqlstripes_screenshot_databaseinfo.jpg" title="SQL Stripes Screenshot" width="640" /></a></div>
<br />Anonymoushttp://www.blogger.com/profile/04924873994452131263noreply@blogger.com0tag:blogger.com,1999:blog-8152671487595650437.post-75201424211588569482016-02-22T19:28:00.000-05:002016-02-22T20:04:13.083-05:00Introduction to SQL Table Zip *Console*<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOgwM28jeUbAnzPpXMo7WVX8vn8aLNicR3NIzZ3QgslS3sOlSH2s96dPIcSVH6AbFyAieQ-0Xi-R93_hyphenhyphenCs5ZXCcW_x21c2VcSps564hFl2i7B3rdGmtQaBS0u22688N7q3_jygaSq8iM6/s1600/SqlTableZip_Logo1_48x48.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOgwM28jeUbAnzPpXMo7WVX8vn8aLNicR3NIzZ3QgslS3sOlSH2s96dPIcSVH6AbFyAieQ-0Xi-R93_hyphenhyphenCs5ZXCcW_x21c2VcSps564hFl2i7B3rdGmtQaBS0u22688N7q3_jygaSq8iM6/s1600/SqlTableZip_Logo1_48x48.png" /></a></div>
The latest version of our Query-Level Export/Backup App, "<a href="http://www.doccolabs.com/products/sqltablezip" target="_blank">SQL Table Zip</a>", has a brand new feature - A stand-alone console version, allowing you to Import & Export any query from your command line / powershell / directly from SSMS.<br />
<span style="font-weight: normal;"><br /></span>
Here is a simple end-to-end walkthrough with the console version:<br />
<br />
After installing the latest version, your destination folder has a new file named SqlTableZipConsole.exe<br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhs-qifJkrFy4fLNfcfKF_1DpCFqr1ild5H9v4IOc59MZpJJXaKVmWA2FwX77WPT1rVFHFiljj1rcStMMZ6XHebJCWczh4i8K8piHU2MDByRjI2w__j9mA0UDvj8lRoAzkoXH4nttqZynKP/s1600/SqlTableZipConsoleIcon.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhs-qifJkrFy4fLNfcfKF_1DpCFqr1ild5H9v4IOc59MZpJJXaKVmWA2FwX77WPT1rVFHFiljj1rcStMMZ6XHebJCWczh4i8K8piHU2MDByRjI2w__j9mA0UDvj8lRoAzkoXH4nttqZynKP/s1600/SqlTableZipConsoleIcon.png" /></a></div>
<br />
To make it easy to access, the setup process, by default, has a new checkbox for adding the installation folder to your environment variables path. This means that you can type SqlTableZipConsole (or SqlTableZip) from anywhere in your command line. An indication that it works would be to simply open a 'cmd' window and type in SqlTableZipConsole like in this screenshot:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMUapaaOQP7gvXlBkc9-JXXxnzAR7wChggTiSK3uUTtx39khvDdFFMVPSpeMpq2oRy_Xy6ptquvA8Phb4MMTGCNx3tF-Pb-d04eGj4fG2hzWDaN2rxiY77es7I3PXhf8SDP4TIUMbCiYQc/s1600/sqltablezipconsole_cmd.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMUapaaOQP7gvXlBkc9-JXXxnzAR7wChggTiSK3uUTtx39khvDdFFMVPSpeMpq2oRy_Xy6ptquvA8Phb4MMTGCNx3tF-Pb-d04eGj4fG2hzWDaN2rxiY77es7I3PXhf8SDP4TIUMbCiYQc/s1600/sqltablezipconsole_cmd.png" /></a></div>
<br />
From this point on, we'll be using SSMS for the demo, although it can be done anywhere.<br />
<br />
The basic argument that SqlTableZipConsole takes is /ConfigFile:\path\to\MyConfigFile.xml<br />
<br />
Here's a sample BACKUP config file, notice the <action> tag and the following properties:<br />
<br />
<br />
<br />
<pre>\temp\demo\backup_config_demo.xml</pre>
<div>
<div style="background: #ffffff; border-width: 0.1em 0.1em 0.1em 0.8em; border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;">
<pre style="line-height: 125%; margin: 0;"><span style="color: #557799;"><?xml version="1.0" encoding="utf-8" ?></span>
<span style="color: #007700;"><config></span>
<span style="color: #007700;"><Action></span>Backup<span style="color: #007700;"></Action></span>
<span style="color: #007700;"><Query></span>SELECT * FROM Production.WorkOrder<span style="color: #007700;"></Query></span>
<span style="color: #007700;"><BackupFile></span>c:\temp\ProdWorkOrder.sqz<span style="color: #007700;"></BackupFile></span>
<span style="color: #007700;"><BackupConnectionString></span>Data Source=127.0.0.1;Initial Catalog=AdventureWorks2014;Trusted_Connection=True<span style="color: #007700;"></BackupConnectionString></span>
<span style="color: #007700;"></config></span>
</pre>
</div>
<br />
<br />
Next, let's see how we run everything inside SQL Server Management Studio (SSMS)<br />
<br />
First thing - switch SSMS to SQLCMD mode:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS74-E7LaKgTTOTF-xb-IUzRyVkJOpmW0MwvjVLMQlBu0_i9RqE7_gZR5vUsmkDT-qyyW0io0PqOWaoNoRXkmyZJbdDTTNCA4a0TDePAsu-M6N1_lzQ10YiZTrGORqs4qQwEWV0Z2VL5sx/s1600/ssms_sqlcmd_mode.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS74-E7LaKgTTOTF-xb-IUzRyVkJOpmW0MwvjVLMQlBu0_i9RqE7_gZR5vUsmkDT-qyyW0io0PqOWaoNoRXkmyZJbdDTTNCA4a0TDePAsu-M6N1_lzQ10YiZTrGORqs4qQwEWV0Z2VL5sx/s1600/ssms_sqlcmd_mode.png" /></a></div>
<br />
Next, let's run a simple backup command based on the configuration file above. In SSMS the syntax will look like this:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_mqr_plchWuIK_QJtGthVcE5dmheRiGnBb1_bg8TUuIyCCgZR5-sj__bMW4dRfmHMEWeSLwYosOpfix6-eHSOkrSjRlwjLBWnQC-y8oP99B3iykVQrnRmmesHUbsWYUKFD4rD_J1m6C4q/s1600/ssms_action_backup.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_mqr_plchWuIK_QJtGthVcE5dmheRiGnBb1_bg8TUuIyCCgZR5-sj__bMW4dRfmHMEWeSLwYosOpfix6-eHSOkrSjRlwjLBWnQC-y8oP99B3iykVQrnRmmesHUbsWYUKFD4rD_J1m6C4q/s1600/ssms_action_backup.png" /></a></div>
<br />
Let's explain the results: The query result is now stored in ProdWorkOrder.sqz (SqlTableZip format) and has been compressed from the original ~16mb to ~0.5mb! That's a lot.<br />
<br />
Now let's see how we restore this file back to a table. For the demo we'll restore the file to a different database under a different table name.<br />
<br />
Here's the Restore's configuration file:<br />
<br />
<br />
<pre>\temp\demo\restore_config_demo.xml</pre>
<div style="background: rgb(255, 255, 255); border: solid gray; overflow: auto; padding: 0.2em 0.6em; width: auto;">
<pre style="line-height: 16.25px;"><span style="color: #557799;"><?xml version="1.0" encoding="utf-8" ?></span>
<span style="color: #007700;"><config></span>
<span style="color: #007700;"><Action></span>Restore<span style="color: #007700;"></Action></span>
<span style="color: #007700;"><RestoreFile></span>c:\temp\ProdWorkOrder.sqz<span style="color: #007700;"></RestoreFile></span>
<span style="color: #007700;"><RestoreTableName></span>MyNewTable<span style="color: #007700;"></RestoreTableName></span>
<span style="color: #007700;"><RestoreConnectionString></span>Data Source=127.0.0.1;Initial Catalog=Sandbox;Trusted_Connection=True<span style="color: #007700;"></RestoreConnectionString></span>
<span style="color: #007700;"></config></span>
</pre>
<div>
<span style="color: #007700;"><br /></span></div>
</div>
<br />
Note the different table name provided <RestoreTableName> as well as the different database name in the <RestoreConnectionString> tag.<br />
<br />
Now, we'll point SqlTableZipConsole to this configuration file and run:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5bT1QS7Kp-xHjxCRMSlYE5lIPDVQAd2IMQT4oTHxYtn8A2wibwrwXQ1tM4iFxA2wqLPnDSbIXbzAPhBezVESY0SgY4eddrW_WHfGhNFJMdBdM6988MPX1EAATZMSy3Ica0BoGFz1yu4qf/s1600/ssms_action_restore_0.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5bT1QS7Kp-xHjxCRMSlYE5lIPDVQAd2IMQT4oTHxYtn8A2wibwrwXQ1tM4iFxA2wqLPnDSbIXbzAPhBezVESY0SgY4eddrW_WHfGhNFJMdBdM6988MPX1EAATZMSy3Ica0BoGFz1yu4qf/s1600/ssms_action_restore_0.png" /></a></div>
<br />
That's the entire end-to-end operation in a nutshell! Here's a simple select from the new created table:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV-N5KArxsmqhNH4PyjfV0p9S5TjRzt8kC7hqhRc_ypslQa0QkENvRrwTzmqCDq5Q5lPwp0M4de4et6MwcTOGamMl5SV46LUO-Ts1R45Pt0zetaNac48GYxXlenWSdTTmFufpTJ5g8Ya8w/s1600/ssms_action_restore.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV-N5KArxsmqhNH4PyjfV0p9S5TjRzt8kC7hqhRc_ypslQa0QkENvRrwTzmqCDq5Q5lPwp0M4de4et6MwcTOGamMl5SV46LUO-Ts1R45Pt0zetaNac48GYxXlenWSdTTmFufpTJ5g8Ya8w/s1600/ssms_action_restore.png" /></a></div>
<br />
<br />
<br />
<h4>
One final note:</h4>
While SqlTableZip is not a free software, the <b>restore</b> operation is. This means that even with no purchased license, restoring a previously backed-up files is always possible.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw9MBIbDFLNwBT-AYojFz9_omDq1P4bp-c97TEanyILSJFCaR3hcycsq9uMfnz4s5rY5AYWfmczJvhTaec328Z8arxVS0dQ8oeJOW6YkYBlSNFP7PfYNznfQDOkMmKdrh8WsiknD5Vx0gm/s1600/SqlTableZip_Logo1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img alt="SQL Table Zip Logo" border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgw9MBIbDFLNwBT-AYojFz9_omDq1P4bp-c97TEanyILSJFCaR3hcycsq9uMfnz4s5rY5AYWfmczJvhTaec328Z8arxVS0dQ8oeJOW6YkYBlSNFP7PfYNznfQDOkMmKdrh8WsiknD5Vx0gm/s200/SqlTableZip_Logo1.png" title="SQL Table Zip Logo" width="200" /></a></div>
<br /></div>
Anonymoushttp://www.blogger.com/profile/04924873994452131263noreply@blogger.com0tag:blogger.com,1999:blog-8152671487595650437.post-12988810694984811632015-11-18T23:30:00.000-05:002015-11-18T23:30:01.868-05:00The DBA’s guide to the [new] galaxy: Part III<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1t-mWy5PJcaayo_xAqitO5xjyYhKrQvS9qH-ts649KwoJr9tjXtoTo-Y25PcqxJHxz1FXZTXO6ai4RR8O4HbfNaMmoGxp3QaMGeF7xtV-2ATBb_WhWQOqhFCQh5UJSrRRLxrvpM-YkqLA/s1600/p1-saturn.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1t-mWy5PJcaayo_xAqitO5xjyYhKrQvS9qH-ts649KwoJr9tjXtoTo-Y25PcqxJHxz1FXZTXO6ai4RR8O4HbfNaMmoGxp3QaMGeF7xtV-2ATBb_WhWQOqhFCQh5UJSrRRLxrvpM-YkqLA/s1600/p1-saturn.png" /></a></div>
<h3>
<span style="color: red;">|</span><span class="SubtitleChar"><span style="font-family: "calibri light" , sans-serif; mso-ascii-theme-font: major-latin; mso-bidi-font-family: "Times New Roman"; mso-bidi-theme-font: major-bidi; mso-hansi-theme-font: major-latin;"> Part 3: Use the force, Luke!</span></span></h3>
<div class="MsoNormal">
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirqqW3rT9o06MxSqWLILqJs0bymUywJx6u2oG2sOagBYBZOAJmdVV-g9KumtjLwMfb07WoYw5mj6JGAs5PhPmQOYDO6pIO074demWF095BYiZCiH0vBF0OjvMQI9D_R17sADkjsoGXcEJH/s1600/p3-jedi-cat.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEirqqW3rT9o06MxSqWLILqJs0bymUywJx6u2oG2sOagBYBZOAJmdVV-g9KumtjLwMfb07WoYw5mj6JGAs5PhPmQOYDO6pIO074demWF095BYiZCiH0vBF0OjvMQI9D_R17sADkjsoGXcEJH/s320/p3-jedi-cat.png" width="211" /></a></div>
<br />
<br /></div>
<div class="MsoNoSpacing">
<span class="MsoSubtleEmphasis"><b>Choosing the right architecture
--<o:p></o:p></b></span></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
Experience with a wide variety of data stores doesn’t
only help with choosing the right architecture, but also being confident about
vetoing bad designs. <o:p></o:p></div>
<div class="MsoNoSpacing">
This goes both ways; so for the following (intentionally
over-exaggerated) scenarios -<o:p></o:p></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
<u>Scenario 1:<o:p></o:p></u></div>
<div class="MsoNoSpacing">
Requirement: <o:p></o:p></div>
<div class="MsoNoSpacing" style="margin-left: .5in;">
A new service which keeps track
of your company’s orders.<o:p></o:p></div>
<div class="MsoNoSpacing" style="margin-left: .5in;">
Data specs: there are supposed
to be about 100 orders per day, the information must be instantly consistent. Orders
relate to products and customers.<o:p></o:p></div>
<div class="MsoNoSpacing" style="margin-left: .5in;">
Occasionally, some ad-hoc
reports are needed, mostly to aggregate orders per customers, products or date
range.<o:p></o:p></div>
<div class="MsoNoSpacing">
Selected solution: <o:p></o:p></div>
<div class="MsoNoSpacing" style="margin-left: .5in;">
the development team decided to
save the orders to Redis, then use a queue to transform the data to an HDFS
store,<br />
out of which some map-reduce jobs will be used to return the relevant data.<o:p></o:p></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
So yes, the dev team got their hands all over a new
trending technologies, and they can add “NoSQL” and “BIG”-data, but in fact,
this is a very inappropriate solution for the problem.<o:p></o:p></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
Here’s another example -<o:p></o:p></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
<u>Scenario 2:<o:p></o:p></u></div>
<div class="MsoNoSpacing">
Requirement: <o:p></o:p></div>
<div class="MsoNoSpacing" style="margin-left: .5in;">
Track the company app’s site
visitor interaction in real-time on a heat map. In addition, show geo-locations
trend over time.<o:p></o:p></div>
<div class="MsoNoSpacing" style="margin-left: .5in;">
Data specs: the app is extremely
popular, gaining ~2500 interaction per second<o:p></o:p></div>
<div class="MsoNoSpacing">
Purposed solution: <o:p></o:p></div>
<div class="MsoNoSpacing" style="margin-left: .5in;">
Use a relational database on a
very strong, high-end machine to able to support the 2500/sec OLTP rates<o:p></o:p></div>
<div class="MsoNoSpacing" style="margin-left: .5in;">
Create additional jobs running
every few minutes, in order to aggregate the time frames & performing IP
lookups.<o:p></o:p></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
Again, although this might work, this is again not a
preferred solution. <o:p></o:p></div>
<div class="MsoNoSpacing">
In this case a real scale-out architecture will perform
better at a lower cost. <o:p></o:p></div>
<div class="MsoNoSpacing">
A typical <a href="https://www.elastic.co/" target="_blank">ELK stack</a> for example
could handle this scenario more naturally.<o:p></o:p></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
Can you see where this is going? Knowledge is important
to divert the architecture in the right way. <o:p></o:p></div>
<div class="MsoNoSpacing">
Different specs require different platform implementation
and in many cases - a mix.<br />
<br />
Inappropriate platform selection can come from many sources,
including:</div>
<div class="MsoNormal">
<br />
<ul>
<li><span style="text-indent: -0.25in;">Developers who want to experience
with different technologies</span></li>
<li><span style="text-indent: -0.25in;">PMs/POs lacking the
detailed knowledge</span></li>
<li><span style="text-indent: -0.25in;">CTOs wishing to brag about
using some new technology (preferably while playing golf with other CTOs)</span></li>
</ul>
<o:p></o:p></div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<o:p></o:p></div>
<div class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<o:p></o:p><br />
<br />
<div class="getty embed image" style="background-color: white; color: #a7a7a7; display: inline-block; font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; font-size: 11px; max-width: 508px; width: 100%;">
<div style="height: 0; overflow: hidden; padding: 66.535433% 0 0 0; position: relative; width: 100%;">
<iframe frameborder="0" height="338" scrolling="no" src="//embed.gettyimages.com/embed/565882013?et=hNPg3lICSZx3MpVc7fCDzw&viewMoreLink=off&sig=NpXPv2epZjRycQcEs5HSiFudaSZniHw_TEmwNTG2KKo=" style="display: inline-block; height: 100%; left: 0; position: absolute; top: 0; width: 100%;" width="508"></iframe></div>
<div style="margin: 0;">
</div>
<div style="margin: 0 0 0 10px; padding: 0; text-align: left;">
<a href="http://www.gettyimages.com/detail/565882013" style="border: none; color: #a7a7a7; display: inline-block; font-weight: normal !important; text-decoration: none;" target="_blank">View image</a> | <a href="http://www.gettyimages.com/" style="border: none; color: #a7a7a7; display: inline-block; font-weight: normal !important; text-decoration: none;" target="_blank">gettyimages.com</a></div>
</div>
<br /></div>
<div class="MsoNormal">
Choosing the right platform for a given solution is
extremely important, even when the recommended technology is not the trending
one. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-size: large;"><span style="color: red;">|</span><span class="SubtitleChar"><span style="font-family: "calibri light" , sans-serif; mso-ascii-theme-font: major-latin; mso-bidi-font-family: "Times New Roman"; mso-bidi-theme-font: major-bidi; mso-hansi-theme-font: major-latin;"> Epilogue</span></span></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
The world of data is constantly changing. The variety of
solutions for storing & retrieving data in various shapes and sizes is
rapidly growing.<br />
Relational databases are strong, and will stay strong - for storing and
retrieving relational data, usually when no scale-out is required. For all the
other types - the world has already changed.<o:p></o:p></div>
<div class="MsoNormal">
If there’s one thing you should take away with you, is that
looking forward - you should embrace these new technologies, get to know them
and understand the architectural position of the dominant ones.<o:p></o:p></div>
<br />
<div style="border-bottom: solid windowtext 1.0pt; border: none; mso-border-bottom-alt: solid windowtext .75pt; mso-element: para-border-div; padding: 0in 0in 1.0pt 0in;">
<div class="MsoNormal" style="border: none; mso-border-bottom-alt: solid windowtext .75pt; mso-padding-alt: 0in 0in 1.0pt 0in; padding: 0in;">
<br />
<span style="font-size: x-small;">Links to <a href="http://sqlstripes.blogspot.com/2015/10/the-dbas-guide-to-new-galaxy.html">Part 1</a>, <a href="http://sqlstripes.blogspot.com/2015/10/the-dbas-guide-to-new-galaxy-part-ii.html">Part 2 </a></span></div>
</div>
Anonymoushttp://www.blogger.com/profile/04924873994452131263noreply@blogger.com0tag:blogger.com,1999:blog-8152671487595650437.post-19250937350694897712015-11-11T06:30:00.000-05:002015-11-11T06:30:19.762-05:00How ClipTable works?A few days ago I was approached by someone at work, who got some files needed to be exported into one of our SQL Servers.<br />
The file format wasn't very intuitive, and caused this coworker a lot of different errors trying to use the "Import and Export Wizard". (Which is a basic SSIS task behind the scene)<br />
<br />
Anyway, after being asked to "give it a shot", I naturally went to ClipTable, and of course, got this done in less than 2 minutes.<br />
<br />
So this coworker asked me how this was done so fast, and what he was doing wrong.<br />I've explained that I was using a different tool. (and explained a bit about ClipTable)<br />
<i><br /></i>
<i>"Yeah, but how was ClipTable able to determine how to turn the file into a table without any configuration?</i>" she asked.<br />
<br />
So, I answered and decided to write this post about some behind-the-scene ClipTable techniques.<br />
<br />
If you're new to the tool -<br />
<a href="http://www.doccolabs.com/products/cliptable" target="_blank">ClipTable </a>is a very fast SQL Import tool, which allows you to turn almost any tabular data into a SQL Server/Oracle/MySQL/PostgreSQL/Firebird Table.<br />
<br />
Here is a behind-the-scenes glimpse to ClipTable's engine (that could) and some of the things it's able to do:<br />
<br />
<div class="getty embed image" style="background-color: white; color: #a7a7a7; display: inline-block; font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; font-size: 11px; max-width: 507px; width: 100%;">
<div style="height: 0; overflow: hidden; padding: 66.666667% 0 0 0; position: relative; width: 100%;">
<iframe frameborder="0" height="338" scrolling="no" src="//embed.gettyimages.com/embed/200488277-001?et=f-VFmoZER4RiFS9ltCEaSw&viewMoreLink=off&sig=HlR3g71Bhwkf0ghW1f1yakOcESHC654unOcv-IR10RU=" style="display: inline-block; height: 100%; left: 0; position: absolute; top: 0; width: 100%;" width="507"></iframe></div>
<div style="margin: 0;">
</div>
<div style="margin: 0 0 0 10px; padding: 0; text-align: left;">
<a href="http://www.gettyimages.com/detail/200488277-001" style="border: none; color: #a7a7a7; display: inline-block; font-weight: normal !important; text-decoration: none;" target="_blank">View image</a> | <a href="http://www.gettyimages.com/" style="border: none; color: #a7a7a7; display: inline-block; font-weight: normal !important; text-decoration: none;" target="_blank">gettyimages.com</a></div>
</div>
<br />
So, when you import from memory (clipboard) or file, here is a partly list of what's happening:<br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;"><span style="color: red;">[</span>The engine analyzes the data, answering the following questions<span style="color: red;">]</span></span><br />
<br />
<ul>
<li><span style="font-family: Courier New, Courier, monospace;">Is this an <span style="color: #3d85c6;">XML </span>string?</span></li>
<ul>
<li><span style="font-family: Courier New, Courier, monospace;">Can this turn into a 2-d table?</span></li>
</ul>
<li><span style="font-family: Courier New, Courier, monospace;">Is this a <span style="color: #6fa8dc;">JSON </span>data?</span></li>
<ul>
<li><span style="font-family: Courier New, Courier, monospace;">Is this a serial JSON data? (repeated columns)</span></li>
<li><span style="font-family: Courier New, Courier, monospace;">Which parts of the data can turn into a 2-d table?</span></li>
</ul>
<li><span style="font-family: Courier New, Courier, monospace;">Is this a <span style="color: #3d85c6;">textual </span>data?</span></li>
<ul>
<li><span style="font-family: Courier New, Courier, monospace;">Does the data seem <span style="color: #38761d;">valid</span>?</span></li>
<li><span style="font-family: Courier New, Courier, monospace;">Analyzing the string pattern, <br />what is most likely to be the <span style="color: #a64d79;">column/row </span>delimiters?</span></li>
<li><span style="font-family: Courier New, Courier, monospace;">Does the data include <span style="color: #b45f06;">headers</span>?</span></li>
<li><span style="font-family: Courier New, Courier, monospace;">Are there <span style="color: #45818e;">white-spaces</span> to be removed?</span></li>
</ul>
<li><span style="font-family: Courier New, Courier, monospace;">Are there any duplicate field names?</span></li>
<li><span style="font-family: Courier New, Courier, monospace;">What is the best <span style="color: #38761d;">Data Type</span> for each column?</span></li>
<li><span style="font-family: Courier New, Courier, monospace;">What's the fastest method to write the table into the destination server?</span></li>
<ul>
<li><span style="font-family: Courier New, Courier, monospace;">Does this server support Bulk Copy/Insert?</span></li>
<li><span style="font-family: Courier New, Courier, monospace;">Can insert statement sent in a big batch?</span></li>
</ul>
</ul>
<div>
These engine features help ClipTable turning this:</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgyyRJ3NaSCt4XTnrE2tWOEmgInO3u1xfzcx5enxzr21MtWDrgERz_-XvcbcyaoNmxYX7K4DppEdW6SF8MSw6qG6loTluD_2alxLYV_ibyGZeKaLA63Hu7hZ6oUgXPQC6gI0lRjlGSswsw/s1600/pa-01.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="346" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhgyyRJ3NaSCt4XTnrE2tWOEmgInO3u1xfzcx5enxzr21MtWDrgERz_-XvcbcyaoNmxYX7K4DppEdW6SF8MSw6qG6loTluD_2alxLYV_ibyGZeKaLA63Hu7hZ6oUgXPQC6gI0lRjlGSswsw/s640/pa-01.png" width="640" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<br />
Into this:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9erp7Zhvh7Xpmb-y_VhWdusCrYL93BJTGxU5QEtxIESZIW5YVYxRrAf2VUQjYaWxVFW4UII50wvZ8aT5Xj95Pz7cj6xQQ3PZQtzKF9rNB23hStLNjSmKbxAlrfnJQ3aa-LxczzGr8ngRy/s1600/pa-02.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="396" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9erp7Zhvh7Xpmb-y_VhWdusCrYL93BJTGxU5QEtxIESZIW5YVYxRrAf2VUQjYaWxVFW4UII50wvZ8aT5Xj95Pz7cj6xQQ3PZQtzKF9rNB23hStLNjSmKbxAlrfnJQ3aa-LxczzGr8ngRy/s640/pa-02.png" width="640" /></a></div>
<br />
Into this:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvY4a0Xijjh9CEDzdIaXhM4avOxZw7PQXMF6Hy5HZD1lMhm30AtLX2QmGQZZmsuwwFdxIARm8s1CQx2KXzE0BGxIC-tAgNmb7xc55I035n0tyEXP8Vdq0ydG-_oLurJIukfwtBbGXzNtBV/s1600/pa-03.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="416" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjvY4a0Xijjh9CEDzdIaXhM4avOxZw7PQXMF6Hy5HZD1lMhm30AtLX2QmGQZZmsuwwFdxIARm8s1CQx2KXzE0BGxIC-tAgNmb7xc55I035n0tyEXP8Vdq0ydG-_oLurJIukfwtBbGXzNtBV/s640/pa-03.png" width="640" /></a></div>
<br />
Into this:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJhehPXxtn4BIPXonfBWkyq1dOXPerIcw_aQVRFNhhoq4fCrVHc2sceaft6Qu46m1FB4taABCjYc1A8ekXzN7YiWARGmIbLD_B_m2Q3P4xKT9FUkVqGDQKhfIqC_Jv01xwcO7t-sWuaLFs/s1600/pa-04.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="438" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJhehPXxtn4BIPXonfBWkyq1dOXPerIcw_aQVRFNhhoq4fCrVHc2sceaft6Qu46m1FB4taABCjYc1A8ekXzN7YiWARGmIbLD_B_m2Q3P4xKT9FUkVqGDQKhfIqC_Jv01xwcO7t-sWuaLFs/s640/pa-04.png" width="640" /></a></div>
<br />
In just a few seconds.<br />
<br />Anonymoushttp://www.blogger.com/profile/04924873994452131263noreply@blogger.com0tag:blogger.com,1999:blog-8152671487595650437.post-15869802858585109562015-11-04T14:38:00.001-05:002015-11-04T14:38:22.929-05:00SQL ClipTable now offers better JSON handling and SQL Server 2016 support<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8SSMwNry776zaDIGgnFpIWyHrwk7bKaiFfzkck4Qnd9p57taCnliPcDRl4OHCwYZ-br2ufCpPAJpBbHvOhOU8FGefOKVMGBtKwKVzx_guMrDOdLtCz-hslvvGGk3CpyReU94S-B-XUeIh/s1600/ClipTable_Logo1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh8SSMwNry776zaDIGgnFpIWyHrwk7bKaiFfzkck4Qnd9p57taCnliPcDRl4OHCwYZ-br2ufCpPAJpBbHvOhOU8FGefOKVMGBtKwKVzx_guMrDOdLtCz-hslvvGGk3CpyReU94S-B-XUeIh/s1600/ClipTable_Logo1.png" /></a></div>
<br />
There's a new version of SQL <a href="http://www.doccolabs.com/products/cliptable">ClipTable</a> released today, which has multiple engine updates as well as two important features:<br />
<br />
<ul>
<li>SQL Server 2016 support (tested against CTP's, will make sure RTM is fully supported upon release)</li>
<li>JSON format support has been extended to support a 'serial' JSON file, which is basically a file on which each line represents a new JSON-based row, with a similar schema.</li>
</ul>
<div>
As a reminder, ClipTable lets you import almost any data, of any shape and form into your database. Supporting all major relational database engines available today, including SQL Server, Oracle, MySQL, PostgreSQL, FireBird and more.</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Want to see the extended JSON support in action?</div>
<div>
Here's an example for such a file: Try <b>Copy</b> the code below & <b>Paste</b> into ClipTable</div>
<div>
<br />
<span style="color: #0b5394; font-family: monospace; font-size: x-small;">{"accept_lang":"hr-HR","object_id":"149987216","object_pos":1,"client_ip":"212.92.194.156","correlation_id":"0AF0010A-B638_AC110006-0050_560B25D6_1FDF5E8-0001","event_ids":["496538287"],"gallery_object_count":15,"gallery_title":"Jimmy Page","gallery_type":"personality","gallery_type_id":"208663","geo":{"city_name":"","continent_code":"EU","coordinates":[15.5,45.1667],"country_code2":"HR","latitude":45.1667,"longitude":15.5,"timezone":"Europe/Zagreb"},"has_ads":true,"referer":"http://www.google.hr/url?sa=i","signal_brand":"dl","signal_event":"object Viewed","signal_source":"dl","spectrum":"dl-prod-producer-51","timestamp":"2015-09-30T00:00:03Z","url":"http://www.retrofile.com/detail/news-photo/","user_agent":"Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko","user_id":"0","visitor_id":"5bf0ba11-2373-44c0-b4d3-b0ccad75f4fa"}</span><br />
<span style="color: #0b5394; font-family: monospace; font-size: x-small;">{"accept_lang":"en-US,en;q=0.5","object_id":"160011161","object_metadata":{"object_family":"Creative","object_type":"image","editorial_products":[],"has_nudity":false},"client_ip":"12.204.91.250","correlation_id":"0AF0010A-E611_AC110006-0050_560B25ED_1FE07C4-0001","geo":{"city_name":"Riverside","continent_code":"NA","coordinates":[-117.4031,33.9059],"country_code2":"US","latitude":33.9059,"longitude":-117.4031,"timezone":"America/Los_Angeles"},"queried_keywords_by_clause":null,"referer":"http://www.doccolabs.com/","signal_brand":"dl","signal_event":"object Details Viewed","signal_source":"dl","spectrum":"dl-prod-producer-51","timestamp":"2015-09-30T00:00:02Z","url":"http://www.doccolabs.com/blog","user_agent":"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0","user_id":"0","visitor_id":"0a67788b-0022-455c-85b3-6e420787a069"}</span><br />
<span style="color: #0b5394; font-family: monospace; font-size: x-small;">{"accept_lang":"en-GB","ads_viewed":[8.2626951421e+10],"object_id":"175554847","object_pos":12,"client_ip":"81.108.221.204","correlation_id":"0AF0010A-C299_AC110006-0050_560B25E6_200D348-0001","event_ids":["526528765"],"gallery_object_count":15,"gallery_title":"Una Healy","gallery_type":"personality","gallery_type_id":"5523039","geo":{"city_name":"Royal Leamington Spa","continent_code":"EU","coordinates":[-1.5047000000000001,52.3123],"country_code2":"GB","latitude":52.3123,"longitude":-1.5047000000000001,"timezone":"Europe/London"},"has_ads":true,"referer":"http://www.doccolabs.com/purchase/","signal_brand":"dl","signal_event":"object Viewed","signal_source":"dl","spectrum":"dl-prod-producer-51","timestamp":"2015-09-30T00:00:01Z","url":"http://www.doccolabs.com/purchase/","user_agent":"Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko","user_id":"0","visitor_id":"c902ed6c-96ff-4778-a85e-ca9fc7a9dd13"}</span><br />
<span style="color: #0b5394; font-family: monospace; font-size: x-small;">{"accept_lang":"en-US,en;q=0.8","object_id":"112027935","object_pos":0,"client_ip":"108.54.239.65","correlation_id":"0AF0010A-0B19_AC110006-0050_560B25F5_20070C2-0001","event_ids":["75330148"],"gallery_object_count":15,"gallery_title":"Charmed Celebrates 150 Episodes and First Season on DVD","gallery_type":"event","gallery_type_id":"75330148","geo":{"city_name":"Jamaica","continent_code":"NA","coordinates":[-73.7939,40.7148],"country_code2":"US","latitude":40.7148,"longitude":-73.7939,"timezone":"America/New_York"},"has_ads":true,"referer":"http://www.google.com/","signal_brand":"dl","signal_event":"object Viewed","signal_source":"dl","spectrum":"dl-prod-producer-51","timestamp":"2015-09-30T00:00:01Z","url":"http://www.google.com/flights","user_agent":"Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36","user_id":"0","visitor_id":"44e8d178-4022-4495-9ea7-412e797ae96b"}</span><br />
<span style="color: #0b5394; font-family: monospace; font-size: x-small;">{"accept_lang":"hr-HR","object_id":"149987216","object_pos":1,"client_ip":"212.92.194.156","correlation_id":"0AF0010A-B638_AC110006-0050_560B25D6_1FDF5E8-0001","event_ids":["496538287"],"gallery_object_count":15,"gallery_title":"Jimmy Page","gallery_type":"personality","gallery_type_id":"208663","geo":{"city_name":"","continent_code":"EU","coordinates":[15.5,45.1667],"country_code2":"HR","latitude":45.1667,"longitude":15.5,"timezone":"Europe/Zagreb"},"has_ads":true,"referer":"http://www.google.hr/url?sa=i","signal_brand":"dl","signal_event":"object Viewed","signal_source":"dl","spectrum":"dl-prod-producer-51","timestamp":"2015-09-30T00:00:03Z","url":"http://www.retrofile.com/detail/news-photo/","user_agent":"Mozilla/5.0 (Windows NT 6.1; Trident/7.0; rv:11.0) like Gecko","user_id":"0","visitor_id":"5bf0ba11-2373-44c0-b4d3-b0ccad75f4fa"}</span><br />
<span style="color: #0b5394; font-family: monospace; font-size: x-small;">{"accept_lang":"en-us","client_ip":"107.220.186.143","correlation_id":"0AF0010A-F236_AC110006-0050_56297879_115B0572-0001","gallery":{"object_count":8,"related_celeb":0,"title":"46th Mt. San Antonio College Relays - April 18, 2004","type":"event","type_id":"75059348"},"geo":{"city_name":"Cumming","continent_code":"NA","coordinates":[-84.1404,34.1483],"country_code2":"US","latitude":34.1483,"longitude":-84.1404,"timezone":"America/New_York"},"referer":"https://www.google.com/","session_id":"276095c4fc","signal_brand":"dl","signal_event":"Gallery Viewed","signal_source":"dl","spectrum":"dl-prod-producer-52","timestamp":"2015-10-23T00:00:00Z","url":"http://www.doccolabs.com/","user_agent":"Mozilla/5.0 (iPhone; CPU iPhone OS 9_0_2 like Mac OS X) Safari/601.1","user_id":"0","visitor_id":"81ebb423-bda9-4707-b897-7cc86d58de91"}</span><br />
<span style="color: #0b5394; font-family: monospace; font-size: x-small;">{"accept_lang":"","client_ip":"81.158.98.51","correlation_id":"0AF0010A-1680_AC110006-0050_56297882_115B0C02-0001","gallery":{"object_count":15,"related_celeb":0,"title":"Prince Harry Visits Nottingham","type":"event","type_id":"166614266"},"geo":{"city_name":"Dundee","continent_code":"EU","coordinates":[-2.9766,56.461],"country_code2":"GB","latitude":56.461,"longitude":-2.9766,"timezone":"Europe/London"},"referer":"http://www.google.com/search","session_id":"9f1bcbe265","signal_brand":"dl","signal_event":"Gallery Viewed","signal_source":"dl","spectrum":"dl-prod-producer-52","timestamp":"2015-10-23T00:00:03Z","url":"http://www.doccolabs.com/detail/news-photo/prince-harry-signs-his-name-with-a-paint-pen-on-a-large-news-photo/167504061","user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko; Google Web Preview) Chrome/27.0.1453 Safari/537.36","user_id":"0","visitor_id":"1e65bdc1-7862-438c-99e5-55a0d89b7cbd"}</span><br />
<span style="color: #0b5394; font-family: monospace; font-size: x-small;">{"accept_lang":"","client_ip":"173.88.159.62","correlation_id":"0AF0010A-3757_AC110006-0050_56297881_1148FB3A-0001","gallery":{"object_count":15,"related_celeb":0,"title":"Sports Contributor Archive 2015","type":"event","type_id":"530880577"},"geo":{"city_name":"North Ridgeville","continent_code":"NA","coordinates":[-82.019,41.3895],"country_code2":"US","latitude":41.3895,"longitude":-82.019,"timezone":"America/New_York"},"referer":"http://www.google.com/search","session_id":"7125b47d91","signal_brand":"dl","signal_event":"Gallery Viewed","signal_source":"dl","spectrum":"dl-prod-producer-52","timestamp":"2015-10-23T00:00:02Z","url":"http://www.doccolabs.co.uk/detail/news-photo/andre-mcgee-of-the-louisville-cardinals-in-action-during-a-news-photo/493431424","user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko; Google Web Preview) Chrome/27.0.1453 Safari/537.36","user_id":"0","visitor_id":"fc049f9e-22c0-408f-8466-fa4ee376ba10"}</span></div>
Anonymoushttp://www.blogger.com/profile/04924873994452131263noreply@blogger.com0tag:blogger.com,1999:blog-8152671487595650437.post-14968901797700752642015-10-29T06:00:00.000-04:002015-10-29T14:30:51.123-04:00The DBA’s guide to the [new] galaxy: Part II<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiaL-OKxWTeyFKemqYrb9Ej1PJRCMILyF9nvLI0yYGYMqOffYjMIGtIEqh9IbohLfU0jC3L2fKaXl7oNES7KvfJd3vC4R_ynZ_kPKEI4ZltXuKxzn_AjwxhBsshlxYAmDhmGL5qvNZ8st9/s1600/p1-saturn.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiiaL-OKxWTeyFKemqYrb9Ej1PJRCMILyF9nvLI0yYGYMqOffYjMIGtIEqh9IbohLfU0jC3L2fKaXl7oNES7KvfJd3vC4R_ynZ_kPKEI4ZltXuKxzn_AjwxhBsshlxYAmDhmGL5qvNZ8st9/s1600/p1-saturn.png" /></a></div>
<div class="MsoNormal">
<br /></div>
<h3>
<span style="color: red;">|</span><span class="SubtitleChar"><span style="font-family: "Calibri Light",sans-serif; mso-ascii-theme-font: major-latin; mso-bidi-font-family: "Times New Roman"; mso-bidi-theme-font: major-bidi; mso-hansi-theme-font: major-latin;"> Part 2: Adopt to the change<o:p></o:p></span></span></h3>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIbv_xU6BxoQ16T3ICn8yPSh2RLJ96pRi67zwo-963JrllLAVrgRJCQEWYhXPBS2lFRWMOX_u-VmV30y0mLAkyuaW1RM58PqCK57iWLR1wGA-fTlYk3j1vzwunaCzJd6nrYrxWzZz0lUL4/s1600/p8-changes.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIbv_xU6BxoQ16T3ICn8yPSh2RLJ96pRi67zwo-963JrllLAVrgRJCQEWYhXPBS2lFRWMOX_u-VmV30y0mLAkyuaW1RM58PqCK57iWLR1wGA-fTlYk3j1vzwunaCzJd6nrYrxWzZz0lUL4/s200/p8-changes.png" width="167" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<o:p><br /></o:p></div>
<div class="MsoNormal">
<v:shapetype coordsize="21600,21600" filled="f" id="_x0000_t75" o:preferrelative="t" o:spt="75" path="m@4@5l@4@11@9@11@9@5xe" stroked="f">
<v:stroke joinstyle="miter">
<v:formulas>
<v:f eqn="if lineDrawn pixelLineWidth 0">
<v:f eqn="sum @0 1 0">
<v:f eqn="sum 0 0 @1">
<v:f eqn="prod @2 1 2">
<v:f eqn="prod @3 21600 pixelWidth">
<v:f eqn="prod @3 21600 pixelHeight">
<v:f eqn="sum @0 0 1">
<v:f eqn="prod @6 1 2">
<v:f eqn="prod @7 21600 pixelWidth">
<v:f eqn="sum @8 21600 0">
<v:f eqn="prod @7 21600 pixelHeight">
<v:f eqn="sum @10 21600 0">
</v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:f></v:formulas>
<v:path gradientshapeok="t" o:connecttype="rect" o:extrusionok="f">
<o:lock aspectratio="t" v:ext="edit">
</o:lock></v:path></v:stroke></v:shapetype><v:shape id="Picture_x0020_10" o:spid="_x0000_i1027" style="height: 250.5pt; mso-wrap-style: square; visibility: visible; width: 210pt;" type="#_x0000_t75">
<v:imagedata o:title="" src="file:///c:\wintemp\msohtmlclip1\01\clip_image001.png">
</v:imagedata></v:shape><o:p></o:p></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
On the <a href="http://sqlstripes.blogspot.com/2015/10/the-dbas-guide-to-new-galaxy.html">previous post</a> we talked about how the database
world has changed and is constantly changing. With this in mind, let’s continue
the discussion.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNoSpacing">
<span class="MsoSubtleEmphasis"><b><br /></b></span></div>
<div class="MsoNoSpacing">
<span class="MsoSubtleEmphasis"><b><br /></b></span></div>
<div class="MsoNoSpacing">
<span class="MsoSubtleEmphasis"><b><br /></b></span></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
<span class="MsoSubtleEmphasis"><b>Knowledge &
Expertise<o:p></o:p></b></span></div>
<div class="MsoNoSpacing">
Let’s take me for example - <o:p></o:p></div>
<div class="MsoNoSpacing">
I’ve been working with SQL Server for many years (and
still am). Loving this platform, developing <a href="http://www.doccolabs.com/" target="_blank">tools </a>that make it more fun to work
with, active in the great SQL Community and making sure to always be updated
with the latest builds coming out.<i><o:p></o:p></i><br />
<br /></div>
<div class="MsoNoSpacing">
For many years, I’ve spent a lot of free time to extend
my knowledge around SQL Server, while some of it came as part of my day-to-day
roles.<o:p></o:p></div>
<div class="MsoNoSpacing">
Just like any other technology, the knowledge and
expertise one can gather (in SQL Server for example) if almost endless - given
the amount of time dedicated to do so.<o:p></o:p></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
But when you try to look at this from 30,000ft you come
to wonder - <br />
At which point knowing the really deep-dive material (like memorizing trace-flags, knowing the
internals of resource allocation and lock acquisition, mastering the in-depth
tricks to force the server to build a specific execution plan, and the list
goes on…)<o:p></o:p></div>
<div class="MsoNoSpacing">
At which point many of this becomes a classic case of the
Diminishing returns? <<a href="https://en.wikipedia.org/wiki/Diminishing_returns">wiki</a>><o:p></o:p></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjykeN88XdGEPliWO-JstJyP-fFoYI_inyBMteGJQHQe4CQTwE795lfhqPZUwoV0gVUD8BFZ2MyEsDO9pfwoJkXOIqqlMMU0QGadcIo4e6uzXJguPp9C7nmrB42bN2OpllQdYrAVfAoTTzO/s1600/p9-diminishing.returns.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjykeN88XdGEPliWO-JstJyP-fFoYI_inyBMteGJQHQe4CQTwE795lfhqPZUwoV0gVUD8BFZ2MyEsDO9pfwoJkXOIqqlMMU0QGadcIo4e6uzXJguPp9C7nmrB42bN2OpllQdYrAVfAoTTzO/s1600/p9-diminishing.returns.png" /></a></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
<v:shape id="Picture_x0020_2" o:spid="_x0000_i1026" style="height: 261pt; mso-wrap-style: square; visibility: visible; width: 415.5pt;" type="#_x0000_t75">
<v:imagedata o:title="" src="file:///c:\wintemp\msohtmlclip1\01\clip_image002.png">
</v:imagedata></v:shape><o:p></o:p></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
I argue that in most cases, knowledge gained beyond the
<span style="color: orange;">orange </span>marker is rarely required in practice.<o:p></o:p></div>
<div class="MsoNoSpacing">
Of course, given unlimited learning time and resources,
go ahead and acquire all possible knowledge, but when this is not the case -
maybe this time should be spent to learn new things?<o:p></o:p></div>
<div class="MsoNoSpacing">
Instead of a DBA, why not become a <i>multicultural DBA</i>?<o:p></o:p></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
(And just to be clear - getting to the orange marker
takes many years of experience!)<o:p></o:p><br />
<br />
<br /></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
<span class="MsoSubtleEmphasis"><b><br /></b></span>
<br />
<div class="getty embed image" style="background-color: white; color: #a7a7a7; display: inline-block; font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; font-size: 11px; max-width: 413px; width: 100%;">
<div style="height: 0; overflow: hidden; padding: 100.242131% 0 0 0; position: relative; width: 100%;">
<iframe frameborder="0" height="414" scrolling="no" src="//embed.gettyimages.com/embed/165499561?et=KJZoBf2oT2lWHSJSE5Sb1w&viewMoreLink=off&sig=tKc2Z_23WwAxlUhDNLpsGYNBPk8ApX5kwrQBhOxYTi0=" style="display: inline-block; height: 100%; left: 0; position: absolute; top: 0; width: 100%;" width="413"></iframe></div>
<div style="margin: 0;">
</div>
<div style="margin: 0 0 0 10px; padding: 0; text-align: left;">
<a href="http://www.gettyimages.com/detail/165499561" style="border: none; color: #a7a7a7; display: inline-block; font-weight: normal !important; text-decoration: none;" target="_blank">View image</a> | <a href="http://www.gettyimages.com/" style="border: none; color: #a7a7a7; display: inline-block; font-weight: normal !important; text-decoration: none;" target="_blank">gettyimages.com</a></div>
</div>
<span class="MsoSubtleEmphasis"><b><br /></b></span>
<span class="MsoSubtleEmphasis"><b>Getting out of your
comfort zone<o:p></o:p></b></span></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
So to rephrase, what I’m trying to say is the following:<o:p></o:p></div>
<div class="MsoNoSpacing">
Given the available data stores today, and given a
limited amount of learning time an average full time employee has (say, per
week) -</div>
<div class="MsoNoSpacing">
There is a higher probability you will need to
understand how to work with, say, Apache Spark for example, rather than knowing
how to force an execution plan to use parallelism in SQL Server. Again, just an
example.<b><o:p></o:p></b></div>
<div class="MsoNoSpacing">
<b>Expanding your knowledge on various data
storage/processing/retrieval engines for at least some of the leading new
platforms available today is extremely important!<o:p></o:p></b></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
Please read the two lines ^above^ again. This is pretty
much the most important essence of this article.<o:p></o:p></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
Being familiar with various data stores, as well as understanding
theories like the “<i>CAP Theorem</i>” (below) is significant in order to being
able to choose the right platform for your next project. <o:p></o:p><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMikFntt39vX5KVF24B-E_mNUuLSJKUHO81Q46W34-PfLSA6e7GpGIP1vl8bflnHgecBA7xIbKbpKvKfjAfXv0woxh5-JnL7enKkMGJrNGBXOOK05OlzdBwlYpAX1RQ4QU45CObBLEnatQ/s1600/p82-cap-theorem.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="170" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMikFntt39vX5KVF24B-E_mNUuLSJKUHO81Q46W34-PfLSA6e7GpGIP1vl8bflnHgecBA7xIbKbpKvKfjAfXv0woxh5-JnL7enKkMGJrNGBXOOK05OlzdBwlYpAX1RQ4QU45CObBLEnatQ/s200/p82-cap-theorem.png" width="200" /></a></div>
<br />
<br /></div>
<div class="MsoNoSpacing">
<v:shape alt="http://www.crittercism.com/wp-content/uploads/2014/04/cap-theorem.png" id="Picture_x0020_3" o:spid="_x0000_i1025" style="height: 175.5pt; mso-wrap-style: square; visibility: visible; width: 205.5pt;" type="#_x0000_t75">
<v:imagedata o:title="cap-theorem" src="file:///c:\wintemp\msohtmlclip1\01\clip_image003.png">
</v:imagedata></v:shape><o:p></o:p></div>
<div class="MsoNoSpacing">
<b>Where should I begin?</b></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
451 Research conducted a beautiful map of data platforms:
<a href="https://451research.com/images/Marketing/dataplatformsmapoctober2014.pdf">https://451research.com/images/Marketing/dataplatformsmapoctober2014.pdf</a><o:p></o:p></div>
<div class="MsoNoSpacing">
Besides the actual content, it is apparent that the list
is huge! Not only that - it is rapidly growing (consider the report was created sometime around last year, so the list is bigger today)<o:p></o:p></div>
<div class="MsoNoSpacing">
It is fairly impossible to dive into all of these products, let alone master one.<br />
So my approach to you would be as follows:<o:p></o:p><br />
<br />
<br /></div>
<div class="getty embed image" style="background-color: white; color: #a7a7a7; display: inline-block; font-family: 'Helvetica Neue',Helvetica,Arial,sans-serif; font-size: 11px; max-width: 415px; width: 100%;">
<div style="height: 0; overflow: hidden; padding: 100.000000% 0 0 0; position: relative; width: 100%;">
<iframe frameborder="0" height="415" scrolling="no" src="//embed.gettyimages.com/embed/508476361?et=UCvGoHkpRlBpraUxRfV_vA&viewMoreLink=off&sig=Nc5DWHi_FX74zVUMBmNendeHy7IaTulDDDz3nnYxFOg=" style="display: inline-block; height: 100%; left: 0; position: absolute; top: 0; width: 100%;" width="415"></iframe></div>
<div style="margin: 0;">
</div>
<div style="margin: 0 0 0 10px; padding: 0; text-align: left;">
<a href="http://www.gettyimages.com/detail/508476361" style="border: none; color: #a7a7a7; display: inline-block; font-weight: normal !important; text-decoration: none;" target="_blank">View image</a> | <a href="http://www.gettyimages.com/" style="border: none; color: #a7a7a7; display: inline-block; font-weight: normal !important; text-decoration: none;" target="_blank">gettyimages.com</a></div>
</div>
<div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">
<br />
<ul>
<li><b>Understand</b> the
concept and the key points of different data stores, as well as where they
would fit in a high-level theory (like the CAP theorem above)<br />So, assuming you already know ‘relational’ pretty well - focus on
non-relational, key-value, document based, distributed frameworks.</li>
<li><b>Choose</b> a leading platform
from each area. This can be a popular/trending platform(such as Spark, Hadoop,
MongoDb, Redis, Cassandra and others) <br />or a framework that is already being used within your organization (which can
help you connecting the learning material with practical implementation)</li>
<li><b>Practice</b>:<br />Reading is fine, but hands-on experience is extremely important. If you are a
Windows user you may need to install a Linux VM as many of the new platforms
are Linux natives.<br />Some vendors offer a ready-to-go image. Some offer online simulators. Use
those!</li>
</ul>
<!--[if !supportLists]--><br />
<o:p></o:p></div>
<div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">
<o:p></o:p></div>
<div class="MsoNoSpacing" style="margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;">
<o:p></o:p></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
Emphasizing the last item, if your natural [os] habitat
is Windows be aware that the vast majority of new systems are not windows
natives<o:p></o:p></div>
<div class="MsoNoSpacing">
In fact, it makes sense that open-source services are
running on a free operation system. It’s time to refresh your Linux skills!<o:p></o:p></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNormal">
One more thing - <b>Consider your existing knowledge as a great
advantage!</b><o:p></o:p><br />
<b><br /></b></div>
<div class="MsoNormal">
For example, SQL (in different variations), as a querying language,
is still one of the most popular languages to query data. <br />
You will find a lot of SQL implementations well integrated into newer
technologies (Hive, Spark SQL only to name a few)<o:p></o:p></div>
<div class="MsoNormal">
Opening up to learning new data products will probably boost
your Résumé, but this is only a side effect. The main advantage is that it will
help you choosing the right data platform(s) for your next project!<o:p></o:p></div>
<br />
<div class="MsoNormal">
More about that in Part 3...<o:p></o:p><br />
<br /></div>
Anonymoushttp://www.blogger.com/profile/04924873994452131263noreply@blogger.com0tag:blogger.com,1999:blog-8152671487595650437.post-31661646861816518102015-10-20T09:55:00.000-04:002015-11-02T15:07:53.588-05:00The DBA’s guide to the [new] galaxy<h2 style="text-align: center;">
<span style="font-size: 24pt; line-height: 107%;"><span style="font-family: "trebuchet ms" , sans-serif;">The
DBA’s guide to the [new] galaxy</span></span></h2>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="MsoSubtitle">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-3xIKotru3ObNdD7DPo3JWSefp9VXkwTxEoMKVruVhkykaGtLAC4Vp7Vn3tD4PPQJNpaPAqhkLXK9azCTKFJhiWJd5_gvkaZn5OgHCicGtEo-su0mBvwEKyLiCkCeZcxukC8uK2QA1ZGB/s1600/p1-saturn.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-3xIKotru3ObNdD7DPo3JWSefp9VXkwTxEoMKVruVhkykaGtLAC4Vp7Vn3tD4PPQJNpaPAqhkLXK9azCTKFJhiWJd5_gvkaZn5OgHCicGtEo-su0mBvwEKyLiCkCeZcxukC8uK2QA1ZGB/s1600/p1-saturn.png" /></a></div>
<div class="MsoSubtitle">
<br /></div>
<h3>
<span style="color: red;">| </span><span class="SubtitleChar"><span style="font-family: "calibri light" , sans-serif; mso-ascii-theme-font: major-latin; mso-bidi-font-family: "Times New Roman"; mso-bidi-theme-font: major-bidi; mso-hansi-theme-font: major-latin;">Prologue</span></span><o:p></o:p></h3>
<div class="MsoNormal">
I’ve been wanting to write this article for quite a while. Consider
this as some sort of a high-level summary of today’s data world, given from my
own personal perspective.<o:p></o:p></div>
<div class="MsoNoSpacing">
Specifically, an overview for all of my fellow SQL DBA’s
(admins, developers, architects, warehouse/BI specialists), who get exposed to
new data platforms starting to get built around them<o:p></o:p></div>
<div class="MsoNoSpacing">
Then quietly wonder how to adjust to these changes, and what
should be their right approach (I’ll give you a quick tl;dr hint - denial is
not the right one!)<o:p></o:p></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
Are you ready? Let’s go!<o:p></o:p></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjURBXitXiZPt0-Xe9XfHc4sE2gGrP6Jxye2eUpqGEZzzSe33-d1jIOfa6EPPxl98s2aZ19BdSz32u_hj_njkqRb7NNd_C9bZMQzQ9SPeXnHglgS_1UOfw-5vlyrOOI3pdK6CovWH-nqM6L/s1600/p2-term.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjURBXitXiZPt0-Xe9XfHc4sE2gGrP6Jxye2eUpqGEZzzSe33-d1jIOfa6EPPxl98s2aZ19BdSz32u_hj_njkqRb7NNd_C9bZMQzQ9SPeXnHglgS_1UOfw-5vlyrOOI3pdK6CovWH-nqM6L/s1600/p2-term.png" /></a></div>
<div class="MsoNoSpacing">
<o:p><br /></o:p></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
<v:shape id="Picture_x0020_5" o:gfxdata="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
" o:spid="_x0000_i1028" style="height: 56.25pt; visibility: visible; width: 64.5pt;" type="#_x0000_t75">
<v:imagedata cropbottom="-3665f" cropleft="-2663f" cropright="-3385f" croptop="-1833f" o:title="" src="file:///c:\wintemp\msohtmlclip1\01\clip_image002.png">
</v:imagedata></v:shape><o:p></o:p></div>
<h3>
<span style="color: red;">| </span><span class="SubtitleChar"><span style="font-family: "calibri light" , sans-serif; mso-ascii-theme-font: major-latin; mso-bidi-font-family: "Times New Roman"; mso-bidi-theme-font: major-bidi; mso-hansi-theme-font: major-latin;">Part 1: A quick “12-steps” phase to acknowledge
the data world is changing<o:p></o:p></span></span></h3>
<div class="MsoNormal">
<br /></div>
<div class="MsoNoSpacing">
Until not too long ago, a typical organization would hold
its entire back-end data stack in one or more relational databases.<o:p></o:p></div>
<div class="MsoNoSpacing">
To handle the data, that typical organization would hire
one or more DBA’s responsible for tasks such as storage planning, administration,
development, tuning, DR and more.<o:p></o:p></div>
<div class="MsoNoSpacing">
Also, a typical DBA would usually specialize in one
(usually relational) database.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
While this is still relevant, reality forced changes to the
traditional data world; here’s a brief of what and why:<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJo4ODZNPbeqZU6FTLb1yvYJiUR9iyq_3lIyg2DCg_kSNbcutfc2JzN_0zgh0NAB5UkGn9cNcmQarkXpLIxD6W04Pv8QbTcW5cr4Q_uYM0N8NaCytTfdb9eUp2WROM4o2nNSf7JoPFNSX6/s1600/p3-graph.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjJo4ODZNPbeqZU6FTLb1yvYJiUR9iyq_3lIyg2DCg_kSNbcutfc2JzN_0zgh0NAB5UkGn9cNcmQarkXpLIxD6W04Pv8QbTcW5cr4Q_uYM0N8NaCytTfdb9eUp2WROM4o2nNSf7JoPFNSX6/s1600/p3-graph.png" /></a></div>
<div class="MsoNormal">
Over the years, data collection volume is growing <b>exponentially</b>!</div>
<div class="MsoNoSpacing">
<o:p></o:p></div>
<div class="MsoNoSpacing">
There’s an ever-growing need to collect and store more
data, while persisting historical data. <o:p></o:p></div>
<div class="MsoNoSpacing">
The new data is often getting richer in content and
structure, or sometimes intentionally lacks any formal pre-defined structure.<o:p></o:p></div>
<div class="MsoNoSpacing">
Storage pricing are constantly dropping, especially
commodity storage, </div>
<div class="MsoNoSpacing">
which is becoming more popular to use instead of having a
very high-end server connected to a high-end storage.</div>
<div class="MsoNoSpacing">
<br />
<!--[if !supportLineBreakNewLine]--><br />
<!--[endif]--><o:p></o:p></div>
<div class="MsoNoSpacing">
The need to facilitate these ever-growing requirements
while having minimal cost friction had led to new platforms, services and
frameworks being built, whether cloud-based or on premise.<o:p></o:p></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
So, the data world has changed, <u>dramatically</u>!<o:p></o:p></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
Let’s look at these changes from a different angle:<o:p></o:p></div>
<div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
</div>
<ul>
<li><span style="font-size: 7pt; font-stretch: normal; text-indent: -0.25in;"> </span><span dir="LTR" style="text-indent: -0.25in;"></span><span style="text-indent: -0.25in;">New products within new
startups, as well as existing organizations will not necessarily (gently put)
choose a highly priced relational data store (not naming names, but you know which
ones), unless the business model specifically requires one.</span></li>
<li><span style="font-size: 7pt; font-stretch: normal; text-indent: -0.25in;"> </span><span dir="LTR" style="text-indent: -0.25in;"></span><span style="text-indent: -0.25in;">There are a *lot* of new
technologies, mostly open-source, that have already reached enough maturity
level in such way that many organizations trust these technologies/platforms as
their production source of record.</span></li>
<li><span style="text-indent: -0.25in;">Often, regardless to
pricing, a required solution does not even fit inside a relational model and as
a result, unlike a decade ago, you will see less and less relational databases
trying to imitate processes that are not initially intended to be done inside
a relational database. </span><span style="text-indent: -0.25in;"><span style="color: #20124d;">Need some examples</span>? Key-Value stores, Document-based databases, unstructured
data, true scale-out (share nothing) architectures, queues, graph data and more</span></li>
<li><span style="font-size: 7pt; font-stretch: normal; text-indent: -0.25in;"> </span><span dir="LTR" style="text-indent: -0.25in;"></span><span style="text-indent: -0.25in;">In addition to cutting down
licensing costs, scaling out the data (both storage and processing) reduces the
hardware cost. High-end server can easily cost like a new house!</span></li>
</ul>
<!--[if !supportLists]--><o:p></o:p><br />
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<o:p></o:p></div>
<div class="MsoListParagraphCxSpMiddle" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<o:p></o:p></div>
<div class="MsoListParagraphCxSpLast" style="mso-list: l0 level1 lfo1; text-indent: -.25in;">
<o:p></o:p></div>
<div class="MsoNormal">
Given the above, with the assurance a certain <span style="color: red;">*</span><i>free</i> technology can be better (let alone - ‘good
enough’) to handle its data services - it is very likely such technology will
be chosen by almost any organization over its costly rivals.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<i><span style="color: red;">*</span>This “Free” has its costs,
but I’ll get to that later in the article.<o:p></o:p></i></div>
<div class="MsoNormal">
<v:shape id="Picture_x0020_4" o:gfxdata="UEsDBBQABgAIAAAAIQA0Ev94FAEAAFACAAATAAAAW0NvbnRlbnRfVHlwZXNdLnhtbKSSy07DMBBF
90j8g+UtSpyyQAg16YLHEliUDxjsSWLhl2y3tH/PJE0kqEo33Vj2zNy5x2MvVztr2BZj0t7VfFFW
nKGTXmnX1fxj/VLcc5YyOAXGO6z5HhNfNddXy/U+YGKkdqnmfc7hQYgke7SQSh/QUab10UKmY+xE
APkFHYrbqroT0ruMLhd56MGb5RO2sDGZPe8ofCAJruPs8VA3WNVc20E/xMVJRUSTjiQQgtESMt1N
bJ064iomppKUY03qdUg3BP6Pw5D5y/TbYNK90TCjVsjeIeZXsEQupNHh00NUQkX4ptGmebMozzc9
Qe3bVktUXm4szbCcOs7Y5+0zvQ+Kcb3ceWwz+4rxPzQ/AAAA//8DAFBLAwQUAAYACAAAACEArTA/
8cEAAAAyAQAACwAAAF9yZWxzLy5yZWxzhI/NCsIwEITvgu8Q9m7TehCRpr2I4FX0AdZk2wbbJGTj
39ubi6AgeJtl2G9m6vYxjeJGka13CqqiBEFOe2Ndr+B03C3WIDihMzh6RwqexNA281l9oBFTfuLB
BhaZ4ljBkFLYSMl6oAm58IFcdjofJ0z5jL0MqC/Yk1yW5UrGTwY0X0yxNwri3lQgjs+Qk/+zfddZ
TVuvrxO59CNCmoj3vCwjMfaUFOjRhrPHaN4Wv0VV5OYgm1p+LW1eAAAA//8DAFBLAwQUAAYACAAA
ACEAe67AmzICAADqBAAAHwAAAGNsaXBib2FyZC9kcmF3aW5ncy9kcmF3aW5nMS54bWykVNtu2zAM
fR+wfxD0nlj2nCYx6hSdkxYDui3Y5QMUWY6FyZIhKW6Kof8+SrbTIBuGoXsxKJI6PDykfH1zbCTq
uLFCqxzHU4IRV0yXQu1z/P3b3WSBkXVUlVRqxXP8xC2+Wb19c02zvaFtLRgCBGUzmuPauTaLIstq
3lA71S1XEKu0aaiDo9lHpaGPgNzIKCHkKmqoUHj1ArWmjqKDEa+Akpr94GVBVUctQEqWnXsGjpL9
PzLNVHdv2q/t1njm7FO3NUiUOQblFG1AIhwNgSENjtHFrf0LwLEyjc/XVYWOAeXJfwMGPzrEwLm8
Skgyw4hBaLD7GvXnP9xi9eav94BMXxSMMyKtYJ6H6raCXfaWjr1BzB0MR+mpyZA9tni6upOivRNS
ekRvDwMw/6I/KCEYX2t2aLhy/aYYLqmDFbW1aC1GJuPNjoPo5kMZhw0qD9rBgvp6Yf94IQ3qqMzx
bp+EDFvTkveudEbIILGl7qMue3f8bvSDMicUD9ka606Aj7Vw3PcPWWdlYVgP1vlsP7awxT+TxS0h
y+T9pJiRYpKS+WZyu0znkznZzFOSLuIiLp49uzjNDpY/aEbluhXjk4rT3/RqBDPa6spNmW6iXqrx
WYFUMekfVd9Q6BFYAqHAdqQILj+UIJYz3LHamxXM6wtnru/MjoEheZymHRb/9XsLgONlr+s91w3y
BkwTqodZ0Q6k7HmMKaGBvjgAtH5Zo4tXHlKGv5L/lZyfV78AAAD//wMAUEsDBBQABgAIAAAAIQBT
Uolh0gAAAKsBAAAqAAAAY2xpcGJvYXJkL2RyYXdpbmdzL19yZWxzL2RyYXdpbmcxLnhtbC5yZWxz
rJDBSgQxDIbvgu9QcreZ2YOIbGcvIuxV1gcIbaZTnKalreK+vdW9OLDgxUsgCfny8e8Pn3FVH1xq
SGJg1AMoFptcEG/g9fR89wCqNhJHaxI2cOYKh+n2Zv/CK7V+VJeQq+oUqQaW1vIjYrULR6o6ZZa+
mVOJ1HpbPGayb+QZd8Nwj+U3A6YNUx2dgXJ0O1Cnc+6f/2aneQ6Wn5J9jyztygts3Ys7kIrnZkDr
y+RSR91dAa9rjP+pEWKPYKMR2QXCn/mos/hvDdxEPH0BAAD//wMAUEsDBBQABgAIAAAAIQC2OwQi
VAYAAAsaAAAaAAAAY2xpcGJvYXJkL3RoZW1lL3RoZW1lMS54bWzsWUtvGzcQvhfof1jsvbHeio3I
ga1H3MZOgkhJkSOlpXYZc5cLkrKjW5EcCxQomhY9NEBvPRRtAyRAL+mvcZuiTYH8hQ65D5ESVTtG
ChhBLMDYnf1mOJyZ/YbkXrn6IKbeEeaCsKTjVy9VfA8nExaQJOz4d0aDjy77npAoCRBlCe74cyz8
q9sffnAFbU0oSccM8WAU4Rh7YCgRW6jjR1KmWxsbYgJiJC6xFCfwbMp4jCTc8nAj4OgYBojpRq1S
aW3EiCT+NliUylCfwr9ECiWYUD5UZrCXoBhGvzmdkgnW2OCwqhBiLrqUe0eIdnywGbDjEX4gfY8i
IeFBx6/oP39j+8oG2sqVqFyja+gN9F+ulysEhzU9Jg/H5aCNRrPR2intawCVq7h+u9/qt0p7GoAm
E5hp5otps7m7udtr5lgDlF06bPfavXrVwhv26ys+7zTVz8JrUGa/sYIfDLoQRQuvQRm+uYJvNNq1
bsPCa1CGb63g25WdXqNt4TUooiQ5XEFXmq16t5htCZkyuueEbzYbg3YtN75AQTWU1aWGmLJErqu1
GN1nfAAABaRIksST8xRP0QRqsosoGXPi7ZMwgsJLUcIEiCu1yqBSh//q19BXOiJoCyNDW/kFnogV
kfLHExNOUtnxPwGrvgF5/eKn1y+eeScPn588/PXk0aOTh79khiytPZSEptarH77858ln3t/Pvn/1
+Gs3Xpj4P37+/PffvnIDYaaLELz85umfz5++/PaLv3587IDvcDQ24SMSY+HdwMfebRbDxHQIbM/x
mL+ZxihCxNTYSUKBEqRGcdjvy8hC35gjihy4XWxH8C4HinEBr83uWw4PIz6TxGHxehRbwAPG6C7j
zihcV2MZYR7NktA9OJ+ZuNsIHbnG7qLEym9/lgK3EpfJboQtN29RlEgU4gRLTz1jhxg7ZnePECuu
B2TCmWBT6d0j3i4izpCMyNiqpoXSHokhL3OXg5BvKzYHd71dRl2z7uEjGwlvBaIO50eYWmG8hmYS
xS6TIxRTM+D7SEYuJ4dzPjFxfSEh0yGmzOsHWAiXzk0O8zWSfh3oxZ32AzqPbSSX5NBlcx8xZiJ7
7LAboTh1YYckiUzsx+IQShR5t5h0wQ+Y/Yaoe8gDStam+y7BVrpPZ4M7wKymS4sCUU9m3JHLa5hZ
9Tuc0ynCmmqA+C0+j0lyKrkv0Xrz/6V1INKX3z1xzOqiEvoOJ843am+Jxtfhlsm7y3hALj5399As
uYXhdVltYO+p+z11++88da97n98+YS84GuhbLRWzpbpeuMdr1+1TQulQzineF3rpLqAzBQMQKj29
P8XlPi6N4FK9yTCAhQs50joeZ/JTIqNhhFJY31d9ZSQUuelQeCkTsOzXYqdthaez+IAF2Xa1WlVb
04w8BJILeaVZymGrITN0q73YgpXmtbeh3ioXDijdN3HCGMx2ou5wol0IVZD0xhyC5nBCz+yteLHp
8OKyMl+kasULcK3MCiydPFhwdfxmA1RACXZUiOJA5SlLdZFdncy3mel1wbQqANYRRQUsMr2pfF07
PTW7rNTOkGnLCaPcbCd0ZHQPExEKcF6dSnoWN94015uLlFruqVDo8aC0Fm60L/+XF+fNNegtcwNN
TKagiXfc8Vv1JpTMBKUdfwrbfriMU6gdoZa8iIZwYDaRPHvhz8MsKReyh0SUBVyTTsYGMZGYe5TE
HV9Nv0wDTTSHaN+qNSCEC+vcJtDKRXMOkm4nGU+neCLNtBsSFensFhg+4wrnU61+frDSZDNI9zAK
jr0xnfHbCEqs2a6qAAZEwOlPNYtmQOA4sySyRf0tNaacds3zRF1DmRzRNEJ5RzHJPINrKi/d0Xdl
DIy7fM4QUCMkeSMch6rBmkG1umnZNTIf1nbd05VU5AzSXPRMi1VU13SzmDVC0QaWYnm+Jm94VYQY
OM3s8Bl1L1PuZsF1S+uEsktAwMv4ObruGRqC4dpiMMs15fEqDSvOzqV27ygmeIprZ2kSBuu3CrNL
cSt7hHM4EJ6r84PectWCaFqsK3WkXZ8mDlDqjcNqx4fPA3A+8QCu4AODD7KaktWUDK7gqwG0i+yo
v+PnF4UEnmeSElMvJPUC0ygkjULSLCTNQtIqJC3f02fi8B1GHYf7XnHkDT0sPyLP1xb295vtfwEA
AP//AwBQSwMECgAAAAAAAAAhAFtitv65FwAAuRcAABoAAABjbGlwYm9hcmQvbWVkaWEvaW1hZ2Ux
LnBuZ4lQTkcNChoKAAAADUlIRFIAAAEAAAABAAgDAAAAa6xYVAAAAwBQTFRF////AAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAACyO34QAAAP90Uk5TAAH9Av4D/PoG+woE+ff48fQFCPDHBw1oCzT2xg4S
GYTkqeAtmtnn7I7zdxcjnu2l2+Fh1pMo2IfED1CRzNQiCU9n9bDRHt3jo2Tf7kNpGDvPE8Dq3trr
qhwzuYO8HzFC8pbF5Sp+UzAmsVZ8KwxSNcNuqM29erM+rbjmdUe73NXKFs4UinZxKacnLuKLrr54
HW2rWqRvmBob0MtmlKxZouhGPWVKuiE5lWKmtVd9X1zJ6V6BNkBMRGBytiTvUYi3bNMQc0Uyr508
n2pjEYK/SFt0jJdBgIU4ho+JJcLIoRXBTl2S0lSymaA/myBwjViQSTovtE15LEucN1V7a3/X8sYy
fQAAE2lJREFUeF7t3XV0VNfaBvBnLO5GnEAgIagEdXd3KeruLsULxV2La6lihZaqQN2hKrfqLre9
935Xnm/ByrHJSTKyz8yZNr//s9aZZ0327LPlfeELpUqVKlWqVKlSpUp1637u/Pe/xOGvqWqNPN4U
3KRONv5yqtwZTIW1RlX8pVgmxVAr+Fom/jpCarCwRz7BX0X6YOqx13fgLyFzL4swezn+ApLbsEhZ
V/GnZ9nIYsR3x59dWRYr5hL+3H6kRmTNYGpFtYCehkOPbN/51m2PZochoD2XSpXyDzoQd3wWNULP
QWvKsMrlltgpqTURgWtcPFUGJeEGy49nqfFtGCQD7vlsVhCdHEpHgNo+nCrPh6PA7g+oseS/b6+p
+uujr99Vi7rKd0EA2jKnItW+hiJ8lZ3uiExCILFk/mviolut1BiZCLWxUXTHdphY2Devdd1c/9pd
d/eanrBsRZulfSJYWK0q0LrSim74EiY15J7G+0JZslbj4OxoNF0X8RLMaO3ddE3wzyhsWnW67lGY
T8NKwXSN/TXoyc6iy56D6dzTmy4KKgN9Pb9kMaKo0hZmczKVLqrVHUWaEUUdoU1GnF4XUokKazjM
5je6aGOx49e4csOpEb3g3mHJADC+OhXtYDaN6JLOIy6gBCGLR9Syk2RQu0F3dl1nw03YU54qc2Ay
zdezZKFzv0iESyzNM/ZsiYVKRlOqtMqAyRxl8SJrzn5+xnJ4LCyNanfCbN6mWmh+2oL+/6x0ftLm
p3e+cKz21JTlFnhlQBOqWd+H2QylwlomDGL9cpgarWE6o6nSNARCvRhBraMwnWZUexkChdehk/4w
H0s+VYKnoWRrt+7s+uL941GCnpvoJD4TJtSSajlDULz3/92GN9kHtXCgGNl96KwrzCisOtWaNkQx
Go6wUrF+qwVFmZpHZwk2mNJj1BgciyLdk0OtCenQZXnTTmfB2TCnKUupUQ1FiLudhVQcDR1TNrKw
W2BWVatT4z0L9HyUQB15jVDIyc9ZWH4iTKtLKDXKxaGwNX2oK+I6nAzLZWHWUzCxJ6j1YRU4G/YI
ixA9Dmq2yqHU0RimVoFa5bOhVTuYRco5CUXVBtRTPhmmFjuYWhEbGkJheYvFqZkJSZkY6roHJtf8
BJ30e8Ehj5K9qBVT0Uq1JSdxQ+LFE9S3zAKzi7ubzrIqNEoCHPMqxVDjbMfmGPI81aLfup4ytkY0
izIP5hcygTpCW0XSyV1P4YY7IuiyuQgEsfPpAmU+cz2KruoOSQCNhPqCa0M21spitKLsQwSI9M9Z
gvguUHmBRfs8gbKJCBQDslis8pOhcQuLYF2VGar8lQMB49dUFmNZNzg5T13tnsN9lD2EAFKGRQp6
JwSFLKKOXclAa0qCn0Igac0i9D0FPdvX00nNVwGEpVKyAAGlZxb1VK8UBn2Jq/tR0ebNdbhhKmVl
EFiGWensyfrdHSjalIM/pUWSDE1b9DAK7KDEnokAU4ey0PuPHP97iyEoWXjD5pqMalGShkCzMpqy
2+GZdMpuQ8CZQ1nwSnikO2WjEXDCRlH2BDzSlZJIBwJPR8qWwSMjKJmF4ti6pbR4ceKloUOSYCaO
pZTVhScaUPI36Fs7493+abVCKWm3bc6rK824XfYOPBFNySLomPZWPnXYG2zNhCk8FUlJLQvcN4Sy
V+EkfFid9iyS9ZUy6TCBcpRdh/sWUzYAGh89lssSPPJyT/jdccqqwX1TKYmBWmalVnRBzBuZ8DNH
DiU14b6JlPSGYsv+SLoo6nv42RuU2KfAbdspGQXJyQoRdEMd+NdAyk7BbZ9S0kladT8fRbeELodf
xUZ4c66jNiV9cdORmnTX0/CvHpTsgtuOUbIUADJnsmhBCztbqaMJ/Ot5ShK8eRXoAThmRFNPvxpl
u7ZIybQBtpdG3/9Tg0hqdIB/7aQkxgZ3baVkGSafoY5ajR9wQGvKj8+oM2gE/3qAsvFw1wxKOt0b
wUKGv/LmkT8yUFj6ohwWyIuDf73kzb7GVLog9ePK2XAW90J53nAmG/7WnpKWcFdduqh9hUeToBV+
z8vVTnxvg99VpOQY3BUeQZcFz24ZAjPqS0lHuK0p3dHpfgvMZwklp+G2cnTP3ldhOn0oeRDuSryb
7to0Deay+zAl98E9iU9k0QPbxsM06pZdYadswR64YfQP/eiZyPtgCuFfbKJWRLlGiXBJcu2R9MKu
EPjdgJcXUkd8tSsOlGDPsdYxLE5k07l3Vfih7K65sw5bqWtZW/jX+7cHsSjxC8ZcSkIRXhp2Sw+W
bG8L6Wu2Zeyzekn3Xgc/GlAhlMUL6nFnx3+kDAiBJHblwwMvTprfia7a9zNk4+Y0KJR37lD4S883
IumqzvmvHHg8IX9hK7ov7Rsouo1wzrxzCvwibEw0RbNTX41MKN7fRq34cfCDYUsoWnTZKou/7Uc9
w1eHQ3GhFzWejIWvNfzWgI+fAQCOLv9sRR2fH4XK8fJUexE+1mIUdUTP7zjkxZr0SMVFL0Hy0tPt
qONQFSgyLvvxin23ciws6MvjsQDgOJhAd6UemgcN28VBdhaSOxUKyxi7v65XXerNQhbe0hayZv9u
SjfMeqEhChv/VTALqTYFijuUBN6D79jGWOlsxRfh0Fr3WE26Iq/1HW1RhGaHrHTW7hQUtaUnyd0C
n1m5gM7qTbRAR7exlc4EsxhR+zYMC0Fx1vS300nQeVXWnwbxBvvP8Jm319NJrdMOFCnsgX9PmJVV
KAZr7geNH1wXjpKNm0tnZ5pBVvVaJIPOtITPdA2mVvzqRJTI0nPysO2r36tQacyMc5/MW9c23QLX
XalIJ9UvQbH81XT4jOUxOmm9G4YLmdOKWkEPwS9iO1Dr7ET4RNtn6KRDHHwv6VZq/S0DvvJze2o1
2QJfy+xBjdx/wIeeup1aZ4/Ct9aWp8aZtvCt1+KpEfUofGl8DjX2h8DX2vaiRtBp+M7Do6iW9yN8
S/+W+evwlZPrqdZ3DfxjXm9q1IdvDClPtYSV8Je2K6hRwQYf2NKHahPC4D/Nb6dGOQcMt3wJ1XY5
4FeVrVT7mwUGi0ug2iT42/E8n56PtMyk2gvwv2m5VCsLQ91Cta0wgzVZVFsEA31KtYdgDkP6Uu0O
GOZoBFUqwyyq9KCKdSwMUjXXXOOfomEDqsSsgyFCmminXWaStI8qnVbCCD9RpZwFptJzKVV6hUO8
FlRJiIPJ7O5DlREQrm1nKjoth+k0W0iVlhAsPI2K+NEwocnVqQieZ2DZyNArMKULqVT0rgKRLtmp
eB0mdZAqd0OgsHZU/GaBGG+u2vBDpUYQ6D2jatBuoKJ9TwgSL7xQou0yFa3GQ5SrQZQFPQehAXwG
kRpWpGJZOMQIX0HFHIgNYD+EqhtNxXmIcRsVJyyCA7jTwIYXQRcgQtVUyqIHQHAAI4wsb9rEBgFa
GzCyWgZ8U7tsBEnuezAlDCIl9xW8NnCUiukWCJDc6J85VLHnvzMQ4lwIpSw3A177kLKouvDew89G
sbA+WxMhyhihb0VfUHEvvLZ2RxD1rT9mgxiOBMqsQ+Gd2JqUNY2Ft8pEsmiDPoIYayMoG2kRVzT7
G3gpvRyLlXUKYrxDxf3wRlJvyibASw17sAR5KRAiuT1lNR2CyoIFrYF34j6mWvSJVJJMpVq/8RDi
Hipeg+dCciirAO9YJlAxt2W2DQtJ8uvdHZ/Jo6zdFAjxCmX5NnisNmUxmfDOacqazMMNo6RSWc0f
CxK9ufdHKGX/B489Ka6D0FNnWaDzOQtuypICAAa2YQH7cxDiM8raWOChVymrngTvNGaB+BTNBftD
uCn2cRY4AyGqRFLWAh66Vdyma5L8PP+AZL261EdGeRbIFv4VaALPrKMsqgq8c7/OUl0tktyBAinS
DPknCDEggrJT8MhX4n4CcLdOq4jyUgDarffcEAhRwdvHT+xMiX0tvBMXzAJrnC7Y14CkmV0etYVo
FkrJ8DB4YKrANn/N9EqEtiPJuyD7QHAp6UOUnYMHnhHY4KC7XonQJXIA2lKk1rYQ4gJlveC+jAhK
2sBbY1ngABQ1nSoPN//XhWkpA68OHfcUxGhK2cNwW1eBx26UKWW+c5mVmTDOQ5S9BbelUWLdA299
wgL2dKdCO+VgnI+CKcmywE3fUTZbZG/aLpDVMzoAzKdsHNx0B2W1RXYmbQxZvuFtRI97caRrGyWR
6fCao7pOUZ2lJLkNBnIspGQT3GNTnng+BKhBSfAlzSB9wEdN4CKS4ZaBgk+bbKds+M5E6WXb8ADG
UnYRbqlMWTMIEFaLivIP2gDgc+n7ZZyGoZ6utAwW3fC/BdVq1j9lQxuS3AhDNaCkL9wRF0nJVxBj
G7XOPjvKBwFMomy5hz3lv4AYIc9QzwQYahpl1z1bDbVmQJDwQ9TTqUOZPywwii2akic8q4y9F+JM
HUV9nX87thLGSPOsvvFlSmpAoPQfhrMIQYNbrjR2JtAAbihv1Kn4pBeWsih5t4UYWd/4Ebgu2U7J
WIg2tPKmCOqrtxiidaFsD1yWYnCbn+SLdSpS1zPfQawqlC325G5QaAgM8l3LftQR3R1i9fNkTr+a
kopGF6CPtFIrpguESvOkadeblEyHcVaQ5IIqL36ZSrXIqxDpcU92t971ScffWSQ5CEBYo4+pUjEZ
ApXz5HWomk+q9DeRAgDQZSQV1SDQt5T8zZO1tDowzj6SPIECi3sb89NTiZJnPNkWvgXGWUaSt0KS
kkdJY4jzpieLu8t80qrkDEkOhuxKsDxpa27E5sA+d4YnyX9gnA+dAkAZShZDmP9Q0gMuG+mTu9gJ
zt/LxM4GXIB+mpIGnowB/4UAa75f/dDTry+6rXI61NIKLVdXM2DouZeSW+GyL8UWZ7zOAtOgNrJQ
AJtZ4GsI844ni08zKdkPAaroL69NJ8lXoPKaAasQ71IyEy57XvCcpLPucfMPnHfulY7rlSDMV558
ljtVqYnQQPe41seFAqhsQLPhQ5Tc6cmS4FyxpUeGQKUXSX6sG/x9EOYAJRvgspcFtywbrbvJ8ApJ
fqDbmicFwqR5cti1DCW5EOJzaZF9IBSbnN+3xytdBsU5TMkMj87IJkGE31kgPwOy2c4B7GCBVRAm
jLK/e9TqKhsiZOSyQEKydv+xgV5/thQIM5myyXBZcxdj8+Sf6sm3NfPNkZD8Wl05lijORcrC4Loc
SmZACNsKSqx1knDTCXUAtk/7sUDMFogzg5LDcEMCRU9JUlIpa9/IAgCDSDINN1gm5htUoOFdzzpf
3k7JZQjySRAVvWuc64YFBY+1e/Hre6no74BAX3q2yVefkngbBOlIDXuPUSSZ26s6NebGQqSznl15
eJCyoRClTBRLNigOItX18PZYVcp2QpihfVmC4N9tEKolZVvgjlGUzIc4U6pZWZz/DYRgNSjpA3g2
CvaGSHU7BLEobT6NNbDz6deeTly4BkK9v389dcS0vgLx1np84Hc0ZWMg2rh7E4ZTJWrvhi4hMEJ9
yqrCLZZ+lHSywABVnqudT5L9ynRpa4NBwnMoyfLiWN8lGGMjSdaDgVpQdpcXfzsTxphveABzKfsE
bgo/TElUBgxxwOgA9gRRsjDcm8JkY2CIbUYHsIqy+l79gsTshhH6GxxA1ShK7A/DfdMpex5GKGdw
ABu9uTeofSGyX4UB6vRZUrPiZRjlureVVJKHU/YxAo6jDWVn47yuIrcVgWYVFR3hkZAllIUOQ2D5
kYq9NgHXXKpXRSD5tRUVD0BADQ02TULg6NmJio3w2OQgKh5vjkDR80MqIqrCcyOoktYTgeFkRao8
Bi+k51Ol3ncIBAMPU2VkCLzx/iNUyRkK8/s5hipZ3eCdxUFUSV1tg7kl1tc8cNQFeOt1aqTVhZn9
Uo8a98F7HagRtdkBs0pubKXGTxAgbjq1ejSywIxCOnai1g4HRIjbSCdPHnTAbJrPaE8nb1gghm0/
nfU9HQszSf+9N53Yn4Y4m+101r5+NkzC1qVaNJ0FvwaR7g9mYU3nnIT/Xf1hFAvLOwKxjrajnoSt
D8OPEued/x/1jKwL0cIqWakrq8ax8fCD2O6TZqdSV8xWGwzwr6YsysLby0wLg+90u7J5UAyLcuI7
GCPkfDCLZu17YEyjZhYYKyzl9Luze7MYnWvDOJPn21m8vBV3P1v2ibHdm4VBKNuA7tt/3/V4XyuL
l9q4Gww1ukMQXRNdsdfMdyufO5L9kQUeStz9xzdTO1Ze9fUrfULpiuj6y2G4Zl9F0D2hWbOmD77c
un+HZ6813lB2zOaH/nPsvoNTLx554NTA7LrZA3954MjFsQfvu+OJhzb/960Nn+2qtmPbhMdnN+ix
Pobuyb33KfjEnjdyaD5LVyf7cu717CM0k/arxsHHEhv1T6U5dP72AQv8IenczBz6mf3Jz/4eAj+q
W8aPIfxvxP99BIlfQ+jQJoK+FT99/8FuMJHwyQff+a0WfcBar/+kT4bAnBo+9+Kk/QdGtmtFA8Qs
vXxt8/ZpzREIksbPm7iz/vML9h620jvDOzUZdFel7x+92hOByZE59Pjp28aU3dD42rMdyrW+PPiD
D1c0rVkrp3qePGzYo4b3G9WnXpt9DTY9PqH/jmrXGq8qe2/l1R0fnTe5Wyz+zEKmZFTJSI6Ff5Qq
VapUqVKlSpUqVapUqf8HWJ93ToD87csAAAAASUVORK5CYIJQSwECLQAUAAYACAAAACEANBL/eBQB
AABQAgAAEwAAAAAAAAAAAAAAAAAAAAAAW0NvbnRlbnRfVHlwZXNdLnhtbFBLAQItABQABgAIAAAA
IQCtMD/xwQAAADIBAAALAAAAAAAAAAAAAAAAAEUBAABfcmVscy8ucmVsc1BLAQItABQABgAIAAAA
IQB7rsCbMgIAAOoEAAAfAAAAAAAAAAAAAAAAAC8CAABjbGlwYm9hcmQvZHJhd2luZ3MvZHJhd2lu
ZzEueG1sUEsBAi0AFAAGAAgAAAAhAFNSiWHSAAAAqwEAACoAAAAAAAAAAAAAAAAAngQAAGNsaXBi
b2FyZC9kcmF3aW5ncy9fcmVscy9kcmF3aW5nMS54bWwucmVsc1BLAQItABQABgAIAAAAIQC2OwQi
VAYAAAsaAAAaAAAAAAAAAAAAAAAAALgFAABjbGlwYm9hcmQvdGhlbWUvdGhlbWUxLnhtbFBLAQIt
AAoAAAAAAAAAIQBbYrb+uRcAALkXAAAaAAAAAAAAAAAAAAAAAEQMAABjbGlwYm9hcmQvbWVkaWEv
aW1hZ2UxLnBuZ1BLBQYAAAAABgAGAK8BAAA1JAAAAAA=
" o:spid="_x0000_i1027" style="height: 75.75pt; visibility: visible; width: 75.75pt;" type="#_x0000_t75">
<v:imagedata cropbottom="-2583f" cropleft="-2891f" cropright="-7077f" croptop="-1752f" o:title="" src="file:///c:\wintemp\msohtmlclip1\01\clip_image004.png">
</v:imagedata></v:shape><i><o:p></o:p></i></div>
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNSz48NKYkguCXnzHpSwXgTp6cfwKoU2Hms5T7ZbAJwV28wSh_1E1EckAyJB57bDP2sSXA_iPXEpOBsVkJaIZqtZXCJ4XPPB7rV0fvig2Q2THjQtZlNrNaC-2pEK5MUOE3TP1MfOvwi5nW/s1600/p4-money.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNSz48NKYkguCXnzHpSwXgTp6cfwKoU2Hms5T7ZbAJwV28wSh_1E1EckAyJB57bDP2sSXA_iPXEpOBsVkJaIZqtZXCJ4XPPB7rV0fvig2Q2THjQtZlNrNaC-2pEK5MUOE3TP1MfOvwi5nW/s1600/p4-money.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="MsoNormal">
<i><br /></i></div>
<div class="MsoNormal" style="mso-pagination: widow-orphan lines-together; page-break-after: avoid;">
Do you see this happening in your organization? If not, it’s
just a question of <b>when</b>, not <b>if</b>.<o:p></o:p></div>
<div class="MsoNoSpacing">
If any of the above is news to you, or if you knew
‘something was going on’ but was gently ignoring it, you may feel a bit of a
discomfort. (But if you are, that is totally fine)<o:p></o:p></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
First, it is important to be aware of what’s out there<o:p></o:p></div>
<div class="MsoNoSpacing">
Second, it is also important to keep in mind that
Relational databases are still very strong and dominant, and will stay there
for many good reasons. <br />
In fact, for any structured data, with constraints, relationship to other data
objects that need to be consistent, isolated, and transaction-safe, there are
no better solutions than the relational model.<o:p></o:p></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoSubtitle">
<span style="font-size: 14.0pt; line-height: 107%;">Let’s have
a look at some graphs, shall we?<o:p></o:p></span></div>
<div class="MsoSubtitle">
<span style="font-size: 14.0pt; line-height: 107%;"><br /></span></div>
<div class="MsoNoSpacing">
(Note: relevant to
this article date, so - 2015-ish)<o:p></o:p></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
So, breath in, breath out! Here are some “perspective”
graphs -- <o:p></o:p></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
The first one, coming from “DB-engines” website’s ‘popularity
and trends’ shows that the commercial relational databases are flying up above everyone
else.<o:p></o:p></div>
<div class="MsoNoSpacing">
However, they do keep their stable value, if not
decreasing slowly, while other newer “players” gradually increase<o:p></o:p></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYs4L-56pCY68HQHwOU9_G-oaL_lcrQALX3KogTc8c0JNc4l3Im4_1Lx4awekqnJevIjtOsoqL3DkWWVf9-c6aqFn54o1HLGHYXz-BlFpnsI3O6vc7RDGUtfXlvCHPc-JlD5uDTkJJEtlY/s1600/p5-graph1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="387" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYs4L-56pCY68HQHwOU9_G-oaL_lcrQALX3KogTc8c0JNc4l3Im4_1Lx4awekqnJevIjtOsoqL3DkWWVf9-c6aqFn54o1HLGHYXz-BlFpnsI3O6vc7RDGUtfXlvCHPc-JlD5uDTkJJEtlY/s640/p5-graph1.png" width="640" /></a></div>
<div class="MsoNoSpacing">
<o:p><br /></o:p></div>
<div class="MsoNoSpacing">
<br />
<v:shape id="Picture_x0020_1" o:spid="_x0000_i1026" style="height: 405pt; mso-wrap-style: square; visibility: visible; width: 669.75pt;" type="#_x0000_t75">
<v:imagedata o:title="" src="file:///c:\wintemp\msohtmlclip1\01\clip_image005.png">
</v:imagedata></v:shape><o:p></o:p></div>
<div class="MsoNoSpacing">
<span style="font-size: 8.0pt;">Source: </span><a href="http://db-engines.com/en/ranking"><span style="font-size: 8.0pt;">http://db-engines.com/en/ranking</span></a><span class="MsoHyperlink"><span style="font-size: 8.0pt;"><o:p></o:p></span></span></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
The second graph is coming from Google Trends:<o:p></o:p></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3VF4gMLr6FzQZixftTx1ZelEB4EDPjU_9O3IwKNfubBk2mCe4jJLpzrrpOL9r87KGuYuEGWBkC-InavJ4ghi1PBW3SXP5wEyR9OaXu4kGoo6J34NN8UxyeFg6SJxYMSn2S0Vg5hiODlBB/s1600/p6-graph2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="376" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3VF4gMLr6FzQZixftTx1ZelEB4EDPjU_9O3IwKNfubBk2mCe4jJLpzrrpOL9r87KGuYuEGWBkC-InavJ4ghi1PBW3SXP5wEyR9OaXu4kGoo6J34NN8UxyeFg6SJxYMSn2S0Vg5hiODlBB/s640/p6-graph2.png" width="640" /></a></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNormal">
<v:shape id="Picture_x0020_9" o:spid="_x0000_i1025" style="height: 382.5pt; mso-wrap-style: square; visibility: visible; width: 650.25pt;" type="#_x0000_t75">
<v:imagedata o:title="" src="file:///c:\wintemp\msohtmlclip1\01\clip_image006.png">
</v:imagedata></v:shape><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-size: 8.0pt; line-height: 107%;">Source: </span><a href="https://www.google.com/trends/explore#q=%2Fm%2F0120vr%2C%20%2Fm%2F0ndhxqz%2C%20%2Fm%2F0fdjtq&date=1%2F2012%2046m&cmpt=q&tz=Etc%2FGMT%2B7"><span style="font-size: 8.0pt; line-height: 107%;">[google trends]</span></a><span style="font-size: 8.0pt; line-height: 107%;"><o:p></o:p></span></div>
<div class="MsoNormal">
The trends graph shows the same picture - while “SQL Server”
search term which was used here is still above typical newer databases &
services - the trend is pretty clear.<o:p></o:p></div>
<div class="MsoNormal">
We can clearly assume that popularity = estimated usage<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNoSpacing">
“<i>OK, so the data world has changed. Now what?</i>”<o:p></o:p></div>
<div class="MsoNoSpacing">
<br /></div>
<div class="MsoNoSpacing">
<em><span style="font-family: "calibri" , sans-serif; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Arial; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;">Continued in <a href="http://sqlstripes.blogspot.com/2015/10/the-dbas-guide-to-new-galaxy-part-ii.html">Part 2</a>…<o:p></o:p></span></em><br />
<em><span style="font-family: "calibri" , sans-serif; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Arial; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;"><br /></span></em>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoDYMih4_fp8cTP5TPqtNL7cCeJxa8zEEGHl5ciauT1eHxQaFGffzzIlqM_zDDlhxLdElmIQBNNrMa17ODRqYXfSprO5o1ytZjF7jEF8aiUDKzQuM_g3fyg68wtvgmWRXgnth_goMmGhYv/s1600/p1-saturn-bw.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhoDYMih4_fp8cTP5TPqtNL7cCeJxa8zEEGHl5ciauT1eHxQaFGffzzIlqM_zDDlhxLdElmIQBNNrMa17ODRqYXfSprO5o1ytZjF7jEF8aiUDKzQuM_g3fyg68wtvgmWRXgnth_goMmGhYv/s1600/p1-saturn-bw.png" /></a></div>
<em><span style="font-family: "calibri" , sans-serif; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: Arial; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;"><br /></span></em></div>
<br />
<div class="MsoNormal">
<br /></div>
Anonymoushttp://www.blogger.com/profile/04924873994452131263noreply@blogger.com0tag:blogger.com,1999:blog-8152671487595650437.post-2423768264923134192015-09-21T07:30:00.000-04:002015-09-21T07:30:03.606-04:00New version for Database File Explorer - supporting SQL Server 2016Today we've released a new version of DB File Explorer -> our robust database storage analyzer.<br />
Among various changes, this new version fully supports the upcoming <b>SQL 2016 </b>(tested against the latest CTP).<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizbTKYlzVIz7p56XYs7bybhwuR1eC-vZ2dqFRB-AF6znHcPt6Gr3zXbyXp2mXBG4bfu9JC7ULqGZrpiNC96yo4H4Ot4uOXkGOBuVmYM-QZ5K-ldD4iABgGNX_ae26Ck77exIHAnxCTuUV8/s1600/dbFileExplorer_screenshot_sep2015.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="512" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizbTKYlzVIz7p56XYs7bybhwuR1eC-vZ2dqFRB-AF6znHcPt6Gr3zXbyXp2mXBG4bfu9JC7ULqGZrpiNC96yo4H4Ot4uOXkGOBuVmYM-QZ5K-ldD4iABgGNX_ae26Ck77exIHAnxCTuUV8/s640/dbFileExplorer_screenshot_sep2015.png" width="640" /></a></div>
<br />
<br />
<a href="http://www.doccolabs.com/products/dbfileexplorer" target="_blank">Download</a> for free and start exploring your databases' space usage<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/04924873994452131263noreply@blogger.com0tag:blogger.com,1999:blog-8152671487595650437.post-11109138510640944842015-09-15T21:43:00.001-04:002015-09-15T21:43:44.430-04:00SQL Table Zip DemoThis video contains a brief demo of <a href="http://www.doccolabs.com/products/sqltablezip" target="_blank">SQL Table Zip</a>.<br /><br />
Take a look and feel free to download & start using the app.<br /><br />
<br /><br />
<br /><br />
<iframe allowfullscreen="" frameborder="0" height="344" src="https://www.youtube.com/embed/BaFoR5k6-94" width="459"></iframe>SQL Stripeshttp://www.blogger.com/profile/16656693032032317647noreply@blogger.com0tag:blogger.com,1999:blog-8152671487595650437.post-73118207350124432162015-08-11T16:48:00.004-04:002015-08-11T16:48:57.319-04:00Windows 10Just a quick note for those of you who switched to the latest version:<br />
<br />
All of our products are 100% compatible with the Windows 10<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtndkMGW49_qHblaC0pzWLqKIVI6M7a9-21nUpREaPI2ky_d4BDYSz5pTKt_Egud2OFH-wXksE39LreZJO0zmlyeiyv-WRT7GfRiTtNEq6c4wswxnMEjHqgTGAVa0icqdWJTG6JFKl7lBz/s1600/icon_win_10_compatible_en_289x236.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtndkMGW49_qHblaC0pzWLqKIVI6M7a9-21nUpREaPI2ky_d4BDYSz5pTKt_Egud2OFH-wXksE39LreZJO0zmlyeiyv-WRT7GfRiTtNEq6c4wswxnMEjHqgTGAVa0icqdWJTG6JFKl7lBz/s1600/icon_win_10_compatible_en_289x236.png" /></a></div>
<br />
Cheers!<br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/04924873994452131263noreply@blogger.com0tag:blogger.com,1999:blog-8152671487595650437.post-7458710954993602602015-06-22T06:00:00.000-04:002015-06-22T06:00:05.659-04:00New version for SQL Table ZipThere's a new version for SQL Table Zip!<br />
<br />
SqlTableZip is a SQL Data Export/Import tool, which allows you to backup any query result (so - from a single table to a complex query) into a proprietary compressed file (.SQZ)<br />
<br />
The app fills the gap between existing solutions:<br />
- SQL Server backup: is for database-level only<br />
- File Import/Export: usually comes in an uncompressed flavor, and requires various steps both in the export and the import processes (such as defining delimiters, data types, column headers and more)<br />
<br />
Instead, SqlTableZip lets you send any data to a compressed file in a single click, and retrieve it quickly and transparently later.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhceOvsU7cXt0-76SvJF9BWvBSh8ZiJhD7WPraSuZBuN5nYm7Sade726BZcRM2PmkwBKBUKEu_tsKoMD2v0Lzjhq9nUV9lpsuZpueYwrNK_LVTsRHdMaCXaEi2UZAQRLJOl0IbGkqNdTs7q/s1600/sqlTableZip.screenshot.06.2015.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="558" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhceOvsU7cXt0-76SvJF9BWvBSh8ZiJhD7WPraSuZBuN5nYm7Sade726BZcRM2PmkwBKBUKEu_tsKoMD2v0Lzjhq9nUV9lpsuZpueYwrNK_LVTsRHdMaCXaEi2UZAQRLJOl0IbGkqNdTs7q/s640/sqlTableZip.screenshot.06.2015.png" width="640" /></a></div>
<br />
<br />
Here are some of the changes for the current version:<br />
<br />
- <b>SQL Server 2016 support</b><br />
- Improved table picker (more info, improved sorting, requires less permissions)<br />
- Changed help HTML renderer, fixed display<br />
- Core library updated<br />
- Help redesigned (also - switched back to default renderer)<br />
<br />
Claim your copy: <a href="http://www.doccolabs.com/products/sqltablezip">http://www.doccolabs.com/products/sqltablezip</a><br />
<br />
<br />Anonymoushttp://www.blogger.com/profile/04924873994452131263noreply@blogger.com0tag:blogger.com,1999:blog-8152671487595650437.post-27579005374427363382015-05-13T06:30:00.000-04:002015-05-13T12:32:00.099-04:00Log4Sql<a href="http://www.doccolabs.com/products/logtableviewer" target="_blank"><b>Log4Sql</b> </a>is basically a whole new version of our app former known as: Log Table Viewer.<br />
<br />
The new version introduces some very exciting features, such as:<br />
<br />
<ul>
<li> Added <b>PostgreSQL </b>Support! </li>
<li> Added <b>MySQL </b>Support!</li>
<li> Improved <b>SQL Server Azure</b> Support!</li>
</ul>
<div>
And more!</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.doccolabs.com/images/logtableviewer_screenshot_configuration.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://www.doccolabs.com/images/logtableviewer_screenshot_configuration.jpg" height="547" width="640" /></a></div>
<div>
<br /></div>
<div>
So, as a quick reminder - Log4Sql provides a logging solution for you procedures, functions or any other SQL scripts.</div>
<div>
Instead of printing out the results, everything is easily saved to a table, that is then easily explored by the powerful UI of <b>Log4Sql</b></div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.doccolabs.com/images/logtableviewer_screenshot_realtime.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://www.doccolabs.com/images/logtableviewer_screenshot_realtime.jpg" height="265" width="320" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.doccolabs.com/images/logtableviewer_screenshot_explore.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="http://www.doccolabs.com/images/logtableviewer_screenshot_explore.jpg" height="265" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.doccolabs.com/products/log4sql">http://www.doccolabs.com/products/log4sql</a></div>
Anonymoushttp://www.blogger.com/profile/04924873994452131263noreply@blogger.com0tag:blogger.com,1999:blog-8152671487595650437.post-30034636602721720042015-02-11T06:30:00.000-05:002015-02-11T06:30:01.293-05:00We loooove writing SQL Apps!With Valentine's spirit in the air, we'd like to remind you (and ourselves) of how<br />
much we <b><span style="color: #741b47;">love</span></b> writing our SQL Apps, and hoping you love using them too.<br />
<br />
Still haven't tried them yet? Take a few minutes to give it a shot; You will not regret it!<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://www.doccolabs.com/"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhp4brU4BBpVOTJ-Kvxu4nDLQAkGF2vDQZ3K-aDplAxmmdwMpyzDlGWiG-_LyRuhhmIpYkURCcBSOyZxEO7XbygmwP9s41srDKrbm2M7CP8zVNLJJJGV9KzOs6ti93yhk1jHHWbalsTomcI/s1600/Database_apps_made_with_love.png" height="264" width="640" /></a></div>
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<br />
<div style="text-align: center;">
<a href="http://www.doccolabs.com/">www.doccolabs.com</a></div>
Anonymoushttp://www.blogger.com/profile/04924873994452131263noreply@blogger.com0tag:blogger.com,1999:blog-8152671487595650437.post-37739526265720951742015-01-28T19:19:00.000-05:002015-01-28T19:19:47.632-05:00More Security "stuff"If you're using newer versions of Windows, you may have seen the following message when trying to install our (and many others') products:<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV8ELqCYbCqNgEjGNeAdM0Q5Vpw5QhCVK1kzvB2x8JtzJFsNCLB5ueAlrAiw1zWrh2aOtSiZms3fpgq3K4k9wqwjZ3oCqAuPJjrnYvYp1iZdRX1ZteFjY8sSvUKetxsc6NxeVzGyHzSBXh/s1600/windows_smartscreen.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjV8ELqCYbCqNgEjGNeAdM0Q5Vpw5QhCVK1kzvB2x8JtzJFsNCLB5ueAlrAiw1zWrh2aOtSiZms3fpgq3K4k9wqwjZ3oCqAuPJjrnYvYp1iZdRX1ZteFjY8sSvUKetxsc6NxeVzGyHzSBXh/s1600/windows_smartscreen.png" height="255" width="640" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
It shows up on Windows 8 when using Internet Explorer, and on Windows 10 with any browser.<br />
This is a part of Microsoft tightening security in fighting malware (which is a good thing!) but it does mean that many innocent executables will be blocked as well.<br />
<br />
Long story short - if you get this message while installing our products, you many need to temporarily disable SmartScreen, or (a temporary workaround found to be working for now) running the setup from a <b>network</b> location (even the same machine, something like \\127.0.0.1\c$\temp).<br />
<br />
Needless to say, our apps are completely safe, clean and do nothing more than enhancing your SQL Server experience.<br />
<br />
Keep it safe! :)<br />
<br />Anonymoushttp://www.blogger.com/profile/04924873994452131263noreply@blogger.com0tag:blogger.com,1999:blog-8152671487595650437.post-71684738270778896912015-01-10T12:01:00.002-05:002015-01-10T12:01:43.899-05:00Trial versionsWe've had some reports of users getting a 'Trial Expired' message right after installing.<br />
This is happening due to insufficient permissions to create local files in the same folders<br />
<br />
We have recently released a new versions that should address this issue. However, if you're still experiencing this problem, simply "Run As Administrator" for that first time.<br />
<br />
Regardless to that, if you need more time evaluating one or more of our products, feel free to ask us for extended trial requests.<br />
<br />Anonymoushttp://www.blogger.com/profile/04924873994452131263noreply@blogger.com0tag:blogger.com,1999:blog-8152671487595650437.post-91670820403189326522014-12-09T22:46:00.000-05:002014-12-10T10:58:13.231-05:00Introducing LABS, our app playground.<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiz5P-resEdRwS4d8-vYDfLemMo0lT4xuSya7DsvwnHl2L_t3TzGqd27E1h_1bHUi4NQRS0roMAcKTRm9G1cmpMCQSG5Qxb7wK4dOeHAcmtr44wjuYa8Ea3DCuWqYVXpx0TPqCOveQnjqKH/s1600/laboratory_shot_glasses.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiz5P-resEdRwS4d8-vYDfLemMo0lT4xuSya7DsvwnHl2L_t3TzGqd27E1h_1bHUi4NQRS0roMAcKTRm9G1cmpMCQSG5Qxb7wK4dOeHAcmtr44wjuYa8Ea3DCuWqYVXpx0TPqCOveQnjqKH/s1600/laboratory_shot_glasses.jpg" height="434" width="640" /></a></div>
<h3>
</h3>
<h3>
A bit about the "LABS" part in Docco labs</h3>
<br />
So, in addition to our well matured <a href="http://doccolabs.com/products">products</a>, we keep creating new apps, usually built around needs we come across during our daily tasks.<br />
While these apps are usually not shared publicly, I've decided to introduce (some of) them to the public. That - in order to expose them to a wider audience (such as yourself) let you use them freely and hopefully get some feedback.<br />
<br />
While far from being complete (consider that a one-sentence disclaimer), all of those apps will be available for download upon request (on the first stage) and widely available later.<br />
<br />
OK, so, before we lose our <b><span style="color: blue;">TL;DR </span></b>readers, let's jump right to it! shall we?<br />
(You can start by reading the taglines, and then drill-down to whatever interests you)<br />
<h3>
<b style="background-color: #eeeeee;"><br /></b></h3>
<h3>
<b style="background-color: #eeeeee;"><br /></b></h3>
<h3>
<b style="background-color: #eeeeee;">*** Validate SSDT Publish Script</b></h3>
<span style="background-color: white;"><b>Tagline: Make sure you SSDT deployment scripts are not locking down your databases</b></span><br />
<b><br /></b>
For those of you using SQL Server Data Tools (a.k.a SSDT) for continuous delivery, you may have encountered cases when a generated deploy script is trying to drop and recreate multi tables.<br />
Why does this happen? well, a typical scenario would be that a developer is trying to add a new column to an existing table, but instead of adding it last, he or she is adding the column in the middle of the table.<br />
What happens then?<br />
Well, since there is no T-SQL syntax of pushing a new column in the middle of a table, the generated script will do the following:<br />
<br />
<ul>
<li>create a tmp_xxxx table with the new structure</li>
<li>copy over all content from the original table</li>
<li>drop the original table </li>
<li>sp_rename the tmp table to the original table</li>
<li>restore all FK's indexes etc.</li>
</ul>
And that's the *SIMPLE* case. When the table has a lot of references, other tables may be affected as well! And if these are large tables and you're in prod, you can only imagine the potential downtime you'd experience by that deployment.<br />
<br />
So, that's the main reason for the validation app to be born. Here's what it does:<br />
<br />
<br />
<ul>
<li>Analyze the SSDT generated .sql script of any build</li>
<li>Detect tables re-creations</li>
<li>(Now comes the cool part)</li>
<li>Connect to the destination database and measure the dropped/re-created table size</li>
<li>If the total size is over a predefined threshold - raise a flag and return a 'fail' notice on the build.</li>
</ul>
<div>
So, to summarize, this 'lab' app will save you from unintentionally run deployments that will potentially lock your database for quite a long time.</div>
<div>
<br /></div>
<br />
This is a console app, with a powerful configuration options allowing you to customize many aspects such as scripts locations, destination database connection scripts, size threshold and more.<br />
<br />
Here's a sample screenshot:<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-ZfWLl1oGSvC9aX6IyorpPOn2du2T3aWGx9jJqZwWvd9zqcmVCFZNpXz0p10eA-o9Lw-IXUAuDceBz3JOu38YhEwcrl-ow8Wpvy3bqOjIAG1jHzj0AOJc1-qgsji9ummDAeYRSbCQBnOl/s1600/ValidateSsdtScript.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi-ZfWLl1oGSvC9aX6IyorpPOn2du2T3aWGx9jJqZwWvd9zqcmVCFZNpXz0p10eA-o9Lw-IXUAuDceBz3JOu38YhEwcrl-ow8Wpvy3bqOjIAG1jHzj0AOJc1-qgsji9ummDAeYRSbCQBnOl/s1600/ValidateSsdtScript.png" height="352" width="640" /></a></div>
<br />
<br />
<h3>
<b style="background-color: #eeeeee;">*** Splunk to SQL Table</b></h3>
<br />
<span style="background-color: white;"><b>Tagline: Turn (almost) any <a href="http://www.splunk.com/">Splunk </a>query into a well-formed SQL Table</b></span><br />
<span style="background-color: white;"><b><br /></b></span>
<b><br /></b>
If you are unfamiliar with Splunk, it is (wiki quote):<br />
"<i>Splunk (the product) captures, indexes and correlates real-time data in a searchable repository from which it can generate graphs, reports, alerts, dashboards and visualizations</i>"<br />
<br />
While having the exporting abilities, run a Splunk query result into a SQL Table is not an easy task. At least if you're not using "Splunk to SQL Table"! :)<br />
So, what this app does is basically the following (assume everything is heavily configurable)<br />
<br />
<ul>
<li>Connect to a Splunk server, run a pre-defined splunk query</li>
<li>Analyzes the result, converts to a SQL Table with optimal data-types (based on content)</li>
<ul>
<li>(So for example, that OrderId will be "INT" rather than "NVARCHAR(MAX)")</li>
</ul>
<li>Connect to a configured SQL Instance</li>
<li>Create the table, push the content in.</li>
</ul>
<div>
Some screenshots? sure!</div>
<div>
<br /></div>
<div>
Splunk search screen:</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimmGd3Ov1bOA1NGsBvC_hCGwTss68hQX1RJ6orNtbOEYH2tLDLBFptZj5OXekxO03BnbqJGk8gvJyhauo_My3tB82ekRU1EXx7-xeYHWDDcwGh86Kqar76lE4PcY-udSFeBLdIDfqtl4g1/s1600/splunk_demo_1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimmGd3Ov1bOA1NGsBvC_hCGwTss68hQX1RJ6orNtbOEYH2tLDLBFptZj5OXekxO03BnbqJGk8gvJyhauo_My3tB82ekRU1EXx7-xeYHWDDcwGh86Kqar76lE4PcY-udSFeBLdIDfqtl4g1/s1600/splunk_demo_1.png" height="384" width="640" /></a></div>
<div>
<br /></div>
<div>
+</div>
<div>
<br /></div>
<div>
The App (with relevant configuration)<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwtwUabndqv3lRS-7AY-UH-9ENPBDoQC9syFnxCkJhvHok7A3MgLK6nc0-aCPAH_7pQwjgxKeLqUD_6La7xpdaQkzZOJwJlb0mcAjQGTVYdM4vX_jpG2acyEn9s-OCSv4LUy1CP-FL5DfQ/s1600/splunk_demo_2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwtwUabndqv3lRS-7AY-UH-9ENPBDoQC9syFnxCkJhvHok7A3MgLK6nc0-aCPAH_7pQwjgxKeLqUD_6La7xpdaQkzZOJwJlb0mcAjQGTVYdM4vX_jpG2acyEn9s-OCSv4LUy1CP-FL5DfQ/s1600/splunk_demo_2.png" height="640" width="626" /></a></div>
</div>
<div>
<br /></div>
<div>
=</div>
<div>
<br /></div>
<div>
A new SQL Table <br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMvUQVHuDuEHC6pXwRgCFjczJ03FokKPqBIEwAD2BdwZiUINCcF97msPiPmdQdc2a_OXt17exaj4udyKi85zatYN76TiZR5lWkmXCgdsMTb7JWt-XDOpkOeZLo0B6HXqs0qpkoIPHzFpRY/s1600/splunk_demo_3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMvUQVHuDuEHC6pXwRgCFjczJ03FokKPqBIEwAD2BdwZiUINCcF97msPiPmdQdc2a_OXt17exaj4udyKi85zatYN76TiZR5lWkmXCgdsMTb7JWt-XDOpkOeZLo0B6HXqs0qpkoIPHzFpRY/s1600/splunk_demo_3.png" height="412" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<h3>
<b style="background-color: #eeeeee;"><br /></b></h3>
<h3>
<b style="background-color: #eeeeee;">*** Text/CSV file slicer</b></h3>
<br />
<span style="background-color: white;"><b>Tagline: A powerful slicer for large text/csv/tsv files</b></span><br />
<span style="background-color: white;"><b><br /></b></span>
Whenever in need to split a big "something"-delimited file, this powerful tool will do the job, allowing a lot of different customizations such as:<br />
- Control the naming patterns of the output files (identities, guids, random strings and more)<br />
- Repeat headers on each file<br />
- Control the end-of-line characters (windows/unix compatibility)<br />
<br />
While you may find other tools out there, this one has been written to provide more robust option base. Oh, and it's also *REALLY* fast!<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBraNhhxo9QJluz3GyhhkvJNjj875dJqiktpF9jAofFIv39QPG5WDDok_nBtjJy0zWSzHurzzJbeMcvOplggAJc1K8f96ZnqRowt3DHyQnDdZImFx8q_6VuY_G4vaPUxDra4vpvEZwLvQL/s1600/csv_file_slicer.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBraNhhxo9QJluz3GyhhkvJNjj875dJqiktpF9jAofFIv39QPG5WDDok_nBtjJy0zWSzHurzzJbeMcvOplggAJc1K8f96ZnqRowt3DHyQnDdZImFx8q_6VuY_G4vaPUxDra4vpvEZwLvQL/s1600/csv_file_slicer.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-size: x-small;"><b>The screenshot shows the simple UI implementation, the tool itself is basically a console app.</b></span></div>
<br /></div>
<div>
<span style="background-color: white;"><b><br /></b></span></div>
<div>
<span style="background-color: white;"><b><br /></b></span></div>
Anonymoushttp://www.blogger.com/profile/04924873994452131263noreply@blogger.com0tag:blogger.com,1999:blog-8152671487595650437.post-6160747070501659242014-10-20T00:51:00.001-04:002014-10-20T00:51:49.490-04:00Turn JSON into a SQL TableOne of the new features introduced in the latest version of ClipTable is the ability to parse (most) JSON data (as long as it can be converted to tabular format).<br />
<br />
While ClipTable's main purpose is to turn any textual data into a SQL Table (either from your clipboard or a flat file) - we've made two 'other' formats it can read. The first was xml, and now, quite naturally - JSON.<br />
<br />
Want to see how it works? Here's a quick example:<br />
<br />
Run ClipTable<br />
<br />
Copy this following (JSON) text to your clipboard:<br />
<br />
<pre style="background-color: #f0f7fe; border: 1px solid rgb(204, 204, 204); font-family: 'Courier New', Courier, monospace; margin-left: 10px; margin-right: 10px; overflow: auto; padding: 5px;"><span style="color: #073763; font-size: xx-small;">[
{
color: "red",
value: "#f00"
},
{
color: "green",
value: "#0f0"
},
{
color: "blue",
value: "#00f"
},
{
color: "cyan",
value: "#0ff"
},
{
color: "magenta",
value: "#f0f"
},
{
color: "yellow",
value: "#ff0"
},
{
color: "black",
value: "#000"
}
]</span></pre>
<br />Now, Paste!<div>
<br /></div>
<div>
You should be getting this:</div>
<div>
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBO9_RtGY8KHTnZw30Uk_geHzBav09d6qCWuxkn0uQ67KQNhM7iIWu84AZc3QfzdBDQkInDb_E4SgeOnRk9xJtrCaduhhBHlMtBgPpy96uanj5H2i8HFLaXWJo-vT3q0OqdeopfTkcK02L/s1600/cliptable_json_1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgBO9_RtGY8KHTnZw30Uk_geHzBav09d6qCWuxkn0uQ67KQNhM7iIWu84AZc3QfzdBDQkInDb_E4SgeOnRk9xJtrCaduhhBHlMtBgPpy96uanj5H2i8HFLaXWJo-vT3q0OqdeopfTkcK02L/s1600/cliptable_json_1.png" height="330" width="640" /></a></div>
<div>
<br /></div>
<div>
<br /></div>
<div>
And if you don't know ClipTable yet - the distance between this point to actually having a SQL Table with the above data is about two clicks away.</div>
<div>
<br /></div>
<div>
<br /></div>
<div>
Feel free to try, and challenge with other tabular clipboard content.</div>
<div>
<br /></div>
<div>
<b>ClipTable - Data import made easy! (Real easy!)</b></div>
Anonymoushttp://www.blogger.com/profile/04924873994452131263noreply@blogger.com0