270 likes | 569 Views
E N D
1. Occasionally Connected SystemsOffline Data Synchronization and Caching with SQL Server Everywhere Edition Steve Lasker
Program Manager / Technical Lead
Microsoft
http://blogs.msdn.com/SteveLasker
http://Team/Sites/OCS
2. Agenda Architecture Evolution
Caching Models
Choosing the Right Tool
Demos of a New Sync Runtime
What we’re delivering in Orcas to enable Occasionally Connected Applications
3. Slide 9 - The Next Data Explosion part 2
As we enter this new environment of distributed devices, desktops, servers, clusters, and services in the cloud, we need to think differently about data and applications.
Data will now be on the move, processed close to the application, federated from multiple data sources, connected and disconnected.
The default application model will evolve from client-server to multi-tier.
Applications living on the edge of networks will be adaptive to connected and disconnected states, and will seamlessly synchronize with one or more data hubs.
Applications today and moving forward are dealing in terms of “entities” – the “stuff” flowing between composite apps is not rows or objects but collections of rows that make a logical unit of work for an application, a message perhaps.
Databases today don’t always provide the right level of abstractions for this entity based world
To support all of this we really need to look at Data Management in a different way.
From Jim Grey:
We’re in a transition from session oriented databases to service oriented databases.
Session Oriented Database: Input & Events processed by application, Passive Data, Little binding between data and “logic”
Service Oriented Database: Service Logic bound to Services, Query Notifications, and Events. Service Logic Triggered by data changes, by message arrival, by timer firing, etc. Data becomes “active”
Slide 9 - The Next Data Explosion part 2
As we enter this new environment of distributed devices, desktops, servers, clusters, and services in the cloud, we need to think differently about data and applications.
Data will now be on the move, processed close to the application, federated from multiple data sources, connected and disconnected.
The default application model will evolve from client-server to multi-tier.
Applications living on the edge of networks will be adaptive to connected and disconnected states, and will seamlessly synchronize with one or more data hubs.
Applications today and moving forward are dealing in terms of “entities” – the “stuff” flowing between composite apps is not rows or objects but collections of rows that make a logical unit of work for an application, a message perhaps.
Databases today don’t always provide the right level of abstractions for this entity based world
To support all of this we really need to look at Data Management in a different way.
From Jim Grey:
We’re in a transition from session oriented databases to service oriented databases.
Session Oriented Database: Input & Events processed by application, Passive Data, Little binding between data and “logic”
Service Oriented Database: Service Logic bound to Services, Query Notifications, and Events. Service Logic Triggered by data changes, by message arrival, by timer firing, etc. Data becomes “active”
4. Dynamic switching
5. Passive Caching
6. Active Caching
7. Caching Models Passive CachingCache requests as they happen
Saving that Pizza or Chinese Food delivery
Can eat the completed meals you’ve saved
Difficult to cook up other recipes
Active CachingPre-fetch raw resource needed to complete tasks
Going food shopping for milk, meat, bread, spices, …
Can cook endless combinations based on the raw materials
Foodmart doesn’t need to maintain various specific “recopies”
8. Complete, Independent, Applications
9. Occasionally Connected Systems
10. Lots of Toys (Technologies)
11. Right tool for the right job
12. Categorizing Techno Gadgets
13. Synchronization Options
14. RDA, Merge, Query Notifications RDA
Easy to configure, manage and deploy
Great for well partitioned data
No real conflict detection
Great scaling as the server has no additional overhead
Doesn’t support incremental downloads
Merge Replication
Full spectrum of devices
Many built in features
More to configure, requires DBO/DBA privileges
Feature of SQL Server
SQL Query Notifications
Provide query expiration, not what changed
Great for mid tier / web caching
Not granular, flexible or scalable for client caching
15. OCS Scenarios Local Caching of Read Only DataProduct Catalog, States, Codes
Capture Incremental Changes (Inserts, Updates, Deletes)
No active connection to the database required
Offline Data
Data is persisted using SQL Server Everywhere Edition
Local Change Tracking for Sending Updates When Connected
Developer Productivity
“Pay to Play”, RAD Component Architecture Leveraging Developers ADO.NET Knowledge
Auto Creation of Database and Table Schema
16. Sync Component Architecture
17. Sync Component Architecture
18. Occasionally Connected SystemsSync Framework
19. App Install
20. Offline Changes
21. Synching offline changes
22. Synchronized
23. Expense Report Approved
24. Synchronize Server Changes
25. Synchronized
26. Database Schema Impact ”Pay to play”
27. Summary Network resiliency doesn’t happen as an afterthought
Building resilient applications is the future, not just a stop gap
It’s how all important resources are managed
Design your apps to work offline from the beginning
When things are connected, they work great
When stuff happens, your business continues to function
SQL Server Everywhere Edition is your killer local store
Sync technologies exist today, RDA, Merge
Sync Services are coming, design for them today
Be a part of the solution, not the problem
Contribute to usability & fiscal responsibility
28. Reference Info SQL Server Everywhere ships end of ’06
CTP @ http://Microsoft.com/SQL/Everywhere
SQL Server Everywhere Edition Blog
http://blogs.msdn.com/SQLServerEverywhere
Public OCS Info
http://blogs.msdn.com/SteveLasker
How to get involved with our Private Sync CTP
http://blogs.msdn.com/stevelasker/contact.aspx