Một số thử nghiệm sử dụng chuẩn TPC-C để đánh giá hệ quản trị cơ sở dữ liệu hướng đối tượng Versant V8 - Nguyễn Trần Quốc Vinh
Khi sử dụng thư viện API trên ngôn ngữ C#
do Versant cung cấp để lập trình ứng dụng
máy khách, các tác giả nhận thấy, trình máy
khách yêu cầu rất cao về tài nguyên. Đặc biệt,
yêu cầu bộ nhớ thường trên 800MB. Với cấu
hình các máy khách được sử dụng, trình máy
khách chỉ có thể hoạt động bình thường nếu
số lượng chạy đồng thời không vượt quá 2 cả
trong hai trường hợp mỗi trình máy khách là
một tiến trình mô phỏng (thread) và mỗi trình
máy khách là một chương trình riêng lẻ.
Ngược lại, với thư viện ADO.NET – thư viện
do Microsoft cung cấp để làm việc với SQL
Server, tài nguyên hệ thống được yêu cầu
không cao và số lượng máy khách có thể mô
phỏng trong một chương trình máy khách có
thể lên đến hàng trăm. Với thời gian thực thi
giao dịch trên máy chủ HQT CSDL, trong
trường hợp SQLS thì rất nhỏ so với tổng thời
gian nhập liệu và hiển thị. Trong khi đó, trong
trường hợp VOD thì tương đương. Vì hai lý
do số lượng máy khách mô phỏng nhỏ (5
máy) và tỉ lệ thời gian thực thi giao dịch trên
tổng thời gian nhập liệu và hiển thị là quá
chênh lệch, ta thấy kết quả trên chưa thể hiện
được sự so sánh về khả năng xử lý giao dịch
của các HQT CSDL. Vì thế, các tác giả đề
xuất loại bỏ thời gian nhập liệu và hiển thị khi
so sánh SQLS và VOD. Kết quả thu được sau
thời gian đo là 120 phút được hiển thị trong
bảng sau đây cho ta thấy khả năng xử lý giao
dịch của SQLS cao hơn VOD rất nhiều lần.
5 trang |
Chia sẻ: thucuc2301 | Lượt xem: 708 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Một số thử nghiệm sử dụng chuẩn TPC-C để đánh giá hệ quản trị cơ sở dữ liệu hướng đối tượng Versant V8 - Nguyễn Trần Quốc Vinh, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Nguyễn Trần Quốc Vinh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 99(11): 115 - 119
115
MỘT THỬ NGHIỆM SỬ DỤNG CHUẨN TPC-C ĐỂ ĐÁNH GIÁ HỆ QUẢN TRỊ
CƠ SỞ DỮ LIỆU HƯỚNG ĐỐI TƯỢNG VERSANT V8
Nguyễn Trần Quốc Vinh1*, Trương Quang Sinh1, Kungurtsev A.B.2
1Trường Đại học Kinh Tế - Đại học Đà Nẵng
2Odessa National Polytechnic University
TÓM TẮT
TPC-C được công nhận rộng rãi là chuẩn để đánh giá các hệ thống phần cứng và phần mềm hệ
quản trị cơ sở dữ liệu quan hệ về khả năng xử lý giao dịch trực tuyến. TPC-C để ngỏ khả năng sử
dụng để đánh giá các hệ quản trị cơ sở dữ liệu (HQT CSDL) loại khác. Phần lớn các hệ thống
thông tin quản lý tại các doanh nghiệp nhỏ và vừa thuộc loại xử lý giao dịch trực tuyến. Ngày nay,
HQT CSDL hướng đối tượng không còn xa lạ và cũng được xem là một lựa chọn để trở thành một
phần của hệ thống thông tin quản lý. Tuy nhiên, tác giả chưa gặp tài liệu nào công bố đánh giá, so
sánh giữa HQT CSDL quan hệ và hướng đối tượng trên phương diện xử lý giao dịch. Tác giả tiến
hành nghiên cứu TPC-C, xây dựng CSDL và công cụ đánh giá HQT CSDL quan hệ và hướng đối
tượng thuộc loại phổ biến nhất hiện nay là MS SQL Server 2008 R2 và Versant Object Database 8
và từ đó thực hiện đánh giá và so sánh kết quả đánh giá để cố gắng đưa ra khuyến cáo trong việc lựa
chọn HQT CSDL cho các hệ thống thông tin quản lý trên phương diện xử lý giao dịch trực tuyến.
Từ khóa: đánh giá hiệu năng, TPC-C, mô phỏng, CSDL hướng đối tượng Versant v8, MS SQL Server
2008 R2.
MỞ ĐẦU*
Được phê duyệt từ tháng 6 năm 1992, TPC-C
[1, 2] được công nhận rộng rãi là chuẩn để
đánh giá các hệ thống phần cứng và phần
mềm về khả năng xử lý giao dịch trực tuyến.
Mục đích thiết kế ban đầu của TPC-C là xác
định tập hợp các yêu cầu chức năng có thể
được thực hiện trên nhiều hệ thống xử lý giao
dịch trực tuyến không phụ thuộc vào phần
cứng (cho phép đánh giá trên mọi cấp độ
năng lực của phần cứng) và hệ điều hành. Nó
khác biệt so với các chuẩn đánh giá khác ở
chỗ nó được mô hình hoá dựa trên các ứng
dụng và môi trường cuối cùng, nơi có nhiều
thao-tác-viên đầu cuối thực hiện các giao dịch
trên cớ sở dữ liệu (CSDL). Việc đánh giá tập
trung quanh các thao tác căn bản trong môi
trường thương mại. TPC-C đề cập hỗn hợp
các giao dịch tương tranh thuộc 5 loại với
mức độ phức tạp khác nhau được thực thi trực
tuyến hoặc trong chế độ trì hoãn (deferred
execution), bao gồm đặt hàng (new-order) và
thực hiện đơn hàng (delivery), ghi lại việc
thanh toán (payment), kiểm tra tình trạng đơn
hàng (order-status) và thể hiện mức độ hàng
tồn trong kho (stock-level). Các giao dịch này
*
Tel: 0914 780898, Email: ntquocvinh@due.edu.vn
thực hiện lựa chọn (select), thêm mới (insert),
cập nhật (update), xoá (delete) cũng như huỷ
bỏ (abort) các thao tác đó. TPC-C không giới
hạn việc đánh giá đối với một phân đoạn
thương mại cụ thể, ngược lại, nó thể hiện mọi
lĩnh vực công nghiệp có quản lý, bán hàng,
phân phối sản phẩm hoặc dịch vụ. CSDL bao
gồm 9 bảng với số lượng bản ghi cũng như
kích cỡ khác nhau. TPC-C đo lường số lượng
giao dịch được thực hiện trong vòng một
phút (tpmC) cũng như chi phí trung bình
cho mỗi tpmC.
Tuy mục đích chính của TPC-C là để đánh
giá các hệ quản trị (HQT) CSDL quan hệ,
nhưng TPC-C để ngỏ khả năng sử dụng để
đánh giá các HQT CSDL loại khác [1]. Phần
lớn các hệ thống thông tin quản lý thuộc loại
dựa trên xử lý giao dịch trực tuyến. Ngày nay,
HQT CSDL hướng đối tượng [3, 5] không
còn xa lạ và cũng được xem là một lựa chọn
để trở thành một phần của hệ thống thông tin
quản lý. Tuy nhiên, tác giả chưa gặp tài liệu
nào công bố đánh giá so sánh giữa HQT
CSDL quan hệ và hướng đối tượng trên
phương diện xử lý giao dịch [2-6]. Điều đó
cho thấy việc lựa chọn một HQT CSDL làm
nền tảng quản lý dữ liệu cho một hệ thống
thông tin quản lý trong các tổ chức kinh tế xã
Nguyễn Trần Quốc Vinh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 99(11): 115 - 119
116
hội với quy mô nhỏ và vừa không hề đơn
giản. Tác giả tiến hành nghiên cứu TPC-C,
xây dựng CSDL và công cụ đánh giá HQT
CSDL quan hệ và hướng đối tượng thuộc loại
phổ biến nhất hiện nay là Microsoft SQL
Server 2008 R2 (SQLS) và Versant Object
Database 8 (VOD). Từ đó thực hiện đánh giá
và so sánh kết quả đánh giá để cố gắng đưa ra
khuyến cáo trong việc lựa chọn HQT CSDL
cho các hệ thống thông tin quản lý trên phương
diện khả năng xử lý giao dịch trực tuyến.
Giải pháp đề xuất
Để đạt được mục tiêu đó, tác giả sẽ tiến hành
thực hiện đánh giá HQT CSDL SQLS:
Xây dựng CSDL quan hệ theo các đặc tả
TPC-C trên Microsoft SQL Server 2008.
- Xây dựng mô-đun sinh dữ liệu theo TPC-C
cho CSDL QH bằng ngôn ngữ lập trình C#.
- Xây dựng mô-đun mô phỏng các giao dịch
theo các đặc tả TPC-C bằng C# và ngôn ngữ
truy vấn SQL.
- Xây dựng mô-đun cho phép tiến hành mô
phỏng các máy khách (terminal operator) thực
hiện các giao dịch và đo thời gian thực thi của
các giao dịch theo TPC-C bằng C#.
Sau khi đã xây dựng được môi trường nghiệp
vụ để đo hiệu năng của CSDL QH, ta tiến
hành xây dựng môi trường nghiệp vụ để đo hiệu
năng của CSDL HĐT VOD theo các bước:
- Sử dụng các nguyên tắc chuyển đổi một
CSDL QH sang CSDL HĐT để chuyển
CSDL QH trên Microsoft SQL Server 2008
mà đã xây dựng theo các đặc tả trong TPC-C
sang CSDL HĐT trên VOD.
- Chuyển mô-đun sinh dữ liệu theo TPC-C
cho CSDL QH sang mô-đun cho phép sinh dữ
liệu cho CSDL HĐT trên VOD bằng C#.
- Chuyển các mô-đun mô phỏng giao dịch bên
CSDL QH đã xây dựng theo TPC-C sang các
mô-đun mô phỏng giao dịch cho phép tương
tác với CSDL HĐT trên VOD bằng C# và
ngôn ngữ truy vấn đối tượng OQL.
- Chuyển mô-đun đo hiệu năng của CSDL
QH theo TPC-C thành mô-đun cho phép thực
hiện mô phỏng các operator đầu cuối thực
hiện các giao dịch và tiến hành đo thời gian
thực thi của các giao dịch trên CSDL HĐT
của VOD bằng C#.
Cuối cùng, tiến hành chạy các mô-đun
chương trình ứng với CSDL quan hệ và
CSDL hướng đối tượng, thực hiện phép đo
theo TPC-C, lấy kết quả, so sánh và đánh giá.
THỬ NGHIỆM VÀ ĐÁNH GIÁ KẾT QUẢ
Xây dựng CSDL
Môi trường nghiệp vụ - công ty mô phỏng
theo chuẩn là một nhà cung cấp với một
lượng các địa hạt (district) phân phối và các
kho hàng (warehouse) liên quan. Với việc mở
rộng kinh doanh của công ty, các kho hàng
mới và các địa hạt bán hàng liên quan được
tạo. Mỗi kho hàng của một vùng miền bao
gồm 10 địa hạt. Mỗi địa hạt phục vụ 3,000
khách hàng (customer) tất cả các kho hàng
duy trì 100,000 sản phẩm (product) mà được
bán bởi công ty. Các khách hàng gọi đến công
ty để đặt một hóa đơn mới hoặc yêu cầu trạng
thái của hóa đơn đang tồn tại. Các hóa đơn
chứa trung bình 10 dòng sản phẩm (một dòng
là một sản phẩm). 1% các dòng sản phẩm là
không có mặt trong kho hàng trong vùng mà
phải được cung cấp từ các kho hàng khác. Hệ
thống cũng được dùng để nhập các thanh toán
từ khách hàng, xử lý hóa đơn để giao hàng, và
xem mức dự trữ để phát hiện ra nguy cơ thiếu
hàng tiềm tàng. Theo đó, CSDL được tổ chức
như trên hình 1 bên dưới.
Hình 1. Sơ đồ quan hệ thực thể (Nguồn: TPC
BENCHMARK™ C)
Theo các đặc tả trên, ta xây dựng được CSDL
QH trong HQT CSDL QH Micorosoft SQL
Server 2008 R2 bao gồm 9 bảng. Sau đó thực
hiện sinh dữ liệu với số lượng bản ghi như
trên sơ đồ (1k = 1.000) và áp dụng các quy
tắc chuyển CSDL quan hệ sang CSDL HĐT
để chuyển CSDL vừa tạo cùng với dữ liệu
vừa sinh sang HQT CSDL HĐT VOD. Trong
Warehouse District
History
Customer
New-Order
OrderOrder-LineItem
Stock
W W*10
3k
1+
W*30k
W*30k+5-15
0-1
1+
W*30k+
W*9k+
W*300k+
3+
100k
W
W*100k
100k
10
Nguyễn Trần Quốc Vinh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 99(11): 115 - 119
117
trường hợp này, các thuộc tính đều chấp nhận
giá trị đơn nên việc chuyển từ CSDL quan hệ
sang CSDL HĐT tương đối đơn giản. Tương
ứng, trong HQT CSDL HĐT VOD ta thu
được CSDL bao gồm 9 lớp Customer,
District, History, Item, NewOrder, Order,
OrderLine, Stock và Warehouse với số lượng
đối tượng tương ứng.
Cấu hình môi trường chạy thử nghiệm
Sau khi xây dựng CSDL cũng như các mô-
đun cho phép mô phỏng máy khách thực hiện
các giao dịch cũng như đo thời gian, tác giả
tiến hành cài đặt mô phỏng theo mô hình tuân
thủ theo yêu cầu của TPC-C như trên hình 2.
Hình 2. Mô hình hệ thống chạy thử nghiệm
Với mỗi HQT CSDL, việc cài đặt môi trường
được tiến hành theo quy trình: định dạng ổ
cứng, cài hệ điều điều hành, cài các hệ
thống/mô-đun cần thiết, khôi phục CSDL bao
gồm dữ liệu đã được sinh ra, thực hiện các
cấu hình cần thiết. Như vậy, ta đã loại bỏ tối
đa các tác nhân khác có thể ảnh hưởng đến
kết quả đo lường.
Kết quả đo lường
TPC-C yêu cầu phải mô phỏng và đo lường
theo môi trường thực, nghĩa là phải đo thời
gian đáp ứng của menu (Measure menu
Response Time), thời gian nhập liệu (Keying
time), thời gian thực thi giao dịch (Measure
transaction Response Time) và thời gian hiển
thị kết quả (Think time). Ngoài thời gian thực
thi giao dịch, các thời gian còn lại đều được
quy định mức tối thiểu và tối đa. Để đơn giản
hoá, các mức thời gian này được chọn ngẫu
nhiên trong khoảng cho phép. Thời gian thực
thi giao dịch được tính từ thời điểm gửi lệnh
thực hiện giao dịch đến máy chủ CSDL cho
đến thời điểm nhận toàn bộ kết quả ở máy
khách. Mỗi hỗn hợp giao dịch bao gồm các
giao dịch thuộc 5 loại đã nêu được lấy ngẫu
nhiên theo thứ tự nhưng phải đảm bảo theo tỉ
lệ New-Order - 43.5%, Payment - 43.5%,
Order-Status - 4.4%, Delivery - 4.4%, Stock-
Level - 4.4%.
Ở mỗi máy khách, các hỗn hợp giao dịch
được thực thi liên tiếp nhau. Sau thời gian
thực hiện đo lường 120 phút với 05 máy
khách, tác giả đã thu được kết quả đo lường
hiệu năng cho HQT CSDL SQLS và VOD.
Kết quả chính được trình bày trong bảng 1 và
bảng 2.
Khi sử dụng thư viện API trên ngôn ngữ C#
do Versant cung cấp để lập trình ứng dụng
máy khách, các tác giả nhận thấy, trình máy
khách yêu cầu rất cao về tài nguyên. Đặc biệt,
yêu cầu bộ nhớ thường trên 800MB. Với cấu
hình các máy khách được sử dụng, trình máy
khách chỉ có thể hoạt động bình thường nếu
số lượng chạy đồng thời không vượt quá 2 cả
trong hai trường hợp mỗi trình máy khách là
một tiến trình mô phỏng (thread) và mỗi trình
máy khách là một chương trình riêng lẻ.
Ngược lại, với thư viện ADO.NET – thư viện
do Microsoft cung cấp để làm việc với SQL
Server, tài nguyên hệ thống được yêu cầu
không cao và số lượng máy khách có thể mô
phỏng trong một chương trình máy khách có
thể lên đến hàng trăm. Với thời gian thực thi
giao dịch trên máy chủ HQT CSDL, trong
trường hợp SQLS thì rất nhỏ so với tổng thời
gian nhập liệu và hiển thị. Trong khi đó, trong
trường hợp VOD thì tương đương. Vì hai lý
do số lượng máy khách mô phỏng nhỏ (5
máy) và tỉ lệ thời gian thực thi giao dịch trên
tổng thời gian nhập liệu và hiển thị là quá
chênh lệch, ta thấy kết quả trên chưa thể hiện
được sự so sánh về khả năng xử lý giao dịch
của các HQT CSDL. Vì thế, các tác giả đề
xuất loại bỏ thời gian nhập liệu và hiển thị khi
so sánh SQLS và VOD. Kết quả thu được sau
thời gian đo là 120 phút được hiển thị trong
bảng sau đây cho ta thấy khả năng xử lý giao
dịch của SQLS cao hơn VOD rất nhiều lần.
SQLS VOD
Số lượng giao dịch 100.004 1.917
tpmC 363 7
Nguyễn Trần Quốc Vinh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 99(11): 115 - 119
118
Bảng 1. Kết quả đo lường hiệu năng cho HQT CSDL SQLS
MQTh, computed Maximum Qualified Throughput 4.8 tpmC
Response Times (90th percentile/Average/maximum) in seconds
- New-Order 0.7 / 0.3 / 10.0
- Payment 0.1 / 0.4 / 15.0
- Order-Status 0.04 / 0.4 / 15.0
- Delivery 1.1 / 0.7 / 15.0
- Stock-Level 0.003 / 0.4 / 15.0
- Menu 0.2 / 0.1 / 0.9
- Response time delay added for emulated components 0.35 seconds
Transaction Mix, in percent of total transactions
- New-Order 43.5 %
- Payment 43.5 %
- Order-Status 4.4 %
- Delivery 4.4 %
- Stock-Level 4.4 %
Keying/Think Times (in seconds), Min. Average Max.
- New-Order 9.4 /6.0 23.1/15.7 37.0/25.3
- Payment 1.5 /6.2 3.9/15.3 6.1 /24.6
- Order-Status 1.2 /5.2 2.6/13.2 4.3 /21.0
- Delivery 1.3 /2.9 2.7/6.5 4.2 /10.4
- Stock-Level 1.0 /2.7 2.7/6.4 4.2 /10.3
Test Duration
- Measurement interval 120 minutes
- Number of checkpoints 120
- Checkpoint interval 1 minutes
- Number of roll-backed transactions 22
- Number of transactions (all types)
Completed in measurement interval 1329
Bảng 2. Kết quả đo lường hiệu năng cho HQT CSDL VOD
MQTh, computed Maximum Qualified Throughput 2.7 tpmC
Response Times (90th percentile/Average/maximum) in seconds
- New-Order 43.1 / 31.1 / 73.0
- Payment 13.2 / 7.4 / 56.2
- Order-Status 5.9 / 2.5 / 23.8
- Delivery 224.2 / 79.6 / 621.9
- Stock-Level 43.2 / 21.5 / 100.4
- Menu 0.2 / 0.1 / 0.9
- Response time delay added for emulated components 0.35 seconds
Transaction Mix, in percent of total transactions
- New-Order 43.5 %
- Payment 43.5 %
- Order-Status 4.4 %
- Delivery 4.4 %
- Stock-Level 4.4 %
Keying/Think Times (in seconds), Min. Average Max.
- New-Order 8.9/6.1 23.4 /15.3 36.9/25.0
- Payment 1.6 /5.8 3.8 /15.4 6.1 /24.7
- Order-Status 1.2 /5.1 2.8 /13.8 4.0 /21.3
- Delivery 1.1 /2.9 2.8/6.2 4.3 /10.2
- Stock-Level 1.0 /2.7 2.7 /6.9 4.2/10.1
Test Duration
- Measurement interval 120 minutes
- Number of checkpoints N/A
- Checkpoint interval N/A minutes
- Number of roll-backed transactions 37
- Number of transactions (all types)
Completed in measurement interval 747
Nguyễn Trần Quốc Vinh và Đtg Tạp chí KHOA HỌC & CÔNG NGHỆ 99(11): 115 - 119
119
ĐÁNH GIÁ KẾT QUẢ ĐO LƯỜNG
Với môi trường mô phỏng và đo lường trong
phạm vi nghiên cứu này, ta thấy rằng với một
môi trường CSDL tập trung, HQT CSDL
quan hệ SQLS cho ta thời gian thực thi các
giao dịch nhanh hơn HQT CSDL VOD
khoảng 1,77 lần nếu so sánh tpmC – dựa trên
số lượng giao dịch new-order thực thi được.
Từ đó ta có thể khuyến cáo rằng, trong các
môi trường nghiệp vụ thương mại thông
thường, không đòi hỏi phải mô hình hóa các
kiểu dữ liệu và các quan hệ phức tạp và cũng
không bắt buộc lưu trữ các đối tượng được
tạo ra để thao tác trong quá trình lập trình
ngôn ngữ lập trình hướng đối tượng thì không
nhất thiết phải chuyển qua dùng HQT CSDL
hướng đối tượng.
TÀI LIỆU THAM KHẢO
[1]. TPC BENCHMARK™ C Standard
Specification Revision 5.11. TPC, 2/2010.
[2]. Subharthi Paul. Database Systems
Performance Evaluation Techniques. 2009.
[3]. R.G.G. Cattell, Douglas K. Barry. The Object
Database Standard: ODMG 2.0. Morgan Kaufmann
Publishers, San Francisco, California. 2008.
[4]. Versant Corporation. How to Evaluate an
Object Database. 2010.
[5]. Versant Corporation. Versant Object
Database Fundamentals Manual 8.0. 2010.
[6]. C. Huemer, G. Kappel, S. Rausch-Schott,
Evaluation of Object-Oriented Database
Systems. Institute of Applied Computer Science
and Information Systems, Department of
Information. 2010.
SUMMARY
PERFORMANCE EVALUATION OF VERSANT OBJECT
DATABASE V8 USING THE TPC-C BENCHMARK
Nguyen Tran Quoc Vinh1*, Truong Quang Sinh1, Kungurtsev A.B.2
1Trường Đại học Kinh Tế, Đại học Đà Nẵng
2Odessa National Polytechnic University
TPC-C is widely recognized as standard to evaluate the hardware and software system, relational
database management system on the ability to handle online transactions. TPC-C opens the
possibility to evaluate the use of other DBMS types. Most management information systems in
small and medium enterprises are online transaction processing. Recently, object-oriented DBMS
is not new and is also considered as an option to become a part of management information
system. However, the authors have not seen any published documents that present the result of
evaluation and comparision between relational DBMS and object-oriented in terms of transaction
processing. The authors conducted TPC-C research, build relational and object-oriented databases,
build assessment tools the most common today relational and object-oriented DBMS are MS SQL
Server 2008 R2 and Versant Object Database 8. Since then evaluate and compare the evaluated
results to try to make recommendations in the selection of DBMS for management information
systems in terms of online transaction processing.
Key words: performance benchmark, TPC-C, simulating, Versant Object Database V8, MS SQL
Server 2008 R2.
Ngày nhận bài:18/9/2012, ngày phản biện:17/10/2012, ngày duyệt đăng:10/12/2012
*
Tel: 0914 780898, Email: ntquocvinh@due.edu.vn
Các file đính kèm theo tài liệu này:
- brief_36958_40541_2032013161920115_6918_2052163.pdf