SQL Server Denali CTP3 is here, and today I’m excited to be able to talk about this new public preview of the next version of SQL Server. CTP1 came out back in November 2010, and CTP2 wasn’t released to the public, so this is your first chance in several months to see progress. Here’s what you want to know:
1. SQL Server Denali CTP3 Features
Windowing functions – if you’ve ever suffered the pain of doing running totals, the prior or next row, or row numbers inside groups, you’ll love the addition of more ANSI SQL:2008 compliance in Denali. That’s not SQL Server 2008 – it’s a separate standards organization that comes up with cool ideas for databases, and then it’s up to each vendor to implement ‘em. To read more, check out the Postgres windowing functions help – after all, these are standard functions, and they work pretty much the same in every database.
Column-store indexes (aka Project Apollo) – normally SQL Server stores all of the data for a particular row together. If you had an index on LastName, FirstName, MusicalTastes, your data would be stored on disk something like this:
- Ford, Tim, 1970s Prog Rock with Show-Off Drummers
- Little, Kendra, Indie Rock with Folk and Electronica Thrown In
- Ozar, Brent, Electronic Trash Sung by Androgynous Characters
- Peschka, Jeremiah, Angry Noisy Guys Banging on Instruments
Column store indexes store each column’s data together. I’m simplifying a lot here, but think of it this way:
- Ford, Little, Ozar, Peschka
- Tim, Kendra, Brent, Jeremiah
- 1970s Prog Rock with Show-Off Drummers, Indie Rock with Folk and Electronica Thrown In, Electronic Trash Sung by Androgynous Characters, Angry Noisy Guys Banging on Instruments
The important thing to notice is that the columns are stored individually. If your queries are just doing
SELECT FirstName, LastName then you don’t need to read the long, drawn-out musical tastes. You read less off disk. This is fantastic for data warehouses, where column store indexes have been all the rage for the last few years. It’s not perfect for everything, though: for starters, when you add a column store index to a table, that table instantly becomes read-only. I’ll have a more in-depth post on column store indexes shortly, but for now, check out the Microsoft whitepaper PDF.
New web-based BI tool called Project Crescent – I’m not a BI guy, so I’ll leave this to the BI people to document. I’m not a web guy either, but I know Crescent is built with Silverlight, and there’s a lot of hullaballoo around whether Silverlight is a dead language. With *any* new SQL Server feature, I get these nervous twitches wondering whether or not it’ll be around in the next version, so I’m glad I’m not a BI guy here. I’d be twitching so hard I’d be unable to type. For more info about Crescent, check out Microsoft’s Project Crescent video.
One more thing…
2. AlwaysOn Availability Groups > (Clustering + Mirroring + Replication)
At the launch of SQL Server 2008, I heard a lot of DBAs whining because Microsoft wasn’t giving them anything cool. 2008 and 2008R2 were focused on Business Intelligence, and production DBAs were left to watch jealously. In 2011, you’d probably expect Microsoft to ignore the infrastructure guys again, because this time around, cloud is the new BI. Every Microsoft employee seems to be chanting the word “cloud” the same way they were chanting “BI” a couple of years ago.
But I’ve got good news. Really, really good news.
Us data plumbers have a killer new HA and scaling tool: AlwaysOn Availability Groups. It’s so important that some of my clients are already planning their 2011/2012 schedule around the deployment. In the past, we’ve struggled with combinations of clustering, log shipping, database mirroring, and replication to get the right mix of performance and availability. These tools work great, but using them all correctly requires a lot of training and experience. Microsoft heard our complaints about our lack of talent, and AlwaysOn aims to replace most of the functionality of all those different tools.
In my post “SQL Server Denali AlwaysOn Rocks!” from the feature’s original announcement in November, I covered the main selling points:
- One primary server with up to four replicas
- Replicas involve multiple databases, not just one, and they can fail over together
- You can have a mix of synchronous and asynchronous replicas
- You can query the replicas (including running DBCCs and backups)
- Your application can automatically connect to a replica instead of the primary if you’re just reading, not writing
- It’s built atop Windows clustering (hey, relax, it’s gotten much better)
I believe this one feature alone is going to drive adoption of Denali – it’s just that good. With just a little bit of learning (trust me, *way* less work than replication or old-school clustering) you can deliver an amazing new solution for your users. SQL Server goes faster with more reliability and less management overhead than ever before. For more info, read my fresh tutorial on How to Set Up SQL Server Denali AlwaysOn Availability Groups.
3. SQL Server Denali Licensing for New Features
The current version of SQL Server (2008 R2) comes in several different flavors including:
- Express Edition (free, but limited database sizes)
- Standard Edition (roughly $6k per CPU socket)
- Enterprise Edition (roughly $30k per CPU socket)
Microsoft hasn’t stated which cool features will be included with which versions, but let’s have a quick history lesson. When SQL Server 2008 came out, most of the good stuff was left out of Standard Edition and held back for Enterprise Edition customers. Customers groaned, rolled their eyes, and didn’t deploy SQL 2008 as fast as Microsoft would like. After all, 2005 worked, and if they had to pay higher EE licensing fees to get the good new stuff, what was the point of upgrading?
When SQL Server 2008 R2 came out, Microsoft threw us a bone by giving the backup compression feature (formerly an Enterprise-only feature) to Standard Edition customers. This encouraged adoption at my clients because they could stop paying maintenance on separate backup compression products.
At the same time, Microsoft also threw us the finger by adding Datacenter Edition, a $60k-per-socket license. Datacenter Edition is a tax on people who can’t write good code and people who love virtualization. Datacenter Edition lets you use more than 8 physical processors in a single SQL Server. Do the math, and just 8 processors alone is $480,000, let alone more than 8, so it usually makes much more sense to design your application to spread load across multiple database servers if you need that much CPU power. Datacenter Edition also gives you unlimited virtualization rights, so you can run as many virtual machines with SQL Server as you want on your VM hosts – a feature that used to be included with SQL Server 2008 Enterprise Edition. Hey, that online division isn’t going to fund itself anytime soon.
What does this tell us for Denali? My guess is that we’ll see more of what SQL 2008 R2 brought us: a subset of new features for Standard Edition customers, extra BI and multi-terabyte-friendly features for Enterprise Edition, and serious hardware horsepower capabilities reserved for Datacenter Edition.
4. How to Download SQL Server Denali CTP3 Free
You can download SQL Server Denali CTP3 here, but there’s a few things to know.
This build will expire 180 days after installation. In theory, you’ll be able to upgrade CTP3 to the RTM (Release To Manufacturing) build, so you could install this on your production laptop. In practice, I’m not a big fan of upgrading anything, so I’d avoid this if you could.
During installation, you can choose between Express Edition and Evaluation. The decisions about which features will be in which SKUs hasn’t been made yet, so you don’t have choices for Developer, Standard, Enterprise, or Datacenter Edition. It’s just Evaluation, period. We’ll find out more about what’s supported in each edition as we get closer to the release date.
5. Release Date for SQL Server 2011, 2012, Denali, whatever?
That’s the one answer everybody always wants to know, and I don’t know either, so let’s take our best guesses.
Leave a comment here with your guess as to when the final RTM version of SQL Server Denali will be available for us MSDN subscribers to download on MSDN.
The person who comes the closest (without going past the date) will win a 7″ USB monitor. What better way to support SSMS’s new monitor support than give you a new monitor that’ll bring more screen real estate to almost any desktop or laptop, even Macs?
Rules and restrictions:
- Entries must be received 72 hours before the official announcement from Microsoft with the actual release date. (This way, if you get a sneaky heads-up from Microsoft at the last minute, your entry will be discarded.)
- One entry per person. If you make multiple entries, you’re flat-out disqualified.
- Guess dates only, not times. We’ll discard any times.
- In the event of a tie (multiple people guessing the same date or same closest date), we’ll randomly draw one winner from them.
- Recipient responsible for all taxes/duties/bribes. (I’ll ship this anywhere, but what happens when it hits your country’s borders is up to you and your diplomatic capabilities.)
UPDATE – the release date is 4/1/2012, but importantly, the final bits were available for MSDN subscribers at MSDN on March 7th. We had exactly one winner:
Max saw the SQL Server Launch event, which wouldn’t necessarily mean the bits would be available on MSDN that day, but he took a chance. For that chance, he’ll be rewarded with a new USB monitor! Great job, Max.
We had several other close guessers, but the funniest was Shawn Melton who put his trust in PowerShell:
Thanks for playing, everybody! And the real prize is SQL 2012, heh.