1. Trang chủ
  2. » Kinh Doanh - Tiếp Thị

Ứng dụng FoundationDB trong việc nâng cao hiệu năng xử lý truy vấn trực tuyến

15 292 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 15
Dung lượng 429,85 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

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

Trang 1

ĐẠ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

Trang 2

ĐẠ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

Trang 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

Trang 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

Trang 5

MỤC LỤC

LỜI CAM ĐOAN 3

LỜI CẢM ƠN 4

MỤC LỤC 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Ẽ 9

MỞ ĐẦU 11 CHƯƠNG 1: TỔNG QUAN FOUNDATIONDB Error! Bookmark not defined

1.1 Tổng quan hệ thống xử lý giao tác trực tuyến - OLTPError! Bookmark not defined.

1.1.1 Hệ thống OLTP Error! Bookmark not defined

1.1.2 Nguyên tắc thiết kế, xây dựng hệ thống OLTPError! Bookmark not defined.

1.2 FoundationDB[4] Error! Bookmark not defined

1.2.1 NewSQL[5] Error! Bookmark not defined

1.2.2 Key-value store Error! Bookmark not defined

1.2.2.1 Chống chịu lỗi Error! Bookmark not defined

1.2.2.2 Mở rộng theo hướng tuyến tính Error! Bookmark not defined

1.2.2.3 Hỗ trợ mạnh giao tác ACID Error! Bookmark not defined

1.2.2.4 Đa dạng mô hình dữ liệu Error! Bookmark not defined

1.2.3 Sql Layer Error! Bookmark not defined

1.2.3.1 Kiến trúc vật lý Error! Bookmark not defined

1.2.3.2 Các tính năng chính Error! Bookmark not defined

1.2.3.3 Tích hợp ORM Error! Bookmark not defined

1.3 Quản trị FoundationDB[4] Error! Bookmark not defined

1.3.1 Khởi động và dừng Error! Bookmark not defined

Trang 6

1.3.2 Tập tin Cluster Error! Bookmark not defined

1.3.3 Thêm node vào cluster Error! Bookmark not defined

1.3.4 Loại bỏ node từ cluster Error! Bookmark not defined

1.3.5 Xem thông tin trạng thái cluster Error! Bookmark not defined

1.3.6 Quản lý tập tin trace Error! Bookmark not defined

1.3.7 Gỡ bỏ Error! Bookmark not defined

1.3.8 Nâng cấp Error! Bookmark not defined

1.4 Kết luận Error! Bookmark not defined

CHƯƠNG 2: PHÁT TRIỂN ỨNG DỤNG XỬ LÝ GIAO TÁC TRỰC TUYẾN VỚI

FOUNDATIONDB Error! Bookmark not defined

2.1 Xây dựng ứng dụng với API của FoundationDB[4]Error! Bookmark not defined.

2.1.1 Mô hình dữ liệu Error! Bookmark not defined

2.1.2 Quản lý không gian tên Error! Bookmark not defined

2.1.3 Làm việc với các hàm APIs Error! Bookmark not defined

2.1.4 Cơ bản về giao tác trong FoundationDB Error! Bookmark not defined

2.2 Quản trị SQL Layer[4] Error! Bookmark not defined

2.2.1 Cài đặt SQL layer Error! Bookmark not defined

2.2.2 Khởi động và dừng dịch vụ trên môi trường windowsError! Bookmark not

defined.

2.2.3 Công cụ client Error! Bookmark not defined

2.2.4 JVM warmup Error! Bookmark not defined

2.2.5 Quản lý phiên người dùng (Managing User Sessions)Error! Bookmark not

defined.

2.2.6 Sử dụng tệp tin LOG Error! Bookmark not defined

2.2.7 Gỡ bỏ SQL Layer Error! Bookmark not defined

Trang 7

2.2.8 Nâng cấp Error! Bookmark not defined

2.3 Xây dựng ứng dụng tích hợp với SQL Layer[4]Error! Bookmark not defined

2.3.1 Kiểu dữ liệu Error! Bookmark not defined

2.3.2 Truy cập với SQL Error! Bookmark not defined

2.3.2.1 Tạo bảng và truy vấn dữ liệu Error! Bookmark not defined

2.3.2.2 Tạo chỉ mục(index) Error! Bookmark not defined

2.3.3 Thủ tục và hàm Error! Bookmark not defined

2.3.3.1 Functions được xây dựng sẵn của SQL layerError! Bookmark not

defined.

2.3.3.2 Lập trình thủ tục và hàm Error! Bookmark not defined

2.4 Kết luận Error! Bookmark not defined

CHƯƠNG 3: XÂY DỰNG ỨNG DỤNG THỰC NGHIỆMError! Bookmark not

defined.

3.1 Bài toán đặt ra Error! Bookmark not defined

3.2 Thiết kế và cài đặt hệ thống thử nghiệm Error! Bookmark not defined

3.2.1 Các mô hình kiến trúc Error! Bookmark not defined

3.2.1.1 Mô hình hoạt động hiện tại Error! Bookmark not defined

3.2.1.2 Mô hình vật lý hiện tại của hệ thống BIBError! Bookmark not defined.

3.2.1.3 Mô hình giải pháp BIDV Online Error! Bookmark not defined

3.2.2 Thiết kế cơ sở dữ liệu Error! Bookmark not defined

3.2.2.1 Thiết kế bảng, khóa, chỉ mục Error! Bookmark not defined

3.2.2.2 Khối lượng dữ liệu Error! Bookmark not defined

3.2.3 Thiết kế chức năng và giao diện Error! Bookmark not defined

3.2.4 Thiết kế máy chủ vật lý-cluster Error! Bookmark not defined

3.2.5 Cài đặt chương trình Error! Bookmark not defined

Trang 8

3.3 Đánh giá so sánh FoundationDB và Oracle Error! Bookmark not defined KẾT LUẬN Error! Bookmark not defined

TÀI LIỆU THAM KHẢO 14

Trang 9

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

JDBC Java Database Connectivity

ORM Object-Relational Mapping

OLTP Online Transaction Processing

RDBMS Relational database management system

TPS Transactions Processed per Second

Trang 10

DANH MỤC CÁC HÌNH VẼ Chương 1 : Hình 1: Chức năng của CSDL OLTP Error! Bookmark not defined Chương 1 : Hình 2: mô hình cluster và các bị lỗi Error! Bookmark not defined Chương 1 : Hình 3: minh họa về khả năng mở rộng của KVSError! Bookmark not defined.

Chương 1 : Hình 4: Đa dạng mô hình dữ liệu Error! Bookmark not defined Chương 1 : Hình 5: mô hình tích hợp ứng dụng với FDBError! Bookmark not defined Chương 1 : Hình 6: Mô hình logic của KVS Error! Bookmark not defined Chương 1 : Hình 7: Kiến trúc vật lý đơn giản của SQL layerError! Bookmark not defined.

Chương 1 : Hình 8: Kiến trúc SQL layer được khuyến nghịError! Bookmark not defined.

Chương 1 : Hình 9: Cấu hình cluster cơ bản bao gồm hai nodesError! Bookmark not

defined.

Chương 1 : Hình 10: trạng thái của cluster Error! Bookmark not defined

Chương 2: Hình 1: dịch vụ SQL layer trên window Error! Bookmark not defined Chương 2: Hình 2: ví dụ đánh chỉ mục nhóm Error! Bookmark not defined

Chương 3: Hình 1: Các chức năng chính của hệ thông BIDV Internet Banking Error!

Bookmark not defined.

Chương 3: Hình 2: Mô hình hoạt động của BIB Error! Bookmark not defined Chương 3: Hình 3: Mô hình vật lý của BIB Error! Bookmark not defined Chương 3: Hình 4: Mô hình BIDV online Error! Bookmark not defined Chương 3: Hình 5: Mô hình vật lý hệ thống BIDV OnlineError! Bookmark not defined.

Chương 3: Hình 6: thiết kế bảng BIDV Online Error! Bookmark not defined

Trang 11

Chương 3: Hình 7: biểu đồ Usecase BIDV Online Error! Bookmark not defined Chương 3: Hình 8: Màn hình giao diện đăng nhập Error! Bookmark not defined Chương 3: Hình 9: Màn hình chức năng quản lý chi nhánhError! Bookmark not defined.

Chương 3: Hình 10: Thêm mới người dùng Error! Bookmark not defined Chương 3: Hình 11: sửa thông tin người dùng Error! Bookmark not defined Chương 3: Hình 12: Thêm mới tài khoản cho khách hàngError! Bookmark not defined Chương 3: Hình 13: chức năng kiểm tra tải hệ thống Error! Bookmark not defined Chương 3: Hình 14: chức năng chuyển khoản Error! Bookmark not defined Chương 3: Hình 15: Chức năng vấn tin tài khoản Error! Bookmark not defined Chương 3: Hình 16: mô hình cluster FDB của BIDV OnlineError! Bookmark not defined.

Chương 3: Hình 17: kết quả cấu hình cluster Error! Bookmark not defined Chương 3: Hình 18: cấu hình connection pool tomcat Error! Bookmark not defined

Trang 12

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ý

Trang 13

- 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)

 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

Chương 1 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

Chương 2 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

Trang 14

- Xây dựng công cụ đánh giá hiệu năng xử lý so với các hệ cơ sở dữ liệu truyền thống

Kết luận chung và những hướng phát triển tiếp theo: Tổng kết những kết quả đạt được qua quá trình hoàn thành đề tài luận văn; đề ra hướng phát triển, hoàn thiện cho đề tài nghiên cứu

Trang 15

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, 4 (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

Ngày đăng: 27/02/2017, 03:51

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w