Tối ưu hóa xử lý giao tác với H-Store

13 277 1
Tối ưu hóa xử lý giao tác với H-Store

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tối ưu hóa xử lý giao tác với H-Store Đào Trọng Lực Trường Đại học Công nghệ Luận văn Thạc sĩ ngành: Hệ thống thông tin; Mã số: 60 48 05 Người hướng dẫn: TS. Nguyễ n Ngo ̣ c Ho ́ a Năm bảo vệ: 2011

Tối ưu hóa xử lý giao tác với H-Store Đào Trọng Lực Trường Đại học Công nghệ Luận văn Thạc sĩ ngành: Hệ thống thông tin; Mã số: 60 48 05 Người hướng dẫn: TS Nguyễn Ngo ̣c Hóa Năm bảo vệ: 2011 Abstract: Nghiên cứu, tìm hiểu mơ hình H-Store việc tối ưu xử lý giao tác hệ thống đa vi xử lý Xây dựng mơ hình thực nghiệm ứng dụng HStore: tốn quản lý khách hàng kho số cho công ty Viễn Thơng Điện Lực nhằm khắc phục tồn diện thực trạng hệ thống phần mềm “Hệ thống tính cước quản lý khách hàng Viễn thơng” : Khó khăn đáp ứng yêu cầu nhiều giao dịch giây (TPS); Hệ thống không ổn định thường xuyên tải với chức quản lý khách hàng kho số; Thường xuyên bổ xung phần cứng hiệu chỉnh mã nguồn (Code); Không tận dụng lợi phần cứng ngành điện : Hàng trăm máy chủ HP, SUN, IBM với đa vi xử lý (CPU), nhiều RAM Phát triển thử nghiệm ứng dụng so sánh đánh giá hiệu với số hệ quản trị truyền thống Keywords: Hệ thống thông tin; Xử lý giao tác; Công nghệ thông tin Content Giới thiệu Ngày nay, nhu cầu khai thác liệu với băng thông lớn quy mô ngày mở rộng Hệ thống Cluster với multicore xâm nhập mạnh mẽ ứng dụng phần mềm tin học đời sống Mục tiêu nhắm tới ứng dụng OLTP doanh nghiệp lớn với mơ hình giao dịch trực tuyến băng thông cao, H-Store hướng mang đầy tính khả thi Một kiến trúc DBMS có tên VoltDB, cài đặt cụ thể H-Store, tận dụng hết khả hệ thống đa xử lý việc tối ưu giao tác Tác giả xây dựng ứng dụng thử nghiệm hệ thống chăm sóc khách hàng kho số cho công ty viễn thông Điện lực dựa công nghệ H-Store nhằm đánh giá hiệu thực công nghệ này, đồng thời so sánh hiệu H-Store với hệ thống DBMS truyền thống Oracle, MySQL việc xử lý khối lượng giao dịch lớn Mục tiêu chính: Nghiên cứu, tìm hiểu ứng dụng mơ hình tối ưu hố giao tác hệ thống đa vi xử lý (clusters, multi-cores) Nội dung chính:    Nghiên cứu, tìm hiểu mơ hình H-Store hệ quản trị CSDL VoltDB Xây dựng mơ hình hình thử nghiệm với toán thực tế: quản lý khách hàng & kho số Thực nghiệm đánh giá kết Mô hình kiến trúc H-Store H-Store hệ thống sở liệu phân tán, chạy Cluster Với kiến trúc gồm phần : Lược đồ triển khai lược đồ thực thi (hình 2.1) Hình 2.1 Kiến trúc hệ thống H-Store Trong lược đồ triển khai, đầu vào bao gồm thành phần : Thủ tục (Stored procedures), lược đồ sở liệu (database schema), tải trọng mẫu (Sample Workload) thơng tin Cluster (Cluster information) Trong + Stored procedures : Được thể dạng Java Class, lai ngôn ngữ Java ngôn ngữ Sql, chuẩn H-Store người lập trình phải tuân theo Nó có dạng sau: import org.voltdb.*; public class HowManySeats extends VoltProcedure { public final SQLStmt GetSeatCount = new SQLStmt( "SELECT * FROM Flight;"); public long run(){ VoltTable[] queryresults; voltQueueSQL( GetSeatCount, flightid); queryresults = voltExecuteSQL(); VoltTable result = queryresults[0]; }} + Database schema: Là file đuôi sql, chứa câu lệnh định nghĩa sở liệu, tập lệnh tạo bảng, tạo index theo chuẩn Sql Ví dụ : CREATE TABLE … + Cluster information : Là file dạng XML Chứa tồn thơng tin Cluser : máy chủ, CPU … hệ thống phần cứng mà ứng dụng triển khai Nó có dạng sau : Tham số hostcount : Số máy chủ, sitesperhost : Số Core CPU/một máy chủ Với đầu vào vậy, đầu lược đồ triển khai file có định dạng Jar Bao gồm thành phần : Các java Class biên dịch thủ tục, kiến trúc Cluster Plan thực thi giao dịch Trong lược đồ thực thi, File Jar phát tán lên máy chủ thực chạy chế core H-Store Trong máy chủ Cluster có thành phần hình vẽ Khi ứng dụng Client thực yêu cầu giao dịch dùng hàm H-Store API thực gọi thủ tục định nghĩa trước lược đồ triển khai Một yêu cầu từ Client kết nối đến máy chủ Cluster Với thành phần Transaction Initiator, yêu cầu gửi tới máy chủ cần xử lý (đó máy chủ chứa liệu mà Client cần) (mục – Tối ưu hóa truy vấn đồng thời nói rõ cách thức tổ chức này) Trong trường hợp xử lý yêu cầu máy chủ yêu cầu xử lý trình quản lý giao dịch (Transaction Manager) nhằm đảo bảo đồng dựa chế điều khiển phân tranh : Phong tỏa, suy diễn khóa (tham khảo thêm tài liệu để hiểu rõ chế này) Tối ưu hoá truy vấn đồng thời H-Store thiết kế với tiêu chí : + Giao dịch tổ chức dạng thủ tục + Không cần ổ cứng + Phân mảnh liệu Với máy chủ ngày đạt 128G RAM, hệ thống Cluster với khoảng 40 máy chủ đạt công suất khoảng 5TB RAM Như vậy, ứng dụng OLTP lớn hoàn toàn 100% liệu chứa RAM (in-memory) Đây điểm bật nguyên tắc thiết kế H-Store Với việc lưu giữ RAM, không cần phải lưu trữ liệu ổ cứng, tốc độ xử lý giao dịch thực nhớ chính, điều làm cho băng thông ứng dụng OLTP tăng lên gấp hàng trăm, hàng nghìn lần Ngồi ra, kiến trúc H-Store cho phép phân mảnh liệu theo chiều ngang, nghĩa bảng liệu phân vùng dựa giá trị cột bảng Dữ liệu chia cho máy chủ, máy chủ lại phân quyền cho Chip CPU xử lý Với ưu điểm này, liệu triển khai cách phân tán độc lập nhau, tận dụng toàn Core CPU việc xử lý liệu Theo thực nghiệm đánh giá hiệp hội xử lý giao dịch online (TPC) : VoltDB nhanh 100 lần so với MySQL, 13 so với Cassandra, 45 lần so với Oracle, với khả mở rộng tuyến tính (đạt triệu giao dịch đồng thời với 30 máy chủ) Hình 3.2 Thử nghiệm hiệu VoltDB TPC Thực nghiệm Nhằm minh chứng cho lý thuyết công nghệ H-Store, Tác giả thực thực nghiệm thực tế “Bài toán quản lý khách hàng kho số cho Cơng ty Viễn Thơng Điện Lực” công nghệ này, với cài đặt cụ thể VoltDB DBMS Đây hệ thống quản lý khách hàng EVN tập trung online toàn quốc, triển khai cho 64 tỉnh thành, với số điểm giao dịch lên tới 3000 đại lý Đây hệ thống phức tạp yêu cầu băng thơng lớn, tốn thực tế cho thử nghiệm công nghệ H-Store Phần cứng sử dụng để thực nghiệm : Chức Cấu hình Số lượng VoltDB Database CPU : Intel(R) Core(TM) Duo CPU 02 E7400 @ 2.8 Ghz Ram : 4G RAM OS : Ubuntu 10.04.3 LTS VoltDB Manager CPU : Intel(R) Core(TM) Duo CPU 01 E7400 @ 2.8 Ghz Ram : 4G RAM OS : Ubuntu 10.04.3 LTS Client CPU: Intel(R) Core(TM) Duo CPU P7450 @ 2.13 Ghz Ram : 4G RAM OS : Windows 2003 Servers 01 Tác giả hoàn thành ứng dụng thực nghiệm với chức quan trọng bao gồm: Phát triển thuê bao, cấp số, xác nhận cấp số, xác nhận hịa mạng, chọn gói cước, tra cứu doanh thu, giữ số đẹp đấu giá số đẹp hồn tồn cơng nghệ H-Store Sau số giao diện chương trình thực nghiệm : Màn hình giao diện : Chức phát triển khách hàng : Chức chọn gói cước : Chức cấp dải số : Chức đấu giá số đẹp: Ngoài tác giả trọng vào việc mô hệ thống gửi nhiều giao dịch lúc, so sánh với hệ quản trị Oracle, MySQL: Giao diện so sánh : Đánh giá Số Trans One Node Multi Conn KẾT QUẢ THỰC NGHIỆM VOLTDB ORACLE Multi Two Pooling Single One Node Conn Node Conn Conn Trans/Sec Trans/S Trans/Sec Trans/Sec Trans/Sec ec MYSQL Multi Conn Trans/Sec 156 Error : “Too many connectio ns” 190 Error : “Too many connectio ns” Batch Execute Trans/Sec 5.000 109 2.516 1.182 77 189 112 10.00 171 4.553 3.120 111 201 112 20.00 213 (82% RAM) 11.396 7.132 114 206 112 x 8.791 x 12.730 12.445 129 208 114 x 10.227 x 13.365 15.231 x x x x 9.963 14.782 (67 giây) x x x x 9.020 11.485 (261 giây) x x x x 9.092 100.0 00 200.0 00 1.000 000 x 3.000 000 x 10.666 (93 giây) (80% RAM) 7.139 (420 giây) (90% RAM) 4.537 6.071 Với kết thực nghiệm đạt được, tác giả có số đánh sau : + Khi so sánh nội VoltDB máy chủ máy chủ : Hệ thống VoltDB máy chủ vượt trội xử lý 3.000.000 giao dịch đồng thời tốc độ đạt gần 11.000 giao dịch/giây (một máy đạt 7.000 giao dịch/giây) + Với lượng giao dịch 3.000.000 giao dịch đồng thời, hệ thống Oracle MySQL đạt mức 9.000 giao dịch /giây khơng có khả tăng Nhưng với máy PC nay, VoltDB đạt mức 11.000 giao dịch/giây tăng tuyến tính thêm máy chủ RAM 6 Kết luận Mơ hình H-Store thực khai thác kiến trúc đa nhân hệ thống cluster, hồn tồn nâng cao hiệu xử lý giao tác đồng thời từ phía người dùng Đây hướng đầy mẻ mang đầy tính khả thi Với sản phẩm mang tính thương mại, thể hiện, cài đặt cụ thể H-Store với tảng Open Source hoàn tồn hỗ trợ nhà phát triển ứng dụng thiết kế triển khai ứng dụng OLTP với cơng nghệ vào thực tế Luận văn có đóng góp chính:  Nghiên cứu, tìm hiểu mơ hình H-Store việc tối ưu xử lý giao tác hệ thống đa vi xử lý  Xây dựng mơ hình thực nghiệm với toán quản lý khách hàng kho số với chức tải nhằm đánh giá hiệu hiệu ích cơng nghệ VoltDB  Thử nghiệm đánh giá kết Đề xuất hướng phát triển tương lai :  VoltDB toán khác OLTP  VoltDB với khả tích hợp CSDL khác Hadoop  Hệ thống tính tốn đám mây, Neural với VoltDB References [1] Evan P C Jones MIT CSAIL Cambridge, MA, USA and Daniel J Abadi Yale University New Haven, CT, USA and Samuel Madden MIT CSAIL Cambridge, MA, USA (2010), Low Overhead Concurrency Control for Partitioned Main Memory Databases [2] Robert Kallman Brown University and Evan P C Jones Massachusetts Institute of Technology and John Hugg Yale University (2008), HStore:A HighPerformance, Distributed Main Memory Transaction Processing System [3] The Transaction Processing Council TPC-C Benchmark (Revision 5.9.0) http://www.tpc.org/tpcc/spec/tpcc_current.pdf, June 2007 [4] M.Tamer Ozsu, Patrick Valduriez Principles of Distributed Database System, Prentice Hall, 1999 [5] Elmarsi Navathe, Fundamentals of Database System, Addison-Wesley, 2000 [6] Hector Garcia-Molina et al, Database Systems: The Complete Book, Prentice Hall, 2002 [7] M T Oszu and P Valduriez, Principles of Distributed Database Systems (2nd ed.), Prentice Hall, 1999 [8] Michael Blaha, William Premerlani Object Oriented Modelling and Design for Database Applications, Prentice Hall, 1998 [9] Azza Abouzeid, Kamil Bajda-Pawlikowski, Daniel J Abadi, Alexander Rasin, Avi Silberschatz, HadoopDB: An Architectural Hybrid of MapReduce and DBMS Technologies for Analytical Workloads VLDB 2009 [10] http://hstore.cs.brown.edu/ , 2011 [11] http://community.voltdb.com/docs/UsingVoltDB/index, 2010 [12] http://community.voltdb.com/docs/MgtGuide/index, 2010 [13] [14] [15] [16] http://community.voltdb.com, 2010 http://voltdb.com, 2010 http://www.dbms2.com/category/parallelization/, 2008 http://svnmirror.voltdb.com/clientapi/csharp/ , 2011 ... Nghiên cứu, tìm hiểu mơ hình H-Store việc tối ưu xử lý giao tác hệ thống đa vi xử lý  Xây dựng mơ hình thực nghiệm với tốn quản lý khách hàng kho số với chức tải nhằm đánh giá hiệu hiệu ích cơng... toàn Core CPU việc xử lý liệu Theo thực nghiệm đánh giá hiệp hội xử lý giao dịch online (TPC) : VoltDB nhanh 100 lần so với MySQL, 13 so với Cassandra, 45 lần so với Oracle, với khả mở rộng tuyến... liệu chứa RAM (in-memory) Đây điểm bật nguyên tắc thiết kế H-Store Với việc lưu giữ RAM, không cần phải lưu trữ liệu ổ cứng, tốc độ xử lý giao dịch thực nhớ chính, điều làm cho băng thơng ứng dụng

Ngày đăng: 26/11/2013, 20:16

Hình ảnh liên quan

 Nghiên cứu, tìm hiểu về mô hình H-Store và hệ quản trị CSDL VoltDB - Tối ưu hóa xử lý giao tác với H-Store

ghi.

ên cứu, tìm hiểu về mô hình H-Store và hệ quản trị CSDL VoltDB Xem tại trang 2 của tài liệu.
Hình 3.2 Thử nghiệm hiệu năng VoltDB của TPC - Tối ưu hóa xử lý giao tác với H-Store

Hình 3.2.

Thử nghiệm hiệu năng VoltDB của TPC Xem tại trang 4 của tài liệu.
Màn hình giao diện chính: - Tối ưu hóa xử lý giao tác với H-Store

n.

hình giao diện chính: Xem tại trang 5 của tài liệu.
Chức năng Cấu hình Số lượng - Tối ưu hóa xử lý giao tác với H-Store

h.

ức năng Cấu hình Số lượng Xem tại trang 5 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan