Author Archive

Cheaters Never Win, Even in TPC Benchmarks

Monday, May 6th, 2013

In this column, I want to tell you about one of my favorite aspects of the TPC benchmarks – CHEATING. Keep in mind that I use the term “cheating” in a joking manner with my tongue planted firmly in my cheek.  But I’m also half-serious.  One of the of the things that is great about the TPC benchmarks is that each of the vendors are required to fully describe all of the shortcuts, tweaks, and special operating configurations they use in order to achieve their spectacular performance numbers.  In a sense, the Transaction Processing Counsel requires that all benchmarked platforms declare all of the ways that they cheat in order to achieve peak performance.

read more

Many thanks,

-Kevin

- Follow me on Twitter!

- Google Author

Use TPC Database Benchmarks to Save Money

Monday, April 29th, 2013

Last month, I began a series of articles describing database application benchmarking. In the first article, I told you about different ways that you can construct your own database application benchmark. However, you don’t have to reinvent the wheel. The Transaction Processing Council (www.tpc.org) has already created a large number of database benchmarks that are extremely useful and informative.

I also described last month how the TPC provides several different types of benchmark tests. For example the TPC-C and TPC-E benchmarks are extremely useful for measuring transaction throughput. On the other hand, the TPC – H benchmark is  useful for measuring business intelligence workloads.

Today, I would like to give you a primer on how to read the benchmark reports that are published by the major database and hardware vendors.  You never know when a vendor will publish a new benchmark. There’s no set schedule for them to publish their test findings. Of course, you can always look for new advertisements from many of the vendors. But that’s very imprecise. I prefer to find out if there are new results on my own and so I typically start at http://tpc.org/information/results.asp. There, I’ll check to see if my favorite hardware or database vendors have published any new test results…. read more

Many thanks,

-Kevin

- Follow me on Twitter!

- Google Author

Read the New TPC Database Benchmarking Series

Monday, April 22nd, 2013

Introduction to TPC Database Benchmarks

Let’s talk about database application benchmarking.

This is a skill set which, in my opinion, is one of the major differentiators between a journeyman-level DBA and a true master of the trade. In this article published in my monthly column at Database Trends & Applications magazine, I’ll give you a brief introduction to TPC benchmarks and, in future articles, I’ll be telling you how to extract specific pieces of valuable information from the published benchmark results.

But let’s get started with an overview … read more.

 

Many thanks,

 

-Kevin

 

- Follow me on Twitter!
- Google Author

 

PASS Business Analytics Conference (BAC) Recap

Monday, April 15th, 2013

The PASS Business Analytics Conference (PASS BAC) is PASS‘ first foray into an event that is dedicated to business intelligence, big data, data visualization, and business analytics.  And it totally makes sense for PASS to move in this direction, over and above the flagship community work centered on database management and application development.  Why?  Because business analytics is all about how to apply the data being collected and managed by all of those developers and DBAs.  And, at the end of the day, how we use and apply our data is really the nexus of its value.  That’s what matters to business.  You can read the speech from the standing president, Bill Graziano (Twitter | Blog), or watch it online at the PASS website.

The day one highlight, introduced by the SQL Server team’s best presenter – Amir Netz (Twitter), is the release of a new BI data visualization tool called Project “GeoFlow” for Excel.  GeoFlow is a 3D visualization and storytelling tool that helps you map, explore and interact with both geographic and chronological data for visualizing data which is difficult to identify in traditional 2D tables and charts. With GeoFlow, you can plot up to a million rows of data in 3D on Bing Maps, see data changes over time and share findings through appealing screenshots and cinematic, guided video tours of the data. It’s really something you have to see to understand – check out the video demo and screenshots below. You can also download and try it out firsthand today. It’s an entirely new way to experience and share insights – one you’ll probably enjoy.  For more information on GeoFlow, check out the Excel team’s blog and visit the BI website.

The highlight for me, aside from connecting with so many friends and colleagues in the exhibit hall at the SQL Sentry booth, was the day 2 keynote address by Dr. Steve Levitt of Freakonomics fame.  Freakonomics is both a brilliant blog and the number one business book in America.  His insights are well documented in a variety of places, not just in his own channels, but also in places such as TEDtalks.  I’m also really enjoying his new website, https://www.freakonomicsexperiments.com/.

Steve presented an outstanding keynote, full of funny anecdotes and insights into the world of data analytics and interpretation. A couple of his comments really resonated with me which are worth repeating. In one story, he pointed out how some of the greatest insights came from corporate data which was collected incidentally or coincidentally. The data that help provide the greatest and most valuable revelations were from data that was basically a corporate afterthought.  Another revelation – he’s only now starting to make much use of relational databases.  He primarily uses spreadsheets, flat files, and the Stata statistical analysis tool.  Another insight, which I’ve known and proselytized as “the Fresh Pair of Eyes” approach, is that it really helps him to gain insights in a problem by knowing as little about the problem as possible.  As it turns out, if you know the industry or the challenge at the core of the problem, you make a lot of assumptions that limit your means of interpreting data.  By knowing nothing or next to nothing about a particular problem, you can ask the questions that insiders never ask.  Here’s an example (not from the keynote though) – let’s say you’re an energy company CEO.  You might spend a lot of time thinking about how to accommodate the expected huge increase in energy consumption due to lots of people driving electric cars.  You might tell your data analysts to figure out when and how to ensure peak electrical usage is available at the times when consumers are recharging their electric vehicles.  But a fresh pair of eyes would point out that electric cars, in their present form, are a huge energy boondoggle compared to hybrid and plain ol’ cheap, high-mileage models like the Honda Civic.  Consumers will never recoup their investment in a high-priced, all-electric car compared to a cheap, gas sipping model.

IMG_0287 - CopyAt the heart of his presentation is the fact that data is meaningless when it doesn’t answer important questions!  Many times, data professionals spend so much time devising elegant SQL statements and clever user-interfaces that they forget about using a fresh pair of eyes when they look at business questions.  Our session, Operational Excellence for the BI Pro, focused on the trails and travails of successfully implementing and growing the footprint of a business intelligence project.

In addition, we had a fun and very informative panel discussion breakfast on Thursday of the PASS BAC. At right is a picture of Nick Harshbarger, Justin Randal, and me prior to the session.  The audience was very engaged and, despite having no slides, there was a whole lot of wisdom goin’ on.  The panel included Chris Webb (Twitter | Blog), Craig Utley, Jen Stirrup (Twitter | Blog), Paul Turley (Blog),  and Stacia Misner (Twitter | Blog). I served as the moderator and facilitator of the session.  We recorded the session, with a little HD Flip camera, and although I haven’t checked out the file yet, we’re hopeful we can post it or at least a transcript soon.

Do you have a “fresh eyes” story? I’d love to hear it!  Post a comment here!

Many thanks,

-Kevin

-Follow me on Twitter!
- Google Author

The All-New ‘Database Lifecycle Management” is available on MSDN

Friday, April 5th, 2013

The initial release of Database Lifecycle Management is now available on MSDN.

The site is something called “curated content”. This means it’s a single consolidated location to look up lots of disparate articles and content, all in one easy to search location. This “curated content view” contains the best content, video, and community-centric information from Microsoft, including topics like:

SQL Server Data Tools

· Get started with sample projects, code samples

· Video demos by Gert Drapers (blog)

· Script common data portability tasks using Sqlpackage.exe

· Link to the SSDT team blog

SQL Server Management Studio

· Manage SQL Database using SSMS

· Backup and restore w/ SQL Azure

· Migrate local databases to Azure

· Video demo of hybrid scenarios by Gert Drapers (blog)

Windows Azure SQL Database

· SQL Database backup and restore

· Import/export SQL Database

· Windows Azure training kit

· Connection management and troubleshooting connections

Enjoy,

-Kevin

-Follow me on Twitter!
- Google Author

Squishy Limits in SQL Server Express Edition

Thursday, March 28th, 2013

It’s an old story you’ve probably heard before.  Provide a free version of your software product with strict limitations on performance or other specific capabilities so that folks can give it a try without risk, while you minimize the chance of cannibalizing sales of your commercial products.  Microsoft has take this strategy with SQL Server Express Edition, not only to increase adoption in the student market but also to counter the threat of open-source (i.e. free) relational databases like MySQL for entry-level applications.

One such limitation of SQL Server Express Edition is that it supports no more than 1GB of RAM for the instance.  Of course, you could have many Express Edition instances on a single Windows server, each with its own 1GB of RAM.

But what does that metric of 1GB of RAM actually mean?  The key thing to remember is that the restriction is for buffer cache.  Since SQL Server has many other caches, even when not counting the plan cache, there are plenty of other caches within SQL Server.  (Run a query against sys.dm_os_memory_clerks if you’d like to see some of the others).  Because only the buffer cache has the strict 1GB limitation, you can actually watch SQL Server Express Edition’s memory working set size grow to around 1.4-1.5GB due to the other memory caches at play.

Pawel Potasinski, a SQL Server MVP from Poland (Twitter | Blog), once posted an interesting repro for this behavior:

– Assess amount of databases resident in buffer cache

SELECT
 CASE
 WHEN database_id = 32767 THEN 'mssqlsystemresource'
 ELSE DB_NAME(database_id)
 END AS [Database],
 CONVERT(numeric(38,2),(8.0 / 1024) * COUNT(*)) AS [MB in buffer cache] 
FROM sys.dm_os_buffer_descriptors 
GROUP BY database_id 
ORDER BY 2 DESC; 
GO
-- Assess amount of tables resident in buffer cache
SELECT
 QUOTENAME(OBJECT_SCHEMA_NAME(p.object_id)) + '.' +
 QUOTENAME(OBJECT_NAME(p.object_id)) AS [Object],
 CONVERT(numeric(38,2),(8.0 / 1024) * COUNT(*)) AS [MB In buffer cache] 
FROM sys.dm_os_buffer_descriptors AS d 
 INNER JOIN sys.allocation_units AS u ON d.allocation_unit_id = u.allocation_unit_id 
 INNER JOIN sys.partitions AS p ON (u.type IN (1,3) AND u.container_id = p.hobt_id) OR (u.type = 2 AND u.container_id = p.partition_id) 
WHERE d.database_id = DB_ID() 
GROUP BY QUOTENAME(OBJECT_SCHEMA_NAME(p.object_id)) + '.' + QUOTENAME(OBJECT_NAME(p.object_id))
ORDER BY [Object] DESC;
GO
-- Fill up Express Edition's buffer allocation
IF OBJECT_ID(N'dbo.test', N'U') IS NOT NULL
 DROP TABLE dbo.test;
GO
CREATE TABLE dbo.test (col_a char(8000));
GO
INSERT INTO dbo.test (col_a)
 SELECT REPLICATE('col_a', 8000)
 FROM sys.all_objects 
 WHERE is_ms_shipped = 1;
CHECKPOINT; 
GO 100

 The bottom line for the hard memory limit of SQL Server Express Edition is “Yes, it’s limited. But it’s a squishy limit. Not a hard limit.”

Although your mileage may vary, I’d bet a dollar that you’ll find more than 1GB in the active working set for your instance of SQL Server Express Edition.  I am curious, however, if you’re seeing much variation between versions and even service packs of SQL Server?  Let me know if you try this out on more than one version and/or service pack level of SQL Server.  Did it change much between versions?  Let me know!

Enjoy,

-Kevin

-Follow me on Twitter!
Google Author

 

SQL Intersection!

Wednesday, March 27th, 2013

The best emotion to describe how I’m feeling is ‘astounded’.  I’m astounded that I’m in such august company to be speaking the SQLIntersection (#iSQL) conference.  Read the blog post from my first SQL Server mentor, Kimberly Tripp, which tells you all about SQLintersection.

Check out this list of speakers:

  • Aaron Bertrand, Sr. Consultant, SQL Sentry, Inc. [blog | twitter]
  • Andrew J. Kelly, Mentor, SolidQ [blog | twitter]
  • Bob Ward, Principal Architect Escalation Engineer, Microsoft [blog | twitter]
  • Brent Ozar, Brent Ozar Unlimited [blog | twitter]
  • Conor Cunningham, Principal Architect, SQL Server, Microsoft [blog]
  • Grant Fritchey, Product Evangelist, Red Gate Software [blog | twitter]
  • Jeremiah Peschka, Brent Ozar Unlimited [blog | twitter]
  • Joseph Sack, Principal Consultant, SQLskills.com [blog | twitter]
  • Kendra Little, Managing Director, Brent Ozar Unlimited [blog | twitter]
  • Kevin Kline, Director of Engineering Services, SQL Sentry, Inc. [blog | twitter]
  • Kimberly L. Tripp, President/Founder, SQLskills.com [blog | twitter]
  • Mat Young, Senior Director of Products, Fusion-io [blog twitter]
  • Paul S. Randal, CEO / Owner, SQLskills.com [blog | twitter]
  • Paul White, SQL Kiwi Limited [blog | twitter]
  • Steve Jones, Editor, SQLServerCentral.com [blog | twitter]
  • Sumeet Bansal, Principal Solutions Architect, Fusion-io [blog twitter]

Read the list of SQL Server sessions here.  On top of the list of outstanding sessions to attend, I’ll be giving a keynote on Tuesday afternoon. Witness:

iSQL Keynote

So the only thing between the attendees and the booze in the reception hall is our keynote address?!?  Oh yeah, that’s going to go down real smooth, isn’t it?  I’ll last about as long as a puny henchman between James Bond and the villain of the movie.  Sumeet Bansal, from Fusion-IO, will have to survive until the credits roll.  We’ll be talking about high performance computing on SQL Server 2012 with an eye towards high availability, AlwaysOn, and Availability Groups.

If you’re in Las Vegas, I hope to see you there!  If not, you should consider coming to this excellent conference.

-Kevin

-Follow me on Twitter!

SQL Server Data Tools – Business Intelligence for Visual Studio 2012 Released!

Friday, March 8th, 2013

SSDTBI for Visual Studio 2012 enables customers to use the Analysis Services, Integration Services, and Reporting Services project templates within the Visual Studio 2012 shell.  The components are delivered as a web download on the Microsoft Download center and will be available through Web Platform Installer.   This release is the equivalent functionality to SSDTBI (BIDS) for Visual Studio 2010 that shipped in the SQL Server 2012 box.  The team adapted the UI to meet the new Visual Studio 2012 UI design.   This release delivers on the SQL commitment to provide BI Project Templates supporting the latest version of Visual Studio, a much anticipated capability.  The downloads are publicly available on the Microsoft downloads website now:

Download: http://www.microsoft.com/en-us/download/details.aspx?id=36843

More details from specific Microsoft BI teams at:

RS team blog: http://blogs.msdn.com/b/sqlrsteamblog/archive/2013/03/06/sql-server-data-tools-business-intelligence-for-visual-studio-2012-released-online.aspx

AS team blog: http://blogs.msdn.com/b/analysisservices/archive/2013/03/06/sql-server-data-tools-business-intelligence-for-visual-studio-2012-released-online.aspx

Enjoy,

-Kevin

-Follow me on Twitter!

Demo Mastery for the Technology Evangelist

Friday, February 15th, 2013

In the same way that the finest presentations involve much more than the simple relaying of information, the finest software demos are much more than just presenting features.

REMEMBER: The goal of a demo is to INSPIRE the audience to use the software/technology, not to teach them every nuance of software/technology.

I’ve spent the last 10 years learning how to give good presentations and to give good software demonstrations. Here are several tips to take your software demonstration from informative to masterful:

1. Know your audience

Whenever you start a demo, make sure you have a good idea what the audience is interested in. That way you can focus the attention of the audience upon things that actively engage their imagination. You really, really want the audience to be thinking about how they’re going to use the software that you are presenting. If it if you’re not presenting on something that they’re interested in, they’ll mentally disengage. In some cases you’ll even see them open their laptops and start to answer emails. That’s the last thing in the world that you want to happen.

In many cases, I’ll begin a presentation by asking my audience to tell me more about themselves. I want to know how much of their time is spent as a developer, as a DBA, as a designer. If nothing else, I can change the sort of examples that I use to be tailored specifically to the audience that are presenting to.

Truly bad software demos have problems. The code doesn’t work. The beta software crashes. The screen shows the dreaded blue screen. But that’s one thing. What you really want to avoid, is the truly mediocre software demo. The quickest path to a mediocre software demo is to simply show every feature and explain each in as much detail as you can. It’s like those games that sit in our closet that no one likes to play. Most all of these games are ones in which one person takes a turn while everyone else waits. No one has any fun except for the three or four minutes in which it relates directly to them.

2. Start, but only start, with an agenda

It’s always a good idea to inform your attendees of what you would like to present. What you present the agenda it’s a great idea to confirm that this agenda is what the audience is looking for. Before I learned to do this on a regular basis, I found that my presentation might contain two or three lengthy sections of my software demo which were completely uninteresting to the audience.  The customer is really numbed by this waste of time. It’s far better to tell the audience what you are going to tell them.

Here’s my routine when I start a demo. Confirm that your agenda is of interest to them and recheck the time constraints of the meeting. Then, get to what they are interested in. This flexibility also provides you the opportunity to inject other software demonstrations that are much more pertinent to your audience. Audiences love a presenter who can think on their feet and are flexible to the interests of the audience.

3. Skip the lengthy intro

This is a aspect of demonstrations and presentations that I struggle with. I worried a lot that I hadn’t demonstrated enough credibility with my audience. And so for many years of my technology evangelism role, I spent a lot of time telling the audience about myself and about the company. What I found over time though, is that audiences actually give you an initial dose of credibility. It’s up to you to maintain and even enhance that credibility through a strong demo and a good presentation. Better to have a very short introduction and get straight to the meat of the presentation.

Call out – Mouse Cursor Movement: It’s especially important to remember in online demos that there is usually a great deal of latency between what you do on your screen and what your audience sees on their screen.  So it’s important to remember to MOVE YOUR MOUSE SLOWLY AND THOUGHTFULLY! I’ve sat in online webcasts, and even in in-person events, where the mouse literally disappeared on one section of the screen and reappeared elsewhere because the presenter was moving their mouse cursor here, there, and everywhere.  If you want the audience to see what you’re doing with the mouse cursor, keep it slow.

4. Show what is pertinent

One of the most important things a software evangelist can do is to show the most important and pertinent take away of their software. Let’s you are trying to teach an audience about the extreme ROI (return on investment) of a particular kind of business intelligence strategy, it’s crucial that you figure out in advance what are the key takeaways that you would like your audience to remember. Typically in audience will only remember two or three very salient points about your demo. If the BI presentation spends the first 30 minutes showing how to build a report but never once mentions ROI, what do you think the audience will remember? Once you know what is pertinent to your audience and what you want the key takeaway to be, you should focus the rest of your energies on building an airtight demo that supports those takeaways.

You will see the inverse of this many times in a mediocre or poor demo. At the end of the demo the audience will feel like they have sat through product training, rather than a call to action that inspires them to use the product. I’ve sat through demos in which the presenter carefully walk through several different menus, tabs, and wizards. And after 30 minutes of that, I now knew HOW to use the software, but I still didn’t know WHY I would use the software.

In the worst cases, showing everything that your software can do may leave the audience feeling that it is too complex, too detailed, or too overwhelming for them to use effectively. Remember that a software demo is not design to train the audience. A software demo is designed to inspire the audience to use your products.

5. Don’t get sidelined

We usually get sidelined in our demos by two things: questions from the audience and “technical difficulties” a.k.a. bugs.

Questions from the Audience

It’s usually a good sign if your demo is provoking questions from the audience. However, you don’t want to demo to turn into free consultation to solve one person’s problem. Nor do you want to turn into fact-finding for one very narrow set of interests or to become the arbiter of some sort of political dispute between factions in the audience.

When taking questions, remember to repeat the question to the audience. This ensures that you fully understood the question, that the questioner asked for what they meant, and that if there is any recording going on the question will be picked up by the recording system.

But my typical rule of thumb is to only spend a couple minutes on a single question and questioner. Once a single questioner goes beyond a couple minutes, you can usually tell if you’re heading for the sidelines. It’s at that point that I asked the questioner if we can take the question off-line and come back to it afterwards so that everyone else can benefit from the time that we have set aside right now.

Technical Difficulties

Another form of sidelining are bugs in the software and outright crashes of your demo environment. Many times this simply can’t be avoided. This is especially true if you are demoing a beta version of the software. But there are couple important things to remember if you are sidelined by a bug or crash.

First, mention if you’re using a beta and that it might not be fully stable. Also, be sure to mention that the software WAS stable when you prepared the demo. Second, test your demo after conducting a full reboot of your demo environment. I’ve seen many demos crash because the presenter made other changes in the environment but only tested for the software demonstration itself. Third, Don’t draw attention to bugs that you encounter during the demo, especially if they’re just cosmetic. It’s important not to do things like slap your four head and exclaim “what the hell is that?” If it’s a bigger bug that hampers or interferes with functionality, you might state that it’s normal functionality is… XYZ. Finally, if you experience a major bug or crash, immediately disconnect the projector or the desktop sharing application. There’s nothing worse than seeing a presenter struggle with the bug in front of the entire audience.

6. Hit the jackpot

All good jokes have a punchline. All good action movies have a climax. All good newspaper stories have a headline. Your demo needs to have a jackpot, where the audience can clearly and immediately see how your software pays off.

Let’s say you’re doing a demo of the new columnstore features in SQL Server 2012. You could spend a lot of time showing the conceptual underpinnings of a columnstore index. You could show the state was to create columnstore indexes, to modify them, to drop them. You could admonish the audience and ways to build read-write systems so that they can easily get data into and out of columnstore indexes.

But what’s the real payoff of a columnstore index? It is incredible fast for a particular kind of scenario on SQL Server. So in this example, your jackpot is to show how difficult that scenario is under normal circumstances and then immediately show how easy and fast it is with the columnstore index. Bingo! Your audience is hooked. They immediately see why they want this. There inspired to start using it. Now, they want to figure out how to use it and want to know when and under what conditions they should use.

 

Are you an SC, technology evangelist, or technology presenter?  What are your tips for a better demo?

 

-Kevin

-Follow me on Twitter

Hurray! I Have One of the Top 1% most vied LinkedIn Profiles

Monday, February 11th, 2013

I just got this email from LinkedIn about my profile (that’s http://www.linkedin.com/in/kekline in clear text).

 

Hi Kevin,

Recently, LinkedIn reached a new milestone: 200 million members. But this isn’t just our achievement to celebrate — it’s also yours.

I want to personally thank you for being part of our community. Your journey is part of our journey, and we’re delighted and humbled when we hear stories of how our members are using LinkedIn to connect, learn, and find opportunity.

All of us come to work each day focused on our shared mission of connecting the world’s professionals to make them more productive and successful. We’re excited to show you what’snext.

With sincere thanks,

Deep Nishar

Senior Vice President, Products & User Experience

P.S. What does 200 million look like? See the infographic

 

What does that mean? Two things: 1) that the much more famous actor of the same name is not very good at social media, and 2) I’m better at social media than I thought.

It means one more thing – I should be grateful for your support and interest.  THANK YOU!  Please let me know what else I can do to help you grow in your SQL Server technology skills, database & SQL skills, and IT leadership & professional development path.

-Kevin

-Follow me on Twitter!