Tải bản đầy đủ (.pdf) (28 trang)

Tài liệu Module 9: Data Storage Considerations pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (460.66 KB, 28 trang )


Module 9: Data Storage Considerations


THIS PAGE LEFT INTENTIONALLY BLANK




Module 1: Course
Overview
Module 4: Deriving a
Logical Data Design
Module 5: Normalizing the
Logical Data Design
Module 6: Deriving a
Physical Data Design
Module 7:
Implementing Data
Integrity
Module 2: Solution
Design Processes
Module 3: Using a
Conceptual Design for Data
Requirements
Module 8: Designing
Data Services
Module 9: Data Storage
Considerations
Designing Data
Services and


Data Models
Choosing a
Database Product
Data Storage
Considerations
Data Storage
Technologies
Activity 9.1: Data Quiz
Module 9: Data Storage
Considerations

Module 9: Data Storage Considerations 195



!
!!
! Overview
"
Choosing a Database Product
"
Data Storage Technologies
"
Data Storage Considerations
"
Activity 9.1: Data Quiz
"
Review
In this module...
In this module...



At the end of this module, you will be able to:
"
Identify different types of hardware and software for implementing a data
store.
"
Choose the appropriate hardware or software for implementing a data store.

Slide Objective
To provide an overview of
this module’s topics and
objectives.
Lead-in
In this module, you will look
at data storage
considerations and data
storage technologies.
196 Module 9: Data Storage Considerations



!
!!
! Choosing a Database Product
"
User Community
"
System Performance
"

System Maintenance
In this section...
In this section...


In this section, you will learn about several factors that you should consider
when selecting a database product.
Slide Objective
To provide an overview of
this section.
Lead-in
This section discusses
some of the factors to
consider when choosing a
database product.
Module 9: Data Storage Considerations 197



User Community
"
Total number of users
"
Total number of concurrent users
"
Scalability for current and future requirements
"
Security



One important consideration when examining database technologies is the user
community—the number of users who need to be able to use the database.
Users are not only the people, but also the other applications that can
interactively access the database. If a different application or system needs to
access a database, its impact on the database must be taken into account.
The total pool of potential users directly impacts a data store’s ability to support
an application. The number of actual users concurrently accessing the system at
any time is also extremely important. Generally, most database systems provide
concurrent, multiuser capabilities, and most multiuser data stores are tuned to
support a specific range of concurrent users. How many concurrent users a
system can support, as well as how performance might degrade as the number
of concurrent users increases, is typically referred to as a database system’s
scalability.
When identifying concurrent usage patterns, you should identify the average
and peak numbers of concurrent users for the application. These numbers will
also translate into the number of concurrent users for the data store itself. They
can be one-to-one ratios, as with most client/server applications. However,
distributed application designs typically decrease the number of concurrent data
users per concurrent application user because not all users access the data server
every time they use the application.
It is also important to expect and plan for the total number of users to grow over
time. The application design and the choice of data stores should reflect the
expected growth in application use.
Finally, most systems provide some level of user security. Security can be
categorized as authentication, access, encryption, or auditing, depending on
whether data stores provide services to identified users, allow access to
particular data elements, encrypt critical information, or keep a record of
transactions.

Slide Objective

To explain how the number
of users affects a database
decision.
Lead-in
When selecting a database
technology, you should
consider how many users
the system will have to
support.
198 Module 9: Data Storage Considerations



System Performance
"
Access speed
$
Retrieve
$
Create, update, and delete
"
Availability
$
Maintaining system uptime
$
Recovery


Because most applications rely heavily on data, the performance speed of a data
store directly impacts the perceived performance of the application. You can

examine data storage performance in two separate speed-related contexts: in
retrieving data (performing queries) and in maintaining data.
Regarding data retrieval performance, the speed of queries is important if the
application is required to present a large amount of information in a short
period of time. For example, a database application that provides product
listings on a public Web page must be able to quickly perform a large number
of queries.
Regarding data maintenance performance, some applications modify data
frequently, such as creating, updating, and deleting records. For example, an
application that primarily performs order entry for a catalog company requires
high performance for creating data.
Different data stores will provide various mechanisms to allow you to tune your
application for its primary speed area. As discussed previously, the underlying
database design can also significantly impact these performance areas.
In addition to a data store’s speed, a data store’s performance is related to its
availability. Availability is the time that the data store is available to
applications. Availability is a function of the actual time that a data store is
running and the time it takes to repair and get the database running again if it
crashes. If an application relies heavily on a data store that is not functioning,
the data store has an availability problem. Some data stores provide availability
services such as clustering, transactions, and online backup and restore
capabilities that increase their uptime and decrease the time it takes to recover
from a crash.
Slide Objective
To discuss the performance
considerations that can
influence the selection of a
database technology.
Lead-in
Performance is an important

aspect to consider when
selecting a database
technology.
Module 9: Data Storage Considerations 199



System Maintenance
"
Administration
"
Optimization
"
Locking granularity
"
Transactional support (ACID)
$
Atomicity
$
Consistency
$
Isolation
$
Durability


Every application requires some level of data store administration. Many data
stores provide strong administrative support across slower remote connections,
whereas other data stores require a LAN-speed connection to perform
adequately. Administrative tasks might include modifying tables, queries, or

fields, as well as optimization techniques such as indexes, archiving, and
organizing data values within tables. In particular, the optimization capabilities
of a data store can be a strong selection criteria. For example, you will need to
know what types of optimization indexes can be created, how quickly indexes
can be rebuilt, and whether the optimizations can occur while the data store is
available. The data store’s ability to automate optimization processes, as well as
to provide statistics to determine good optimization techniques, can also be
determining factors in your choice of a data store.
How an application maintains data values is an additional consideration for
selecting a data store. A data store’s granularity of control when its existing
records are updated can increase or decrease the difficulty encountered with
multiuser systems. These difficulties typically arise as many people try to
access and update the same value, record, or neighboring records. The data
store’s database locking mechanism typically controls these simultaneous
update attempts. Some databases do not provide locking mechanisms, some
provide them on blocks of records known as pages, and others provide locking
capabilities at a record or even field level. Often the data store’s locking
capabilities will simplify the application development process, as well as
improve the data store’s performance.
Slide Objective
To introduce the
maintenance issues that can
affect your decision about a
database technology.
Lead-in
It is important to evaluate
maintenance capabilities
when selecting the data
store for an application.
200 Module 9: Data Storage Considerations




In addition to providing locking mechanisms to improve the data modification
process, many databases have built-in support for transactions, and as a result,
allow for easier development of transactional systems. A transactional database
should support the following ACID principles for transactions:
"
Atomicity
Atomicity is the process by which a transaction either commits or aborts. If
a transaction commits, then every transaction component is completed. If a
transaction is aborted, every operation in the transaction is rolled back and
undone.
"
Consistency
Updates to a system are performed in such a way that data consistency is
preserved.
"
Isolation
Each transaction is isolated from every other transaction. An aborted
transaction should not affect a separate transaction occurring at the same
time as the aborted transaction.
"
Durability
Durability is the process by which a committed transaction remains in the
system, regardless of subsequent activity or even system failure.

In addition to these maintenance issues, you should consider the database
product’s ability to interact with transactions outside the database itself (for
example, with standardized transaction systems such as Microsoft

®
Transaction
Server [MTS]).
Module 9: Data Storage Considerations 201



!
!!
! Data Storage Technologies
"
Microsoft Excel
"
Microsoft Jet
"
Microsoft Visual FoxPro
"
MSDE
"
SQL Server
In this section...
In this section...


In this section, you will learn about the major features of some of the Microsoft
products available for implementing databases.
Slide Objective
To provide an overview of
data storage technologies.
Lead-in

In this section, you will learn
about some of the Microsoft
products available for
implementing databases.
202 Module 9: Data Storage Considerations



Microsoft Excel
"
Used for querying tables
"
Basic database functionality
"
Quick and simple to implement


Although not explicitly a database application, Microsoft Excel contains some
potentially useful database functionality, such as its use as a querying tool for
databases. Also, Excel can connect to other databases and import data from
them. The imported data can then be used to create reports and graphs, to
determine whether the data in the database is correct, and to conduct data
analysis.
Excel spreadsheets can be used as intelligent database tables; they can store
data and provide a visual analysis of the data. However, this database
functionality is limited because only one user at a time can edit the spreadsheet,
and the tables are not relational. Additionally, for a single-user system, Excel
provides limited data storage capacities.
Excel provides Microsoft Visual Basic
®

for Applications programming
capabilities, but it does not provide transactional support or any significant data
maintenance features such as crash recovery or transaction logging.
Slide Objective
To explain the purpose and
characteristics of Excel for
data storage.
Lead-in
Although Excel is widely
used as a spreadsheet
application, it also provides
limited data storage.
Module 9: Data Storage Considerations 203



Microsoft Jet
"
Is a full 32-bit, relational database engine
"
Uses Visual Basic for Applications
"
Can be used to develop desktop or client/server
applications
"
Is Web-enabled and Internet aware
"
Is tightly integrated with Microsoft
Office and other Visual Basic for
Applications-aware programs



Typically, Microsoft Access applications use the Jet database engine. With
Access 2000, however, you can also create an interface to a SQL Server


database.
The Jet database has a theoretical limit of 255 concurrent users, but more than
20 to 30 concurrent users can cause performance to degrade significantly. The
Jet data store can store up to 2 gigabytes (GB) of data. The Access 2000 Jet
data store provides several simple administrative functions, but is strictly a file-
based data store; remote administration across slow network connections is
troublesome.
Jet’s file-based nature allows an operating system to secure control to the
database file. (Internally, Jet provides limited security capabilities.) Because Jet
is file-based and nontransactional, rolling back individual transactions if data
becomes corrupted is impossible. Instead, the entire database must be restored
from a single backup. Finally, Jet’s query capabilities across slow network links
is poor because an entire database file must be copied to the local client for
processing.
Slide Objective
To explain the uses and
characteristics of the Jet
database engine.
Lead-in
Jet is a strong platform for
small to medium databases
in which a small number of
users will access
information.

×