1 Agenda Data and System Trends ChallengesObservationsConclusion
Winchester Drive The Big Trends Megabytes ½ Floppy Disk 1983 CD ROMs 1967 First Floppy Disk ¼ Floppy Storage MB HD 2000’s Terabytes 1990’s Gigabytes 2005
3 The Big Trends Digitally Born Data 2005
4 Increased Data Under Management Master Files Sales Data IW Files Pictures Music Product Design Data Conversations Master Tapes 1960’s 1970’s 1980’s 1990’s 2000’s Electronic Trades GIS Locations
5 Transaction Processing OLTP Internet XML Reporting Data Processing 1960’s 1970’s 1980’s 1990’s 2000’s Communications Reengineering IT: Efficiency Where have the gains come from? B2B Services Knowledge Retention and Retrieval Reduce Latency In Human Processes
6 Data Moving Upstream Post Transactional Summary After the fact Transactional Record of fact Enables Analytics Pre- Transactional Record of fact and intent Enables deeper insight
7 The Data Monolith Previous 30 years trended towards data consolidation SOA, connected systems, common schema, pulling data apart Data Processing OLTP EA Internet B2B Services Devices SOA Data Convergence Data Distribution
8 Trends Recap… Huge Gains in PSI ProcessingStorageI/O Exponential Improvement in all of the above Data now online and available with schema Need to derive value from it Human costs now dominate solutions! The data monolith is getting broken apart
9 Challenges Data Challenges: ProgrammingDistributing Getting Value Relating and Organizing Sharing
10 Challenge: Programming Data Different Environments Data query environment distinct from rest of program No Intellisense, late bound, verbose… T-SQL versus.NET Languages “Impedance Mismatch” between code and database Transactions Nulls - 3-value logic Normalized Data Declarative Queries Transparency Exception Handling “Different” nulls Objects Imperative operations Encapsulation Database World Programming World
The LINQ Project Standard Query Operators Objects DLinq (ADO.NET) XLinq(System.Xml) XML.NET Language Integrated Query C#VBOthers… SQLWinFS TLN306 – Wed, 1:45PM DAT323 – Thu, 2:15PM DAT324 – Fri, 10:30AM
12 SqlConnection c = new SqlConnection(…); SqlConnection c = new SqlConnection(…); c.Open(); c.Open(); SqlCommand cmd = new SqlCommand( SqlCommand cmd = new c.Name, c.Name, c.Phone FROM Customers c FROM Customers c WHERE c.City WHERE c.City " London " ); " London " ); DataReader dr = c.Execute(cmd); DataReader dr = c.Execute(cmd); while (dr.Read()) { while (dr.Read()) { string name = dr.GetString(0); string name = dr.GetString(0); string phone = dr.GetString(1); string phone = dr.GetString(1); DateTime date = dr.GetDateTime(2); DateTime date = dr.GetDateTime(2); } dr.Close(); dr.Close(); Data Access in APIs Today Queries in quotes Arguments loosely bound Results loosely typed Compiler cannot help catch mistakes
13 Data Access in DLinq public class Customer { public int Id; public int Id; public string Name; public string Name; public string Phone; public string Phone; …} Table customers = db.Customers; var contacts = from c in customers from c in customers where c.City == "London" where c.City == "London" select new { c.Name, c.Phone }; select new { c.Name, c.Phone }; Classes describe data Tables are collections Query is natural part of the language The compiler helps you out
14 Architecture LINQ Query Objects SubmitChanges() SQL Query Rows SQL or Stored Procs DLinq (ADO.NET) SQLServer from c in db.Customers where c.City == "London" select new { c.Name, c.Phone } select Name, Phone from customers where city = 'London' Application Services: - Change tracking - Concurrency control - Object identity
15 Hello World “DLinq” Style Dinesh Kulkarni Program Manager C#
16 ADO.NET vNext Pablo Castro Program Manager Dataworks
17 Challenge: Distributing Data Need data everywhere PDA → Desktop → App Server → Enterprise Need synchronization/replication Need reliable messaging between stores Need reference data everywhere ContactsCatalogs Price lists
18 Challenge: Value From Data Search versus Query Information from existing data AnalyticsReporting Managing the data lifecycle
19 Search Versus Query Show pictures of people who attended Eric’s 2004 Birthday Party Query Search Eric and Birthday
20 Portal (Office Server) Integrated Offering Office SQL Data Warehouse (SQL RDBMS) Integrate (SSIS) Analyze (SSAS) Report (SSRS) Business Scorecarding (BSM) End-user Analysis (Excel + Excel Server) BI Platform Analytic Applications End-user Tools DAT315 – Thu, 10:00AM OFF 323 – Fri, 10:30AM
21 Challenge: Exploiting Rich Data How to get more value from rich data As Office documents content more accessible New XML formats for Office “12” More intrinsic metadata becomes available We enable data sharing
22 Challenges: Exploiting Rich Data Unify It’s not just about files Organize It’s not just about folders (or tables) Explore It’s not just about search Innovate It’s about a platform
23 DAT 209 – Wed, 1:45PM DAT 209 – Thu, 5:15PM DAT 310 – Wed, 3:15PM DAT 312 – Wed, 5:00PM ADO.NET WinFS Item Data Model Query Services File Services Metadata Handlers,… Operations Backup, AV,… ItemAssociationExtension Schemas TasksMedia Docs… Sync Adapters, … Peopl File Services Metadata Handlers,… Operations Backup, AV,… Sync Adapters, … Update Logic “DLinq” Unified API ADO.NET support – query, update, app logic, language integrated query, … It’s Still a File System FS Semantics, Security, Manageability, Backwards Compatible with Win32 Operations Backup/Restore, AV, … Sync Multi-master Sync New Windows Types “Everyday info” schemas + ISV extensions “Everyday info” schemas + ISV extensions Structured “Item” Store Files & Folders Items & Associations Integrated storage components Leverage investments in DB technologies, CLR, NTFS support Unified API ADO.NET support – query, update, app logic, language integrated query, … It’s Still a File System FS Semantics, Security, Manageability, Backwards Compatible with Win32 Operations Backup/Restore, AV, … Sync Multi-master Sync New Windows Types “Everyday info” schemas + ISV extensions “Everyday info” schemas + ISV extensions Structured “Item” Store Files & Folders Items & Associations Integrated storage components Leverage investments in DB technologies, CLR, NTFS support What is WinFS? File Services Metadata Handlers,… Operations Backup, AV,… Sync Adapters, … Database Engine NTFSCLR
24 WinFS Shishir Mehrotra Lead Program Manager WinFS
25 Conclusion Data Management value moving - From: base services – store, query, retain To: semantic services – mine, analyze, repurpose We can make it much easier to program against data We will make it much easier for you to: Interact with data Program against data Derive value from data
26 © 2005 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.