Course Outline
Session 1: Choosing Data Access Technologies and an Object Model
This session explains how to choose data access technologies and an object model to support an organization's business needs.
Sections
- Introduction to Data Access Technologies
- Choosing Technologies for Accessing Data
- Building a Data Access Layer
- Designing Data Access from SQL Common Language Runtime (CLR) Objects
- Available Data Object Models for Administering SQL Server
After completing this session, students will be able to:
- Describe a typical database system and the role that data access technologies play in that system.
- Select appropriate technologies for accessing data stored in SQL Server 2005.
- Explain how to build a data access layer.
- Explain how to design SQL Server objects that use the In-Process data provider.
- Describe the data object models for administering SQL Server 2005 components and objects.
Session 2: Designing an Exception Handling Strategy
This session describes the various types of exceptions that can occur in a database system, how to capture them, and how to manage them appropriately.
Sections
- Exception Types and Their Purposes
- Detecting Exceptions
- Managing Exceptions
After completing this session, students will be able to:
- Describe the various types of exceptions that can be detected in a SQL Server 2005 system and how they affect applications and users.
- Design strategies to detect exceptions at the appropriate layer.
- Design strategies to log and communicate exceptions according to business requirements.
Session 3: Choosing a Cursor Strategy
This session describes when cursors are appropriate and how to use them to optimize the use of system resources.
Sections
- Common Scenarios for Row-based vs. Set-based Operations
- Selecting Appropriate Server-side Cursors
- Selecting Appropriate Client-side Cursors
After completing this module, students will be able to:
- Explain when cursors are appropriate and when they are not.
- Explain the considerations for selecting server-side cursors.
- Explain the considerations for selecting client-side cursors.
Session 4: Designing Query Strategies Using Multiple Active Result Sets
This session describes when Multiple Active Result Sets (MARS) can improve application response time and user satisfaction.
Sections
- Introduction to MARS
- Designing Query Strategies for Multiple Reads
- Designing Query Strategies for Mixing Reads and Writes in the Same Connection
- Concurrency Considerations When Using MARS
After completing this session, students will be able to:
- Explain why MARS is useful, as compared to the set-based execution of SQL Server 2000.
- Explain when multiple simultaneous reads can be beneficial for an application, and explain the implications of using this technique.
- Explain specific scenarios in which it might be beneficial to use MARS to combine write and read operations.
- Explain the locking implications of using MARS and how these locks affect other transactions.
Session 5: Designing Caching Strategies for Database Applications
This session describes how to optimize system resources by caching data and objects in the appropriate layers.
Sections
- Why Caching Is Important
- Data and Query Caching in SQL Server 2005
- Using Caching Technologies Outside of SQL Server
- Custom Caching Techniques
After completing this session, students will be able to:
- Explain why caching is important.
- Explain the advantages of using the data and query caching automatically performed by SQL Server 2005.
- Explain how caching data outside of SQL Server works and how to manage conflicts that these technologies might produce.
- Explain the various ways to cache frequently used data, objects, and results in the appropriate tier to improve performance.
Session 6: Designing a Scalable Data Tier for Database Applications
This session describes how to assess scalability needs and design the best architecture to scale the system to meet those needs.
Sections
- Identifying the Need to Scale
- Scaling Database Applications to Avoid Concurrency Contention
- Scaling SQL Server Database Systems
- Scaling Database Applications Using a Service-Oriented Architecture
- Improving Availability and Scalability by Scaling Out Front-End Systems
After completing this session, students will be able to:
- Identify when to scale database applications and what layer to scale.
- Select an appropriate technology to avoid concurrency problems and to improve application performance.
- Evaluate whether scaling out or scaling up is appropriate for the scalability requirements of your database system.
- Explain how to improve middle tier processing by using multiple instances of Web services and object pooling.
- Explain how to improve response time and availability by scaling out front-end systems.
Delegates will learn how to
- Choose data access technologies and an object model to support an organization's business needs.
- Design an exception handling strategy.
- Choose a cursor strategy.
- Design query strategies using Multiple Active Result sets (MARS).
- Design caching strategies for database applications.
- Design a scalable data tier for database applications.
|