1. Trang chủ
  2. » Công Nghệ Thông Tin

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

28 467 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Data storage considerations
Định dạng
Số trang 28
Dung lượng 460,66 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Generally, most database systems provide concurrent, multiuser capabilities, and most multiuser data stores are tuned to support a specific range of concurrent users.. However, distribut

Trang 2

Module 1: Course Overview

Module 4: Deriving a Logical Data Design

Module 5: Normalizing the Logical Data Design

Module 3: Using a Conceptual Design for Data Requirements

Choosing aDatabase Product

Data StorageConsiderations

Data StorageTechnologies

Activity 9.1: Data Quiz

Module 9: Data Storage Considerations

Trang 3

! Overview

" Choosing a Database Product

" Data Storage Technologies

" Data Storage Considerations

" Activity 9.1: Data Quiz

" Review

In this module

At the end of this module, you will be able to:

Trang 4

! Choosing a Database Product

This section discusses

some of the factors to

consider when choosing a

database product

Trang 5

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

Trang 6

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

Trang 7

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

Trang 8

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 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

Trang 9

! Data Storage Technologies

In this section, you will learn

about some of the Microsoft

products available for

implementing databases

Trang 10

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

Trang 11

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

Trang 12

Microsoft Visual FoxPro

" Provides legacy support for earlier versions of FoxPro, Xbase code, and applications

" Supports 32-bit Xbase programs

" Is object oriented

" Has a high-performance query engine

" Is ideal for small-scale to medium-scale databases

Visual FoxPro® is a powerful tool for creating state-of-the-art database applications Among the advantages of Visual FoxPro are its support for 32-bit Windows® platform enhancements, high-performance client/server

connectivity, building reusable components, and n-tier and Internet-enabled enterprise applications

Visual FoxPro is compatible with all previous versions of the product, increasing upgrade ease and backward compatibility Visual FoxPro appeals to object-oriented programmers because it supports a true object programming model, which aids in application and component creation and reuse The Visual FoxPro programming model can be used to create compiled applications or Component Object Model (COM) components that use a FoxPro database, Microsoft Data Engine (MSDE), SQL Server, or any ODBC or OLE DB provider Visual FoxPro also supports inline debugging, which allows for the troubleshooting of Visual FoxPro programs

Visual FoxPro supports medium to large datasets, and can rapidly return retrieval results from these datasets Each table can contain up to 2 GB, with no limit to the number of tables an application can use As with Jet, the Visual FoxPro data engine is also file based; thus, its backup, recovery, security, and transaction logging support are limited and inefficient across slow network links As with Jet, the query capabilities of Visual FoxPro across slow network links are poor because the entire database or index file, or both files, must be copied to the local client for processing

Slide Objective

To explain the benefits of

implementing Visual FoxPro

as a data storage solution

Lead-in

Visual FoxPro supports

large databases and

provides legacy support for

previous versions of the

product

Trang 13

MSDE

" Is code-compatible with SQL Server 7.0

" Provides local data storage

" Supports ANSI SQL 92 standards

" Is freely redistributable

Based entirely on the SQL Server 7.0 code base, MSDE is a new Microsoft data engine MSDE databases will operate without modification under SQL Server 7.0 Thus, MSDE is a good choice for creating applications that can be scaled quickly to support a small user base or an enterprise deployment from a single code base Using MSDE for building mobile and shared solutions provides the easiest migration path to SQL Server 7.0 because MSDE is fully compatible with all database connection technologies that SQL Server 7.0 supports, including ADO, DAO, ODBC, and OLE DB

With MSDE, you can code for any feature that the core SQL Server engine supports, including using American National Standards Institute (ANSI) SQL-

92 However, other components outside the core SQL Server engine, such as online analytical processing (OLAP) services and full text search, are not supported

MSDE is available with Microsoft Office 2000 Premium and Developer editions and to licensed users of Microsoft Visual Studio® 6.0 Professional and Enterprise edition tools Desktop and shared solutions built with either MSDE for Visual Studio 6.0 or Office 2000 Developer can be distributed royalty-free

to users

MSDE is optimized for five concurrent users and can store up to 2 GB of data, but unlike SQL Server, it does not require licenses MSDE provides several of the SQL Server maintenance features, including the following:

(such as row, key range page, or table) for all database operations Dynamic locking delivers optimal performance without tuning requirements

itself, freeing administrators from performing common daily operations

at different times, online or offline Later, these copies can be combined into

a single uniform result

Slide Objective

To explain MSDE and some

of its characteristics

Lead-in

MSDE is a new database

product offered by Microsoft

Trang 14

" Transaction logs, which exist in case problems such as disk errors and network or power failures occur during a write to an MSDE database MSDE can recover its last consistent state from its transaction log and revert

to that state

Trang 15

SQL Server

" Is a highly scalable, 32-bit, client/server database

" Is recommended for extremely large data sets and mission-critical applications

" Provides connectivity to a wide variety of clients and data stores

" Has a rich development environment

" Supports ANSI SQL-92 standards

SQL Server 7.0 is Microsoft’s mission-critical client/server database engine It can run on a laptop as well as on a server computer SQL Server supports data queries, importing and extraction from a wide variety of clients and third-party data stores, and data warehousing

In addition to its high-capacity database engine, SQL Server 7.0 offers a wide variety of features, including the following:

is supported, which helps improve performance and fault tolerance

producing multidimensional data views This tool is helpful for executive information systems, as well as for other systems that depend on multiple views of identical data

by the size of the servers and network bandwidth This level of support is a default feature of SQL Server and does not have to be added or managed with separate multiuser logic

hardware restrictions

strong data protection and recovery

SQL Server is recommended when homogeneous connectivity and scalability to different types of hardware is necessary Additionally, its server-based nature provides excellent support for remote connectivity and maintenance across slow network connections

Ngày đăng: 21/12/2013, 06:18

TỪ KHÓA LIÊN QUAN