You are on page 1of 15

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN




BÁO CÁO THỰC HÀNH


QUẢN LÝ THÔNG TIN
BTTH5

Sinh viên: Trần Ngọc Yến Nhi


MSSV: 18520328
Lớp: IE103.K22
Giảng viên: Tạ Thu Thủy
12.1. Tìm hiểu sự khác biệt giữa Hệ quản trị CSDL MySQL, SQL Server,
Oracle.
1. Đặc trưng:
MySQL: hệ quản trị MySQL sẻ đi kèm với một SQL Database Server. Do đó, hệ
quản trị này hoạt động rất nhanh, được tối ưu tốt và đa luồng, đa người dùng. Các tính
năng và hoạt động hiệu quả hệ quản trị cơ sở dữ liệu này cũng rất tốt.
SQL Server: Một số tính năng của hệ quản trị csdl MS SQL Server là:
– Có thể hoạt động tốt trên hệ điều hành Windows và Linux
– Có thể tương thích với Oracle
– Cung cấp và quản lý khối lượng công việc hiệu quả
– Cho phép cùng lúc nhiều người dùng chung một cơ sở dữ liệu
Oracle:
•Oracle hỗ trợ việc quản lí dữ liệu có dung lượng hàng trăm Gb
•Hỗ trợ mạnh cho các tính năng nhiều user truy xuất cùng đơn vị dữ liệu
trong cùng thời gian.
•Có thể làm việc 24/24.
•Tuân thủ các chuẩn công nghiệp trên các yếu tố: Hệ điều hành, Mạng, An
ninh trong hệ quản trị CSDL Oracle.
•Cung cấp cơ chế an toàn và bảo mật tốt.
•Đảm bảo tạo các ràng buộc toàn vẹn đơn giản và phức tạp trên CSDL.
•Hỗ trợ nhiều thuận lợi cho mô hình Cilent/ Server.
•Cho phép nhiều chủng loại máy, hệ điều hành khác nhau chia sẻ trên dữ
liệu mạng .
•Dùng để phát triển ứng dụng và có thể sử dụng trên bất kì hệ thống nào.
2. Tính năng:
MySQL: Cung cấp nhiều loại storage engine hơn.
SQL Server: Intergate cho trọn bộ hệ thống và công cụ phát triển software chặt chẽ
và tốt hơn.
Ở mảng .NET. MSSQL còn hỗ trợ XML trực tiếp trong DB. SQL Server chỉ hỗ trợ
tốt trên nền tảng Windows.

Oracle: Oracle có thể chạy trên nhiều nền tảng khác nhau như UNIX, Windows,
MVS và VAX-VMS. Nó cung cấp hỗ trợ nền tảng tốt, do đó, Oracle có thể được sử dụng
trong các doanh nghiệp sử dụng nhiều hệ điều hành khác nhau.
3. Hiệu suất:
MySQL: Không đòi hỏi nhiều như SQL Server.
Có thể chạy trên các UNIX highend system và perform tốt hơn SQL Server trên
Windows highend server trong nhiều trường hợp.

SQL Server: Perform kém hơn MySQL về nhiều mặt. Đòi hỏi tài nguyên rất lớn
(CPU mạnh, nhiều RAM)
Oracle: Hiệu suất cao đáp ứng cho năng suất tối đa từ nhiều người dùng của hệ
thống cơ sở dữ liệu.
4. Bảo mật:
MySQL: MySQL chỉ có thể set access đến row level là hết.
SQL Server: Tính bảo mật cao hơn MySQL ở column level. Hệ thống xác thực
cũng cao hơn, chặt chẽ hơn MySQL. Tuy nhiên, dễ bị exploit hơn MySQL.
Oracle: Dữ liệu được mã hóa và xác thực mạnh. Nhiều tính năng bảo mật khác
được bổ sung trong phiên bản doanh nghiệp. Có cơ chế cho phép giới hạn thao tác của
từng nhóm đối tượng- Đây là điểm nổi bật nhất của CSDL Oracle.
Oracle bao gồm các tính năng bảo mật kiểm soát cách truy cập và sử dụng cơ sở dữ
liệu. Ví dụ: cơ chế bảo mật:
 Ngăn chặn truy cập cơ sở dữ liệu trái phép
 Ngăn chặn truy cập trái phép vào các lược đồ
 Kiểm tra hành động của người dùng
Liên kết với mỗi người dùng cơ sở dữ liệu là một lược đồ có cùng tên.  Theo mặc
định, mỗi người dùng cơ sở dữ liệu tạo và có quyền truy cập vào tất cả các đối tượng
trong lược đồ tương ứng.
Bảo mật cơ sở dữ liệu có thể được phân thành hai loại: bảo mật hệ thống và bảo mật
dữ liệu.
5. Khả năng nhân bản( replication):
My SQL: MySQL nhanh hơn và ít sự cố hơn SQL Server vì tất cả các SQL
statements dùng để thay đổi, cập nhật dữ liệu được lưu giữ trong binary log.
SQL Server: SQL Server cung cấp nhiều phương pháp replication cao cấp hơn, chi
tiết hơn nên nó phức tạp và chậm hơn.
Oracle: Yêu cầu redo nhiều hơn processing, nên đòi hỏi CPU, bộ nhớ và I/O hơn.
Dễ dàng trong việc nâng cấp và mở rộng. Nhưng các thủ tục thiết lập và xử lý phức tạp
hơn. Đồng thời, Oracle áp dụng nhiều công nghệ replication, phục vụ được nhu cầu hoạt
động trên nhiều nền tảng, hệ điều hành của một nhóm người dùng.
6. Khả năng phục hồi( recovery):
MySQL: Nếu MySQL chạy với Innodb thì khả năng phục hồi không thua kém gì
SQL Server.
SQL Server: Nếu MySQL chạy thuần túy với MyISAM storage engine thì khả
năng phục hồi (sau khi bị crash) không thể so sánh được với SQL Server. SQL Server
phục hổi dễ dàng hơn.
Oracle: Oracle cung cấp khả năng phục hồi hoàn chỉnh tất cả các loại lỗi phần cứng
có thể có, bao gồm cả lỗi đĩa. Các tùy chọn được cung cấp để cơ sở dữ liệu có thể được
phục hồi hoàn toàn hoặc được phục hồi một phần tại một thời điểm cụ thể.
Nếu một số tệp dữ liệu bị hỏng trong lỗi đĩa nhưng hầu hết cơ sở dữ liệu vẫn còn
nguyên vẹn và hoạt động, cơ sở dữ liệu có thể vẫn mở trong khi các không gian bảng yêu
cầu được phục hồi riêng lẻ. Do đó, các phần không bị hư hại của cơ sở dữ liệu sẽ có sẵn
để sử dụng bình thường trong khi các phần bị hỏng đang được phục hồi.
7. Phí tổn:
MySQL: MySQL bản community không mất phí nhưng phải tự thủ công. Tuy
nhiên, cài đặt, sử dụng và tối ưu MySQL không khó vì tài liệu về nó rất đầy đủ và nhiều
có thể tìm thấy trên internet.
SQL Server: Phải trả $1.5 cho một license SQL Server Standard và khi cần
support, bạn phải trả thêm tiền support (tùy case). Bản enterprise thì phải trả tiền (khoảng
$400) và bạn được support đầy đủ.
SQL Server vẫn cung cấp bản miễn phí dành cho mục đích development.

Oracle: Có tốn phí( Giá bản oracle database standard edition 2 là 6,284,000 vnd,
chưa bao gồm VAT- theo website www.sieuthimaychu.vn)
8. Một số công nghê, tính năng khác:
Ngoài ra, Oracle còn có một số tính năng mà MySQL và SQL Server ko có:
 Tự quản lý (self-managed) với EM Database Control, Grid Control, Performance
Tuning and Diagnostic Pack, ...
 Real Application Cluster
 Tính sẵn sàng cao hơn - Disaster Recovery: Oracle Data Guard và Active Data
Guard
 Integrated Backup and Recovery: RMAN
 Advance Security ví dụ Label Security, Data Vault, ...
 SUPER PERFORMANCE
12.2. Tìm hiểu CSDL phân tán, CSDL không gian, CSDL thời gian trên SQL
Server.
A. CSDL PHÂN TÁN:
I. GIỚI THIỆU CHUNG.
Định nghĩa: Hệ CSDL phân tán là một tập hợp dữ liệu mà về mặt logic tập dữ liệu
này thuộc về một hệ thống, nhưng được trải trên các vị trí khác nhau và chúng có thể kết
nối với nhau thông qua một mạng thông tin dữ liệu.
Có hai điểm quan trọng được nêu ra trong định nghĩa là:
- Phân tán: Dữ liệu không cư trú trên một vị trí, mà được phân bố rộng khắp trên
nhiều máy tính đặt tại nhiều vị trí khác nhau.
- Tương quan logic: Dữ liệu có một số các thuộc tính ràng buộc chúng với nhau,
điều này giúp chúng ta có thể phân biệt một CSDL phân tán với một tập hợp CSDL cục
bộ, các tệp cư trú tại các vị trí khác nhau, hay hệ thống CSDL phân quyền trong một
mạng máy tính.
Hệ thống mạng thông tin cho phép người dùng chia sẻ dữ liệu, vì vậy người sử dụng
hoặc ứng dụng ở vị trí A đều có thể truy cập hay cập nhật dữ liệu tại vị trí B.
Các vị trí của một hệ thống phân tán có thể trải rộng trên một khu vực lớn (toàn thế
giới) hoặc một phạm vi hẹp (toà nhà). Cũng như vậy máy tính ở các vị trí phân tán có thể
là bất cứ loại nào, từ micro-computer cho đến supercomputer.
II. CÁC ĐẶC ĐIỂM CHÍNH CỦA HỆ PHÂN TÁN.
Hệ phân tán có các đặc điểm:
1. Chia sẻ tài nguyên:
Thuật ngữ tài nguyên dùng để chỉ tất cả mọi thứ có thể chia sẻ bởi Hệ phân tán, bao
gồm các thiết bị phần cứng: Đĩa, máy in . tới các đối tượng như file, các cửa sổ, CSDL và
các đối tượng dữ liệu khác.
Việc chia sẻ tài nguyên trên hệ phân tán - nơi mà các tài nguyên bị lệ thuộc về mặt
vật lý với một máy tính nào đó - được thực hiện thông qua truyền thông. Để chia sẻ tài
nguyên một cách hiệu quả mỗi tài nguyên cần phải được quản lý bởi một chương trình có
giao diện truyền thông, các tài nguyên có thể được truy nhập, cập nhật một cách tin cậy
và nhất quán. Quản lý tài nguyên ở đây là lập kế hoạch dự phòng, đặt tên cho các lớp tài
nguyên, cho phép tài nguyên được truy nhập từ nơi khác, ánh xạ tên tài nguyên vào địa
chỉ truyền thông .
Mô hình mạng máy tính thường được sử dụng là: Mô hình xử lý Client-Server.
Mô hình xử lý Client-Server:
Là một mô hình trong đó có việc xử lý hợp tác đối với các yêu cầu của Client nêu ra
với máy Server. Máy Server tiến hành xử lý và gửi trả kết quả về cho Client.
Việc xử lý hợp tác Client-Server thực tế là một dạng riêng của xử lý phân tán với tài
nguyên (và nhiệm vụ ảnh hưởng tới tài nguyên) được trải qua hai hay nhiều hệ thống tính
toán rời rạc.
Mô hình xử lý Client-Server đã nổi lên như một mức cao hơn của việc xử lý dùng
chung thiết bị đã có trong mang cục bộ (LAN). Trong môi trường xử lý dùng chung thiết
bị, các máy tính cá nhân (PC) được gắn với thiết bị hệ thống để cho phép các PC này
dùng chung tài nguyên tệp trên đĩa cứng và máy in là các thí dụ tiêu biểu. Theo thuật ngữ
LAN, các thiết bị dùng chung như vậy được gọi là các Server (phục vụ). Tên phục vụ là
thích hợp hơn cả vì các thiết bị dùng chung này dùng để nhận các yêu cầu cần phục vụ từ
các PC. Trong xử lý dùng chung thiết bị trên LAN, các yêu cầu của PC này thường bị
giới hạn về các dịch vụ liên quan tới tệp dùng chung hay tệp xử lý in. Nhược điểm hiển
nhiên của cách tiếp cận như vậy là ở chỗ mọi xử lý ứng dụng đều được thực hiện trên các
PC riêng lẻ, và chỉ một chức năng nào đó (in, vào ra tệp) mới là phân tán. Do đó, toàn bộ
tệp phải được gửi cho một PC đã ban ra yêu cầu READ tệp đó. Nếu tệp được cập nhật thì
toàn bộ tệp đó bị khoá bởi PC đã tạo ra yêu cầu cập nhật tệp đó.
Chính vì các lý do trên mà mô hình xử lý Client-Server là việc mở rộng tự nhiên của
việc dùng chung thiết bị và vai trò của các trạm làm việc trở thành khách của máy chủ.
Phần có ý nghĩa nhất của mô hình này là xử lý ứng dụng được phân chia (không nhất
thiết phải chia đều) giữa Client và Server. Xử lý thực tế được khởi đầu và kiểm soát một
phần bởi nơi yêu cầu dịch vụ là Client nhưng không phải theo kiểu chủ-khách. Thay vì
điều đó, cả Client và Server đều hợp tác để thực hiện thành công ứng dụng. Chẳng hạn
nếu PC chạy chương trình cần một bản ghi đặc biệt nào đó từ một tệp dùng chung thì nó
sẽ chuyển yêu cầu cho Server CSDL tiến hành xử lý cục bộ rồi nhận lại đúng bản ghi đã
yêu cầu.
Như vậy về mặt kiến trúc xử lý Client-Server cho thấy:
o Đường liên lạc tin cậy, chắc chắn giữa Client và Server.
o Các trường hợp tương tác Client-Server do Client khởi xướng.
o Phân tán xử lý ứng dụng giữa Client và Server.
o Server kiểm soát các dịch vụ mà Client yêu cầu.
o Server làm trọng tài cho các yêu cầu tranh chấp.
Với Hệ CSDL phân tán, mô hình Client-Server có các ưu điểm:
- Các công ty lợi dụng được công nghệ tính toán của PC. PC ngày nay cung cấp một
năng lực tính toán đáng kể (mà trước đây chỉ các máy tính lớn mới có được) nhưng lại
với một giá thành nhỏ.
- Cho phép xử lý được thực hiện tại gần nguồn dữ liệu cần xử lý (các CSDL trên
Server). Do đó lưu lượng và thời gian đáp ứng của mạng giảm đi rất nhiều, hiệu năng và
khả năng chuyển tải của mạng được tăng lên.
- Tạo điều kiện cho việc dùng giao diện đồ hoạ (GUI) có sẵn trên các trạm làm việc
hiện có.
- Cho phép và hỗ trợ hệ thống mở: Client và Server có thể chạy trên các nền phần
cứng và phần mềm khác nhau.
Tuy nhiên không phải là mô hình Client-Server đã hoàn chỉnh, nó vẫn còn các
nhược điểm sau đây:
- Nếu có khá nhiều thành phần logic của ứng dụng được chuyển về Server thì Server
sẽ trở thành cổ chai y như máy tính lớn (main frame) mô hình thiết bị đầu cuối. Các tài
nguyên hạn chế của Server sẽ ở trạng thái bị đòi hỏi làm việc ở mức cao hơn do việc tăng
số người tiêu thụ tài nguyên (End User).
- Các ứng dụng phân tán, đặc biệt là những ứng dụng đợc thiết kế cho xử lý hợp tác
thường phức tạp hơn các ứng dụng không phân tán. Tuy nhiên có thể giảm bớt độ phức
tạp bằng cách thu nhỏ vấn đề lớn thành một tập hợp vấn đề nhỏ hơn, có thể được tính độc
lập nhau, tương tự như trong hệ thiết kế đơn thể.
2. Tính mở:
Tính mở của một hệ thống máy tính là tính dễ dàng mở rộng phần cứng (thêm các
thiết bị ngoại vi, bộ nhớ, các giao diện truyền thông . ) và phần mềm (Các mô hình hệ
điều hành, các giao thức truyên thông, các dịch vụ dùng chung tài nguyên .) của nó.
Một Hệ phân tán có tính mở là hệ có thể được tạo nên từ nhiều loại phần cứng và
phần mềm của nhiều nhà cung cấp khác nhau với điều kiện là các thành phần này phải
theo một tiêu chuẩn chung.
Tính mở của Hệ phân tán được xem xét theo mức độ bổ sung vào các dịch vụ dùng
chung tài nguyên mà không phá hỏng hay nhân đôi các dịch vụ đang tồn tại. Tính mở
được hoàn thiện bằng cách xác định hay phân định rõ các giao diện chính của một hệ và
làm cho nó tương thích với các nhà phát triển phần mềm (hay các giao diện chính là phổ
dụng).
Tính mở của Hệ phân tán dựa trên việc cung cấp cơ chế truyền thông giữa các tiến
trình và công khai các giao diện dùng để truy nhập các tài nguyên chung.
3. Khả năng song song.
Hệ phân tán hoạt động trên một mạng truyền thông có nhiều máy tính, mỗi máy tính
có thể có một hay nhiều CPU. Trong cùng một thời điểm nếu có N tiến trình cùng tồn tại,
ta nói chúng được thực hiện đồng thời. Việc thực hiện các tiến trình theo cơ chế phân
chia thời gian (một CPU) hay song song (nhiều CPU).
Khả năng làm việc song song trong Hệ phân tán được thực hiện do hai tình huống
sau:
- Nhiều người sử dụng đồng thời đưa ra các lệnh hay tương tác với các chương
trình ứng dụng.
- Nhiều tiến trình Server chạy đồng thời, mỗi tiến trình đáp ứng yêu cầu từ các tiến
trình Client.
4. Khả năng mở rộng.
Hệ phân tán có khả năng hoạt động tốt và hiệu quả ở nhiền mức khác nhau. Một Hệ
phân tán nhỏ nhất có thể hoạt động chỉ cần hai trạm làm việc và một File Server. Các hệ
lớn hơn thì gồm có hàng nghìn máy, nhiều File Server, Printer Server.
Khả năng mở rộng của một hệ phân tán đặc trưng bởi tính không thay đổi phần
mềm hệ thống và phần mềm ứng dụng khi hệ được mở rộng. Điều này chỉ đạt ở mức độ
nào đó đối với các Hệ phân tán hiện tại. Yêu cầu cho việc mở rộng không chỉ là sự mở
rộng về phần cứng hay về mạng mà nó trải rộng trên tất cả các khía cạnh khi thiết kế hệ
phân tán. Một ví dụ đơn giản là tần suất sử dụng một file lớn tương đương với việc tăng
thêm số người sử dụng trên mạng. Để tránh tình trạng tắc nghẽn xảy ra khi chỉ có một
Server đáp ứng các yêu cầu truy nhập file đó, người ta nhân bản file đó trên một vài
Server và hệ thống được thiết kế sao cho việc thêm Server dễ dàng. Một số giải pháp
khác là sử dụng Cache và các bản sao dữ liệu.
5. Khả năng chịu lỗi.
Việc thiết kế khả năng chịu lỗi của các hệ thống máy tính dựa trên hai giải pháp sau:
- Dùng khả năng thay thế để đảm bảo sự hoạt động liên tục và hiệu quả.
- Dùng các chương trình phục hồi dữ liệu, thông tin khi xảy ra sự cố. Để xây dựng
một hệ thống có thể khắc phục sự cố theo cách thứ nhất thì người ta nối hai máy tính với
nhau để thực hiện một chương trình, một trong hai máy chạy ở chế độ Standby (không tải
hay chờ). Giải pháp này khá tốn kém vì phải nhân đôi phần cứng của hệ thống. Một giải
pháp để giảm phí tổn là các Server riêng lẻ được cung cấp các ứng dụng quan trọng để có
thể thay thế nhau khi có sự cố xuất hiện. Khi không có sự cố các Server hoạt động bình
thường (nghĩa là vẫn phục vụ các yêu cầu từ Client). Khi có sự cố trên một Server nào đó,
các ứng dụng Client tự chuyển hướng sang các Server còn lại. Với cách thứ hai thì các
phần mềm phục hồi được thiết kế sao cho trạng thái dữ liệu hiện thời (trạng thái trước khi
xảy ra sự cố) có thể được khôi phục khi lỗi được phát hiện. Các hệ phân tán cung cấp khả
năng sẵn sàng cao để đối phó với các sai hỏng phần cứng. Khả năng sẵn sàng của hệ
thống được đo bằng tỷ lệ thời gian mà hệ thống sẵn sàng làm việc so với thời gian có sự
cố. Khi một máy trên mạng bị sai hỏng thì chỉ có công việc liên quan đến các thành phần
sai hỏng bị ảnh hưởng. Người sử dụng có thể chuyển đến một trạm khác nếu máy họ
đang sử dụng bị hỏng, một tiến trình Server có thể được khởi động lại trên một máy khác.
6. Tính trong suốt.
Tính trong suốt của hệ phân tán được hiểu như là sự che khuất đi các thành phần
riêng biệt của hệ đối với người sử dụng và những người lập trình ứng dụng. Người sử
dụng có quyền truy cập đến dữ liệu nằm tại bất cứ vị trí nào. Các thao tác để lấy hoặc cập
nhật dữ liệu tại một điểm dữ liệu ở xa được tự động thực hiện bởi hệ thống tại điểm đưa
ra yêu cầu. Người sử dụng không cần biết đến sự phân tán của tất cả dữ liệu trên mạng
dường như nằm ở máy tính cục bộ của người sử dụng.
III. CÁC LÍ DO SỬ DỤNG CSDL PHÂN TÁN.
Tuy việc quản trị một hệ thống CSDL phân tán gặp nhiều khó khăn hơn so với hệ
CSDL tập trung nhưng xu hướng xây dựng các hệ CSDL phân tán ngày càng phát triển
và có nhiều ứng dụng trong thực tế vì các nguyên nhân sau:
1. Xuất phát từ chính yêu cầu thực tế về tổ chức và kinh tế.
Trên thực tế nhiều tổ chức là không tập trung, dữ liệu ngày càng lớn và phục vụ cho
đa người dùng nằm phân tán vì vậy CSDL phân tán là con đường thích hợp với cấu trúc
tự nhiên của các tổ chức đó. Đây là một trong các yếu tố quan trọng thúc đẩy việc phát
triển CSDL phân tán.
Một ví dụ minh hoạ cho vấn đề này là hệ thống bán vé máy bay thống nhất trên toàn
thế giới. Mỗi hãng hàng không có một hệ CSDL riêng, có sự quản lý riêng và không thể
có lý do nào để CSDL này tập trung ở một chỗ được. Tuy vậy các hãng hàng không lại có
quan hệ với nhau trong việc bán vé hành khách cho những tuyến đường thuộc phạm vi
quản lý của nhiều hãng. Do vậy hệ thống dữ liệu về chuyến bay của các hãng hàng không
chính là một hệ CSDL phân tán được quản lý thống nhất tại trung tâm điều khiển bay đặt
tại một địa điểm nào đó.
2. Sự liên kết các CSDL đang tồn tại.
CSDL phân tán là giải pháp tự nhiên khi có các CSDL đang tồn tại và sự cần thiết
thực hiện xây dựng một ứng dụng toàn cục. Trong trường hợp này CSDL phân tán được
tạo từ dưới lên (bottom-up) từ các CSDL đã tồn tại trước đó. Tiến trình này có thể đòi hỏi
cấu trúc lại cục bộ ở một mức độ nhất định. Dù sao, những sửa đổi này là nhỏ hơn rất
nhiều so với việc tạo lập một CSDL tập trung hoàn toàn mới.
3. Sự phát triển mở rộng.
Các tổ chức có thể mở rộng bằng cách thêm các đơn vị mới, vừa có tính tự trị vừa
có quan hệ tương đối với các tổ chức khác. Khi đó CSDL phân tán hỗ trợ một sự mở rộng
uyển chuyển với một mức độ ảnh hưởng tối thiểu tới các đơn vị đang tồn tại. Với CSDL
tập trung, cũng có thể khởi tạo kích thước lớn cho việc mở rộng trong tương lai. Điều đó
rất khó tiên định và chịu một phí tổn lớn, mặt khác sự mở rộng này có ảnh hưởng lớn
không chỉ trên các ứng dụng mới mà còn trên các ứng dụng đang tồn tại.
4. Làm giảm tổng chi phí tìm kiếm.
Việc phân tán dữ liệu cho phép các nhóm làm việc cục bộ có thể kiểm soát toàn bộ
dữ liệu của họ. Tuy vậy tại cùng thời điểm, người sử dụng có thể truy cập đến dữ liệu ở
xa nếu cần thiết. Tại các vị trí cục bộ, thiết bị phần cứng có thể được chọn sao cho phù
hợp với công việc xử lý dữ liệu cục bộ tại điểm đó.
5. Trả lời truy vấn nhanh.
Dựa trên cách thức dữ liệu được phân tán, hầu hết các yêu cầu truy vấn dữ liệu từ
người dùng tại bất kỳ vị trí cục bộ nào đều được thoả mãn bởi dữ liệu ngay tại thời điểm
đó. Điều này làm tăng đáng kể tiến trình xử lý các yêu cầu truy vấn dữ liệu của người
dùng. Hệ thống CSDL phân tán còn cho phép các bảng truy vấn phức tạp có thể chia
thành nhiều bảng nhỏ để có thể thực hiện tiến trình xử lý song song cùng lúc trên nhiều vị
trí cục bộ khác nhau. Kỹ thuật này cũng nâng cao tốc độ xử lý dữ liệu trên hệ thống.
6. Độ tin cậy và khả năng sử dụng được nâng cao.
Khi hệ thống CSDL tập trung bị hỏng, toàn bộ CSDL trở nên vô dụng với tất cả
người sử dụng. Còn đối với hệ thống CSDL phân tán, nếu có một thành phần nào đó của
hệ thống bị hỏng, hệ thống vẫn có thể duy trì hoạt động tuy nhiên cũng không thể hiệu
quả như khi nó còn hoàn hảo. Dù sao, việc thu được mục đích này không phải không rắc
rối và đòi hỏi sử dụng các kỹ thuật vẫn chưa được hiểu biết hoàn chỉnh. Khả năng xử lý
tự trị của các vị trí khác nhau tự nó không đảm bảo một tính tin cậy toàn bộ cao của hệ
thống, nhưng nó đảm bảo một thuộc tính graceful degration. Nói một cách khác, sự cố
trong CSDL phân tán có thể thường xuyên hơn một CSDL tập trung vì có số lượng thành
phần lớn hơn, nhưng hậu quả của sự cố được hạn chế chỉ tới các ứng dụng sử dụng dữ
liệu của vị trí có sự cố, đổ vỡ hoàn toàn của hệ thống là điều hiếm xảy ra.
7. Giá thành truyền thông thấp hơn.
Với CSDL phân tán, dữ liệu có thể đặt gần nơi nó được sử dụng nhiều nhất. Đặc
điểm này đã làm giảm chi phí chuyền tải dữ liệu rất lớn so với hệ CSDL tập trung.
IV. HẠN CHẾ CỦA CSDL PHÂN TÁN.
Hệ thống CSDL phân tán bên cạnh những ưu điểm như trên cũng có những mặt hạn
chế như sau:
- Giá thành và sự phức tạp của phần mềm: Các phần mềm sử dụng trong môi trường
CSDL phân tán rất phức tạp, đặc biệt là phần mềm sử dụng cho việc quản trị môi trường
CSDL phân tán.
- Khó khăn trong tiến trình kết nối các vị trí dữ liệu cục bộ: Các vị trí cục bộ phải
trao đổi thông điệp với nhau và thực hiện thêm các tính toán phức tạp để đảm bảo sự kết
nối đúng đắn giữa các vị trí đó.
- Sự toàn vẹn dữ liệu: Một sản phẩm mang nhiều tính phức tạp sẽ làm gia tăng khả
năng xáo trộn trong việc bảo đảm tính toàn vẹn dữ liệu.
- Tốc độ truy cập sẽ trở nên rất chậm: Nếu dữ liệu không được phân tán theo đúng
yêu cầu sử dụng hoặc các bảng truy vấn được thiết lập không đúng đắn thì việc tìm kiếm
và xử lý dữ liệu sẽ rất chậm.
V. KIẾN TRÚC CSDL PHÂN TÁN:

VI. PHÂN LOẠI CSDL PHÂN TÁN:


- CSDL phân tán thuần nhất:
+ Tất cá các nút cùng sử dụng một loại hệ quản trị CSDL.
+ Thuận lợi cho việc tăng trưởng và cho phép nâng cao hiệu năng.
+ Có được bằng cách chia một CSDL thành một tập CSDL cục bộ.
- CSD phân tán hỗn tạp
+ Các nút có thể thực hiện trên các hệ quản trị CSDL khác nhau.
+ Xảy ra khi các nút đã cài đặt CSDL riêng.
+ Có được bằng cách tích hợp các CSDL cục bộ đã có.
A. CSDL KHÔNG GIAN:
I. CSDL không gian:

 Là một hệ thống csdl quan hệ cung cấp các kiểu dữ liệu không gian trong mô hình
dữ liệu và các ngôn ngữ truy vấn. Các kiểu dữ liệu không gian như: Point, Line,
Polygon... CSDL cung cấp mô hình trừu tượng cơ bản cho cấu trúc của thực thể hình học
trong không gian cũng như mối quan hệ giữa chúng như: giao nhau, thuộc nhau...
 Với CSDL không gian khi mà áp dụng với bất kỳ ngôn ngữ hay hệ quản trị nào thì
việc đánh chỉ mục(index) cho loại dữ liệu này là khá quan trọng, nó giúp ích cho việc tối
ưu hóa truy vấn dữ liệu, giảm thời gian truy vấn và giảm bộ nhớ lưu trữ..

II. Đặc trưng của CSDL không gian


 Cơ sở dữ liệu không gian sử đụng đánh chỉ mục không gian để tăng tốc hoạt động
của cơ sở dữ liệu
 Ngoài các truy vẫn SQL điển hình như câu lệnh SELECT, CSDL không gian có
thể thực thi đa dạng các thao tác không gian như:

1. Đo lường không gian : nó có khả năng tìm khoảng cách giữa các
điểm, các vùng...
2. Hàm không gian : ví dụ như, sửa đối các hàm hiện thời để tạo ra
những hình mới: hàm tìm điểm hay vùng giao nhau...
3. Xác nhận không gian : nó cho phép thực hiện những truy vấn
True/False.
4. Hàm tạo : tạo ra các hình mới, như chỉ ra các điểm nút có thể tạo nên
đường, hay nếu đỉnh đầu và đỉnh cuối trùng nhau, chúng có thể tạo nên một đa
giác.
5. Hàm theo dõi : các câu truy vấn trả về thông tin cụ thể như : vị trí
tâm của một đường tròn hay điểm đầu, điểm cuối của một đường.

III. Mô hình
Có hai đối tượng quan trọng cần được hiển thị đó là :

1. Đối tượng trong không gian : đó là những đối tượng trong không gian, mô
tả hình học của riêng chúng
2. Không gian bao gồm các đối tượng đơn, một số đối tượng cơ bản như:
Point, Line, Polygon
2.1 Point
_ Là một điểm hiển thị một đối tượng mà chỉ có vị trí của nó trong không gian. và trên
không gian 2 chiều được xác định với kinh độ(longitude) và vĩ độ(latitude). Một điểm sẽ
không bao giờ thể hiện đc độ dài và diện tích hay bất cứ một phép đo nào cho điểm. Hình
minh họa:

2.2 Line
_ Được xác định bởi một tập hợp dãy các điểm(Point), mô tả đối tượng địa lý dạng tuyến
tính. Bắt đầu và kết thúc là một điểm, các đường nối với nhau hoặc cắt nhau tại một
điểm. Hình mình họa:
2.3 Polygon
_ Được xác định bởi ranh giới các đường thẳng. Các đối tượng địa lý có diện tích và đóng
kín bởi một đường được gọi là vùng. Được mô tả bằng tập các vùng và điểm hay có thể
hiểu nó giống như là "line" khép kín. Vì có đặc điểm là vùng và khép kín nên có thể áp
dụng các công thức tính diện tích, chu vi...

3. Kết hợp hình học vào mô hình dữ liệu DBMS


_ Ý tưởng chính của việc kết hợp các mô hình hình học vào trong mô hình dữ liệu DBMS
để thể hiện các “đối tượng không gian”- các đối tượng có thể là dòng sông, đất nước,
thành phố... bằng các đối tượng hình học trước tiên là thuộc tính của loại dữ liệu không
gian. Về cơ bản, mô hình dữ liệu DBMS luôn hỗ trợ sẵn các kiểu dữ liệu như integer,
string... Ngoài ra, với CSDL không gian, mô hình dữ liệu DBMS còn hỗ trợ một số kiểu
khác như kiểu hình học như kiểu Point, kiểu Line...
Ví dụ:

 Để dữ liệu hóa một vị trí là trung tâm tòa nha keangnam ta sẽ phải lưu như sau:
=> (name: "keangnam", location: POINT (105.783478,21.017746))
_ ở đây một điểm được lưu với tên "keangnam" có kiểu dữ liệu là string và vị trí có kiểu
dữ liệu là Point với giá trị kinh độ và vĩ độ.
 Để lưu hóa một dòng sông ta sẽ thể hiện như sau:
=> (name: "Song Hong", route: LINE (105.753478 21.027746, 105.763478 21.037746,
105.773478 21.047746)
_ ở ví dụ này dòng Sông Hồng được biểu diễn với vị trí có kiểu dữ liệu là Line chính là
tập hợp của 3 điểm point bao gồm kinh độ và vĩ độ.
B. CSDL THỜI GIAN:
1. Một số khái niệm và định nghĩa về Cơ sở dữ liệu thời gian thực
Một cơ sở dữ liệu thời gian thực là một hệ thống cơ sở dữ liệu trong đó sử dụng thời
gian thực để xử lý khối lượng công việc cho các bài toán đang có thay đổi liên tục về dữ
liệu (ví dụ các hệ thống bán hàng có các sản phẩm có giá trị thay đổi liên tục như vàng,
dầu mỏ... hoặc các loại dữ liệu khác).
Điều này khác với cơ sở dữ liệu truyền thống chứa những dữ liệu bền vững, chủ yếu
không bị ảnh hưởng bởi thời gian. Ví dụ, một thị trường chứng khoán thay đổi rất nhanh
chóng và gần như liên tục. Các đồ thị của các thị trường khác nhau xuất hiện rất không ổn
định (chúng thay đổi liên tục) và chưa có một cơ sở dữ liệu nào để theo dõi giá trị hiện tại
cho tất cả các thị trường chứng khoán.
Xử lý thời gian thực có nghĩa là một giao dịch được xử lý đủ nhanh và cho kết quả
phản hồi và có tác động ngay lập tức. Các cơ sở dữ liệu thời gian thực là các công cụ
quản lý hữu ích cho các đối tượng như cán bộ kế toán, các ngân hàng, hệ thống pháp luật,
các hồ sơ y tế, hệ thống đa phương tiện, hệ thống kiểm soát quá trình, hệ thống dự phòng
thảm hoạ, và hệ thống phân tích dữ liệu khoa học.
Các ứng dụng của cơ sở dữ liệu thời gian thực có rất nhiều những tiện ích giúp cho
cả người quản lý cũng như các tổ chức có thể nắm bắt kịp thời việc thay đổi dữ liệu một
cách liên tục, nhanh chóng, nó giúp cho việc phân tích dự đoán được kịp thời và phản ánh
các thay đổi gần như ngay lập tức. Trong phần sau của bài viết chúng ta sẽ cùng xem xét
những đặc điểm cũng như sự khác biệt của các cơ sở dữ liệu thời gian thực (Real-time
Database) với các cơ sở dữ liệu truyền thống.
2. Sự khác biệt giữa cơ sở dữ liệu truyền thống và cơ sở dữ liệu
thời gian thực
Cơ sở dữ liệu thời gian thực thực chất là một cơ sở dữ liệu truyền thống có sử dụng
những phần mở rộng để cung cấp thêm nhiều chức năng giúp cho các cơ sở dữ liệu này
có thể đưa ra những phản hồi đáng tin cậy. Cơ sở dữ liệu thời gian thực sử dụng cơ chế
hạn chế thời gian để thể hiện một phạm vi nhất định của giá trị mà các dữ liệu được coi là
đúng. Phạm vi này được gọi là giá trị thời gian, một cơ sở dữ liệu thông thường không
thể làm việc trong những trường hợp này vì những mâu thuẫn giữa các đối tượng trong
thế giới thực và các dữ liệu mà đại diện cho chúng bị ràng buộc đối với các thay đổi ví dụ
sản phẩm là vàng có thuộc tính giá trị biểu diễn bởi đồng đô la, nhưng đồng đô la lại chịu
ảnh hưởng lên xuống liên tục do các yếu tố khác tác động dẫn đến giá vàng nếu muốn
chính xác thì phải liên tục cập nhật theo tỷ giá của đồng đô la. Các cơ sở dữ liệu truyền
thống có sử ràng buộc về dữ liệu nên khi có nhiều trường thay đổi thì cần phải tạo thêm
rất nhiều bảng.
Một hệ thống có hiệu quả cần phải có khả năng xử lý các truy vấn thời gian gần như
tức thời, trả về tạm thời những dữ liệu hợp lệ, và hỗ trợ cho việc lập kế hoạch ưu tiên. Để
nhập dữ liệu vào một bản ghi, thường là một thiết bị đầu vào theo dõi trạng thái của hệ
thống và cập nhật cơ sở dữ liệu với thông tin mới để phản ánh hệ thống đó chính xác hơn.
Khi thiết kế một hệ thống cơ sở dữ liệu thời gian thực, ta nên xem xét làm thế nào
để biểu điễn đúng giá trị thời gian, làm thế nào các “sự kiện” được liên kết với hệ thống
thời gian thực. Ngoài ra, xem xét làm thế nào thể hiện các giá trị thuộc tính trong cơ sở
dữ liệu để các xử lý giao dịch và sự toàn vẹn của dữ liệu không bị ảnh hưởng.
Khi thiết kế một hệ thống cơ sở dữ liệu thời gian thực, điều quan trọng là phải xem
xét những gì hệ thống phải làm khi các mốc thời hạn (deadlines) không được đáp ứng. Ví
dụ, một hệ thống kiểm soát không lưu liên tục giám sát hàng trăm máy bay và quyết định
về đường bay đến cũng như xác định thứ tự mà các máy bay nên hạ cánh dựa trên các dữ
liệu như nhiên liệu, độ cao, và tốc độ. Nếu bất kỳ thông tin nào được cung cấp muộn, kết
quả có thể là những tai nạn đáng tiếc. Để giải quyết các vấn đề của các dữ liệu lỗi thời,
các “dấu thời gian” (timestamp) có thể hỗ trợ các giao dịch bằng cách cung cấp cơ chế
kiểm tra lại chính xác thời gian.
Khi thiết kế một hệ thống, một trong những điều quan trọng nữa là phải xem xét
những gì hệ thống phải làm gì khi các mốc thời hạn không được đáp ứng. Ví dụ, một hệ
thống kiểm soát không lưu liên tục giám sát hàng trăm máy bay và làm cho các quyết
định về đường bay đến và xác định thứ tự mà máy bay nên đất đai dựa trên các dữ liệu
như nhiên liệu, độ cao, và tốc độ. Nếu bất kỳ thông tin này là muộn, kết quả có thể bị tàn
phá. Để giải quyết vấn đề của dữ liệu lỗi thời, các dấu thời gian có thể hỗ trợ các giao
dịch bằng cách cung cấp tài liệu tham khảo thời gian rõ ràng.
3. Kết luận
Các cơ sở dữ liệu truyền thống vẫn tiếp tục tồn tại và phát triển tuy nhiên nó không
có khả năng xử lý với các loại dữ liệu động liên tục thay đổi, vì vậy việc xây dựng các cơ
sở dữ liệu theo thời gian thực là hết sức cần thiết đối với các tổ chức có các yêu cầu
nghiệp vụ quản lý các loại thông tin dữ liệu liên tục thay đổi. Các cơ sở dữ liệu ngày nay
xử lý dữ liệu nhanh hơn so với quá khứ, tuy nhiên khả năng xử lý kết quả một cách kịp
thời và đưa ra các dự đoán sẽ luôn luôn quan trọng hơn việc xử lý nhanh. Việc xử lý
nhanh mà áp dụng không đúng thì không mang lại nhiều hiệu quả đối với các cơ sở dữ
liệu thời gian thực. Các hệ thống ngày càng được mở rộng, các loại thiết bị thông minh
cũng đang ngày càng được phát triển và dữ liệu các hệ thống ngày càng lớn và đa đạng.
Việc ứng dụng cơ sở dữ liệu thời gian thực là một xu hướng tất yếu trong tương lai khi
các yêu cầu nghiệp vụ đòi hỏi sự hỗ trợ tức thì từ việc xử lý thông tin, cũng như hỗ trợ ra
quyết định. 

You might also like