ĐẠ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 3 LỜI CAM ĐOAN Tôi xin cam đoan bản luận văn “Ứng dụng FoundationDB trong việc nâng cao hiệu năng xử lý truy vấn trực tuyến”là công trình nghiên cứu và thử nghiệm của tôi, tại đơn vị công tác, tham khảo các nguồn tài liệu đã được chỉ rõ trong trích dẫn và danh mục tài liệu tham khảo. Các nội dung công bố và kết quả trình bày trong luận văn này là trung thực và chưa từng được ai công bố trong bất cứ công trình nào. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 4 LỜI CẢM ƠN Tôi xin gửi lời cảm ơn tới các 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 và truyền đạt kiến thức trong 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 và tận tình chỉ bảo tôi trong suốt quá trình thiết kế, xây dựng và hoàn thiện luận văn này. Tôi xin chân thành cảm ơn các anh chị, các bạn đồng nghiệp trong 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 và 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… những người đã luôn ở bên cạnh, động viên, chia sẻ cùng tôi trong quãng thời gian học cao học cũng như quá trình thực hiện luận văn cao học. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 5 MỤC LỤC LỜI CAM ĐOAN . 5 DANH MỤC CÁC KÝ HIỆU CÁC TỪ VIẾT TẮT . 8 DANH MỤC CÁC HÌNH VẼ . 11 CHƯƠNG 1: TỔNG QUAN FOUNDATIONDB .1 Tổng quan hệ thống xử lý giao tác trực tuyến - OLTP .1 Hệ thống OLTP.2 Nguyên tắc thiết kế, xây dựng hệ thống OLTP .2 Key-value store .1 Chống chịu lỗi .2 Mở rộng theo hướng tuyến tính .3 Hỗ trợ mạnh giao tác ACID .4 Đa dạng mô hình dữ liệu .1 Kiến trúc vật lý .2 Các tính năng chính .3 Tích hợp ORM .3 Quản trị FoundationDB[4] .1 Khởi động và dừng .2 Tập tin Cluster .3 Thêm node vào cluster .4 Loại bỏ node từ cluster. 26 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.5 Xem thông tin trạng thái cluster .6 Quản lý tập tin trace . 29 CHƯƠNG 2: PHÁT TRIỂN ỨNG DỤNG XỬ LÝ GIAO TÁC TRỰC TUYẾN VỚI FOUNDATIONDB.1 Xây dựng ứng dụng với API của FoundationDB[4] .1 Mô hình dữ liệu .2 Quản lý không gian tên .3 Làm việc với các hàm APIs .4 Cơ bản về giao tác trong FoundationDB .2 Quản trị SQL Layer[4] .1 Cài đặt SQL layer .2 Khởi động và dừng dịch vụ trên môi trường windows .3 Công cụ client .5 Quản lý phiên người dùng (Managing User Sessions) .6 Sử dụng tệp tin LOG .7 Gỡ bỏ SQL Layer.3 Xây dựng ứng dụng tích hợp với SQL Layer[4].1 Kiểu dữ liệu .2 Truy cập với SQL .1 Tạo bảng và truy vấn dữ liệu .2 Tạo chỉ mục(index) .3 Thủ tục và hàm .1 Functions được xây dựng sẵn của SQL layer . 41 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.2 Lập trình thủ tục và hàm . 46 CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG THỰC NGHIỆM .1 Bài toán đặt ra .2 Thiết kế và cài đặt hệ thống thử nghiệm .1 Các mô hình kiến trúc .1 Mô hình hoạt động hiện tại .2 Mô hình vật lý hiện tại của hệ thống BIB .3 Mô hình giải pháp BIDV Online.2 Thiết kế cơ sở dữ liệu .1 Thiết kế bảng, khóa, chỉ mục .2 Khối lượng dữ liệu .3 Thiết kế chức năng và giao diện .4 Thiết kế máy chủ vật lý-cluster .5 Cài đặt chương trình .3 Đánh giá so sánh FoundationDB và Oracle. 63 TÀI LIỆU THAM KHẢO . 64 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 8 DANH MỤC CÁC KÝ HIỆU CÁC TỪ VIẾT TẮT ACID Atomicity, Consistency, Isolation, và Durability BIB BIDV Internet Banking CSDL Cơ sở dữ 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 9 DANH MỤC CÁC HÌNH VẼ Chương 1 : Hình 1: Chức năng của CSDL OLTP . 13 Chương 1 : Hình 2: mô hình cluster và các bị lỗi . 15 Chương 1 : Hình 3: minh họa về khả năng mở rộng của KVS . 16 Chương 1 : Hình 4: Đa dạng mô hình dữ liệu . 18 Chương 1 : Hình 5: mô hình tích hợp ứng dụng với FDB . 19 Chương 1 : Hình 6: Mô hình logic của KVS . 20 Chương 1 : Hình 7: Kiến trúc vật lý đơn giản của SQL layer . 21 Chương 1 : Hình 8: Kiến trúc SQL layer được khuyến nghị . 22 Chương 1 : Hình 9: Cấu hình cluster cơ bản bao gồm hai nodes . 25 Chương 1 : Hình 10: trạng thái của cluster . 27 Chương 2: Hình 1: dịch vụ SQL layer trên window . 32 Chương 2: Hình 2: ví dụ đánh chỉ mục nhóm . 40 Chương 3: Hình 1: Các chức năng chính của hệ thông BIDV Internet Banking . 47 Chương 3: Hình 2: Mô hình hoạt động của BIB. 48 Chương 3: Hình 3: Mô hình vật lý của 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 năng quản lý chi nhánh . 55 Chương 3: Hình 10: Thêm mới 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 mới 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 năng kiểm tra tải hệ thống . 57 Chương 3: Hình 14: chức năng chuyển khoản . 58 Chương 3: Hình 15: Chức năng vấn tin tài khoản . 58 Chương 3: Hình 16: mô hình cluster FDB của BIDV Online . 60 Chương 3: Hình 17: kết quả 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 11 MỞ ĐẦU Giới thiệu Trong các hệ thống lớn tài chính – ngân hàng – chứng khoán một ngày phải giải quyết số lượng truy vấn và giao dịch rất lớn phát sinh trong quá trình tác nghiệp nên việc đảm bảo tải cho hệ thống là rất quan trọng. Đồng thời các truy vấn và giao dịch phải đáp ứng tính chính xác và phần lớn trong đó phải đảm bảo về mặt thời gian xử lý cho kết quả đầu ra gần như trực tuyến hoặc có thể coi là trực tuyến. Hiện nay, các hệ quản trị CSDL truyền thống như Oracle, MS SQL Server… không đáp ứng được những dịch vụ có số lượng truy vấn đồng thời lớn [1-2]. Hơn nữa, các mô hình quản trị CSDL truyền thống này ban đầu đều được xây dựng trên các hệ thống máy tính đơn vi xử lý (CPU). Vì thế, việc tận dụng các bộ vi xử lý đa nhân hay đa vi xử lý mới chỉ được quan tâm ở mức hệ điều hành. Có rất nhiều cách tiếp cận mới theo hướng NoSQL để giải quyết những vấn đề đặt ra ở trên [2-3]. Hệ quản trị CSDL NoSQL có khả năng tận dụng rất tốt phần cứng kèm theo khả năng mở rộng, tăng cường năng lực xử lý đơn giản nhưng lại vấp phải một số khiếm khuyết như: khó tiếp cận đối với những nhà phát triển chưa có kinh nghiệm, một số hệ quản trị CSDL NoSQL không hỗ trợ thực thi các giao tác. Do đó từ đầu năm 2011 một lớp hệ quản trị CSDL mới ra đời kết hợp các điểm mạnh của các hệ quản trị NoSQL và SQL truyền thống. Lớp hệ quản trị CSDL này được gọi là NewSQL, đều hỗ trợ mô hình dữ liệu quan hệ và sử dụng ngôn ngữ truy vấn SQL. Một trong số đó là FoundationDB được thiết kế để hoạt động trên cluster, nhà phát triển có thể truy vấn, tương tác với FoundationDB thông qua ngôn ngữ SQL nhằm tăng khả năng tận dụng phần cứng tối đa và tăng khả năng tương thích với các ứng dụng đã xây dựng trước đây có truy vấn CSDL thông qua SQL do đó cải thiện hiệu năng xử lý giao tác trực tuyến. Mục tiêu của luận văn Với vấn đề đã được đặt ra như ở phần mở đầu, mục tiêu của luận văn này bao gồm: - Nghiên cứu, tìm hiểu được cách thiết kế hệ thống OLTP trong việc tối ưu xử lý các giao tác trên những hệ thống đa vi xử lý. - Nghiên cứu, tìm hiểu hệ quản trị CSDL FoundationDB áp dụng vào bài toán cụ thểQuản lý giao dịch chuyển tiền BIDV online. Với mục đích khắc phục toàn diện thực trạng của hệ thống phần mềm “BIDV internet banking” như : Khó khăn khi đáp ứng yêu cầu nhiều giao dịch trên giây (TPS) . LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 12 Hệ thống không ổn định và thường xuyên quá tải khi lượng giao dịch đồng thời lớn. Chưa tận dụng được lợi thế phần cứng máy chủ đa nhân, cluster. - Phát triển thử nghiệm ứng dụng và so sánh đánh giá hiệu năng với một số hệ quản trị truyền thống. Bố cục của luận văn Mở đầu: Giới thiệu về đề tài luận văn, tính thiết thực của đề tài và tổ chức của luận văn. Tổng quan về FoundationDB - Các yêu cầu về thiết kế hệ thống OLTP. - Giới thiệu về FoundationDB. o Key-Value Store o SQL Layer - Quản trị FoundationDB o Cài đặt cấu hình FoundationDB trên cluster o Sao lưu và khôi phục. 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 của 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 3. Thực nghiệm - Bài toán đặt ra: Quản lý giao dịch chuyển tiền-BIDV Online. - Thiết kế và cài đặt hệ thống website. - Kết quả thu được của hệ thống.
Luận văn thạc sĩ: Ứng dụng FoundationDB để nâng cao hiệu năng xử lý truy vấn trực tuyến
Luận văn thạc sĩ VNU UET nghiên cứu ứng dụng FoundationDB nhằm nâng cao hiệu năng xử lý truy vấn trực tuyến trong hệ thống cơ sở dữ liệu.
Trường đại học
Trường Đại học Công nghệ, Đại học Quốc gia Hà NộiChuyên ngành
Công nghệ thông tinNgười đăng
Ẩn danhThể loại
Luận văn thạc sỹPhí lưu trữ
30 PointMục lục chi tiết
THÔNG TIN CHI TIẾT
Tác giả: Nguyễn Mạnh Thắng
Người hướng dẫn: Tiến Sĩ. Nguyễn Ngọc Hóa
Trường học: Trường Đại học Công nghệ, Đại học Quốc gia Hà Nội
Chuyên ngành: Công nghệ thông tin
Đề tài: Ứng dụng FoundationDB trong việc nâng cao hiệu năng xử lý truy vấn trực tuyến
Loại tài liệu: Luận văn thạc sỹ
Năm xuất bản: 2014
Địa điểm: Hà Nội
Trích đoạn nội dung tài liệu
Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ