Tải bản đầy đủ (.ppt) (57 trang)

Đề tài: TỔ CHỨC VẬT LÝ CỦA CƠ SỞ DỮ LIỆU

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 (1.18 MB, 57 trang )

Tiểu luận học phần
CƠ SỞ DỮ LIỆU NÂNG CAO
Đề tài:

TỔ CHỨC VẬT LÝ CỦA CƠ SỞ DỮ LIỆU
Giảng viên hướng dẫn: TS Hồng Quang
Các thành viên nhóm 3:
1. Trần Lê Ngọc
2. Huỳnh Quốc Lực
3. Trần Thị Hạnh
4. Võ Thị Tình
5. Nguyễn Thị Bích Liên


NỘI DUNG
1.

Quản lý lưu trữ

2.

Bộ đệm và các khối

3.

Vị trí lưu trữ dữ liệu trên đĩa.

4.

Các thao tác trên tập tin.


5.

Tập tin khơng sắp xếp.

6.

Tập tin có sắp xếp.

7.

Bảng băm

8.

Các kiểu tổ chức tập tin chính khác

9.

Cơng nghệ RAID.

10.

Các kiểu hệ thống lưu trữ mới

11.

Kết luận
2



1. Quản lý lưu trữ

3


Các thiết bị lưu trữ dữ liệu trên đĩa
Mức lưu trữ chính (Primary storage level) bao gồm:
Cache memory hay cịn gọi là RAM tĩnh
Cache đặt giữa CPU và bộ nhớ chính .Tốc độ rất cao,dung lượng nhỏ. Gồm
nhiều mức:Cache L1 (Level 1),Cache L2(Level 2), Cache dùng để tăng tốc độ
trao đổi thơng tin giữa CPU và RAM.Càng gần CPU thì tốc độ càng cao.
RAM (Random Access Memory) Chứa dữ liệu, chương trình được nạp và các
chương trình đang thực hiện. CPU có thể đọc và ghi vào RAM, RAM được
điều khiển bởi CPU để tăng tốc độ thực hiện các chương trình .
Main memory hay cịn gọi là DRAM (Dynamic RAM :RAM động).
Main memory: Chứa chương trình và dữ liệu đang xử lý, được kết nối và có
thể trao đổi dữ liệu trực tiếp với CPU, được tổ chức thành các ngăn nhớ và
đánh địa chỉ trực tiếp bởi CPU. Main memory bao gồm:ROM (Read Only
Memory) và RAM
DRAM cung cấp các phạm vi làm việc cho CPU để giữ các chương trình và
các dữ liệu đang thực hiện. Thuận lợi của DRAM là có giá thấp và ngày càng
giảm giá.
Hạn chế là chúng dễ bị mất hồn tồn thơng tin đã lưu trữ trong RAM(ví dụ:
Khi mất điện). Tốc độ thấp hơn so với RAM tĩnh .

4


Các thiết bị lưu trữ dữ liệu trên đĩa



Thiết bị lưu trữ thứ cấp(bộ nhớ ngoài) được sử dụng phổ
biến do có khả năng lưu trữ dữ liệu lớn và giá thành thấp
và giúp giảm thiểu truy xuất đến dữ liệu khơng cần thiết
trên thiết bị nhớ ngồi .



Dữ liệu được lưu trữ trên các vùng từ hóa trên bề mặt đĩa
từ.



Một bộ đĩa có nhiều đĩa từ kết nối với bộ trục quay.

5


Các thiết bị lưu trữ dữ liệu trên đĩa










Đĩa từ được tổ chức thành từng trang: Chi phí truy nhập đến các trang bất kỳ là

tương đương, chi phí đọc các trang liền nhau bé hơn chi phí đọc các trang theo thứ
tự bất kỳ.
Các đĩa được phân chia thành các rãnh tròn đồng tâm trên mỗi bề mặt đĩa gọi là các
track.
Các track có dung lượng thay đổi thơng thường từ 4 Kb đến 50 Kb hoặc nhiều hơn.
Một track được phân chia thành các khối (block) hoặc các sector nhỏ hơn. (1 block
chứa từ 1-8 sector)
+ Theo chuẩn thơng thường thì một sector chứa 512 byte dữ liệu.
+ Dãy các kích thước block đặc trưng B=512 bytes đến B=4096 bytes
Toàn bộ các block được chuyển giao giữa đĩa và bộ nhớ chính để xử lý.

6


Các thiết bị lưu trữ dữ liệu trên đĩa


Đầu đọc ghi di chuyển đến track nơi chứa các block được chuyển giao để
thực hiện việc đọc hoặc ghi dữ liệu.



Việc đọc và ghi một block từ đĩa sẽ tốn thời gian: tìm kiếm
và độ trễ quay vịng của đĩa.



Có thể được sử dụng bộ đệm đôi để gia tăng tốc độ đọc-ghi
dữ liệu của các block.
7



Ví dụ

8


Các thiết bị lưu trữ dữ liệu trên đĩa
Mức lưu trữ cấp thứ ba :Gồm các băng từ là cấp ít quan trọng nhất, khả năng
lưu trữ được đo bằng :KB ,MB, GB,TB .v.v.
Băng từ :



- Chỉ có thể đọc được các trang liền nhau
- Rẻ hơn đĩa từ nhưng chi phí truy nhập thường lớn hơn
Một chương trình hoặc trình tiện ích được thiết kế để lưu trữ và thực
hiện trong RAM thường có:
Các cơ sở dữ liệu thường trực cố định lớn được lưu trữ trên mức lưu trữ thứ cấp
Các phần của cơ sở dữ liệu được đọc và viết vào bộ đệm trong bộ nhớ chính.
Máy tính cá nhân và trạm làm việc có hàng trăm Megabyte dữ liệu trong RAM
và chúng có thể nhập một phần lớn các cơ sở dữ liệu vào bộ nhớ chính.
Sử dụng 8GB trong 16 GB của RAM trên một đơn vị Server làm nơi đọc ghi .
Trong các trường hợp còn lại phụ thuộc vào cơ sở dữ liệu có thể lưu trữ được
trong bộ nhớ chính hay khơng.

9


2. Bộ đệm và các khối

Trong khi vài block cần để chuyển từ đĩa vào bộ nhớ chính và tất cả các địa
chỉ block là đã biết , vài bộ đệm có thể phục vụ trong bộ nhớ chính để tăng tốc độ
truyền . Trong khi một bộ đệm sử dụng để đọc hoặc ghi thì CPU có thể xử lý dữ
liệu trong bộ đệm khác bởi vì một đĩa xử lý vào ra (đĩa điều khiển ) không phụ
thuộc vào sự tồn tại đó.Khi khởi động quy trình dùng để truyền block dữ liệu giữa
bộ nhớ và đĩa không phụ thuộc vào khả năng song song để CPU xử lý

10


Trong hình trên cho biết cách 2 quy trình có thể xử lý song song, xử lý A và B cùng chạy
đồng thời trong kiểu xen kẽ ngược lại xử lý C và D là chạy đồng thời trong kiểu song song.
Khi một CPU đơn điều khiển đa xử lý, thực hiện song song là không thể được. Tuy nhiên tiến
trình có thể vẫn chạy đồng thời trong một đường xen kẽ. Bộ đệm hầu như đầy trong khi tiến
trình có thể chạy đồng thời trong một kiểu song song, mỗi nguyên nhân tách rời xử lý vào ra
đĩa là có sẵn hoặc vì đa xử lý CPU tồn tại .

11


Hình trên cho thấy cách đọc và xử lý trong tiến trình xử lý song song. Trong khi
thời gian phụ thuộc vào việc xử lý một block đĩa trong bộ nhớ là ít hơn thời gian để
đọc block tiếp theo và làm đầy bộ đệm. CPU có thẻ bắt đầu xử lý một block mỗi
lầôầhn thành việc truyền chúng vào bộ nhớ trong, cùng thời gian đó đĩa xử lý vào ra
có thể đang đọc và truyền block tiếp theo vào bộ đệm khác kỹ thuật đó gọi là double
buffer ( bộ đệm đơi ) và có thể xử dụng để đọc một luồng liên tục các block từ đĩa
vào bộ nhớ.
Bộ đệm đôi cho phép đọc hoặc ghi dữ liệu liên tục trên các đĩa block chọn giới
hạn cho thời gian định vị đầu đọc và thời gian trì hoãn xoay đĩa cho tất cả các block
trừ block truyền đầu tiên, ngoài ra dữ liệu sẵn sàng được giữ lại cho việc xử lý do vậy

giảm thời gian đợi trong chương trình.
12


3. Vị trí các bản ghi tập tin trên đĩa


Dữ liệu thường được lưu trữ dưới dạng các bản ghi. Mỗi bản
ghi là tập hợp một bộ của các dữ liệu có quan hệ với nhau.



Các bản ghi chiều dài có thể cố định hoặc thay đổi.



Ví dụ như: Họ tên, số lượng, ngày, tuổi



Các trường này có thể có chiều dài cố định hoặc là chiều dài
thay đổi.

13


Blocking





Blocking: là việc lưu trữ các bản ghi của một block.
Bocking factor (bfr) đề cập đến số lượng các bản ghi trên một block.
Tổ chức các bản ghi có thể được mở rộng hoặc không được mở rộng.

* Tổ chức bản ghi không mở rộng:
 Mỗi bản ghi chỉ lưu trữ trên 1 block.
 Sẽ cịn nhiều khơng gian trống trên một block nếu có một số lượng các bản
ghi có kích cỡ khơng phù hợp trong một block đó.

Tổ chức bản ghi không mở rộng

14


Blocking
• Tổ chức bản ghi mở rộng:
Một bản ghi có thể được lưu trữ trên nhiều hơn một block.

Tổ chức bản ghi mở rộng

15


4. Các thao tác trên File







Các thao tác trên file thường sử dụng gồm : thao tác tìm
và thao tác cập nhật.
Thao tác tìm khơng làm thay đổi bất cứ dữ liệu nào trên
file, chỉ có xác định vị trí các bản ghi nào đó mà giá trị
trường của chúng có thể được xem xét và xử lý.
Thao tác cập nhật : chèn, xoá các bản ghi, hoặc sửa đổi
giá trị các trường.
 Trong mỗi trường hợp chúng ta có thể lựa chọn một
hoặc nhiều bản ghi để phục hồi, xoá hoặc sửa đổi trên
cơ cở các điều kiện lựa chọn

16


4. Các thao tác trên File


Các thao tác thật sự cho việc định vị và truy cập các bản ghi
của tập tin thay đổi mỗi hệ thống mỗi khác. Dưới đây, chúng ta
mô tả một tập các thao tác điển hình:








OPEN: Chuẩn bị đọc và ghi các tập tin. Cung cấp bộ đệm thích hợp để

lưu giữ các khối của tập tin từ đĩa, và khôi phục lại phần đầu của tập tin.
Thiết lập con trỏ tập tin để bắt đầu tập tin
FIND: Tìm kiếm bản ghi đầu tiên thỏa mãn một điều kiện tìm kiếm.
Truyền các khối chứa bản ghi này vào trong bộ nhớ đệm chính (nếu nó
khơng có sẵn ở đó). Con trỏ tập tin trỏ đến bản ghi trong bộ đệm và bản
ghi đó trở thành bản ghi hiện thời.
FINDNEXT: Tìm kiếm bản ghi tiếp theo trong tập tin mà thỏa mãn điều
kiện tìm kiếm.
READ: Sao chép các bản ghi hiện thời từ bộ đệm đến một biến chương
trình trong chương trình đang sử dụng. Câu lệnh này cũng có thể thuận
lợi cho con trỏ của bản ghi hiện thời trỏ đến các bản ghi tiếp theo trong
tập tin, điều này cũng có thể rất cần thiết cho việc đọc các khối tập tin
tiếp theo trên đĩa.
17


4. Các thao tác trên File


INSERT: Chèn bản ghi mới vào file bằng cách định vị khối nơi
các bản ghi được chèn vào, truyền các khối đó vào bộ đệm trong
bộ nhớ chính nếu chúng chưa có trong bộ đệm, viết các bản ghi
đó vào bộ đệm và viết lại ra đĩa để phản ánh việc chèn .



DELETE: Xoá các bản ghi hiện thời và cập nhật các file trên đĩa
để phản ảnh việc xoá.




MODIFY: Thay đổi giá trị của một vài trường của bản ghi hiện
thời.



CLOSE: Là lệnh dùng để đóng các file truy cập bằng cách xố
trong bộ đệm và bất cứ thao tác nào khác cũng được đóng lại.



REORGANIZE: Tổ chức lại các bản ghi của tập tin.



READ_ORDERED: Đọc tất cả các khối tập tin theo thứ tự của
một trường đặc biệt của tập tin
18


5. Tập tin chưa được sắp xếp (Unordered Files)







Đây là kiểu tổ chức tập tin đơn giản và cơ bản nhất, các mẫu
tin nằm trên tập tin ngay vị trí mà chúng được chèn vào, và

các mẫu tin mới được chèn vào cuối tập tin.
Cách tổ chức như vậy được gọi là một heap file hoặc là một
pile file
Việc chèn một mẫu tin mới rất có hiệu quả.
Tuy nhiên, việc tìm kiếm một mẫu tin sử dụng bất kỳ điều
kiện tìm kiếm nào liên quan đến tìm kiếm tuyến tính (linear
search).
 Điều này đỏi hỏi việc đọc và việc tìm kiếm trung bình
trên nửa khối tập tin, và do đó nó cũng khá tốn kém.

19


6. Tập tin đã được sắp xếp (Ordered Files)






Chúng ta có thể sắp xếp các bản ghi của một tập tin trên đĩa
dựa vào giá trị của một trong các trường của chúng - gọi là
trường sắp xếp.
Nếu trường đang sắp xếp cũng là trường khóa thì trường đó
được gọi là khóa sắp xếp của tập tin.
Tập tin đã được sắp xếp có nhiều thuận lợi hơn so với tập tin
không được sắp xếp:
 Việc đọc những mẫu tin theo giá trị khóa sắp xếp trở nên
dễ dàng hơn.
 Tìm kiếm mẫu tin tiếp theo từ mẫu tin hiện hành theo

trường khóa sắp xếp thường khơng u cầu thêm truy cập
khối.
 Tìm kiếm nhị phân có thể được sử dụng để tìm kiếm một
bản ghi trên trường sắp xếp.
20



 Thuật tốn tìm kiếm nhị phân


Tìm kiếm nhị phân đối với tập tin trên đĩa có thể được áp
dụng cho các khối hơn là cho các mẫu tin.



Giả sử rằng, tập tin có b khối đánh số tứ 1, 2, …, b;



Các mẫu tin được sắp xếp tăng dần theo giá trị trường khóa
sắp xếp của chúng.



Cần tìm kiếm một mẫu tin có giá trị trường khóa sắp xếp là
K.

22



Thuật tốn tìm kiếm nhị phân theo trường khóa của
tập tin trên đĩa


l ←1; u ← b; (* b là số lượng khối của tập tin *)



while (u ≥ l) do



begin



i ← (l + u) div 2;



đọc khối thứ i của tập tin vào bộ đệm;



if K< (giá trị trường khóa sắp xếp của mẫu tin đầu tiên trong khối i)
then u ← i -1





else
if K > (giá trị trường khóa sắp xếp của mẫu tin cuối cùng trong khối i)
then l ← i+1



else



if mẫu tin với giá trị trường khóa sắp xếp = K đang ở trong bộ đệm




then goto found



else goto notfound;




end;
goto notfound;
23



6. Tập tin đã được sắp xếp …


Việc chèn là khá phức tạp: Các bản ghi phải được chèn
theo thứ tự chính xác.
Để chèn một mẫu tin:
+ Chúng ta phải tìm thấy vị trị thích hợp với nó trong tập
tin (dựa vào giá trị trường sắp xếp của nó)
+ Sau đó tạo khơng gian trống trong tập tin để chèn mẫu tin
đó vào vị trí tìm được.

24


 Thời gian truy cập trung bình


Bảng dưới đây chỉ ra rằng thời gian truy cập trung bình để
truy cập các bản ghi đặc biệt cho các loại tập tin:
Kiểu tổ chức

Phương pháp tìm kiếm

Thời gian truy cập
trung bình

Khơng sắp xếp

Tìm kiếm tuyến tính


b/2

Được sắp xếp

Tìm kiếm tuyến tính

b/2

Được sắp xếp

Tìm kiếm nhị phân

log2b

25


×