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

Nghiên cứu cơ sở dữ liệu trong bộ nhớ giải quyết bài toán đa giao dịch

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.45 MB, 78 trang )






Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên


ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG





NGUYỄN VĂN TÙNG





NGHIÊN CỨU CƠ SỞ DỮ LIỆU TRONG BỘ NHỚ
GIẢI QUYẾT BÀI TOÁN ĐA GIAO DỊCH






LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH








Thái Nguyên - 2012





Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG




NGUYỄN VĂN TÙNG



NGHIÊN CỨU CƠ SỞ DỮ LIỆU TRONG BỘ NHỚ
GIẢI QUYẾT BÀI TOÁN ĐA GIAO DỊCH

Chuyên ngành: Khoa học máy tính
Mã số: 60.48.01




LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH



NGƢỜI HƢỚNG DẪN KHOA HỌC
TS. Hoàng Đỗ Thanh Tùng




Thái Nguyên - 2012


Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

LỜI CAM ĐOAN
Tôi xin cam đoan luận văn “Nghiên cứu Cơ sở dữ liệu trong bộ nhớ giải quyết
bài toán đa giao dịch” này là công trình nghiên cứu của riêng tôi. Luận văn này do
tôi tự tìm hiểu, thử nghiệm và thu thập từ nhiều nguồn dƣới sự hƣớng dẫn chỉ bảo
cặn kẽ của thầy giáo TS. Hoàng Đỗ Thanh Tùng. Các số liệu trong luận văn là trung
thực với thử nghiệm. Luận văn này chƣa từng đƣợc công bố trƣớc đây.

Học viên


Nguyễn Văn Tùng



i
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

MỤC LỤC
MỤC LỤC i
LỜI CẢM ƠN iii
BẢNG DANH MỤC CÁC CHỮ VIẾT TẮT iv
DANH MỤC CÁC HÌNH VẼ v
MỞ ĐẦU 1
Chƣơng 1. GIẢI PHÁP THỜI GIAN THỰC CHO GIAO DỊCH CƠ SỞ DỮ LIỆU 2
1.1. Xu hƣớng giao dịch cơ sở dữ liệu thời gian thực 2
1.2. Khái quát về giao dịch cơ sở dữ liệu 4
1.2.1. Khái niệm 4
1.2.2. Trạng thái của giao dịch 6
1.3. Bài toán đa giao dịch trong ứng dụng trực tuyến 7
1.4. Giải pháp sử dụng cơ sở dữ liệu trong bộ nhớ 8
1.5. Lợi thế khi sử dụng cơ sở dữ liệu trong bộ nhớ 12
1.6. Kết luận chƣơng 1 14
Chƣơng 2. CƠ SỞ DỮ LIỆU TRONG BỘ NHỚ 15
2.1. Kiến trúc hệ thống cơ sở dữ liệu trong bộ nhớ 15
2.1.1. Lợi thế của đánh địa chỉ trực tiếp và thƣờng trú bộ nhớ 15
2.1.2. Các vấn đề với đánh địa chỉ trực tiếp 16
2.1.3. Tổ chức dữ liệu thƣờng trú bộ nhớ 17
2.2. Các cấu trúc chỉ mục 25
2.2.1. Các cấu trúc chỉ mục đã có 25
2.2.2 . T Tree 29
2.3. Xử lý truy vấn 36
2.4. Khôi phục 37
2.5. Kiểm soát đồng thời 41
2.5.1. Cấu trúc khóa 42

2.5.2. Các khóa quan hệ 44
2.5.3. Các khóa bản ghi 44

ii
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

2.5.4. Các khóa vị từ 45
2.5.5. Các khóa thành phần chỉ mục 46
2.6. Kết luận chƣơng 2 46
Chƣơng 3. THỬ NGHIỆM VÀ ĐÁNH GIÁ 48
3.1. Cơ sở dữ liệu trong bộ nhớ của Oracle TimesTen 48
3.1.1. So sánh TimesTen và các CSDL thông thƣờng 48
3.1.2. Kiến trúc của TimesTen 50
3.1.3. Ứng dụng kết nối đến Data Store 52
3.1.4. Data Availability và Integrity 53
3.2. Thử nghiệm và đánh giá 60
3.2.1. Môi trƣờng thử nghiệm 60
3.2.2. Thử nghiệm 62
3.2.3. Đánh giá 65
3.3. Kết luận chƣơng 3 66
KẾT LUẬN VÀ HƢỚNG NGHIÊN CỨU 67
TÀI LIỆU THAM KHẢO 68


iii
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

LỜI CẢM ƠN
Lời đầu tiên, tôi xin chân thành cảm ơn Ban giám hiệu và các thầy cô giáo
Trƣờng Đại học Công nghệ thông tin và Truyền thông - Đại học Thái Nguyên, Viện

Công nghệ thông tin - Viện Khoa học và Công nghệ Việt Nam vì những hỗ trợ,
hƣớng dẫn và các bài giảng hết sức ý nghĩa, quan trọng trong suốt quá trình tôi đƣợc
đào tạo tại Trƣờng.
Tôi xin bày tỏ lòng biết ơn sâu sắc đến thầy giáo TS. Hoàng Đỗ Thanh Tùng
đã tận tình hƣớng dẫn và định hƣớng tôi trong nghiên cứu, đƣa ra những chỉ bảo cặn
kẽ trong quá trình thực hiện luận văn này.
Lời cảm ơn chân thành của tôi xin đƣợc gửi tới Lãnh đạo và đồng nghiệp của
tôi tại trƣờng Trung cấp nghề Công nghiệp tàu thủy Phà Rừng đã tạo điều kiện
thuận lợi, hỗ trợ tôi giải quyết công việc để tôi có thể theo học chƣơng trình này.
Đồng cảm ơn các bạn bè trong lớp Cao học CK09C đã cùng thảo luận, cung cấp cho
tôi tài liệu, tƣ liệu rất qúy giá để xây dựng nội dung luận văn và học tập.
Tôi xin cảm ơn sự giúp đỡ, động viên, chia sẻ của gia đình, bạn bè đã dành
cho tôi trong quá trình học tập và nghiên cứu.
Học viên


Nguyễn Văn Tùng


iv
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

BẢNG DANH MỤC CÁC CHỮ VIẾT TẮT
Thuật ngữ
Chi tiết
Ý nghĩa
ACID
Atomicity, Consistency,
Isolation, Durability
Tính nguyên tử, tính nhất quán,

tính cô lập, tính bền
CSDL
Cơ sở dữ liệu

DBMS
Database Management System
Hệ quản trị cơ sở dữ liệu
IMDB
In-Memory Database
Cơ sở dữ liệu trong bộ nhớ
MMDB
Main Memory Database
Cơ sở dữ liệu trong bộ nhớ
RDBMS
Relational Database
Management System
Hệ quản trị cơ sở dữ liệu quan hệ


















v
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

DANH MỤC CÁC HÌNH VẼ
TT
Tên hình
Trang
1
Hình 1.1. Hội họp trong tƣơng lai
3
2
Hình 1.2. Hệ thống thi trực tuyến
4
3
Hình 1.3. Các bƣớc thực hiện giao dịch chuyển khoản từ tài khoản
A sang tài khoản B
5
4
Hình 1.4. Trạng thái của giao dịch
6
5
Hình 2.1. Cấu trúc phân đoạn
18
6
Hình 2.2. Cấu trúc phân vùng quan hệ
19

7
Hình 2.3. Quan hệ và Thiết kế chỉ mục
21
8
Hình 2.4. Ví dụ các liên kết
23
9
Hình 2.5. Các chỉ mục đƣợc cấu trúc cây
26
10
Hình 2.6. Hằm băm dựa trên các chỉ mục
28
11
Hình 2.7. T Tree
30
12
Hình 2.8. Giá trị giới hạn của Nút A
31
13
Hình 2.9. Các phép tái cân bằng T Tree
35
14
Hình 2.10. Các phép tái cân bằng T Tree đặc biệt
36
15
Hình 2.11. Cấu trúc khối kiểm soát khóa quan hệ
43
16
Hình 2.12. Cấu trúc khối kiểm soát khóa giao dịch
44

17
Hình 3.1: So sánh giữa các công cụ disk-based RDBMS và
TimesTen
49
18
Hình 3.2. Các thành phần trong TimesTen
50
19
Hình 3.3. TimesTen Data Store
51
20
Hình 3.4. TimesTen Data Manager
51
21
Hình 3.5. TimesTen ODBC và JDBC APIs
52

vi
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

TT
Tên hình
Trang
22
Hình 3.6. Two-tiered logging
53
23
Hình 3.7. Các hoạt động trong Checkpoint
55
24

Hình 3.8. Khôi phục dữ liệu từ log và checkpoint files
56
25
Hình 3.9. Master và Subscriber Data Store
56
26
Hình 3.10. Master và Subscriber Replication Agents
57
27
Hình 3.11. Ví dụ về các cấu hình replication
58
28
Hình 3.12. Replication trong Hot standby và load balancing
59
29
Hình 3.13. Active standby pair
59
30
Hình 3.14. Insert dữ liệu vào TimesTen
63
31
Hình 3.15. Insert dữ liệu vào MS SQL Server 2008 trên ổ cứng
SSD
63
32
Hình 3.16. Insert dữ liệu vào MS SQL Server 2008 trên ổ cứng
HDD
64
33
Hình 3.17. Dữ liệu trong TimesTen

64
34
Hình 3.18. Dữ liệu trong MS SQL Server 2008
65
35
Hình 3.19. Biểu đồ so sánh thời gian insert 1 triệu bản ghi
66









1
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

MỞ ĐẦU
Ngày nay, xu thế công nghệ thông tin toàn cầu cũng nhƣ sự phát triển mạng
internet, cả thế giới đã đƣợc kết nối không khoảng cách. Nhƣ một tất yếu, các chính
phủ và các doanh nghiệp cần có những hệ thống, ứng dụng và Cơ sở dữ liệu
(CSDL) trực tuyến (online) phục vụ tức thời (real time) có thể đáp ứng hàng triệu
ngƣời dùng cuối ở khắp mọi nơi. Để đáp ứng xu thế này, điện toán đám mây (cloud
computing) đang là mô hình công nghệ thông tin hứa hẹn nhất.
Khác với mô hình tính toán lƣới (Grid computing) trong đó yêu cầu thực thi có
thể đƣợc phép “đợi lúc CPU rảnh” thì Mô hình tính toán trong Clouds hoàn toàn
khác, nhiều ngƣời dùng đƣợc sử dụng tài nguyên để giao dịch đồng thời và đảm bảo
chất lƣợng dịch vụ tức thời nhƣng lại phải đúng thứ tự. Hay nói cách khác, bắt buộc

hệ thống phải xử lý tuần tự và đáp ứng thời gian thực cho hàng triệu giao dịch. Vì
vậy, vấn đề này đang là nỗi lo lắng nhất cho các hệ thống trực tuyến đang phát triển
nhanh chóng, khi mà các giải pháp xử lý song song không còn nhiều tác dụng. Ví
dụ nhƣ giao dịch ngân hàng trực tuyến, giao dịch chứng khoán, mua hàng trực
tuyến, kiểm soát các phƣơng tiện giao thông…
Vì vậy, với hệ thống phải xử lý đa giao dịch với số lƣợng vô cùng lớn mà vẫn
đảm bảo thời gian thực thì có 4 xu hƣớng cải tiến kỹ thuật cho CSDL là xử lý song
song, thay đổi kiến trúc CSDL, thay đổi cơ chế hoạt động, và sử dụng bộ nhớ trong
(in-Memory).
Trong luận văn này tôi tập trung nghiên cứu, tìm hiểu CSDL trong bộ nhớ
nhằm giải quyết bài toán cho các hệ thống có số lƣợng giao dịch lớn đáp ứng truy
vấn thời gian thực. Thử nghiệm với hệ thống Oracle TimesTen để đƣa ra đánh giá
đối với CSDL trong bộ nhớ.
Luận văn đƣợc chia làm 3 chƣơng:
Chƣơng 1: Giải pháp thời gian thực cho giao dịch cơ sở dữ liệu
Chƣơng 2: Cơ sở dữ liệu trong bộ nhớ
Chƣơng 3: Thử nghiệm và đánh giá


2
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

Chƣơng 1. GIẢI PHÁP THỜI GIAN THỰC CHO GIAO
DỊCH CƠ SỞ DỮ LIỆU
1.1. Xu hƣớng giao dịch cơ sở dữ liệu thời gian thực
Cơ sở dữ liệu (CSDL) truyền thống đã hình thành từ rất sớm có một vai trò
quan trọng trong các ứng dựng trên thực tế. Đặc điểm của các giao dịch trong
CSDL truyền thống là yêu cầu về tính nhất quán. Điều này thể hiện ở trong việc lƣu
trữ dữ liệu thống nhất, nghĩa là tránh đƣợc tình trạng trùng lặp thông tin và có cơ
chế điều khiển truy xuất dữ liệu hợp lý, đó là tránh đƣợc việc tranh chấp dữ liệu và

bảo đảm dữ liệu luôn đúng đắn tại mọi thời điểm. Thông thƣờng các thực hiện giao
dịch và xử lý truy vấn trong CSDL là cố gắng nhằm đạt đƣợc một số lƣợng lớn giao
dịch đƣợc thực thi và thời gian đáp ứng nhanh nhất có thể.
Ngày nay, với sự phát triển của công nghệ, ngoài việc đảm bảo các tính chất
của giao dịch, giao dịch với số lƣợng lớn thì phải đảm bảo đƣợc thời gian đáp ứng
của các giao dịch, đó là đảm bảo tính thời gian thực cho hệ thống. Các lĩnh vực cần
đáp ứng thời gian thực bao gồm cơ sở hạ tầng mạng, viễn thông, thị trƣờng tài
chính, chứng khoán, hàng không, thƣơng mại điện tử, doanh nghiệp với các ứng
dụng điển hình nhƣ hệ thống điều khiển không lƣu, giao dịch cổ phiếu chứng
khoán, đặt chỗ máy bay, du lịch, hệ thống điều khiển robot, thi trực tuyến, hội họp
trực tuyến Dƣới đây là một số lĩnh vực có xu hƣớng giao dịch CSDL thời gian
thực.
Trong lĩnh vực hoạt động doanh nghiệp, việc ứng dụng một hệ quản trị CSDL
(Database Management System - DBMS) là rất quan trọng. DBMS là một hệ thống
phần mềm tạo điều kiện cho quá trình xác định, xây dựng, thao tác, và chia sẻ
CSDL giữa các ngƣời dùng khác nhau và các ứng dụng. Nó củng cố tất cả các hoạt
động trong một ứng dụng doanh nghiệp và hiệu suất của các ứng dụng doanh
nghiệp phụ thuộc nhiều vào hiệu suất của các DBMS. Khi hệ quản trị CSDL quan
hệ ra đời đã hỗ trợ giao dịch một các hiệu quả và rất tin cậy. Nhƣng khi khối lƣợng
dữ liệu lớn hơn, hệ quản trị CSDL quan hệ không còn có thể hiệu quả phục vụ các
yêu cầu của các ứng dụng doanh nghiệp. Đặc biệt nó không thể xử lý giao dịch trên

3
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

toàn bộ CSDL một cách kịp thời. Lý do chính mà hệ quản trị CSDL quan hệ hiện tại
không thể thực hiện các truy vấn yêu cầu đủ nhanh là dữ liệu phải đƣợc lấy ra từ đĩa
cứng. Hệ thống hiện đại sử dụng rộng rãi của bộ nhớ đệm để lƣu trữ dữ liệu thƣờng
xuyên truy cập trong bộ nhớ chính nhƣng đối với các truy vấn xử lý lƣợng lớn dữ
liệu, đọc ổ đĩa vẫn đƣợc yêu cầu. Đơn giản chỉ cần truy cập và đọc dữ liệu từ đĩa

cứng có thể mất một số lƣợng đáng kể thời gian. Vì vậy đối với doanh nghiệp đòi
hỏi phải có phƣơng án thay thế để giảm các chi phí và thời gian xử lý của hệ thống
quản lý dữ liệu trên đĩa là rất cần thiết.
Hình 1.1 là một ví dụ về đề xuất của Bill Gates vào năm 1994, Information at
the fingertips, khi đó ông hình dung ra một tƣơng lai mà trong đó bất kỳ thông tin
nào đều có sẵn ở bất cứ đâu. Việc tham gia cuộc họp có thể ở nhiều địa điểm khác
nhau, tất cả các trình duyệt, truy vấn, thao tác cùng thông tin đều trong thời gian
thực [17].

Hình 1.1. Hội họp trong tƣơng lai
Trong lĩnh vực tài chính, những cán bộ kiểm soát tài chính là những ngƣời đặc
biệt gặp khó khăn với khối lƣợng dữ liệu ngày càng gia tăng . Do thời gian trả lời dữ
liệu chậm, họ bị buộc phải giới hạn khung thời gian phân tích trong vài ngày thay vì
vài thá ng hay vài quý . Điều này dẫn tới một loạt chậm trễ, bao gồm cả việc đóng sổ
cuối mỗi kỳ tài chính. Vì vậy việc phân tích dữ liệu khối lƣợng lớn và môi trƣờng
mô hình linh động đồng nghĩa với việ c quyết toán tà i chính nhanh hơn và hiểu biết

4
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

sâu sắc hơn về nhƣ̃ ng dƣ̃ liệ u tà i chính chi tiết ở các khung thời g ian rộng hơn cần
một phƣơng án thay thế thích hợp so với hệ thống CSDL thông thƣờng.
Trong lĩnh vực đào tạo và thi trực tuyến, việc tham gia của hàng trăm, hàng
nghìn thí sinh tham gia trong cả nƣớc đòi hỏi hệ thống phải xử lý lƣợng giao dịch
rất lớn. Ngay sau khi thi xong, thí sinh có thể biết ngay điểm và thứ hạng của mình
trên hệ thống. Điều này đòi hỏi thời gian xử lý phải nhanh, đáp ứng đƣợc thời gian
thực.

Hình 1.2. Hệ thống thi trực tuyến
Qua các xu hƣớng này, chúng ta có thể nhận thấy rằng giao dịch CSDL thời

gian thực đang là một xu hƣớng tất yếu, cần đƣợc tìm hiểu và áp dụng. Tiếp theo,
chúng ta tìm hiểu giao dịch CSDL hoạt động nhƣ thế nào?
1.2. Khái quát về giao dịch cơ sở dữ liệu
1.2.1. Khái niệm
Giao dịch (Transaction) là tập hợp các lệnh tạo thành một đơn vị làm việc
logic, hoặc nó đƣợc thực hiện một cách đầy đủ hoặc bị hủy bỏ hoàn toàn. Thƣờng
giao dịch đƣợc tạo ra bởi các chƣơng trình ngƣời dùng đƣợc viết trong ngôn ngữ xử

5
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

lý dữ liệu bậc cao hoặc ngôn ngữ lập trình (vd: SQL, C++, Java)
Ví dụ: Chuyển tiền từ tài khoản A sang tài khoản B là một giao dịch:
 Kiểm tra tiền trong tài khoản A (có ≥ X không?).
 A = A – X.
 B = B + X.
Giao dịch có tính chất ACID. ACID là từ viết tắt các chữ cái đầu của bốn từ
tiếng Anh atomicity, consistency, isolation, và durability. Các tính chất ACID trong
trƣờng hợp này sẽ đảm bảo các giao dịch đƣợc thực hiện một cách đáng tin cậy:
 Tính nguyên tử (Atomicity). Một giao dịch có nhiều thao tác khác biệt thì hoặc
là toàn bộ các thao tác hoặc là không một thao tác nào đƣợc hoàn thành.
Chẳng hạn việc chuyển tiền có thể thành công hay trục trặc vì nhiều lý do
nhƣng tính nguyên tử bảo đảm rằng một tài khoản sẽ không bị trừ tiền nếu nhƣ
tài khoản kia chƣa đƣợc cộng số tiền tƣơng ứng.
 Tính nhất quán (Consistency). Một giao dịch hoặc là sẽ tạo ra một trạng thái
mới và hợp lệ cho dữ liệu, hoặc trong trƣờng hợp có lỗi sẽ chuyển toàn bộ dữ
liệu về trạng thái trƣớc khi thực thi giao dịch.
 Tính cô lập (Isolation). Một giao dịch đang thực thi và chƣa đƣợc xác nhận
phải bảo đảm tách biệt khỏi các giao dịch khác.
 Tính bền vững (Durability). Dữ liệu đƣợc xác nhận sẽ đƣợc hệ thống lƣu lại

sao cho ngay cả trong trƣờng hợp hỏng hóc hoặc có lỗi hệ thống, dữ liệu vẫn
đảm bảo trong trạng thái chuẩn xác.
Ví dụ về tính chất ACID: Giao dịch chuyển 50$ từ tài khoản A sang tài khoản
B:

Hình 1.3. Các bƣớc thực hiện giao dịch chuyển khoản
từ tài khoản A sang tài khoản B
 Tính nguyên tử: Nếu giao dịch lỗi sau bƣớc 3 và trƣớc bƣớc 6, hệ thống phải
đảm bảo việc cập nhật không đƣợc phản ánh trong CSDL.
1.
Read(A)
2.
A = A - 50

3.
Write(A)

4.
Read(B)

5.
B = B + 50
6.
Write(B)

6
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

 Tính nhất quán: Tổng của A và B thì không thay đổi sau khi thực thi giao dịch
(Dù giao dịch thành công hay thất bại).

 Tính bền vững: Kết quả sau khi thực thi giao dịch đƣợc ghi lại lâu dài trong
CSDL.
 Tính cô lập: Nếu giữa bƣớc 3 và bƣớc 6, một giao dịch khác đƣợc thực hiện
một cách đan xen không mong muốn. Vì vậy trạng thái không nhất quán vẫn
có thể xảy ra.
1.2.2. Trạng thái của giao dịch
Khi giao dịch đƣợc thực hiện: Hoặc là giao dịch hoàn tất thành công, hoặc bị
hủy bỏ hoàn toàn.
Vì mục đích phục hồi, hệ thống cần lƣu lại các trạng thái CSDL khi giao dịch
bắt đầu, kết thúc, hoàn tất hay bị bỏ qua. Do vậy hệ thống phục hồi cần lƣu vết của
các hoạt động sau:
 BEGIN_TRANSACTION: Đánh dấu điểm bắt đầu thực thi giao dịch.
 READ/WRITE: Đánh dấu hoạt động đọc, ghi các mục trong CSDL.
 END_TRANSACTION: Đánh dấu điểm kết thúc của giao dịch.
 COMMIT_TRANSACTION: Cho biết giao dịch hoàn tất thành công.
 ROLLBACK (ABORT): Giao dịch kết thúc không thành công, những thay đổi
do giao dịch tạo ra phải bị hủy bỏ (undone).

Hình 1.4. Trạng thái của giao dịch
ACTIVE
PARTIALLY
COMMITED
FAILED

COMMITED

TERMINATED
BEGIN
TRANSACTION
READ,

WRITE
END
TRANSACTION
ABORT
ABORT

7
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

1.3. Bài toán đa giao dịch trong ứng dụng trực tuyến
Một trong những vấn đề gây ảnh hƣởng nhất đến tốc độ hồi đáp truy vấn trực
tuyến thời gian thực là hệ thống CSDL cho các ứng dụng (trực tuyến) thời gian thực
(Real-time application). Ứng dụng thời gian thực có thể chia ra làm hai loại, ứng
dụng giao dịch thời gian thực và ứng dụng phân tích thời gian thực. Có 4 xu hƣớng
cải tiến kỹ thuật cho CSDL là xử lý song song, thay đổi kiến trúc CSDL, thay đổi cơ
chế hoạt động, và sử dụng bộ nhớ (in-Memory).
Trong những năm gần đây, CSDL trong bộ nhớ đang đƣợc các tổ chức và
công ty nghiên cứu trên thế giới tập trung để giải quyết các bài toán xử lý dữ liệu
lớn và phân tán áp dụng cho các ứng dụng trực tuyến trong mô hình điện toán đám
mây. Khác với mô hình tính toán lƣới (Grid computing) trong đó yêu cầu thực thi
có thể đƣợc phép “đợi lúc CPU rảnh” thì mô hình tính toán trong đám mây hoàn
toàn khác, rất nhiều ngƣời dùng đƣợc sử dụng tài nguyên để truy vấn đồng thời vì
vậy cần đảm bảo chất lƣợng dịch vụ tức thời nhƣng tôn trọng trình tự ngƣời truy
vấn. Hay nói cách khác, bắt buộc hệ thống phải xử lý trình tự và đáp ứng thời gian
thực cho có thể đến hàng triệu ngƣời truy vấn. Vấn đề này đang là nỗi lo lắng nhất
cho các hệ thống trực tuyến đang phát triển nhanh chóng, khi mà các giải pháp xử lý
song song không còn nhiều tác dụng. Các công ty thƣơng mại nhƣ Oracle cũng nhƣ
các công ty mã nguồn mở cũng đã nghiên cứu và triển khai.
Thực trạng là hệ thống thi trực tuyến Violypic bị treo khi có 3000 connection
cùng một thời điểm, do đó đã phải cải tiến CSDL tạm thời, hay các sàn chứng

khoán xử lý hàng triệu giao dịch trong mỗi giây, và đã bắt đầu sử dụng IMDB (In-
Memory Database). IMDB chính là giải pháp cho những hệ thống có đa giao dịch
hay rất nhiều giao dịch xảy ra đồng thời và cần xử lý thời gian thực.
Ở Việt Nam, các nghiên cứu về CSDL đáp ứng thời gian thực còn rất ít trong
khi nền kinh tế thì phát triển rất nhanh để kịp ngang bằng với thế giới. Vì vậy, sớm
bắt đầu nghiên cứu và áp dụng công nghệ này là cần thiết.

8
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

1.4. Giải pháp sử dụng cơ sở dữ liệu trong bộ nhớ
Ngƣời dùng ngày nay luôn muốn truy cập thông tin nhanh để đƣa ra những
quyết định chính xác ở bất kỳ thời điểm nào, vì vậy CSDL là nguồn tài nguyên hết
sức cần thiết và quan trọng.
Một chƣơng trình máy tính chuyên biệt phổ biến dành cho CSDL chính là hệ
quản trị CSDL DBMS. Đó là nơi cung cấp phƣơng pháp chuẩn hóa về tính toàn vẹn
dữ liệu, thiết lập các mối quan hệ dữ liệu phức tạp, đảm bảo truy nhập thông tin
nhanh và hiệu quả. Nhƣng điểm hạn chế của các hệ thống DBMS là thƣờng kết hợp
với thao tác nhập/xuất (I/O) trên ổ đĩa, một tiến trình cơ học có thể làm giảm hiệu
năng của máy tính
Tuy nhiên, trong những thập niên trở lại đây, các nhà cung cấp phần mềm đã
tập trung phát triển CSDL bên trong bộ nhớ (In-Memory database – IMDB hoặc
còn gọi là CSDL bộ nhớ chính MMDB - Main Memory Database) nhiều hơn.
IMDB đƣợc mô tả nhƣ là một mô hình DBMS mới giúp tăng tốc độ lƣu trữ, truy
xuất và phân loại thông tin bằng cách lƣu giữ tất cả dữ liệu trong bộ nhớ chính.
Khi IMDB chƣa xuất hiện, DBMS đã dùng bộ nhớ đệm để giữ các bản ghi
đƣợc cập nhật thƣờng xuyên trong RAM giúp truy xuất nhanh. Ngoài ra, một số
DBMS truyền thống khác có bảng bộ nhớ để giữ các tập dữ liệu trong bộ nhớ. Đôi
khi, DBMS đƣợc triển khai trên đĩa RAM (RAM disk - bộ nhớ RAM giả lập thành
ổ đĩa cứng, khi mất nguồn điện, toàn bộ dữ liệu trên RAM disk sẽ mất) và gần đây

là ổ đĩa SSD.
IMDB là hệ quản trị CSDL lƣu trữ toàn bộ dữ liệu trong bộ nhớ chính nên
giúp cho việc ghi/đọc trong hệ thống tập tin nhanh hơn nhiều. Quan điểm trong thiết
kế của IMDB là bộ nhớ ngang bằng với không gian lƣu trữ vì hiệu quả sử dụng bộ
nhớ là tối quan trọng.
Ƣu điểm của IMDB:
 Nhiều ngƣời dùng có thể truy cập dữ liệu đồng thời với thời gian phản hồi xác
định và các giao dịch diễn ra nhanh theo thời gian thực.

9
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

 Tổ chức hợp lý hóa việc quản lý dữ liệu, gỡ bỏ các lớp dƣ thừa đặc thù trong
các hệ quản trị dữ liệu DBMS trên ổ đĩa.
 Các giải thuật tìm kiếm trong truy cập vào bộ nhớ đƣợc tối ƣu hóa.
 Trong biên dịch tìm kiếm, IMDB trỏ trực tiếp vào vùng bộ nhớ của các yếu tố
dữ liệu.
 Đảm bảo việc truy nhập trực tiếp đến dữ liệu.
Điểm mạnh của IMDB loại bỏ cách quản lý bộ nhớ đệm (cache) cũng nhƣ
thiết bị I/O, giúp tăng hiệu năng hệ thống so với DBMS trên ổ đĩa với bộ nhớ đệm.
Cache là nơi lƣu trữ sẵn các dữ liệu đƣợc dự đoán là sẽ phục vụ yêu cầu của các
ứng dụng hay hệ thống nhằm tăng tốc độ xử lý (không phải tốn thời gian tìm kiếm).
Bộ nhớ đệm chỉ tăng tốc khi trích xuất/đọc thông tin. Trong trƣờng hợp cập nhật
hay tạo ra bản ghi mới trong CSDL, thông tin phải đƣợc ghi vào cache, sau đó vào
đĩa. Tuy nhiên, có lúc cache thiếu tính linh hoạt vì trong lúc ngƣời dùng thực hiện
nhiều thao tác ghi/đọc liên tục có thể kích thƣớc cache không đủ lớn để đáp ứng.
Lúc đó ngƣời dùng không thể tác động vào những bản ghi quan trọng, vì dữ liệu đã
đƣợc lƣu trữ tự động bởi các thuật toán. Khi cache đầy, một số dữ liệu sẽ đƣợc ghi
vào hệ thống tập tin với tốc độ đƣợc tính bằng micro giây.
Ƣu điểm nữa của IMDB là không cần "gánh" thêm vai trò nhập/xuất tập tin.

Ngay từ đầu, tiêu chí của IMDB là tối ƣu hóa để giảm thiểu việc chiếm nhiều bộ
nhớ và rút ngắn chu kỳ xử lý trong CPU, vì vậy CSDL bên trong bộ nhớ chỉ dƣới
100KB, thay vì từ 100KB cho đến hàng megabyte so với các kiến trúc CSDL khác.
Việc này là do:
 Loại bỏ những phần "thừa" và không còn phù hợp trong CSDL trên ổ đĩa,
chẳng hạn nhƣ tất cả tiến trình cache và nhập/xuất tập tin.
 Xóa bỏ những tính năng không cần thiết trong các ứng dụng. Ví dụ, bộ định
tuyến không cần tách riêng giữa máy khách/chủ để quản lý dữ liệu định tuyến.
 Trong lúc đó, đối với CSDL trên ổ đĩa thì thao tác đọc/ghi là mối đe dọa lớn
nhất về mặt hiệu năng, vì vậy các hệ thống này đã dùng phƣơng pháp ghi đè
để hạn chế ảnh hƣởng.

10
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

Hạn chế của IMDB:
Điểm hạn chế của IMDB chính là nội dung lƣu trữ trong bộ nhớ chính không
cố định (volatile memory), nghĩa là cần phải cấp nguồn liên tục để lƣu trữ nội dung
thông tin đó - mất điện là mất hết. Do đó, IMDB đã thêm vào một số cơ chế để tăng
tính ổn định và có thể duy trì nội dung nhớ khi không có điện:
 Lƣu nhanh tập tin (snapshot file), lƣu kịp thời tình trạng lúc đó. Cách này sẽ
lƣu theo định kỳ. Nếu hệ thống máy tính hỏng và phải khởi động lại thì cùng
lúc đó CSDL cũng phải hoàn tất việc lƣu lại thông tin đƣợc cập nhật gần nhất.
 Thực hiện lƣu nhật ký (log) để khi có bất kỳ sự thay đổi nào trong CSDL cũng
có thể tự động phục hồi trong IMDB.
 Trong IMDB cũng có thể giữ nội dung nhớ bằng cách duy trì một hay nhiều
bản sao của CSDL. Giải pháp này đƣợc gọi là bản sao CSDL. Các CSDL bản
chính và bản sao có thể đƣợc duy trì bởi nhiều tiến trình hay tiểu trình trong
cùng phần cứng và chúng có thể nằm trên 2 hay nhiều bo mạch trong cùng
máy chủ với “bus” truyền dữ liệu tốc độ cao hay chạy trên từng máy tính trong

mạng LAN và có thể tồn tại ở các cấu hình khác.
 Khác với RAM, NVRAM (non-volatile RAM) không bị mất dữ liệu khi tắt
nguồn. Tính năng này đƣợc tận dụng để chạy chung với pin của CMOS, lƣu
các thông số của hệ thống nhƣ: số serial, hãng sản xuất, ngày sản xuất, địa chỉ
MAC của card mạng Một kiểu mới hơn của NVRAM gồm có FeRAM
(Ferroelectric RAM), MRAM (Magnetoresistive RAM) và PRAM (Phase
change RAM) đƣợc thiết kế để bộ nhớ không bị mất dữ liệu khi không có
điện.
Ứng dụng của IMDB:
IMDB đƣợc xem là mô hình CSDL nhúng hay hệ thống CSDL máy khách/chủ
thời gian thực. IMDB chạy trên hệ điều hành cung cấp các phản hồi trong các ứng
dụng nhƣ định tuyến, chuyển mạch trong viễn thông.
Ngoài ra, IMDB có thể kiểm soát CSDL trong thiết bị nghe nhạc MP3 và xử
lý trình dữ liệu trong bộ giải mã (set-top box). Bên cạnh đó, IMDB cũng hƣớng đến

11
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

các ứng dụng không nhúng, ví dụ, các số liệu tính toán hay các ứng dụng khác trong
thị trƣờng tài chính. Thêm vào đó, IMDB còn có thể sử dụng để truy xuất dữ liệu
tức thời hay một số ứng web nhƣ thƣơng mại điện tử, mạng xã hội hay để lƣu trữ dữ
liệu vào các hệ thống CSDL dùng ổ đĩa. Đôi khi, các ứng dụng dành cho doanh
nghiệp cũng cần lƣu trữ dữ liệu lớn bên trong bộ nhớ.
Theo báo cáo của McObject, IMDB 64 bit đã triển khai trên máy chủ SGI
Altix 4700 160 nhân chạy phiên bản SUSE Linux Enterprise Server 9 từ Novell.
CSDL đã tăng đến 1,17 terabyte và có thể đạt đến 15,54 triệu bản ghi. Đối với câu
lệnh SELECT đơn giản, IMDB xử lý đƣợc 87,78 triệu giao dịch truy vấn trên một
giây thông qua giao diện trình ứng dụng (API) và đạt 28,14 triệu giao dịch/giây qua
API SQL ODBC.
Sybase đã giới thiệu phiên bản đầu tiên về phần mềm hệ thống CSDL hoạt

động toàn bộ trên bộ nhớ, đó là Adaptive Server Enterprise 15.5. Theo Sybase,
trong lĩnh vực tài chính, có từ 300.000 đến 400.000 phiên giao dịch diễn ra trong
một giây và IMDB thích hợp dùng để phân tích nhanh lƣợng thông tin lên đến hàng
terabyte. Công ty cũng hy vọng rằng IMDB sẽ giúp tốc độ giao dịch nói trên sẽ đạt
mức một triệu lƣợt giao dịch trong một giây. Ngoài ra, một số nhà cung cấp phần
mềm hàng đầu đã giới thiệu những gói sản phẩm dựa trên IMDB, ví dụ Oracle cũng
giới thiệu gói Oracle TimesTen In-Memory Database 11G kể từ lúc Oracle mua lại
Công ty TimesTen năm 2005; IBM đã tung ra sản phẩm solidDB sử dụng công
nghệ IMDB [2].
Khi bộ nhớ chính ngày càng trở nên rẻ hơn và dung lƣợng lớn hơn, nó trở lên
khả thi để lƣu trữ CSDL, làm cho MMDB trở lên thực tế. Bởi vì dữ liệu có thể truy
cập trực tiếp trong bộ nhớ, MMDB có thể cung cấp thời gian đáp ứng và thông
lƣợng giao dịch tốt hơn nhiều so với CSDL thông thƣờng. Điều này là đặc biệt quan
trọng đối với các ứng dụng thời gian thực mà các giao dịch phải đƣợc hoàn thành
đúng thời hạn đƣợc quy định nên trong luận văn này tôi đi sâu tìm hiểu về CSDL
trong bộ nhớ để có thể giải quyết đƣợc các hệ thống có giao dịch lớn đòi hỏi đáp
ứng thời gian thực.

12
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

1.5. Lợi thế khi sử dụng cơ sở dữ liệu trong bộ nhớ
 Tiế t kiệ m chi phí
Chi phí quản lý CSDL hiện chiếm tới hơn 25% ngân sách công nghệ thông tin
của một doanh nghiệp. Do các IMDB sử dụng hệ thống phần cứng đòi hỏi ít điện
năng hơn so với hệ thống quản lý dữ liệu truyền thống vì vậy các doanh nghiệp có
thể hạn chế đƣợc đáng kể chi phí đầu tƣ vào phần cứng và chi phí bảo trì.
IMDB cũng giúp giảm thiểu gánh nặng lên tổng chi phí dành cho công nghệ
thông tin của doanh nghiệp, giúp giảm thiểu đáng kể số lƣợng nhân viên trƣớc kia
chỉ chuyên giải quyết các yêu cầu báo cáo. Đặc biệt, với giải pháp IMDB, việc triển

khai không bị gián đoạn, cho phép các doanh nghiệp tiế p tụ c hoạt động một cách dễ
dàng và nhanh chóng.
 Hoạt động đơn giả n và hiệu quả hơn
Sự chuyển đổi sang IMDB cho phép toàn bộ hệ thống công nghệ đƣợc gỡ bỏ
ra khỏi cấ u trúc công nghệ thông tin của doanh nghiệp, giảm thiểu sự phức tạp và
cơ sở hạ tầng mà hệ thống cũ yêu cầu. Việc giảm thiểu sự phức tạp này cho phép
các dữ liệu đƣợc khôi phục gần nhƣ ngay lập tức, giúp các phòng ban làm việc hiệu
quả hơn.
IMDB cho phép các doanh nghiệp dễ dàng phân chia các phân hệ của trí tuệ
doanh nghiệp, giúp các phòng ban sử dụng thuận tiện hơn. Các phòng ban có thể
hoạt động độc lập mà không làm ảnh hƣởng tới khối lƣợng dữ liệu trung tâm. Và có
lẽ quan trọng nhất là các doanh nghiệp không còn phải phụ thuộc vào đội ngũ nhân
viên công nghệ thông tin để có đƣợc cái nhìn tổng quan vào những dữ liệu kinh
doanh.
Hiệu quả quản lý thu đƣợc cũng cho phép những ngƣời dùng doanh nghiệp
đang đi công tác có thể tự truy vấ n thông qua cá c thiế t bị di độ n g. Thiết bị này trở
nên rất quan trọ ng bở i ngày càng nhiề u doanh nghiệ p sƣ̉ dụ ng công nghệ di độ ng
trong các hoạ t độ ng kinh doanh.
 Cung cấp đầy đủ thông tin

13
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

IMDB giúp các doanh nghiệp dễ dàng có đƣợc một cái nhìn toàn diện vào tất
cả các dữ liệu kinh doanh , thay vì bị giới hạn bởi những thông tin ít ỏi đƣợc trích
xuất và lƣu trƣ̃ từ kho dữ liệu . Công nghệ này cho phép các doanh nghiệp có thể
chuyển đổi từ việc phân tích sau mỗi giao dịch phát sinh (phân tích “quá khứ”) sang
việc quyết định trên thời gian thực và chuyển mô hình kinh doanh từ đối phó sang
mô hình đi trƣớc đón đầu và lập kế hoạch hiệu quả.
Khi kết hợp với các giải pháp phân tích front-end (tiền phƣơng) thân thiện ,

chẳng hạn nhƣ nền tảng trí tuệ doanh nghiệp SAP BusinessObjects 4.0, bất kỳ ai
trong doanh nghiệp cũng có thể xây dựng các truy vấn và biểu đồ riêng mà không
cần am hiểu quá nhiều về các hệ thống công nghệ thông tin.
 Quản lý khách hàng
Các phòng quản lý khách hàng có thể kết hợp các dữ liệu khác nhau một cách
nhanh chóng và dễ dàng để phân tích tình hình kinh doanh của khách hàng tại thời
điểm hiện tại và quá khứ, ở ngay tại văn phòng hay thông qua các thiết bị di
động. Nhờ khả năng tƣơng tác và truy vấn các dữ liệu trong bộ nhớ, các doanh
nghiệp có thể thử nghiệm nhiều hơn với các dữ liệu để thiết kế các chiến dịch bán
hàng và tiếp thị ấn tƣợng. Đội ngũ bán hàng có thể tự truy cập và có đƣợc
những thông tin cần thiết, cho phép họ hiểu khá ch hà ng rõ hơn.
 Quản lý chuỗi cung ứng
Với hệ thống quản lý truyền thống dựa trên công nghệ ổ cứng , việc xử lý dữ
liệu thƣờng đƣợc tiến hành vào cuối ngày, có nghĩa rằng các doanh nghiệp thƣờng
chậm trễ trong việc xử lý các cảnh báo về nguồn cung ứng quan trọng. Nhƣng với
IMDB các doanh nghiệp có thể nhìn một cách toàn diện vào chuỗi cung cầu chỉ
trong một vài giây. Họ có đƣợc cái nhìn sâu sắc tổng thể về tình hình kinh doanh
của doanh nghiệp trong thời gian thực.
 Tài chính
Những cán bộ kiểm soát tài chính là những ngƣời đặc biệt gặp khó khăn với
khối lƣợng dữ liệu ngày càng gia tăng . Do thời gian trả lời dữ liệu chậm , họ bị buộc
phải giới hạn khung thời gian phân tích trong vài ngày thay vì vài thá ng hay vài

14
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

quý. Điều này dẫn tới một loạt chậm trễ, bao gồm cả việc đóng sổ cuối mỗi kỳ tài
chính. Với IMDB, việc phân tích dữ liệu khối lƣợng lớn và môi trƣờng mô hình linh
động đồng nghĩa với việ c quyết toán tà i chính nhanh hơn và hiểu biết sâu sắc hơn
về nhƣ̃ ng dƣ̃ liệ u tà i chí nh chi tiết ở các khung thời gian rộng hơn.

 Thay đổ i cá ch thƣ́ c hoạ t độ ng củ a doanh nghiệ p
IMDB là phƣơng án thay thế tố t nhấ t giúp giả m thiể u chi phí củ a hệ thố ng
quản lý dữ liệu trên đĩa truyền thống . Đối với những doanh n ghiệ p tiên phong á p
dụng công nghệ bộ nhớ trong, những kết quả khả quan nhƣ việc cả i thiệ n rõ rệ t hiệ u
quả trong khâu quản lý doanh nghiệp , tiế t kiệ m chi phí đầ u tƣ cho công nghệ thông
tin sẽ mang lạ i nhƣ̃ ng lợ i thế cạ nh tranh cao.
Với những tính năng hữu ích, công nghệ bộ nhớ trong tạo điều kiện cho các
doanh nghiệp Việt Nam giảm thiểu chi phí đầu tƣ và vận hành hệ thống phần cứng,
giúp họ tập trung vào việc phân tích thông tin nhằm đi tắt đón đầu đƣợc những xu
hƣớng thị trƣờng cũng nhƣ thị hiếu của ngƣời tiêu dùng để chuẩn bị tốt hơn cho các
hoạt động mở rộng doanh nghiệp [1].
1.6. Kết luận chƣơng 1
Nội dung của chƣơng đã trình bày một số hệ thống thƣờng phải xử lý lƣợng
giao dịch lớn, khái niệm giao dịch và một số tính chất cũng nhƣ trạng thái của giao
dịch. Đồng thời để đáp ứng đƣợc việc xử lý của các hệ thống đã nêu, chƣơng này
cũng đề ra giải pháp thay thế hệ thống CSDL thông thƣờng bằng CSDL trong bộ
nhớ, đƣa ra đƣợc ƣu điểm, nhƣợc điểm, lợi thế của việc sử dụng IMDB đối với các
lĩnh vực áp dụng công nghệ thông tin. Tiếp theo, Chƣơng 2 sẽ tìm hiểu về CSDL
trong bộ nhớ.

15
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

Chƣơng 2. CƠ SỞ DỮ LIỆU TRONG BỘ NHỚ
2.1. Kiến trúc hệ thống cơ sở dữ liệu trong bộ nhớ
Hệ thống CSDL thƣờng trú bộ nhớ chính không yêu cầu quản lý bộ nhớ đệm,
do đó các quan hệ trong hệ thống CSDL thƣờng trú bộ nhớ chính có thể đƣợc neo
đậu tại các vị trí cố định ở bộ nhớ trong suốt thời gian tồn tại của chúng. Ngoại trừ
trong các trƣờng hợp mà các quan hệ trải qua sự phát triển liên tục và sự giảm sút
trong một số lƣợng lớn, các bản ghi dữ liệu sẽ ở lại trong các vị trí xác định bên

trong các quan hệ của chúng trong các giai đoạn dài, cho phép chúng đƣợc tham
chiếu trực tiếp bởi địa chỉ bộ nhớ. Cách đánh địa chỉ trực tiếp này ảnh hƣởng đến
các hoạt động CSDL mà tham chiếu đến các thực thể CSDL riêng lẻ. Chi phí của
tham chiếu một bản ghi thông qua một con trỏ bản ghi là không cao trong bộ nhớ
chính, nó chỉ là chi phí chuyển tiếp bộ nhớ, vì vậy các con trỏ bản ghi có thể đƣợc
sử dụng ở bất kỳ bản sao nào của các bản ghi hoặc các giá trị trƣờng bản ghi nào đó
đƣợc sử dụng. Với bản chất kích thƣớc cố định, nhỏ của các con trỏ bản ghi và khả
năng tham chiếu các bản ghi ngẫu nhiên ảnh hƣởng đến nhiều vùng trong kiến trúc
CSDL thƣờng trú bộ nhớ.
2.1.1. Lợi thế của đánh địa chỉ trực tiếp và thƣờng trú bộ nhớ
Việc sử dụng các con trỏ bản ghi trong vị trí của các giá trị trƣờng thực tế
mang lại một số lợi ích cho các cấu trúc chỉ mục. Thứ nhất, một con trỏ bản ghi đơn
cho phép một chỉ mục với khả năng truy cập đến cả giá trị thuộc tính của một bản
ghi và bản thân bản ghi đó, do đó làm giảm kích thƣớc chỉ mục. Thứ hai, điều này
giúp loại bỏ sự phức tạp trong việc xử lý các trƣờng dài, các trƣờng có độ dài thay
đổi, các kỹ thuật nén, và các nhu cầu tính toán mức độ lƣu trữ cho chỉ mục. Thứ ba,
di chuyển các con trỏ có xu hƣớng nhẹ nhàng hơn so với di chuyển (thƣờng là dài
hơn) các giá trị thuộc tính khi cập nhật chỉ mục. Cuối cùng, vì một con trỏ bản ghi
đơn cho phép truy xuất tới bất kỳ trƣờng nào trong bản ghi nên các chỉ mục đa
thuộc tính cần các cơ chế đơn giản hơn.
Sử dụng các con trỏ bản ghi cũng có lợi cho các quan hệ tạm (Temporary
relation). Các quan hệ tạm chứa các kết quả truy vấn không cần giữ các bản sao của

16
Số hóa bởi Trung tâm Học liệu – Đại học Thái Nguyên

các bản ghi tham gia trong tập trả lời truy vấn; đơn giản chúng có thể chứa các con
trỏ tới chúng. Các trƣờng bản ghi khi có trong tập câu trả lời truy vấn thì có thể
đƣợc xác định bởi một mô tả (descriptor) nhờ đó mà có thể trích xuất đƣợc dữ liệu
để thể hiện kết quả của truy vấn (ví dụ: tên trƣờng dữ liệu). Vì vậy các quan hệ tạm

yêu cầu ít không gian hơn bởi vì chúng lƣu trữ các các con trỏ bản ghi thay vì toàn
bộ dữ liệu và dễ tính toán không gian lƣu trữ của chúng; tất nhiên, số kết quả các
bản ghi trong một tập câu trả lời truy vấn không thể đƣợc biết trƣớc, nhƣng các yêu
cầu không gian cho các bản ghi kết quả riêng lẻ có thể biết, bởi vì chúng có chứa
các con trỏ bản ghi có kích thƣớc cố định. Hơn nữa các quan hệ tạm chứa các con
trỏ bản ghi tạo ra ít tốn kém vì ít dữ liệu cần đƣợc sao chép.
Cũng giống nhƣ các kết quả truy vấn có thể đƣợc lƣu trữ nhƣ các con trỏ bản
ghi trong một quan hệ tạm, chúng có thể cũng đƣợc lƣu trữ nhƣ các con trỏ bản ghi
trong một quan hệ bình thƣờng. Khi một phép toán join phức tạp có thể phải thực
hiện thƣờng xuyên sẽ thích hợp hơn nếu thực hiện phép toán join một lần và lƣu trữ
các kết quả (nhƣ các con trỏ bản ghi) vào một trong các quan hệ mà liên quan đến
phép toán join đó. Con trỏ bản ghi đƣợc lƣu trữ thể hiện cho một liên kết giữa bản
ghi mà chứa con trỏ bản ghi và bản ghi đang đƣợc trỏ tới. Một khi các liên kết đã
đƣợc lƣu trong một quan hệ, các kết quả join tƣơng ứng có thể đƣợc lấy ra bằng
cách đơn giản là quét quan hệ chứa các liên kết.
Một lợi thế khác của bộ nhớ thƣờng trú là liên quan tới lập lịch. Vì các ổ đĩa
không đƣợc dùng để đọc thông tin CSDL trong quá trình xử lý giao dịch thông
thƣờng và các giao dịch không bao giờ bị ngắt bởi I/O ổ đĩa, các giao dịch có thể
đƣợc kiểm soát một phần đƣa ra khi chúng rời CPU. Đó là khả năng cho một giao
dịch báo CPU rằng không nên đƣợc ƣu tiên trong một hoạt động cụ thể, chẳng hạn
nhƣ trong quá trình chỉnh sửa tới một cấu trúc dữ liệu hệ thống trong khi giao dịch
đó đang thực thi trong một phiên cụ thể.
2.1.2. Các vấn đề với đánh địa chỉ trực tiếp
Địa chỉ trực tiếp của các bản ghi mang lại nhiều lợi ích nhƣng nó cũng tạo nên
một số vấn đề. Càng có nhiều thực thể CSDL tham chiếu tới một bản ghi trực tiếp

×