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

Nghiên cứu cơ sở dữ liệu song song và ứng dụng trong việc tính cước khách hàng VNPT Phú Yên

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 (2.06 MB, 75 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC HUẾ
TRƯỜNG ĐẠI HỌC KHOA HỌC

NGUYỄN THỊ CẦM

Nghiªn cøu c¬ së d÷ liÖu song song vµ øng dông
trong viÖc tÝnh c-íc kh¸ch hµng VNPT Phó Yªn

CHUYÊN NGÀNH: KHOA HỌC MÁY TÍNH
MÃ SỐ: 60.48.01.01

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

Huế, 2015

1


MỤC LỤC
MỞ ĐẦU ................................................................................................................... 1
1. Lý do chọn đề tài: ................................................................................................... 1
2. Tổng quan tài liệu: .................................................................................................. 1
3. Mục tiêu nghiên cứu ............................................................................................... 2
4. Đối tượng nghiên cứu ............................................................................................. 2
5. Phương pháp nghiên cứu ........................................................................................ 2
6. Phạm vi nghiên cứu ................................................................................................ 2
Chương 1. TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU SONG SONG
VÀ CÁC KỸ THUẬT PHÂN HOẠCH DỮ LIỆU ....................................... 4
1.1 Giới thiệu về Cơ sở dữ liệu song song ................................................................. 4
1.2 Các kiến trúc của hệ thống máy tính song song ................................................... 6


1.2.1 Kiến trúc bộ nhớ chia sẻ .................................................................................... 6
1.2.2 Kiến trúc ổ đĩa chia sẻ ....................................................................................... 7
1.2.3 Kiến trúc không chia sẻ ..................................................................................... 8
1.2.4 Kiến trúc phân tầng ......................................................................................... 10
1.3 Các kỹ thuật phân hoạch dữ liệu trong CSDL song song .................................. 11
1.3.1 Phân hoạch theo vòng tròn Robin ................................................................... 13
1.3.2 Phân hoạch theo hàm băm ............................................................................... 15
1.3.3 Phân hoạch theo khoảng .................................................................................. 18
1.3.4 Phân hoạch ngẫu nhiên không cân bằng ......................................................... 19
1.4 Các cơ chế xử lý song song ................................................................................ 21
1.4.1 Song song liên truy vấn ................................................................................... 21
1.4.2 Song song nội truy vấn .................................................................................... 23
1.4.3 Song song liên toán tử ..................................................................................... 24
1.4.4 Song song nội toán tử ...................................................................................... 26
1.5 Các phép toán song song .................................................................................... 26
1.5.1 Phép nối: .......................................................................................................... 26
1.5.2 Phép tách.......................................................................................................... 27


1.6 Tiểu kết chương .................................................................................................. 27
Chương 2. MÁY TÍNH SONG SONG VÀ CÁC MÔ HÌNH
LẬP TRÌNH SONG SONG ........................................................................... 28
2.1 Giới thiệu về máy tính song song ....................................................................... 28
2.1.1 Bộ nhớ: ............................................................................................................ 29
2.1.2 Nguyên tắc kết nối: .......................................................................................... 29
2.1.3 Hệ điều hành: ................................................................................................... 30
2.1.4 Chương trình dịch: ........................................................................................... 30
2.2 Phân loại máy tính song song ............................................................................. 31
2.2.1 Mô hình SISD: Đơn luồng lệnh, đơn luồng dữ liệu ........................................ 31
2.2.2 Mô hình SIMD: Đơn luồng lệnh, đa luồng dữ liệu ......................................... 32

2.2.3 Mô hình MISD: Đa luông lệnh, đơn luông dữ liệu ......................................... 33
2.2.4. Mô hình MIMD: Đa luồng lệnh, đa luồng dữ liệu ......................................... 34
2.3 Các mô hình lập trình song song ........................................................................ 35
2.3.1 Lập trình trên hệ thống dùng chung bộ nhớ .................................................... 35
2.3.2 Lập trình chia sẻ bộ nhớ dựa vào tiến trình ..................................................... 35
2.3.3 Lập trình chia sẻ bộ nhớ dựa vào luồng .......................................................... 36
2.4 Tiểu kết chương .................................................................................................. 42
Chương 3. ỨNG DỤNG CƠ SỞ DỮ LIỆU SONG SONG TRONG VIỆC
TÍNH CƯỚC KHÁCH HÀNG VIỄN THÔNG PHÚ YÊN ....................... 44
3.1 Thiết kế hệ thống thông tin tính cước cho khách hàng VNPT Phú Yên ............ 44
3.1.1 Đặc tả các chức năng chính của hệ thống........................................................ 44
3.1.2 Mô tả phân tích và thiết kế cơ sở dữ liệu ........................................................ 48
3.2 Mô tả ứng dụng sau khi đã cài đặt ...................................................................... 58
3.2.1 Cài đặt CSDL Song Song ................................................................................ 59
3.2.2 Lập trình giao diện ứng dụng .......................................................................... 61
3.3 Đánh giá kết quả và so sánh thời gian thực tế khi tính cước giữa xử lý tuần tự
và xử lý song song. ......................................................................................... 67
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ............................................................ 68
TÀI LIỆU THAM KHẢO...................................................................................... 69


DANH MỤC VIẾT TẮT
TỪ VIẾT TẮT

DIỄN GIẢI

BXL

Bộ xử lý


CSDL

Cơ sở dữ liệu

PKHKD


Phòng kế hoạch kinh doanh
Tổng Đài

TTĐH

Trung tâm điều hành

TTKD

Trung tâm kinh doanh

TTTH

Trung tâm tin học

TXLC

Tổ xử lý cước

TTTK

Trung tâm thanh khoản



DANH MỤC CÁC BẢNG
Số hiệu bảng

Tên bảng

Trang

1.1

Phân hoạch theo vòng tròn Robin

15

1.2

So sánh các phương pháp phân hoạch

21


DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
Số hiệu hình vẽ

Tên hình vẽ

Trang

1.1


Kiến trúc bộ nhớ chia sẻ

7

1.2

Kiến trúc ổ đĩa chia sẻ

8

1.3

Kiến trúc không chia sẻ

10

1.4

Mô hình kiến trúc phân tầng

11

1.5

Phân hoạch dữ liệu theo chiều dọc và theo chiều ngang

12

1.6


Phân hoạch theo vòng tròn Robin

13

1.7

Phân hoạch dữ liệu theo hàm băm

16

1.8

Phân hoạch dữ liệu theo khoảng

18

1.9

Phân hoạch dữ liệu ngẫu nhiên không cân bằng

20

2.1

Hệ thống đơn lệnh đơn dữ liệu SISD

31

2.2


Mô hình máy tính kiểu von Neumann

32

2.3

Hệ thống đơn lệnh đa dữ liệu (SIMD)

32

2.4

Hệ thống đa lệnh đơn dữ liệu (MISD)

33

2.5

Hệ thống đa lệnh đa dữ liệu (MIMD)

35

2.6

Mô hình luồng

36

2.7


Hoạt động của luồng trong Pthread

38


1

MỞ ĐẦU
1. Lý do chọn đề tài
Cơ sở dữ liệu (CSDL) song song (parallel database Systems) là CSDL được tổ
chức, khai thác và xử lý trong một hệ thống máy tính song song [2].Với CSDL lớn và
phức tạp những máy tính truyền thống phải mất nhiều thời gian để thực hiện các thao
tác cập nhật, tìm kiếm thông tin. Những khó khăn này có thể khắc phục được bằng các
kỹ thuật xử lý song song trên các máy tính song song. Một máy tính song song hoặc
máy tính đa xử lý là một hệ thống được xây dựng từ nhiều thiết bị phần cứng như bộ
xử lý, bộ nhớ, ổ đĩa,... Chúng được tổ chức thành nhiều nút, kết nối nhau qua mạng
truyền thông tốc độ cao.
CSDL song song hiện đang được sử dụng rộng rãi, chúng không những giúp
giảm nhân lực quản lý, vận hành, mà còn giúp người người sử dụng nhận được thông
tin nhanh hơn, chính xác hơn. CSDL song song được sử dụng ở hầu hết các công ty,
tập đoàn có nhu cầu xử lý dữ liệu lớn và phức tạp, đi cùng với đó là xử lý song song
được lập trình để chạy trên các Server có đa bộ xử lý giúp các công ty quản lý và xử lý
dữ liệu tốt hơn [4],[5].
Tập đoàn bưu chính viễn thông Việt Nam nói chung và Viễn Thông Phú Yên
nói riêng cần quản lý nhiều loại dữ liệu và với dung lượng khá lớn được tăng thêm
theo từng tháng. Với việc xử lý trên CSDL song song đã được phân hoạch của công ty
sẽ giúp cho việc truy xuất đồng thời từ các đơn vị trên cùng một bảng dữ liệu nhưng
được phân hoạch theo từng giai đoạn hoặc đơn vị sẽ nhanh hơn và hiệu quả hơn vào
từng thời điểm cụ thể trong tháng.
Với mong muốn sử dụng các kiến thức đã học vào công việc hằng ngày của

mình tại Viễn Thông Phú Yên, tôi mạnh dạn chọn đề tài “Nghiên cứu cơ sở dữ liệu
song song và ứng dụng trong việc tính cước khách hàng VNPT Phú Yên” làm đề tài
luận văn thạc sĩ.

2. Tổng quan tài liệu
CSDL song song đã được nghiên cứu và phát triển bởi nhiều nhà khoa học
trong nước và thế giới. Nghiên cứu về các hệ CSDL song song đã được khởi đầu từ
năm 1983 trong ngữ cảnh của mô hình quan hệ. Việc tổ chức và thiết kế các CSDL
song song là phù hợp với kiểu thiết kế của mô hình dữ liệu quan hệ. Các truy vấn quan
1


hệ thực sự phù hợp cho việc thực hiện song song, bởi vì chúng bao gồm các phép toán
thực hiện trên các dòng dữ liệu có cấu trúc giống nhau [1], [2]. Mỗi toán tử là một
quan hệ mới, vì thế các toán tử này có thể tạo thành các biều đồ luồng dữ liệu song
song bởi vì đầu ra của toán tử này có thể là đầu vào của một toán tử khác, hai toán tử
có thể thực hiện song song bằng cách phân hoạch dữ liệu đầu vào bằng nhiều bộ nhớ
và nhiều bộ xử lý [4]. Trong suốt thập niên vừa qua, một loạt các công ty như
Teradata, Tandem, NCR, Oracle, SqlServer,… đã thành công trong việc phát triển và
đưa vào sử dụng các máy CSDL với tốc độ cao giúp cho việc xử lý dữ liệu được nhanh
hơn nhất là trong thời đại công nghệ số hiện nay.

3. Mục tiêu nghiên cứu
- Tìm hiểu CSDL song song, cách thiết kế CSDL song song.
- Tìm hiểu các mô hình xử lý song song, cách lập trình xử lý song song

4. Đối tượng nghiên cứu
Tìm hiểu các kỹ thuật phân hoạch, cơ chế xử lý song song trong cơ sở dữ liệu
song song và lập trình xử lý song song, từ đó xây dựng CSDL song song tính cước
khách hàng Viễn Thông Phú Yên phân hoạch theo từng khoảng trên SQL Server 2012

và sử dụng ngôn ngữ C# để lập trình song song cho việc tính cước.

5. Phương pháp nghiên cứu
Phương pháp nghiên cứu của luận văn là tập trung vào việc tìm hiểu về CSDL
song song, phân tích, tổng hợp, bình luận, các phương pháp tổ chức dữ liệu song song.
Đề tài cũng sẽ trình bày một cách có hệ thống các nghiên cứu về xử lý song
song, CSDL song song và xây dựng ứng dụng tính cước khách hàng trên cơ sở dữ liệu
song song đã được thiết lập đó.

6. Phạm vi nghiên cứu
- Nghiên cứu tài liệu, nghiên về lý thuyết xử lý song song, hệ cơ sở dữ liệu song
song và lý thuyết thiết kế CSDL song song, các loại phân hoạch trong CSDL song
song.
- Tìm hiểu về hệ quản trị CSDL phân tán SQL Server 2012 và cách phân hoạch
table theo khoảng trong hệ quản trị này.


- Tìm hiểu thêm về lập trình song song, cụ thể là lập trình đa luồng, đa tiến
trình MultiThread trong C#.
- Nghiên cứu các thông tin cần thiết để tính cước từ đó chọn lựa các loại dữ liệu
nào cần phân hoạch để tạo ra một cơ sở dữ liệu song song.
Cấu trúc của luận văn gồm:
 Chương 1: Tổng quan về CSDL song song và các kỹ thuật phân hoạch dữ
liệu. Chương này giới thiệu các khái niệm cơ bản về CSDL song song, các kiến trúc
của hệ thống máy tính song song, các kỹ thuật phân hoạch dữ liệu trong CSDL song
song và các cơ chế xử lý song song [1] [2],[4] .
 Chương 2: Giới thiệu máy tính song song và các mô hình lập trình song
song. Chương này giới thiệu máy tính song song, phân loại máy tính song song và các
mô hình lập trình song song [3],[5].
 Chương 3: Ứng dụng CSDL song song trong việc tính cước khách hàng

VNPT Phú Yên. xây dựng ứng dụng tính cước cho khách hàng Viễn Thông Phú Yên.
CSDL được sử dụng cho ứng dụng này là CSDL song song được hình thành theo chiến
lược phân hoạch dữ liệu. Ngôn ngữ lập trình được sử dụng là C# [3],[5][6],[7].
 Phần kết luận và hướng phát triển.
 Tài liệu tham khảo


Chương 1
TỔNG QUAN VỀ CƠ SỞ DỮ LIỆU SONG SONG
VÀ CÁC KỸ THUẬT PHÂN HOẠCH DỮ LIỆU
1.1 Giới thiệu về Cơ sở dữ liệu song song
Cách đây hơn 2 thập kỷ, hệ cơ sở dữ liệu song song đã gần được xác định, thậm
chí nó còn được sự ủng hộ vững chắc nhất. Ngày nay, hệ cơ sở dữ liệu song song được
tiếp thị thành công bởi các nhà cung cấp hệ cơ sở dữ liệu lớn. Một số xu hướng thúc
đẩy quá trình chuyển đổi này là:
 Cùng với việc sử dụng máy tính ngày càng tăng dẫn theo các yêu cầu giao
dịch ở các công ty cũng tăng theo rất lớn. Hơn nữa, sự phát triển của mạng toàn cầu đã
tạo ra nhiều trang web với hàng triệu người xem, và số lượng dữ liệu thu thập ngày
càng tăng từ những người dùng đã tạo ra cơ sở dữ liệu rất lớn tại nhiều công ty.
 Các tổ chức đang sử dụng khối lượng các dữ liệu ngày càng lớn này như là dữ
liệu về những món hàng mà khách hàng đã mua, các liên kết trang web mà khách hàng
đã chọn, và khi khách hàng thực hiện cuộc gọi điện thoại tức là họ có kế hoạch sử
dụng và hỏi về giá cả. Các truy vấn sử dụng cho các mục đích trên được gọi là truy
vấn hỗ trợ quyết định, và các dữ liệu cho các truy vấn đó có thể lên tới hàng terabyte.
Hệ thống xử lý đơn không có khả năng xử lý khối lượng lớn dữ liệu này cùng lúc.
 Bản chất định hướng của các truy vấn cơ sở dữ liệu là dựa vào sự song song
của nó một cách tự nhiên. Một số hệ thống thương mại và nghiên cứu đã chứng minh
sức mạnh và khả năng của xử lý truy vấn song song.
 Khi bộ vi xử lý đã trở nên rẻ hơn, máy song song đã trở nên phổ biến và
tương đối rẻ tiền.

 Bộ xử lý cá nhân đã tự trở thành máy song song sử dụng kiến trúc đa lõi.
Như chúng ta đã biết sự song song được sử dụng để tăng tốc xử lý, ở đó các
truy vấn được thực hiện nhanh hơn bởi vì nhiều nguồn lực hơn, chẳng hạn như bộ xử
lý, ổ đĩa được cung cấp. Song song cũng được sử dụng để tăng khối lượng công việc


được xử lý mà không cần tăng thời gian đáp ứng, thông qua sự gia tăng mức độ song
song.
Hệ cơ sở dữ liệu song song bao gồm nhiều bộ xử lý và nhiều đĩa kết nối với
nhau bằng một mạng lưới kết nối nhanh chóng. Độ tăng tốc là chúng ta có thể tăng tốc
độ xử lý bằng cách tăng sự song song cho một giao dịch đơn. Độ mở rộng là xử lý các
giao dịch tăng lên bằng cách tăng song song.
Vì vậy chúng ta có thể định nghĩa hệ cơ sở dữ liệu song song là các hệ cơ sở dữ
liệu được tổ chức, khai thác và xử lý trong một hệ thống máy tính song song. Các hệ
này tận dụng tính chất song song trong việc quản lý dữ liệu để khai thác các máy cơ sở
dữ liệu có hiệu năng cao và khả năng xử lý nhanh.
Hệ thống song song cải thiện xử lý và tốc độ vào ra bằng cách sử dụng nhiều bộ
xử lý và các ổ đĩa song song. Máy song song đang trở nên ngày càng phổ biến, khiến
cho việc nghiên cứu các hệ cơ sở dữ liệu song song quan trọng hơn. Các động lực để
thúc đẩy phát triển hệ cơ sở dữ liệu song song là nhu cầu của các ứng dụng phải truy
vấn cơ sở dữ liệu cực kỳ lớn (tương ứng với hàng terabyte-có nghĩa là 1012 byte) hoặc
có thể xử lý một số lượng rất lớn các giao dịch trong một giây tương ứng với hàng
ngàn giao dịch mỗi giây). Hệ thống cơ sở dữ liệu client-server và trung tâm không đủ
mạnh để xử lý các ứng dụng như vậy.
Trong xử lý song song, nhiều phép toán được thực hiện đồng thời, trái ngược
với xử lý tuần tự, trong đó các bước tính toán được thực hiện tuần tự. Máy song song
lớn truyền thống bao gồm một số lượng nhỏ các bộ vi xử lý mạnh mẽ ; máy tính song
song tinh tế ngày nay sử dụng hàng ngàn bộ vi xử lý nhỏ hơn. Hầu như tất cả các máy
cao cấp hiện nay cung cấp một số mức độ song song bình thường là: ít nhất hai hoặc
bốn bộ vi xử lý. Các máy tính song song tinh tế có thể được phân biệt với các máy

song song truyền thống bởi các mức độ song song lớn hơn mà chúng hỗ trợ. Máy tính
song song với hàng trăm bộ vi xử lý và ổ đĩa có khả năng thương mại hóa.
Có hai phương pháp chính đo hiệu suất của một hệ thống cơ sở dữ liệu: (1)
công suất: số lượng các tác vụ có thể được hoàn thành trong một khoảng thời gian nhất
định, và (2) thời gian đáp ứng, số lượng thời gian cần để hoàn thành một tác vụ đơn từ
thời điểm được gửi đi. Một hệ thống xử lý một số lượng lớn nhỏ các giao dịch có thể


cải thiện công suất bằng cách xử lý nhiều giao dịch song song. Một hệ thống xử lý các
giao dịch lớn có thể cải thiện thời gian đáp ứng cũng như hiệu suất bằng cách thực
hiện các tác vụ con của mỗi giao dịch song song.

1.2. Các kiến trúc của hệ thống máy tính song song
Trong các máy tính song song có một số mô hình kiến trúc sau:
 Bộ nhớ chia sẻ: Tất cả các bộ vi xử lý chia sẻ một bộ nhớ dùng chung.
 Ổ đĩa chia sẻ: Tất cả các bộ vi xử lý chia sẻ chung một tập các đĩa. Hệ thống
chia sẻ ổ đĩa đôi khi được gọi là cluster(phân cụm).
 Không chia sẻ: Các bộ xử lý không chia sẻ bộ nhớ chung cũng như các ổ đĩa
dùng chung.
 Phân cấp: Mô hình này là một mô hình lai của ba kiến trúc trước.
1.2.1. Kiến trúc bộ nhớ chia sẻ
Trong kiến trúc chia sẻ bộ nhớ, bộ xử lý và ổ đĩa có thể truy xuất vào bộ nhớ
dùng chung, thường thông qua một bus (là một hệ thống phụ chuyển dữ liệu giữa các
thành phần bên trong máy tính) hoặc thông qua một kết nối mạng. Ưu điểm của bộ
nhớ chia sẻ là thông tin liên lạc cực kỳ hiệu quả giữa các bộ vi xử lý - dữ liệu trong bộ
nhớ chia sẻ có thể được truy cập bởi bất kỳ bộ vi xử lý nào mà không bị di chuyển
cùng với phần mềm. Một bộ xử lý có thể gửi tin nhắn cho nhiều bộ vi xử lý khác
nhanh hơn bằng cách sử dụng các bộ nhớ ghi (thường không mất thời gian hơn một
micro giây) hơn là gửi một tin nhắn thông qua một cơ chế thông tin liên lạc. Nhược
điểm của kiến trúc bộ nhớ chia sẻ là không có khả năng mở rộng vượt ra ngoài 32

hoặc 64 bộ vi xử lý vì bus hoặc kết nối mạng sẽ bị nút cổ chai (kể từ khi nó được chia
sẻ bởi tất cả các bộ vi xử lý) tức là không thể mở rộng nhiều bộ xử lý để đáp ứng
những cơ sở dữ liệu lớn vì mạng truyền thông tối thiểu phải có dải thông bằng tổng
dải thông của các bộ xử lý. Thêm vào đó các bộ vi xử lý không thể làm gì sau thởi
điểm mà từ khi các bộ vi xử lý dành phần lớn thời gian của nó chờ đợi đến lượt mình
trên bus để truy cập bộ nhớ.
Kiến trúc chia sẻ bộ nhớ thường có bộ nhớ cache lớn ở mỗi bộ xử lý để giảm
tắc nghẽn, và tham chiếu của bộ nhớ chia sẻ được tránh bất cứ khi nào có thể. Tuy
nhiên, ít nhất là một số dữ liệu sẽ không được lưu trữ, và truy cập sẽ đi đến bộ nhớ


chia sẻ. Hơn nữa, các bộ nhớ cache cần phải được giữ chặt chẽ; đó là, nếu một bộ xử
lý thực hiện 1 lần ghi vào một vùng bộ nhớ, dữ liệu trong vùng bộ nhớ nên được cập
nhật hoặc gỡ bỏ từ bất kỳ bộ xử lý ở nơi dữ liệu được lưu trữ. Có thể dùng bộ nhớ
cache cho mỗi bộ xử lý nhưng phải đảm bảo sự đồng bộ cache. Do đó bộ nhớ cache
tăng thì số lượng bộ vi xử lý cũng tăng. Các máy dùng chia sẻ bộ nhớ hiện tại không
thể hỗ trợ hơn 64 bộ vi xử lý. Cộng thêm vào đó, thời gian tải và giải phóng cache
cũng ảnh hưởng đáng kế đến việc thi hành của bộ vi xử lý.

Hình 1.1. Kiến trúc bộ nhớ chia sẻ, trong đó P: bộ vi xử lý, M: bộ nhớ, D: ổ đĩa

1.2.2. Kiến trúc ổ đĩa chia sẻ
Trong mô hình ổ đĩa chia sẻ, tất cả các bộ vi xử lý có thể truy cập tất cả các đĩa
trực tiếp thông qua một kết nối mạng, nhưng các bộ vi xử lý có các bộ nhớ riêng. Có
hai ưu điểm của kiến trúc này trong một kiến trúc chia sẻ bộ nhớ. Đầu tiên, kể từ khi
mỗi bộ xử lý có bộ nhớ riêng của mình, bộ nhớ bus không bị nút cổ chai. Thứ hai, nó
có cách để xử lý lỗi khi xảy ra: Nếu một bộ xử lý (hoặc bộ nhớ của nó) bị lỗi, bộ vi xử
lý khác có thể đảm nhận nhiệm vụ của bị vi xử lý bị lỗi, do đó cơ sở dữ liệu lưu trữ
trên đĩa có thể truy cập từ tất cả các bộ vi xử lý. Chúng ta có thể làm hệ thống đĩa con
của nó tránh được lỗi bằng cách sử dụng kiến trúc RAID (là hình thức ghép nhiều ổ

đĩa cứng vật lý thành một hệ thống ổ đĩa cứng có chức năng gia tăng tốc độ đọc/ghi dữ


liệu hoặc nhằm tăng thêm sự an toàn của dữ liệu chứa trên hệ thống đĩa hoặc kết hợp
cả hai yếu tố trên). Kiến trúc chia sẻ ổ đĩa được chấp nhận trong nhiều ứng dụng.
Vấn đề chính của một hệ thống chia sẻ ổ đĩa là một lần nữa khả năng mở rộng.
Mặc dù bộ nhớ bus không còn bị nút cổ chai lâu hơn, nhưng các kết nối tới các hệ
thống ổ đĩa con bây giờ bị nút cổ chai; đặc biệt là trong tình huống các cơ sở dữ liệu
thực hiện một số lượng lớn các truy cập đến ổ đĩa. So với các hệ thống chia sẻ bộ nhớ,
hệ thống chia sẻ đĩa có thể mở rộng số lượng bộ vi xử lý lớn hơn, nhưng thông tin liên
lạc giữa các bộ vi xử lý chậm hơn (lên đến một vài phần nghìn giây khi không có phần
cứng chuyên dùng cho thông tin liên lạc), vì nó phải đi qua một mạng lưới thông tin
liên lạc.

Hình 1.2. Kiến trúc ổ đĩa chia sẻ, trong đó P: bộ vi xử lý, M: bộ nhớ, D: ổ đĩa

1.2.3 Kiến trúc không chia sẻ
Trong một hệ thống không chia sẻ, mỗi nút là một máy độc lập bao gồm một bộ
xử lý, một bộ nhớ, và một hoặc nhiều đĩa. Các bộ vi xử lý tại một nút có thể giao tiếp
với một bộ vi xử lý tại nút khác bằng một kết nối mạng tốc độ cao. Chức năng của một
nút là máy chủ cho các dữ liệu trên một ổ đĩa hoặc nhiểu ổ đĩa mà nút đó sở hữu.


Các tham chiếu ổ đĩa cục bộ được phục vụ bởi các đĩa cục bộ tại mỗi bộ vi xử
lý, mô hình không chia sẻ, khắc phục được những bất lợi của tất cả yêu cầu vào/ra
thông qua một kết nối mạng đơn; tức là chỉ các truy vấn, truy cập vào ổ đĩa không cục
bộ, và mối quan hệ kết quả truyền đi thông qua mạng. Hơn nữa, các kết nối mạng ở
các hệ thống không chia sẻ thường được thiết kế để có khả năng mở rộng, do đó khả
năng truyền dẫn tại các nút sẽ tăng lên. Cho nên, kiến trúc không chia sẻ có khả năng
mở rộng hơn và có thể dễ dàng hỗ trợ một lượng lớn số bộ xử lý. Vì thế ta có thể tổng

kết các ưu điểm của kiến trúc ổ đĩa chia sẻ là:
o Ưu điểm lớn nhất của hệ thống không chia sẻ là có thể mở rộng ra hàng trăm
thậm chí hàng ngàn bộ xử lý mà không ảnh hưởng đến các bộ xử lý khác.
o Kiến trúc không chia sẻ đạt được độ tăng tốc và độ mở rộng gần tuyến tính
trong các quan hệ phức tạp và trong việc xử lý giao thức trực tuyến.
o Vấn đề thời gian chờ truy xuất bộ nhớ không còn là vấn đề bế tắc. Hơn nữa
việc đồng bộ cache cũng dễ duy trì vì mỗi bộ vi xử lý chỉ được phép đọc và ghi các
phần cơ sở dữ liệu dành riêng cho nó.
o Giảm thiểu sự tắc nghẽn lưu thông trên mạng bởi vì chỉ có các câu hỏi và câu
trả lời truyền thông trên mạng. Còn các truy xuất bộ nhớ thô và các phép truy xuất đĩa
thô được thực hiện độc lập trong mỗi bộ xử lý và chỉ có các dữ liệu đã được lọc mới
chuyển qua chương trình máy khách.
Những nhược điểm chính của hệ thống không chia sẻ là chi phí truyền thông và
truy cập đĩa không cục bộ cao hơn so với kiến trúc bộ nhớ chia sẻ hoặc kiến trúc ổ đĩa
chia sẻ do việc gửi dữ liệu liên quan đến phần mềm tương tác ở cả hai đầu.
Nói chung, kiến trúc không chia sẻ có nhiều ưu điểm hơn so với hai kiến trúc đã
nói trên. Nó đạt được độ tăng tốc và độ mở rộng tốt. Vì vậy kiến trúc này được áp
dụng phổ biến trong các hệ CSDL song song, nhưng bù lại nó tốn kém chi phí hơn hai
kiến trúc nói trên.


Hình 1.3. Kiến trúc không chia sẻ, trong đó P: bộ vi xử lý, M: bộ nhớ, D: ổ đĩa
1.2.4 Kiến trúc phân tầng
Kiến trúc phân tầng là sự kết hợp các đặc điểm của kiến trúc bộ nhớ chia sẻ,
kiến trúc ổ đĩa chia sẻ, và kiến trúc không chia sẻ. Ở mức đầu, hệ thống bao gồm các
nút được kết nối bởi mạng kết nối và không chia sẻ ổ đĩa hoặc bộ nhớ với nhau. Như
vậy, mức đầu là kiến trúc không chia sẻ. Mỗi nút của hệ thống thực sự có thể là một hệ
thống chia sẻ bộ nhớ với một số bộ vi xử lý. Ngoài ra, mỗi nút có thể là một hệ thống
chia sẻ ổ đĩa, và mỗi nút trong các hệ thống chia sẻ một tập các ổ đĩa có thể là một hệ
thống chia sẻ bộ nhớ. Do đó, một hệ thống có thể được xây dựng như một hệ thống

phân cấp, với kiến trúc chia sẻ bộ nhớ với một vài bộ vi xử lý tại mỗi nút, và một kiến
trúc không chia sẻ ở mức đầu, có thể là một kiến trúc chia sẻ ổ đĩa ở mức giữa. Hình
1.2.4 minh họa một kiến trúc phân cấp với các nút chia sẻ bộ nhớ kết nối với nhau
trong một kiến trúc không chia sẻ. Hệ thống cơ sở dữ liệu song song thương mại ngày
nay chạy trên các loại kiến trúc này.
Những nỗ lực nhằm giảm sự phức tạp của chương trình chạy trên hệ thống này
đã hình thành kiến trúc bộ nhớ ảo phân tán mà về mặt logic là bộ nhớ chia sẻ, nhưng
về mặt vật lí có nhiều hệ thống bộ nhớ rời; phần cứng bộ nhớ ánh xạ ảo đi với phần
mềm hệ thống, cho phép mỗi bộ vi xử lý nhìn thấy các bộ nhớ rời như một bộ nhớ ảo.
Do đó tốc độ truy cập sẽ khác, tùy thuộc vào việc trang nhớ (phân trang) có sẵn cục bộ
hay chưa.


Hình 1.4. Mô hình kiến trúc phân tầng
Tóm lại, các máy tính lớn truyền thống không còn phù hợp với những cơ sở dữ
liệu lớn và các truy vấn phức tạp nên các máy tính song song đang dần dần được thay
thế. Một hệ thống song song được xây dựng tốt là một hệ thống đảm bảo được hai mục
tiêu: độ tăng tốc và độ mở rộng, đồng thời ít chịu ảnh hưởng của các trở ngại như sự
quá tải khi khởi động, sự tranh chấp và mất cân bằng tải giữa các bộ vi xử lý. Trong
ba kiến trúc phần cứng cho các máy tính song song được giới thiệu ở trên, kiến trúc
không chia sẻ được phát triển và ứng dụng nhiều nhất, do tính phổ dụng và ưu việt của
nó. Các máy tính với kiến trúc này đạt được độ tăng tốc và độ mở rộng gần tuyến tính,
đặc biệt có thể mở rộng ra hàng trăm thậm chí hàng ngàn bộ vi xử lý.

1.3 Các kỹ thuật phân hoạch dữ liệu trong CSDL song song
Có hai loại phân hoạch dữ liệu cơ bản:
 Phân hoạch dữ liệu theo chiều dọc
 Phân hoạch dữ liệu theo chiều ngang
Hình 1.3.1 dưới đây mô tả đồ họa hai loại phân hoạch.



Hình 1.5. Phân hoạch dữ liệu theo chiều dọc và theo chiều ngang
Phân hoạch dữ liệu theo chiều dọc là phân hoạch dữ liệu theo chiều dọc trên tất
cả các bộ vi xử lý. Mỗi bộ xử lý có đầy đủ số lượng các bản ghi của một bảng cụ thể,
nhưng chỉ một phần các thuộc tính. Bởi vì mỗi bộ xử lý có các trường/thuộc tính khác
nhau, khi tìm kiếm giá trị một trường/thuộc tính cụ thể, chỉ có những bộ vi xử lý mà
chứa trường/thuộc tính sẽ tham gia vào quá trình tìm kiếm. Vì vậy, các bộ vi xử lý mà
không chứa trường/thuộc tính cụ thể đó sẽ trở nên nhàn rỗi. Mô hình này là phổ biến
hơn trong các hệ thống cơ sở dữ liệu phân tán, ở đó các hệ thống mạng/giao tiếp chậm
hơn so với hệ thống cơ sở dữ liệu song song, mà phần tử xử lý mạnh hơn thông qua
một kết nối mạng nhanh chóng. Lý do cho việc sử dụng song song trong các hệ thống
cơ sở dữ liệu là để phân tán các nhiệm vụ xử lý giữa tất cả các bộ vi xử lý, do đó thời
gian truy vấn được giảm xuống mức tối thiểu. Bộ vi xử lý tham gia xử lý trong toàn bộ
quá trình là rất quan trọng. Thậm chí quan trọng hơn khi mức độ tham gia phải là ngay
cả khi có thể.
Phân hoạch ngang là một mô hình mà trong đó mỗi bộ xử lý giữ một phần bản
ghi hoàn chỉnh của một bảng cụ thể. Một truy vấn mà đánh giá một giá trị thuộc tính
cụ thể sẽ yêu cầu tất cả các bộ vi xử lý để tham gia. Do đó, mức độ song song được cải
thiện. Mô hình này phổ biến hơn trong hệ thống cơ sở dữ liệu song song, ở đó giao
tiếp diễn ra nhanh chóng và bộ vi xử lý tham gia trong toàn bộ quá trình xử lý thường
xuyên là rất quan trọng. Phương thức phân hoạch ngang đã được sử dụng bởi hầu hết


các hệ thống cơ sở dữ liệu quan hệ song song. Có một số phân hoạch ngang được biết
đến phổ biến hơn, cụ thể là:
 Phân hoạch dữ liệu theo vòng tròn Robin.
 Phân hoạch dữ liệu theo hàm băm.
 Phân hoạch dữ liệu theo khoảng.
 Phân hoạch dữ liệu ngẫu nhiên, bất bình đẳng.
1.3.1 Phân hoạch theo vòng tròn Robin

Phân hoạch dữ liệu vòng tròn Robin là phương pháp phân hoạch dữ liệu đơn
giản nhất, theo đó mỗi bản ghi lần lượt được phân cho một phần tử xử lý theo chiều
kim đồng hồ. Điều này có nghĩa là bản ghi đầu tiên của một bảng phân hoạch được
phân phối đến phần tử xử lý đầu tiên, bản ghi thứ hai đến các thành phần xử lý thứ hai,
và như vậy. Một khi các phần tử xử lý cuối cùng đã có được một bản ghi, phân phối
bản ghi sẽ bắt đầu lại trong các phần tử xử lý đầu tiên. Vào cuối của phân phối dữ liệu,
mỗi phần tử xử lý sẽ nhận được một phân hoạch tương đương, ngoại trừ vòng cuối
cùng của phân phối bản ghi có thể không đạt được các phần tử xử lý cuối cùng, nếu
tổng số bản ghi là không chia hết cho số phần tử xử lý. Hình 1.3.2 đưa ra một minh
họa của phân hoạch dữ liệu theo vòng tròn Robin.

Hình 1.6. Phân hoạch theo vòng tròn Robin.
Từ cách phân phối trên ta có thể biết được bản ghi thứ i của một bảng đã được
phân hoạch trên N đĩa được đánh số thứ tự từ 0,1,....,N-1 sẽ được đặt vào đĩa thứ (i
mod N)


Từ khi phân hoạch dữ liệu theo vòng tròn Robin phân phối các dữ liệu đều đến
tất cả các phần tử xử lý, nó còn được gọi là "phân hoạch cân bằng '' Phân hoạch theo
vòng tròn Robin là một trường hợp đặc biệt của "phân hoạch ngẫu nhiên-cân bằng"
tổng quát, ở đó mỗi bộ vi xử lý nhận được một phần dữ liệu chia sẻ bằng nhau của
bảng ban đầu, không phụ thuộc vào cách phân hoạch được thực sự thực hiện, ví dụ,
chia bảng vào các bảng con bằng nhau và sau đó phân phối mỗi bảng con đến một
phần tử xử lý riêng.
Ưu điểm chính của phân hoạch theo vòng tròn Robin hay phân hoạch ngẫu
nhiên – cân bằng đó là các dữ liệu được phân bố đồng đều. Vì mục đích của xử lý song
song, đặc biệt xử lý trong cơ sở dữ liệu song song là đạt được cân bằng tải để giảm
thời gian thực hiện một công việc, và phân hoạch dữ liệu này hỗ trợ mục tiêu đó.
Mặc dù sự phân chia của các bản ghi bằng nhau, nhưng các bản ghi trong một
phân hoạch không được phân nhóm ngữ nghĩa. Các bản ghi được nhóm lại chỉ đơn

giản là để đạt được các phân hoạch bình đẳng trong mỗi bộ vi xử lý. Đây là nhược
điểm chính của vòng tròn Robin, hay nói cách khác phân hoạch này không thích hợp
với các truy vấn khoảng vì phải tiến hành tìm kiếm trên tất cả các phân hoạch. Theo ví
dụ 1.3.1 bên dưới, rằng chúng ta muốn tìm các bản ghi với một thuộc tính cụ thể như
ngày gọi là ngày như sau “16-10-2014”, sau đó tất cả các bộ vi xử lý phải hoạt động,
mặc dù có lẽ chỉ là một vài trong số các phần tử xử lý sẽ tạo ra kết quả mong muốn.
Không có cách nào để biết trước những phần tử xử lý giữ những bản ghi này. Như vậy
chi phí khỏi tạo và chi phí tham gia xử lý rất tốn kém, đặc biệt là nếu các phần tử xử lý
cuối cùng không cung cấp bất kỳ bản ghi nào, chúng sẽ phải chịu các chi phí không
cần thiết. Phân hoạch này sẽ thuận lợi nếu chỉ có những phần tử xử lý mà có khả năng
tạo ra kết quả có liên quan trong việc xử lý. Tuy nhiên, điều này là không thể thực hiện
với bất kỳ phân hoạch theo vòng tròn Robin khi các phân hoạch dữ liệu không có bất
kỳ ngữ nghĩa nào.
Ví dụ 1.3.1: Bảng Cuocgoi (CHUGOI, BIGOI, NGAYGOI, SOGIAY,
THANHTIEN) được phân hoạch theo chiều kim đồng hồ trên 5 đĩa/phần tử xử lý. Khi
đó mỗi phần tử xử lý chỉ hơn kém nhau một bản ghi. Được biểu diễn như bảng dưới
đây:


Bảng 1.1. Phân hoạch theo vòng tròn Robin
1.3.2 Phân hoạch theo hàm băm
Để tạo một phân vùng có ý nghĩa hơn (bằng cách nhóm các bản ghi có cùng
một ngữ nghĩa hay đặc tính), phân hoạch phải được dựa trên một thuộc tính đặc biệt.
Một loại phân hoạch dựa trên thuộc tính là phân hoạch theo hàm băm, tức là một hàm
băm được áp dụng. Kết quả của hàm băm này quyết định bộ vi xử lý nào lưu giữ các
bản ghi. Kết quả là, các bản ghi trong một phân hoạch có giá trị băm giống nhau. Hình
1.3.3 dưới đây đưa ra một minh họa đồ họa của một phân hoạch dữ liệu theo hàm băm.


Hình 1.7. Phân hoạch dữ liệu theo hàm băm

Sự sắp xếp này là tốt nhất cho sự truy xuất chính xác dựa trên các thuộc tính
phân hoạch, ở đó các bộ vi xử lý có chứa các bản ghi mong muốn có thể được truy cập
trực tiếp, với điều kiện là hàm băm dựa trên thuộc tính đó cũng là thuộc tính tương tự
của việc truy xuất chính xác. Trong trường hợp này, các phần tử xử lý được chọn sẽ
chỉ được kích hoạt khi chúng giữ các bảng ghi ứng cử viên, trong khi các phần tử xử lý
khác không được yêu cầu làm việc, do đó làm giảm tổng chi phí. Những phần tử xử lý
mà nhàn rỗi trong công việc cụ thể này có thể có sẵn sàng để xử lý các công việc
khác.Tổng quát hơn là dữ liệu được phân hoạch cho tất cả các đĩa bằng cách áp dụng
hàm băm ngẫu nhiên trên thuộc tính phân hoạch. Hàm băm sẽ trả về 1 số i trong
khoảng từ (0, …, N-1) đĩa.
Một ví dụ về một truy xuất chính xác bằng cách sử dụng một phân hoạch dữ
liệu theo hàm băm là như sau. Ví dụ, hàm băm dựa trên thuộc tính ngày gọi, và việc
tìm kiếm là để tìm ra cuộc gọi có ngày gọi là ngày “15-10-2014”. Ngày gọi này được
băm, sử dụng cùng một hàm băm cho các phân hoạch dữ liệu. Kết quả của hàm băm
này xác định được nơi chứa các bản ghi, và các phần tử xử lý giữ bản ghi này sẽ được
kích hoạt và các bản ghi mong muốn sẽ được tìm ra. Đây là một ví dụ về một truy xuất
chính xác bằng cách sử dụng một phân hoạch dữ liệu theo hàm băm.
Một vấn đề của phân vùng băm liên quan đến xử lý các bản ghi của một khoảng
nhất định, mà phân hoạch theo hàm băm không thể trực tiếp phát hiện vị trí của một
bản ghi. Giả sử tìm kiếm trên được sửa đổi để tìm cuộc gọi có ngày gọi từ ngày “1510-2014” đến ngày “17-10-2014. Với phương pháp băm, nó không thể băm mỗi giá trị


ngày gọi riêng biệt trong phạm vi đã cho, và chúng ta không biết khoảng giá trị tối đa
ngày gọi của cuộc gọi là bắt đầu từ ngày “15”, ngay cả khi chúng ta đã biết, cũng mất
thời gian để băm mỗi cuộc gọi có ngày gọi riêng biệt chỉ để xác định các bộ vi xử lý
chứa các bản ghi đó mong muốn. Do đó, phân hoạch hàm băm là không phù hợp với
tìm kiếm theo khoảng, nó chỉ phù hợp tìm kiếm theo giá trị chính xác.
Một nhược điểm khác tồn tại trong phân hoạch dữ liệu theo hàm băm là cân
bằng tải của mỗi phần tử xử lý có thể bị mất cân bằng, vì sự phân bố giá trị dữ liệu
không đồng đều. Từ quan điểm hoạt động tìm kiếm, nó có thể không là một vấn đề lớn

như đã giải thích ở trên. Nhưng từ quan điểm của các hoạt động khác, nó có thể có tác
động xấu đến hiệu suất, bởi vì các dữ liệu ban đầu được giao là đã sai lệch.
Ví dụ dưới đây mô tả việc thực hiện phân hoạch dữ liệu theo hàm băm bảng
Cuocgoi đã cho ở ví dụ 1.3.1:
Ví dụ 1.3.2: Phân hoạch theo hàm băm theo dữ liệu đã được cho ở ví dụ 1.3.1,
ta thực hiện một hàm băm đơn giản nhất là sử dụng hàm băm k=t.A mod N. k là
đĩa/phần tử được phân hoạch cuộc gọi vào, t là 1 giá trị tùy ý, ở đây ta cho bằng 1, A là
giá trị ngày, ở đây là sẽ lấy số ngày là 1 số nguyên dương, N là số đĩa =5. Từ đó ta
được bảng phân hoạch như sau:
1.ngay mod 5 =0
Đĩa 0
NGAY
GOI
..
15-102014
20-102014
1.ngay mod 5 =3
Đĩa 3
NGAY
GOI
..
18-102014

1.ngay mod 5 =1
Đĩa 1
NGAY
GOI
..
16-102014
21-102014

1.ngay mod 5 =4
Đĩa 4
NGAY
GOI
..
19-102014

1.ngay mod 5 =2
Đĩa 2
NGAY
GOI
..
17-102014


1.3.3 Phân hoạch theo khoảng
Phân hoạch theo khoảng chia các bản dựa trên một một khoảng nhất định của
thuộc tính phân hoạch. Ví dụ, bảng cuộc gọi được phân chia dựa trên ngày gọi theo sự
phân bố phạm vi sau đây: ngày gọi từ ngày 15 đến ngày 16 thuộc phần tử xử lý đầu
tiên, ngày gọi từ ngày 17 đến ngày 18 thuộc phần tử xử lý thứ hai, v.v. Hình 1.3.4 đưa
ra một minh họa đồ họa của phân hoạch dữ liệu theo khoảng.

Hình 1.8. Phân hoạch dữ liệu theo khoảng
Một hệ quả của phân hoạch dữ liệu theo khoảng này là việc xử lý các bản ghi
trên một khoảng cụ thể của thuộc tính phân vùng có thể trực tiếp đến một nhóm nhỏ
các bộ vi xử lý có chứa khoảng bản ghi mong muốn. Ví dụ, truy xuất đến cuộc gọi có
ngày gọi từ ngày “15-10-2014” đến ngày “17-10-2014” (ví dụ ngày gọi là ngày 15 ,16
và 17 vv) có thể trực tiếp đến các phần tử xử lý giữ bản ghi bắt đầu từ ngày 15 đến
ngày 17. Một ví dụ khác có thể truy xuất cuộc gọi có ngày gọi từ ngày ngày 15 đến
ngày 18, và truy vấn này có thể trực tiếp đến 1 hoặc 2 bộ vi xử lý.

Điều đó chỉ ra rằng phân hoạch theo khoảng đặc biệt thích hợp với truy xuất theo
khoảng. Tuy nhiên, cả hai phân hoạch dữ liệu theo khoảng và theo hàm băm đều gặp
rắc rối với dữ liệu được phân phối lệch. Trong hình 3.5 (cũng như hình. 3.4 cho phân
hoạch theo hàm băm), cân bằng tải của mỗi phần tử xử lý có thể không được cân bằng
và đồng đều. Điều này có thể ảnh hưởng đến một số thực thi ở trên, khi vị trí dữ liệu
ban đầu là đã sai lệch.
Hơn nữa, xử lý truy xuất dựa trên một thuộc tính không phân hoạch không có
thể sử dụng phân hoạch theo hàm băm hoặc theo khoảng. Ví dụ, nếu các phân hoạch
(khoảng hoặc hàm băm) dựa trên thuộc tính ngày gọi và truy vấn dựa trên số bị gọi,


sau đó truy vấn sẽ không thể sử dụng được ưu điểm của phân hoạch theo khoảng hoặc
hàm băm đã cung cấp, bởi vì thuộc tính được sử dụng trong phân hoạch dữ liệu là khác
với thuộc tính trong truy vấn. Trong trường hợp này, tất cả các bộ vi xử lý phải được
kích hoạt và sử dụng để xử lý truy vấn. Một vấn đề thực tế là cả hai phân hoạch theo
khoảng và hàm băm trong trường hợp này đều sinh ra bất lợi, khi việc phân bổ dữ liệu
ban đầu trong mỗi phần tử xử lý không đồng đều. Nói cách khác, tất cả các bộ vi xử lý
được sử dụng để xử lý, và khi tải trọng của mỗi bộ xử lý là khác nhau, thời gian hoàn
thành của mỗi bộ vi xử lý sẽ không bằng nahu, và thời gian hoàn thiện lâu nhất là thời
gian thực hiện các truy vấn.
Ví dụ 1.3.3: Phân hoạch theo khoảng dữ liệu đã cho ở ví dụ 1.3.1 các khoảng
như sau:
15<=Ngay<17
Đĩa 0
NGAY
GOI
..
15-102014
16-102014
19<=Ngay<20

Đĩa 2
NGAY
GOI
..
19-102014

17<=Ngay<19
Đĩa 1
NGAY
GOI
..
17-102014
18-102014
20<=Ngay<21
Đĩa 3
NGAY
GOI
..
20-102014

21<=Ngay<22
Đĩa 4
NGAY
GOI
..
21-102014

1.3.4 Phân hoạch ngẫu nhiên không cân bằng
Kỹ thuật phân hoạch dữ liệu cơ bản cuối cùng là phân hoạch dữ liệu ngẫu nhiên
không cân bằng. Như tên gọi của nó, có hai nội dung quan trọng về phương pháp phân

hoạch dữ liệu ngẫu nhiên không cân bằng:
 Phân hoạch không dựa trên các thuộc tính tương tự như việc xử lý truy xuất
dựa vào (các phân hoạch có thể là một phương pháp phân hoạch theo hàm băm hoặc


×