Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 64 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
64
Dung lượng
2,25 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Mạnh Thắng ỨNG DỤNG FOUNDATIONDB TRONG VIỆC NÂNG CAO HIỆU NĂNG XỬ LÝ TRUY VẤN TRỰC TUYẾN LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN HÀ NỘI - 2014 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Mạnh Thắng ỨNG DỤNG FOUNDATIONDB TRONG VIỆC NÂNG CAO HIỆU NĂNG XỬ LÝ TRUY VẤN TRỰC TUYẾN Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin Mã số: 60480104 LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC:Tiến sĩ Nguyễn Ngọc Hóa HÀ NỘI - 2014 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LỜI CAM ĐOAN Tôi xin cam đoan luận văn “Ứng dụng FoundationDB việc nâng cao hiệu xử lý truy vấn trực tuyến”là cơng trình nghiên cứu thử nghiệm tôi, đơn vị công tác, tham khảo nguồn tài liệu rõ trích dẫn danh mục tài liệu tham khảo Các nội dung cơng bố kết trình bày luận văn trung thực chưa cơng bố cơng trình LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LỜI CẢM ƠN Tôi xin gửi lời cảm ơn tới thầy, cô Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội tận tình giảng dạy truyền đạt kiến thức suốt khóa học cao học vừa qua Xin chân thành cảm ơn TS.Nguyễn Ngọc Hóa, người định hướng đề tài, trực tiếp hướng dẫn tận tình bảo tơi suốt q trình thiết kế, xây dựng hoàn thiện luận văn Tôi xin chân thành cảm ơn anh chị, bạn đồng nghiệp phòng Phát triển phần mềm - Trung tâm Công nghệ thông tin BIDV tạo điều kiện cho tơi tìm hiểu hệ thống tạo mơi trường thử nghiệm Tơi xin bày tỏ lịng biết ơn sâu sắc tới gia đình, vợ, con… người bên cạnh, động viên, chia sẻ quãng thời gian học cao học trình thực luận văn cao học LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN MỤC LỤC DANH MỤC CÁC KÝ HIỆU CÁC TỪ VIẾT TẮT DANH MỤC CÁC HÌNH VẼ MỞ ĐẦU 11 CHƯƠNG 1: 1.1 TỔNG QUAN FOUNDATIONDB 13 Tổng quan hệ thống xử lý giao tác trực tuyến - OLTP 13 1.1.1 Hệ thống OLTP 13 1.1.2 Nguyên tắc thiết kế, xây dựng hệ thống OLTP 13 1.2 FoundationDB[4] 14 1.2.1 NewSQL[5] 14 1.2.2 Key-value store 14 1.2.2.1 Chống chịu lỗi 14 1.2.2.2 Mở rộng theo hướng tuyến tính 16 1.2.2.3 Hỗ trợ mạnh giao tác ACID 16 1.2.2.4 Đa dạng mơ hình liệu 18 1.2.3 1.3 Sql Layer 21 1.2.3.1 Kiến trúc vật lý 21 1.2.3.2 Các tính 23 1.2.3.3 Tích hợp ORM 24 Quản trị FoundationDB[4] 24 1.3.1 Khởi động dừng 24 1.3.2 Tập tin Cluster 24 1.3.3 Thêm node vào cluster 25 1.3.4 Loại bỏ node từ cluster 26 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 1.3.5 Xem thông tin trạng thái cluster 26 1.3.6 Quản lý tập tin trace 28 1.3.7 Gỡ bỏ 28 1.3.8 Nâng cấp 28 1.4 Kết luận 29 CHƯƠNG 2: PHÁT TRIỂN ỨNG DỤNG XỬ LÝ GIAO TÁC TRỰC TUYẾN VỚI FOUNDATIONDB 30 2.1 Xây dựng ứng dụng với API FoundationDB[4] 30 2.1.1 Mô hình liệu 30 2.1.2 Quản lý không gian tên 30 2.1.3 Làm việc với hàm APIs 30 2.1.4 Cơ giao tác FoundationDB 30 2.2 Quản trị SQL Layer[4] 31 2.2.1 Cài đặt SQL layer 31 2.2.2 Khởi động dừng dịch vụ môi trường windows 31 2.2.3 Công cụ client 33 2.2.4 JVM warmup 33 2.2.5 Quản lý phiên người dùng (Managing User Sessions) 33 2.2.6 Sử dụng tệp tin LOG 34 2.2.7 Gỡ bỏ SQL Layer 35 2.2.8 Nâng cấp 35 2.3 Xây dựng ứng dụng tích hợp với SQL Layer[4] 35 2.3.1 Kiểu liệu 35 2.3.2 Truy cập với SQL 36 2.3.2.1 Tạo bảng truy vấn liệu 37 2.3.2.2 Tạo mục(index) 39 2.3.3 Thủ tục hàm 41 2.3.3.1 Functions xây dựng sẵn SQL layer 41 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 2.3.3.2 2.4 Lập trình thủ tục hàm 44 Kết luận 46 CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG THỰC NGHIỆM 46 3.1 Bài toán đặt 46 3.2 Thiết kế cài đặt hệ thống thử nghiệm 48 3.2.1 Các mơ hình kiến trúc 48 3.2.1.1 Mơ hình hoạt động 48 3.2.1.2 Mơ hình vật lý hệ thống BIB 49 3.2.1.3 Mô hình giải pháp BIDV Online 50 3.2.2 Thiết kế sở liệu 52 3.2.2.1 Thiết kế bảng, khóa, mục 52 3.2.2.2 Khối lượng liệu 52 3.2.3 Thiết kế chức giao diện 53 3.2.4 Thiết kế máy chủ vật lý-cluster 59 3.2.5 Cài đặt chương trình 60 3.3 Đánh giá so sánh FoundationDB Oracle 60 KẾT LUẬN 63 TÀI LIỆU THAM KHẢO 64 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com DANH MỤC CÁC KÝ HIỆU CÁC TỪ VIẾT TẮT ACID Atomicity, Consistency, Isolation, Durability BIB BIDV Internet Banking CSDL Cơ sở liệu FDB FoundationDB JDBC Java Database Connectivity KVS Key-Value Store ORM Object-Relational Mapping OLTP Online Transaction Processing RDBMS Relational database management system TPS Transactions Processed per Second LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com DANH MỤC CÁC HÌNH VẼ Chương : Hình 1: Chức CSDL OLTP 13 Chương : Hình 2: mơ hình cluster bị lỗi 15 Chương : Hình 3: minh họa khả mở rộng KVS 16 Chương : Hình 4: Đa dạng mơ hình liệu 18 Chương : Hình 5: mơ hình tích hợp ứng dụng với FDB 19 Chương : Hình 6: Mơ hình logic KVS 20 Chương : Hình 7: Kiến trúc vật lý đơn giản SQL layer 21 Chương : Hình 8: Kiến trúc SQL layer khuyến nghị 22 Chương : Hình 9: Cấu hình cluster bao gồm hai nodes 25 Chương : Hình 10: trạng thái cluster 27 Chương 2: Hình 1: dịch vụ SQL layer window 32 Chương 2: Hình 2: ví dụ đánh mục nhóm 40 Chương 3: Hình 1: Các chức hệ thơng BIDV Internet Banking 47 Chương 3: Hình 2: Mơ hình hoạt động BIB 48 Chương 3: Hình 3: Mơ hình vật lý BIB 49 Chương 3: Hình 4: Mơ hình BIDV online 50 Chương 3: Hình 5: Mơ hình vật lý hệ thống BIDV Online 51 Chương 3: Hình 6: thiết kế bảng BIDV Online 52 Chương 3: Hình 7: biểu đồ Usecase BIDV Online 53 Chương 3: Hình 8: Màn hình giao diện đăng nhập 54 Chương 3: Hình 9: Màn hình chức quản lý chi nhánh 55 Chương 3: Hình 10: Thêm người dùng 56 Chương 3: Hình 11: sửa thơng tin người dùng 56 Chương 3: Hình 12: Thêm tài khoản cho khách hàng 57 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 10 Chương 3: Hình 13: chức kiểm tra tải hệ thống 57 Chương 3: Hình 14: chức chuyển khoản 58 Chương 3: Hình 15: Chức vấn tin tài khoản 58 Chương 3: Hình 16: mơ hình cluster FDB BIDV Online 60 Chương 3: Hình 17: kết cấu hình cluster 60 Chương 3: Hình 18: cấu hình connection pool tomcat 61 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 50 3.2.1.3 Mơ hình giải pháp BIDV Online Chương 3: Hình 4: Mơ hình BIDV online Trung tâm hệ thống CSDL FoundationDB, xung quanh ta xây dựng kênh kết nối với người dùng hệ thống khác SMS, ATM, USSD, Internet…Trên tảng xây dựng ứng dụng chức như: chuyển khoản, tạo khoản vay, tiết kiệm, toán trực tuyến… LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 51 Chương 3: Hình 5: Mơ hình vật lý hệ thống BIDV Online LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 52 3.2.2 Thiết kế sở liệu 3.2.2.1 Thiết kế bảng, khóa, mục Chương 3: Hình 6: thiết kế bảng BIDV Online Cơ sở liệu chương trình bao gồm bảng: USERS: chứa thông tin người dùng ACCOUNTS: chứa thông tin tài khoản khách hàng ROLE: chứa thơng tin nhóm quyền người dùng USERACTION: chứa thông tin quyền người dùng tương ứng với nhóm quyền BRANCH: chứa thơng tin chi nhánh người dùng TRANSACTION_LOG: chứa thông tin lịch sử giao dịch tài khoản 3.2.2.2 Khối lượng liệu Số lượng khách hàng đăng ký dịch vụ BIB khoảng triệu khách hàng chia 10 chi nhánh Nếu khách hàng có tài khoản số lượng tài khoản triệu Chương trình phân hai nhóm quyền với 13 chức năng: Bảng Khối lượng liệu LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 53 Users 1,000,000 ghi Accounts 5,000,000 ghi Branch 10 ghi Role ghi UserAction 13 ghi Transaction_log Tăng theo lịch sử 3.2.3 Thiết kế chức giao diện Chương 3: Hình 7: biểu đồ Usecase BIDV Online LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 54 Biểu đồ usecase mơ tả chức quyền thao tác hai nhóm đối tượng người dùng chương trình Màn hình đăng nhập Chương 3: Hình 8: Màn hình giao diện đăng nhập Chức quản lý chi nhánh: bao gồm thao tác thêm sửa xóa LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 55 Chương 3: Hình 9: Màn hình chức quản lý chi nhánh Chức quản lý người dùng tài khoản LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 56 Chương 3: Hình 10: Thêm người dùng Chương 3: Hình 11: sửa thông tin người dùng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 57 Chương 3: Hình 12: Thêm tài khoản cho khách hàng Chức kiểm tra tải hệ thống Chương 3: Hình 13: chức kiểm tra tải hệ thống Chức chuyển khoản trực tuyến qua internet LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 58 Chương 3: Hình 14: chức chuyển khoản Chức vấn tin tài khoản Chương 3: Hình 15: Chức vấn tin tài khoản LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 59 3.2.4 Thiết kế máy chủ vật lý-cluster Chức Cấu hình Số lượng FoundationDB CPU : 3.1Ghz (1 nhân) Database/Cluster Ram : 2G RAM (cấu hình 1) OS : Ubuntu 14.04 LTS 64 bit 02 FoundationDB 02 CPU : 3.1Ghz (2 nhân) Database/Cluster Ram : 5G RAM (cấu hình 2) OS : Ubuntu 14.04 LTS 64 bit Oracle server CPU : 3.1Ghz (1 nhân) 01 Ram : 2G RAM OS : Ubuntu 14.04 LTS 64 bit Web server CPU : 3.1Ghz (1 nhân) 01 Ram : 2G RAM OS : Windows 64bit Client CPU : 3.1Ghz (1 nhân) 01 Ram : 2G RAM OS : Windows 64bit Hệ thống máy chủ thiết kế bao gồm: máy cluster cài FoundationDB KVS 2.0.9 máy cài Oracle 11G r2 để kiểm tra hiệu so sánh máy chủ cài ứng dụng lên web server tomcat máy khách truy cập ứng dụng kiểm tra LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 60 Chương 3: Hình H 16: mơ hình cluster FDB BIDV Online Kết cấu u hình cluster Chương 3: Hình H 17: kết cấu hình cluster 3.2.5 Cài đặt chương trình Chương trình đượcc cài đ đặt theo thiết kế với cấu phần web java đượ ợc triển khai máy chủ web tomcat CSDL FoundationDB đư cài đặtt cluster 3.3 Đánh giá so sánh FoundationDB Oracle Chức kiểm tra tảải hệ thống viết web ứng dụụng Cài đặt Oracle 11G r2 máy tính phần ph cứng mục 3.2.4 Thực kết nốối ứng dụng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 61 web CSDL thông qua connection pool server Tomcat với số kết nối hoạt động tối đa 100 Chương 3: Hình 18: cấu hình connection pool tomcat Thực với giải thuật ngẫu nhiên tạo 200 thread đồng thời chạy lệnh thêm cập nhật liệu với tiêu chí sau : Thực FoundationDB với Node, với Nodes Thực Oracle với Node Với liệu đầu vào từ 200000, 1000000, 2000000, 5000000: số lượng giao dịch (yêu cầu) gửi tới FoundationDB, Oracle Chương trình chờ yêu cầu xử lý kết thúc thành cơng Tính hiệu suất dựa vào tiêu chí “Số lượng giao dịch gửi/số giây thực hiện” nhằm tính thông số “Transaction per Second (TPS)”, so sánh kết Số ghi 200000 1000000 2000000 5000000 Cấu hình 1(1 node) 1155 1167 1215 1203 Kết test Cấu hình 1(2 nodes) Cấu hình 2(2 nodes) 2538 3431 2402 3390 2456 3215 2464 3150 Oracle 11G R2 934 1156 1270 1337 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 62 Qua bảng kết thấy cấu hình phần cứng cluster hai nodes FDB cho hiệu TPS khoảng gấp đôi Oracle FDB tận dụng xử lý đa nhân cấu hình 2(bộ xử lý nhân) cho hiệu cao hẳn cấu hình 1(bộ xử lý nhân) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 63 KẾT LUẬN Luận văn trình bày tổng quan hệ thống OLTP yêu cầu để thiết kế hệ thống OLTP Luận văn trình bày chi tiết đại diện lớp CSDL NewSQL FoundationDB từ lớp thành phần quan trọng KVS SQL layer đến việc triển khai quản trị hệ thống FoundationDB Phần thứ hai luận văn tập trung vào mô tả việc xây dựng ứng dụng sử dụng CSDL FoundationDB Việc sử dụng hàm APIs có sẵn FoundationDB khó khăn nhà phát triển chưa có kình nghiệm, thay vào tích hợp ứng dụng hay xây dựng ứng dụng với SQL layer dễ dàng hiệu Phần thứ ba luận văn sâu vào giải toán đặt phần mở đầu cao hiệu xử lý truy vấn trực tuyến cho ứng dụng BIDV Internet Banking Hệ thống thử nghiệm sử dụng CSDL FoundationDB đạt số kết khả quan, chứng minh hiệu tốt việc xử lý giao tác so với hệ quản trị CSDL quan hệ truyền thống Oracle Trong tương lai, đề tài có số định hướng mở rộng như: Ứng dụng FoundationDB vào nhiều phần mềm đa người dùng Phát triển hoàn chỉnh ứng dụng BIDV Online để đưa vào sử dụng thực tiễn LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 64 TÀI LIỆU THAM KHẢO [1]E P C Jones, D J Abadi, and S Madden, "Low overhead concurrency control for partitioned main memory databases," in SIGMOD ’10: Proceedings of the 2010 international conference on Management of data, New York, NY, USA, 2010, pp 603-614 [2]Dionysios Logothetis, Kenneth Yocum Data Indexing for Stateful, Large-scale Data Processing Loo, B and Saroiu, S 2010 5th international workshop on networking meets databases (NetDB 2009) SIGOPS Oper Syst Rev 43, (Jan 2010), 17-18 [3]Miceli, C., Miceli, M., Jha, S., Kaiser, H., and Merzky, A 2009 Programming Abstractions for Data Intensive Computing on Clouds and Grids In Proceedings of the 2009 9th IEEE/ACM international Symposium on Cluster Computing and the Grid (May 18 - 21, 2009) CCGRID IEEE Computer Society, Washington, DC, 478-483 [4] https://foundationdb.com/ [5]Aslett, Matthew (2011) "How Will The Database Incumbents Respond To NoSQL And NewSQL?" 451 Group (published 2011-04-04) Retrieved 2012-07-06 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... Nguyễn Mạnh Thắng ỨNG DỤNG FOUNDATIONDB TRONG VIỆC NÂNG CAO HIỆU NĂNG XỬ LÝ TRUY VẤN TRỰC TUYẾN Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin Mã số: 60480104 LUẬN VĂN THẠC SỸ CÔNG NGHỆ... HỌC:Tiến sĩ Nguyễn Ngọc Hóa HÀ NỘI - 2014 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LỜI CAM ĐOAN Tôi xin cam đoan luận văn ? ?Ứng dụng FoundationDB việc nâng cao hiệu xử lý truy vấn trực. .. phục Chương Phát triển ứng dụng xử lý giao tác trực tuyến với FoundationDB - Xây dựng ứng dụng với API FoundationDB - Xây dựng ứng dụng tích hợp với SQL Layer - Quản trị ứng dụng với SQL Layer Chương