Tag Archive: azure

#SQLPASS Summit Keynote Day 1

You can refresh this page every couple of moments to see what’s happened.  The most recent updates are at the bottom.

You can watch the keynote live online too.

Tina Turner Onstage at #SQLPASS

Tina Turner Onstage at #SQLPASS

8:21AM – Today opened with Tina Turner singing “Simply the Best.”  It’s either that or I drank entirely too much last night and Rushabh opened with a musical number, I’m not quite sure.

8:28 – Rushabh keeps talking about how we’ve touched a lot of people.  I think I read about this in the harassment complaint.  They’re aiming to touch more people – or maybe be touched by more people, I’m not quite sure – by webcasting the keynote live for free.

8:35 – Microsoft’s Mark Souza is playing doctor onstage to talk about the 400+ Microsoft development team members here to answer your questions.

8:39 – Talk to Microsoft folks, and you’re eligible to win all kinds of prizes including an XBox Kinect.

8:40 – “Everybody, look under your chair – if you’ve got an envelope, you just won a Dell Alienware laptop!”  Dang, all I got was chewing gum.  And of course you know I just felt under there without looking.  Ewww.  I won some used chewing gum.

SQLPASS Keynote

SQLPASS Keynote

8:42 – Rushabh’s introducing Ted Kummert to talk about some upcoming news.  WOOHOO!

8:46 – Playing a video explaining the history of SQL Server.  Best quote so far: “I figured if I could build an even halfway decent database, Microsoft could sell the heck out of it.”  Oh, the jokes are just zipping around.  This is a great video, though – really helps build a connection with the people building this tool, makes them personal and identifiable.  This is one of the best marketing-ish videos I’ve seen.  Nice work.

8:49 – Ted Kummert took the stage, and immediately started off by saying that a lot of the SQL Server people live & work in Seattle, and having the Summit here helps them send more people.  Oooo.  Okay, got the message there.

8:55 – SQL Server 2008 R2 Parallel Data Warehouse is now released to manufacturing.  This is a little tricky, though – it’s only sold through manufacturers along with hardware.  It isn’t available for download & testing on your own machine.  It’s sold as a big honkin’ appliance that you just plug in and go like hell.

9:00 – Demoing Parallel Data Warehouse with a 100TB copy of the TPC-H benchmark.  Eagle-eyed watchers will notice that this isn’t using SQL Server Management Studio – PDW has its own admin tool still.

Ted Kummert Onstage with a Parallel Data Warehouse

Ted Kummert Onstage with a Parallel Data Warehouse

9:01 – Running PowerPivot queries to suck a subset of the billions of rows – showing off the integration between PDW, Excel, PowerPivot, etc – talking about the whole-stack story.

9:04 – Here’s my thoughts on Parallel Data Warehouse from last year’s announcements and interviews.  I like the idea, but people need to remember that it’s not managed with traditional SQL Server tools or techniques or staff.  It’s a sealed box, and you can’t do anything with it – it’s manufacturer maintained.

9:05 – Yahoo’s onstage talking about their 12TB Analysis Services cube loading 60 50GB files per hour, 1.2TB per day, 3.5b events per day.  Less than 10 second average query times.

9:10 – Announcing Premier Mission Critical, Microsoft Critical Advantage Program for Parallel Data Warehouse.  No details on it though.

9:11 – Bob Ward announced & demoed Microsoft Atlanta – I’ve got a separate post with my thoughts on Microsoft Atlanta.  It’s a cloud-based SQL Server monitoring system that only works for SQL Server 2008 and R2 (and newer) that detects configuration problems.

9:18 – Cloud time!  Kummert says Azure needs to be self-managed, have elastic scale, and be agile & familiar.  It’s solving real business problems today.  Next up: we’ve got Community Technology Previews announced originally at PDC for Web Admin, Reporting, and Data Sync.

Demoing Azure DataMarket

Demoing Azure DataMarket

9:24 – Available now – the Windows Azure Marketplace DataMarket, something like the iTunes Store for data sets – both commercial and freely available.  They’re demoing how to add internet-accessible datasets from the DataMarket with, say, weather data, to enrich your reporting.  On rainy days, you sell less bicycles. I’m a big fan of this.

9:32 – Ted’s encouraging the audience to go sign up and get engaged in the cloud.

9:33 – “What’s Next for SQL Server?”  The next version is called SQL Server Denali for now as a code name, and I’ve got some quick information about SQL Server Denali.  They’ll be demoing it later, plus handing it out to attendees after tomorrow’s keynote.

9:37 – The changes in SQL Server Integration Services will be huge, he says – big improvements in management and servers.  R2 was a big release for reporting & analytics, plus Office 2010 focused on managed self-service analytics.  Excel users were empowered to build BI applications, and PowerPivot was embedded into SharePoint.

9:39 – Project Crescent is a new web-based reporting system letting end users tell their own stories about the data.  Amir Netz is demoing PowerPivot, then saying that’s good, but we need something bigger for enterprise datastores.  The new BI Development Studio, running on top of Visual Studio 2010 Premium, hooks into the same column-oriented storage engine that PowerPivot used, but now you can use it on a server so you get centralized security and bigger horsepower.

Demoing Column Store Indexes

Demoing Column Store Indexes

9:49 – SQL Server Denali will have columnar indexes built into the database engine.  Columnar indexes are what makes PowerPivot so insanely fast.  More on this later.

9:52 – They’re demoing Project Crescent to build reports.  Unfortunately, I gotta bail – off to set up for my session!

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

SQL Azure Frequently Asked Questions

On Monday 2/1, SQL Azure goes commercially live.  Microsoft’s charging for service now, and that means it’s officially official.

I talk to a lot of enterprise DBAs, project managers, and developers about SQL Server in the cloud.  Here’s some of the questions I get asked most often.

What is SQL Azure?

SQL Azure is Microsoft’s solution for SQL Server in the cloud.  It has a few key differences from traditional SQL Server:

  • Database maximum size is 1GB or 10GB based on your price plan, but no larger
  • You can have as many databases as you want, but they may not be on the same server
  • There’s no cross-database querying
  • There’s no SQL Azure encryption
  • It supports a subset of SQL Server’s T-SQL commands, but not all of them
  • It supports a subset of SQL Server’s datatypes, but not all of them

I like to think of it as SQL Server Lite – it’s an excellent stepping stone to the real thing.  Build your app from the ground up for SQL Azure, and it’s pretty easy to support full-blown SQL Server down the road if your needs change.

How does SQL Azure pricing compare to SQL Server costs?

Azure is a lot cheaper if you only need one database – $10/month for 1gb of data, and $100/month for 10gb of data. Pricing is per database, not per application – you can write multiple applications to query the same database.  Price is only one part of the equation, though.

The more databases you need, or the larger databases you need, the more it makes sense to have your own SQL Server.  Generally speaking, I tell companies that if you have any of these requirements, SQL Azure probably isn’t for you:

  • More than one department that needs to store data in SQL Server permanently
  • You don’t have at least 2 very senior-level programmers who understand the concept of sharding
  • You face security concerns involving HIPAA, SOX, or PCI compliance
  • You’ve already built a schema and/or an application

I’m not saying you can’t meet those needs with SQL Azure, but generally speaking, you’re not the target market for Azure v1.0.  On the other hand, if you have the following requirements, Azure might be a very good fit for you:

  • No full-time IT staff, no DBAs
  • No datacenter (or maybe not even an office)
  • No (or very, very little) legacy code, and you’re building a new app from scratch
  • You don’t mind putting in extra man-hours in the beginning to avoid capital investments

In that situation, Azure might make good sense, but you’re going to have to plan your way around Azure’s limitations.

Why does SQL Azure have a 10GB limit?

I can’t speak for Microsoft, but it would make sense to put a small database size limit to make sure queries run fast.  If you’ve got a 10GB database, it’s easy to make sure every query runs blazing fast.  Throw hardware at the problem, throw a lot of indexes at it, and you’ll get good performance.  Keeping things small also makes backup & recovery easier, and makes high availability design easier.

There are no SQL Azure RAM limits or CPU limits.  You have no control over how much CPU power or memory your database gets.  SQL Server 2008 has a Resource Governor that allows database administrators to throttle queries based on login or database, but Azure doesn’t support those features.

How can I load balance SQL Azure or do cross-database joins?

Since SQL Azure databases max out at 10GB, it would be great if we could create several databases on the same server and use a view to select from all of them.  No dice – that’s not supported.  As of February 2010, your application has to know which databases to query.  If you need to combine results from multiple databases, you’ll need to do that processing inside the application by querying all of the databases and then joining the results together in the app.

Scaling SQL Azure this way is called sharding – partitioning your data into different shards, each stored in a different database (or even different servers.)  Design your app like this, and it will scale like crazy.  If you’re the kind of coder who loves reading the stories on HighScalability.com, you’ll love sharding.  If you’ve never heard of HighScalability.com, you don’t want to architect your own sharded database – bring in somebody who lives this stuff.

How do I handle the SQL Azure backup process?

Unfortunately, right now, you have to build one yourself.  SQL Azure does not support the BACKUP command.  You’ll need to figure out how to sync your data out to an external database, and while you’re doing that design, keep in mind that you pay Microsoft for data transfers in & out of SQL Azure.

Microsoft states that Azure is highly available and contains its own backups across multiple servers.  However, just as RAID is not a backup, high availability is not a backup either.  You need backups if you want protection from any of these scenarios:

BSOD-T

BSOD-T - get yours today!

  • Your app might accidentally delete or modify data
  • Your users might accidentally delete or modify data
  • A hacker might purposely delete or modify data
  • Or believe it or not, Microsoft services just might go down.

Remember, folks, as much as I love Microsoft, we’re talking about the company that brought you the Blue Screen of Death.  You would be irresponsible not to back up your data for your own protection.  (T-shirt available for around $25, and if you want different colors or shirts, click the Customize button after the link.)

How good is SQL Azure performance?

The biggest SQL Azure bottleneck is your bandwidth, because all Azure queries go from your application to Microsoft’s servers and back.  Azure developers report that they’re very satisfied with the query speed, and usually report that it’s faster than servers they’ve built themselves.

The problem will arise when you’re not satisfied with SQL Azure’s performance.  You’ll want to ask these questions:

  • What else is querying my database right now?
  • What does my query execution plan look like?
  • What indexes could I add to make this query run faster?
  • Is another Azure database hammering the server right now?

Unfortunately, SQL Azure doesn’t support any commands, dynamic management views (DMVs), or functions that will help you answer those questions.

Can I use SQL Azure as a backup with log shipping or database mirroring?

No.

Don’t think of SQL Azure as your disaster recovery solution – it doesn’t work that way.  If you design your database for sharding, then you can work out a method to sync between Azure and full-blown SQL Server, but right now you’re very much inventing the wheel.  Your next question would be how to run Azure inside your own datacenter so that you could keep an identical environment between production (Azure) and disaster recovery (your place.)

How do I run Microsoft SQL Azure on commodity hardware?

You can’t run SQL Azure in-house on your own hardware.  It only runs in Microsoft’s datacenters.  If you want to develop against Azure but you don’t want to pay for Azure, you have two options.

Option #1 is to buy SQL Server Developer Edition for under $50.  It’s functionally equivalent to SQL Server Enterprise Edition, but the license prohibits using it in production.  You’ll have to restrict yourself to only using the Azure-level features, though – if you accidentally design your schema to use, say, full text search, it’ll work fine on Developer Edition, but it won’t work in Azure.

Option #2 is to get an MSDN subscription with Azure benefits.

What SQL Azure plans do MSDN subscribers get for free?

It depends on your level of MSDN/Visual Studio:

That pricing is retail pricing, and volume license users get Visual Studio & MSDN cheaper.  Obviously you wouldn’t buy an MSDN subscription just to get $360 worth of SQL Azure databases ($30 * 12 = $360) but it’s part of the picture.  MSDN subscriptions also come with other Azure benefits too, and those Azure benefits stay live as long as you maintain your MSDN subscription.

Got a SQL Azure question I didn’t answer?

Leave it in the comments and I’ll track down the information for you.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

SQL Server in the Cloud article at Dr. Dobb’s Journal

When You Care Enough to Spend The Very Least

When You Care Enough to Spend The Very Least

Dr. Dobb’s Journal just published an article of mine about SQL Server in the cloud.  In it, I cover:

  • The full espresso-strength option for SQL in the cloud
  • The “instant coffee” version that might just meet your needs
  • Two real world use cases – one that needed espresso, and one that ended up with Nescafe

You can read the article, and then let me know what you think here.  (They don’t have discussions on articles.)

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

Playing Around with SQL Azure and SSMS

The latest build of SQL Server Management Studio for SQL 2008 R2 includes built-in support for SQL Azure.  The November CTP is still only a feature-complete preview, not a release candidate, so don’t go installing it willy-nilly on your production desktop.

To use this, you’ll need a SQL Azure account.  You can register for an invitation code, and while you’re waiting, check out the SQL Azure Team Blog and the Microsoft SQL Azure site.

Create an Azure database and get the connection string.

Go to sql.azure.com and sign in with your Live account.  By default, your database list will just show master:

Azure Database List

Azure Database List

Click the Create Database button at the bottom and enter a new database name.  You can either pick 1GB max size or 10GB, and when Azure goes live, you’ll either be billed $10 per month or $100 per month.  Your database list will refresh.  Click on the new database name, and click the Connection String button to get the full string.  All you really need is the server name.

Azure Connection Strings

Azure Connection Strings

Open the SQL Azure Firewall

Just like SQL Server 2008 ships with remote connections disabled, so does Azure.  To open ‘er up, click the Firewall Settings tab in the SQL Azure web control panel and click Add Rule.

Adding a SQL Azure Firewall Rule

Adding a SQL Azure Firewall Rule

Enter a name and an IP address range and submit.  SUBMIT, I TELL YOU!  (Guys, seriously, it’s 2009.  Stop using S&M verbiage on your web forms.)

Open SQL Server Management Studio and Connect to SQL Azure

Open SSMS and start a new Database Engine connection.  Copy/paste the server name from the connection string you generated earlier.  Use SQL Authentication (not Windows trusted authentication) and enter the username and password you set up for SQL Azure.  (This is not your Microsoft Live account.)  Click Connect, and you get a normal Object Explorer browser:

SQL Azure in SSMS

SQL Azure in SSMS

Click View, Object Explorer Details, and you can see the compatibility level, recovery model, and collations – in my case, 100, full, and case-insensitive:

Object Explorer Details

Object Explorer Details

If your firewall settings haven’t taken effect yet, or if you didn’t set up a rule for your current IP address, you’ll get an error like, “Cannot connect to gr8clozgxt.database.windows.net.  Cannot open server ‘gr8clozgxt’ requested by the login. Client with IP address ’85.18.245.70′ is not allowed to access the server. Log in failed for user ‘brento’. (Microsoft SQL Server, Error: 40615).”

Azure Connection Fail

Azure Connection Fail

Go back into the SQL Azure control panel and double-check your firewall rules.

Poking Around in SQL Azure

Now the fun starts.  First off, you can’t right-click on the server itself.  You can right-click on a user database, but there’s no Properties or Tasks.  If you right-click in the Tables list and click New Table, you don’t get a GUI – you get a table creation script.  Put the mouse away, speedy, because you’ve got some scripting to do.  Speaking of scripting, there’s a new option in SSMS for the type of database engine you’d like to script for, either “Standalone SQL Server” or “SQL Azure Database.”

Scripting Options

Scripting Options

You’ll find the master database in the System Databases tree, but no model or tempdb database.  There are no system tables visible in either your master database or your user databases, but there ARE system views like INFORMATION_SCHEMA.

Cross-database querying is a little odd.  In Object Explorer, click on the master database and click New Query.  The database dropdown is simply grayed out, and you can’t change databases once a connection has started.  Try to change it with a USE statement, and you get the following error:

Msg 40508, Level 16, State 1, Line 1
USE statement is not supported to switch between databases. Use a new connection to connect to a different Database.

You can’t specify the master database name, either.  You can query master system views like sys.bandwidth_usage, sys.database_usage, sys.firewall_rules, and sys.sql_logins only from the master database.

Querying sys.firewall_rules

Querying sys.firewall_rules

If you try fully qualifying their names like this:

SELECT * FROM master.sys.firewall_rules

You get an error:

Msg 40515, Level 16, State 1, Line 1
Reference to database and/or server name in 'master.sys.firewall_rules' is not supported in this version of SQL Server.

Or this one:

Msg 10054, Level 20, State 0, Line 0
A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.)

Innnteresting.  Not everything’s quite hooked up in the Object Explorer either – try drilling into the Replication Options, and you’re told that “Operation not supported on version 10.25. (Microsoft.SqlServer.SqlEnum)”.

Not So Fast

Not So Fast

All in all, it’s an exciting step.  So let’s poke around the way a production DBA would:

Things That Don’t Work in Azure

Try this:

EXEC dbo.sp_who

And you get this:

Msg 2812, Level 16, State 62, Line 1
Could not find stored procedure 'dbo.sp_who'.

And same with our old buddy sp_configure – he’s not found either.

Try this (I picked spid 157 because that was my current logged-on one, and I found that high number rather interesting, but that’s a story for another post):

DBCC INPUTBUFFER(157)

And you get this:

Msg 40518, Level 16, State 1, Line 1
DBCC command 'INPUTBUFFER' is not supported in this version of SQL Server.

Same thing with CHECKDB.  All my good friends in the DMVs are MIA, too.

Which brings me to the final thing that doesn’t work in Azure – the production DBA.  In short, anything a production DBA would rely on isn’t there – and that’s because in theory, at least, Azure doesn’t need production DBAs.  Azure’s $100/mo 10GB pricing only seems expensive until you compare it to the cost of a full-time DBA for a small business.  I, for one, welcome our new Azure overlords, but only if they knock performance, availability, and scalability out of the park.

Is there anything you would like to see tested and documented about SQL Azure?  Let me know and I’ll take my best shot.  I plan on running some ballpark performance numbers over the coming weeks for starters.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

My Weekly Bookmarks for October 30th

Here’s my bookmarked links for October 26th through October 30th:

SQL Server Links

#SQLPASS Links

Tech Links

The Junk Drawer

These bookmarks are automatically imported from my bookmarks at Delicious.com. If you’d like to get up-to-the-minute updates on what I’m bookmarking, you can subscribe to my bookmark RSS feed.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

Cloud-based database thoughts before #SQLPass

Next week at the PASS Summit, I’m presenting a session called “Yes, I’m Actually Using The Cloud.” I’ll be talking about what’s out there, why I use it, and why you might want to use it too.

Brendan Cournoyer of SearchSQLServer.com interviewed me recently about the topic and asked questions like:

  • For those who are relatively unfamiliar with cloud computing, what is the case for cloud-based databases? Is it all about performance?
  • Aside from questions about security, what are some other reasons why folks might be hesitant to deploy cloud databases?
  • What about other cloud database options? Relational databases in the cloud are rare. From a SQL Server perspective, how does Azure compare to the other options that are available?

You can read my answers in the interview at SearchSQLServer.

Amazon RDS: New Azure Competitor

Today, Amazon announced a new competitor to SQL Azure: Amazon Relational Database Service.  It’s got some compelling advantages:

  • It’s basically MySQL with some added goodies. If you already know and love MySQL (I don’t know it well, so I don’t love it – yet), it’s easy to love RDS.
  • Amazon handles basic management. They do patch management, backups, restores, and export performance statistics to Amazon CloudWatch for free.  To some extent, they’re providing production database administration as part of the cost.
  • It leverages Amazon’s storage for snapshots. You just tell Amazon how many days of history you want to keep, and they handle it for you without you understanding anything about recovery.
  • Coming soon: high availability with replication. You’ll be able to replicate your MySQL databases between Amazon’s different datacenters without a fancypants database administrator.

If I was a MySQL production DBA, you’d hear my eyebrows raising.  I’d be worried about my long-term job prospects.  From here, it’s a race to the bottom.  Suddenly there’s a service out there that provides some of the same functionality that production DBAs provide, except it’s available by the hour.

What’s the Cheapest Way to Solve a Problem?

How Low Can You Go?

How Low Can You Go?

If I was the project manager for an app with a MySQL back end, you’d hear my sigh of relief.  If I could move my app to Amazon RDS, suddenly performance issues have a completely different solution.  I could either pay a MySQL DBA to find the root cause, or I could simply choose a faster/stronger/better Amazon instance size.

A “small” instance is 1 core with 1.7GB of memory.

A “quadruple extra large” instance is 8 cores with 68GB of memory.

The price difference between these two is roughly $3 per hour.

How much do you think a MySQL DBA costs?  It’s gotta be more than that.  Why would you pay a DBA if you can simply ramp up hardware capacity?  Now, of course as DBAs, we know that model doesn’t scale forever.  You can still run into performance problems at the Quadruple Extra Large instance level, but project managers will gamble that their apps will still survive long enough for Amazon to introduce faster instance power.

The Best Kind of Cloud Service

This is my favorite kind of cloud service.  It’s not vendor-specific, so you can build your app with a MySQL back end without committing to using Amazon RDS.  If Amazon pulls the plug on RDS next year, no biggie – you can still run it on any hosted MySQL service.  You can’t do that with Amazon SimpleDB, which is proprietary. Even better, Amazon RDS is full-blown MySQL, not hobbled in any way.

SQL Azure falls into an odd niche, because you can develop for it without worry.  If Microsoft pulls the plug on Azure, you can still use your app with “real” SQL Servers, because Azure is just a crippled SQL Server implementation. (That’s a good thing and a bad thing.)  However, if Azure dies off, you’re stuck with moving to SQL Server, not exactly the cheapest solution around.  Microsoft offers free-for-a-while licensing with BizSpark and WebSpark, so you can at least buy time, but sooner or later you’re going to face licensing costs.

I love announcements like this because I see it as an exciting time to be a solutions provider.  Like I blogged yesterday, DBAs are always consultants, and we need to view ourselves as providing a service.  Amazon RDS, like other tools, is something that can either compete with us or be part of our toolset.  Figure out how to use it as part of your skillset, or else you risk getting displaced by it.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

My Weekly Bookmarks for October 23rd

Here’s my bookmarked links for October 17th through October 23rd:

SQL Server Links

PASS Links

Tech Links

The Junk Drawer

These bookmarks are automatically imported from my bookmarks at Delicious.com. If you’d like to get up-to-the-minute updates on what I’m bookmarking, you can subscribe to my bookmark RSS feed.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

My Weekly Bookmarks for October 16th

Here’s my bookmarked links for the week ending Friday, October 16th:

PASS Election Links

PASS Summit Links

SQL Server Links

IT Links

The Junk Drawer

These bookmarks are automatically imported from my bookmarks at Delicious.com. If you’d like to get up-to-the-minute updates on what I’m bookmarking, you can subscribe to my bookmark RSS feed.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

Microsoft SQL Azure: The Flat Pack Database

Last weekend, Erika and I stumbled across a coffee table at Ikea that we liked much more than we’d expect for a $50 table.

The Finished Product

The Finished Product

Erika has champagne tastes; she can walk into any store and find the highest-priced item without ever seeing the price tags.  She’s just drawn to expensive stuff.  She’s had her eye on a $1,000 marble-top cocktail table (they’re not called coffee tables anymore, don’t ya know) from Room & Board for months.  Therefore, it was a complete shock when we both really liked this $50 table with exactly the same lines and shape, but a simple white veneer top instead of marble.

$950 savings?  Sold.

Granted, we won’t be passing this table down to our grandchildren, but we don’t even plan on having kids, let alone grandkids.  And this table might not last ten years, but at $50 a pop, we could buy a new one every five years for 100 years straight.  Odds are, our tastes will change over the course of the next 100 years, too.

The catch with Ikea is that the stuff is flat packed – the table comes in a flat box.  You’re responsible for hauling it through the aisles of the store, getting it home in your car, and assembling it yourself.  I’ve done this enough over the years that it doesn’t stress me out (anymore).  My tips for a successful Ikea build are:

  • Read the instructions three times – which is pretty simple, since they’re pictures, not words
  • Use an electric screwdriver to avoid exertion
  • Drink your favorite alcoholic beverage in moderation during assembly
  • Whenever you’re about to curse, stop to think about how much money you saved
  • When you’re done, don’t stand on it to test it

All of those are equally important.

If you don’t read and reread the directions, it’s very easy to end up with a desk that shakes when you type on it – and I happen to be typing on one of those at this very moment.  If you don’t use an electric screwdriver, your arms will be tired before you get halfway through, and you’ll strip out the screw heads.  If you don’t drink, you won’t be mellow enough to laugh at the pictures in the directions.  If you don’t constantly remind yourself of how much money you saved, you’ll be picking up the phone to call Crate & Barrel.

And finally, unless you bought a piece of furniture that was specifically designed for you to stand on, then it wasn’t.  Don’t stand on it to prove a point, because more often than not, you’ll prove that it wasn’t designed with standing in mind.

Ikea Table - Before

Ikea Table - Before

SQL Server is the Marble Coffee Table

When you’re building a brand-new product, company, or web site on the Microsoft stack, SQL Server Enterprise Edition is the sexy marble-top cocktail table.  That’s the one you really want, baby.  You just know all your friends will ooh and aah when you bring ‘em over for the opening night party and say, “Yeah, I built it with SQL Server.”

“But it’s so expensive!” they’ll say.

“Yeah, but my app is worth it.  SQL Server Enterprise Edition scales like there’s no tomorrow.  Built-in backup compression, partitioning, database mirroring, active/active clustering, and all that stuff those MySQL guys can only dream about.  We’re ready for the future now, baby.  Want another glass of champagne?  My venture capital guy bought us a couple dozen cases of the good stuff.”

Riiight.  Back to reality.

SQL Azure is the Flat Pack Database

Much like Ikea furniture, Microsoft SQL Azure is a cheap way to get a reasonable facsimile of the database you really want, but can’t justify buying.

There’s drawbacks:

  • Backups are not included – if you want to get your data out, get out your electric screwdriver and build it yourself
  • Scaling is not included – you have to roll your own sharding, and frankly, I don’t know anybody who does a good job of that
  • Database mirroring, partitioning, clustering, and batteries are not included
  • You can’t stand on it – don’t use this for your data warehouse or high-throughput databases, because the data goes through your internet connection

But if you can live with those drawbacks and build your own HA/DR solution – just like you dragged home your Ikea coffee table and assembled it yourself – you can save a lot of money.

Both SQL Server and Azure can – and will – coexist.  Heck, Ikea furniture happily coexists with the good stuff in my house too.  Now, if you’ll excuse me, I’ll go refresh the Crate & Barrel web site to see when my dining room table and chaise lounge are going to arrive.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts

My Weekly Bookmarks for October 9th

Here’s my bookmarked links for October 2nd through October 9th:

SQL Server Links

Tech Links

The Junk Drawer

  • I Love That Game – Brilliant criminal minds at work.
  • Twitter Data Analysis: An Investor’s Perspective – A bunch of oddball stats about Twitter users and their histories.
  • Will Work for Whuffie? – Why you have to charge fees for speaking engagements when you hit a certain level of fame. (No, I’m not there yet, hahaha, but even if I was, my speaking engagements are free because I’m a service of Quest Software. No, not that kind of “service,” buddy.)

These bookmarks are automatically imported from my bookmarks at Delicious.com. If you’d like to get up-to-the-minute updates on what I’m bookmarking, you can subscribe to my bookmark RSS feed.

Brent Ozar

Brent specializes in performance tuning for SQL Server, VMware, and storage. He's one of the very few Microsoft Certified Masters of SQL Server, a published author, and a Microsoft MVP. He likes travel, Jeeps, Apple gear, jokes, and writing about himself in the third person. Read more and contact Brent.

Website - Twitter - Facebook - More Posts