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.

pdf5 trang | Chia sẻ: thucuc2301 | Lượt xem: 605 | Lượt tải: 0download
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:

  • pdfbrief_36958_40541_2032013161920115_6918_2052163.pdf