In-Depth

Developers to Get Hooks Into SQL Server 'Katmai'

Editor's note: The CTP of next SQL Server "Katmai" was released.

When Microsoft announced details of its next SQL Server database last month, the company went to great length to position it as a platform for business intelligence applications.

But the new database, code-named "Katmai," also promises to radically ease developers' interactions with SQL Server and broaden their options for building applications that make use of both structured and unstructured data.

The company used its first Business Intelligence (BI) Conference to talk up Katmai. Jeff Raikes, president of Microsoft's business division, emphasized Katmai's promised value to end users and business-level execs -- through tighter integration with Office 2007 apps and increased reporting capabilities.

Ted Kummert, corporate vice president in charge of Microsoft's data and platform storage division, dove deeper into Katmai's technical underpinnings. The company says Katmai -- for which a community technology preview (CTP) is expected soon -- will have increased scalability and better support for various data types, including spatial and unstructured information. Developers will be able to move and manipulate that data from warehouses to any hardware or device, the company says. In addition, "all the services of SQL Server ... will operate over those new data types," Kummert said during his keynote at the BI conference.

While that's no small undertaking, Microsoft plans to fulfill the promise of Katmai through two key enablers: the ADO.NET Entity Framework (EF) and the Language Integrated Query (LINQ), both of which aim to make it easier for developers to programmatically use data.

The Entity Framework enables developers to program against data defined in a conceptual fashion instead of directly interacting with traditional table-and-column data. The framework is based on Microsoft's Entity Data Model specification.

"With the Entity Framework, we're essentially programming at the conceptual level rather than at a logical level or a physical level," says Francois Ajenstat, director of product management, SQL Server. "Developers can focus on development rather than having to figure out, 'Which table do I need to get? How do I build those joins?' Instead they just get the business entities they need. If changes occur in the data schema or the actual database I don't actually have to go in and change my application as a result of it, because now there's this abstraction layer."

LINQ enables developers to query a variety of data sources from within VB.NET and C#. The point is to avoid the need for developers to learn database-specific languages like SQL. The LINQ to Entities specification will ship as part of the Entity Framework, and, like the EF, will be supported by Visual Studio tools.

This higher-abstraction approach to data is part of a long-term company theme, according to Microsoft Data Architect Mike Pizzo. "Microsoft envisions an Entity Data Platform that enables customers to define a common Entity Data Model across data services and applications. The Entity Data Platform is a multi-release vision, with future versions of reporting tools, replication, data definition, security, etc., all being built around a common Entity Data Model," Pizzo posted on his blog in late April.

A Vision on Hold
The Entity Framework is already available in beta form, but developers won't be able to use it in a production environment until "the Katmai timeframe," according to Ajenstat.

Microsoft initially planned to release the framework as part of Visual Studio "Orcas," due later this year. But in late April the company pulled it out, citing the fact that a key component, the Entity Data Model Designer, was behind schedule. Microsoft says it will be offered as an extension to Visual Studio Orcas.

Roger Jennings, a SQL expert and author of more than 30 Microsoft-related books, expresses consternation that the Entity Framework won't see daylight for some time, suggesting that the framework might become a SQL-only feature.

Britt Johnston, director of data programmability at Microsoft, says that's not the case. "The bottom line is, it doesn't require Katmai to use the Entity Framework," Johnston says.

Microsoft says the framework will be compatible with any data source that has an entity-enabled ADO.NET provider, and the company has held "ProviderFest" events to foster the creation of these tools.

However, Microsoft is clearly aligning the release dates of Katmai and the EF -- a typical, even logical move, suggests Robert McLaws, a .NET developer and president of Interscape Technologies Inc.

"What I think is actually happening is Microsoft's 'pin the product on the ship vehicle' game. Since Katmai is scheduled to ship after Orcas, and it's a data product, it only makes sense to package the two together," says McLaws, who also runs the popular news and commentary site windows-now.com.

Another timing question revolves around Katmai itself: company officials insist it'll be released in 2008, but they've not been specific about which part of the year.

The Unstructured World
Katmai is supposed to include other improvements; chief among them is added support for various data types, including spatial and unstructured data. Users will be able to "natively store documents within SQL server," according to Ajenstat. "You'll be able to query it and do standard things you do in a database -- select, inserts, updates, deletes -- to documents. It means you'll be able to use our standard management tools. You'll able to use the security policies that you implement in SQL Server directly on those documents."

Ajenstat stresses that Katmai is "not creating a new language, not creating a new file system, just extending the current database to handle that unstructured data."

Microsoft is taking a different approach to unstructured data than its competitors, he argues. "If you look at how Oracle [Corp.] or others are doing it, they're looking at the content management system and putting a lot of emphasis on the application above, rather than how you store, manage and structure that data," he says. "They're providing hooks for the content management system they have, rather than enabling any system to be able to use [the data]." Oracle declined to comment on Katmai but has positioned its database as a repository that supports both structured and unstructured data for some time.

Chasing Oracle and IBM
Whether Katmai improves Microsoft's standing in the database space remains to be seen. IDC released a study in April that showed Microsoft with an 18.6 percent share of the relational database market, compared to 44.4 percent for Oracle, the leader, and 21.2 percent for IBM Corp. However, Microsoft showed the strongest growth among the top database players, with a 25 percent revenue increase in 2005-2006, according to IDC.

Burton Group Analyst Lyn Robison describes today's database market as a closely run race from a technology standpoint, market share aside.

"Microsoft, IBM and Oracle are all thinking along the same lines," Robison tells RDN. "IBM's in the lead in actually shipping products and tools for the overall management of information. Microsoft's vision in this area, with the ADO.NET Entity Framework, is somewhat more narrowly focused than IBM's, but shows great promise. I haven't seen a compelling vision from Oracle in this area, but I can't imagine that they'll fall behind IBM and Microsoft over the long term."

About the Author

Chris Kanaracus is the news editor of Redmond Developer News.