luận văn: cơ sở dữ liệu trên bộ nhớ (in memory DB) và ứng dụng trong hệ thống phần mềm cần xử lý cơ sở dữ liệu hiệu năng cao

76 1.8K 5
luận văn: cơ sở dữ liệu trên bộ nhớ (in  memory DB) và ứng dụng trong hệ thống phần mềm cần xử lý cơ sở dữ liệu hiệu năng cao

Đ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

luận văn: cơ sở dữ liệu trên bộ nhớ (in memory DB) và ứng dụng trong hệ thống phần mềm cần xử lý cơ sở dữ liệu hiệu năng cao luận văn: cơ sở dữ liệu trên bộ nhớ (in memory DB) và ứng dụng trong hệ thống phần mềm cần xử lý cơ sở dữ liệu hiệu năng cao luận văn: cơ sở dữ liệu trên bộ nhớ (in memory DB) và ứng dụng trong hệ thống phần mềm cần xử lý cơ sở dữ liệu hiệu năng cao

ĐẠI HỌC QUỐC GIA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN HOÀNG TRÍ NHÂN CƠ SỞ DỮ LIỆU TRÊN BỘ NHỚ (IN-MEMORY DB) VÀ ỨNG DỤNG TRONG HỆ THỐNG PHẦN MỀM CẦN XỬ LÝ CƠ SỞ DỮ LIỆU HIỆU NĂNG CAO LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội, 2013 ĐẠI HỌC QUỐC GIA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN HOÀNG TRÍ NHÂN CƠ SỞ DỮ LIỆU TRÊN BỘ NHỚ (IN-MEMORY DB) VÀ ỨNG DỤNG TRONG HỆ THỐNG PHẦN MỀM CẦN XỬ LÝ CƠ SỞ DỮ LIỆU HIỆU NĂNG CAO Ngành: Công nghệ thông tin Chuyên ngành: Quản lý hệ thống thông tin Mã số: Chuyên ngành đào tạo thí điểm LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN HƢỚNG DẪN KHOA HỌC: TS. ĐINH VĂN DŨNG Hà Nội, 2013 1 LỜI CAM ĐOAN Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Các số liệu đã nêu trong luận văn có nguồn gốc rõ ràng, kết quả của luận văn là trung thực và chưa được ai công bố trong bất kỳ công trình nào khác. Tác giả Luận văn Hoàng Trí Nhân 2 LỜI CẢM ƠN Để hoàn thành luận văn này, bên cạnh sự nỗ lực của bản thân, tôi đã nhận được rất nhiều sự giúp đỡ, động viên và hướng dẫn của các thầy cô giáo, bạn bè, đồng nghiệp và gia đình trong suốt khoá học cũng như thời gian nghiên cứu đề tài luận văn. Tôi xin bày tỏ lòng biết ơn chân thành tới Tiến sĩ Đinh Văn Dũng – Viện CNTT – ĐHQG HN, người đã tận tình hướng dẫn và giúp đỡ tôi trong quá trình nghiên cứu và viết đề tài. Tôi xin chân thành cảm ơn các thầy cô trong Hội đồng đã cho tôi những lời nhận xét cũng như những ý kiến đóng góp quý báu, giúp tôi hoàn thiện luận văn này. Tôi xin cám ơn các thầy cô giáo Viện Công nghệ thông tin – ĐH Quốc Gia Hà Nội về những bài giảng thú vị và hữu ích; cảm ơn bạn bè đồng nghiệp về sự cổ vũ tinh thần lớn lao; cảm ơn gia đình đã có sự trợ giúp về mọi mặt. Đây là một đề tài liên quan đến lĩnh vực Cơ sở dữ liệu trên bộ nhớ, lĩnh vực còn khá mới mẻ ở Việt Nam. Vì vậy, luận văn không thể tránh khỏi thiếu sót và hạn chế nhất định. Tôi rất mong nhận được ý kiến đóng góp của mọi cá nhân, tổ chức quan tâm đến đề tài, để đề tài được hoàn thiện hơn nữa. Xin chân thành cảm ơn! Hà Nội, tháng 12 năm 2013 3 MỤC LỤC LỜI CAM ĐOAN 1 LỜI CẢM ƠN 2 MỤC LỤC 3 DANH MỤC CÁC TỪ VIẾT TẮT 4 DANH MỤC BẢNG, BIỂU 5 DANH MỤC HÌNH VẼ 6 MỞ ĐẦU 7 Chƣơng 1: CƠ SỞ LÝ LUẬN VỀ CƠ SỞ DỮ LIỆU TRÊN BỘ NHỚ 10 I.1. Tình hình nghiên cứu IMDB 10 I.2. Nhu cầu thực tế và khả năng áp dụng 14 I.3. Kết luận chương 1 15 Chƣơng 2: CƠ SỞ KHOA HỌC VỀ CƠ SỞ DỮ LIỆU TRÊN BỘ NHỚ 16 II.1. Khái niệm IMDB 16 II.2. Các vấn đề kỹ thuật của IMDB 16 II.3. So sánh với các công nghệ cạnh tranh 25 II.4. Ưu nhược điểm của IMDB 29 II.5. Kết luận chương 2 30 Chƣơng 3: CÁC SẢN PHẨM CƠ SỞ DỮ LIỆU TRÊN BỘ NHỚ 31 III.1. Các sản phẩm thương mại 31 III.2. Các sản phẩm mã nguồn mở 41 III.3. So sánh các sản phẩm 43 III.4. Kết luận chương 3 45 Chƣơng 4: THỬ NGHIỆM CƠ SỞ DỮ LIỆU TRÊN BỘ NHỚ 46 IV.1. Tổng quát lớp bài toán áp dụng 46 IV.2. Mô hình áp dụng 47 IV.3. Thử nghiệm và kết quả 50 IV.4. Kết luận chương 4 58 KẾT LUẬN VÀ HƢỚNG NGHIÊN CỨU TIẾP THEO 59 1. Kết luận 59 2. Hướng nghiên cứu tiếp theo 59 TÀI LIỆU THAM KHẢO 60 PHỤ LỤC P-1 1. Phụ lục 1 – Cài đặt cấu hình Oracle TimesTen P-1 2. Phụ lục 2 – Một số lệnh quản trị TimesTen cơ bản P-13 3. Phụ lục 3 – Kết nối tới TimesTen bằng Java P-14 4 DANH MỤC CÁC TỪ VIẾT TẮT Viết tắt Viết đầy đủ Ý nghĩa IMDB In-memory database Cơ sở dữ liệu trên bộ nhớ DB Database Cơ sở dữ liệu DBMS Database Management System Hệ quản trị cơ sở dữ liệu CNTT Công nghệ thông tin Công nghệ thông tin CSDL Cơ sở dữ liệu Cơ sở dữ liệu 5 DANH MỤC BẢNG, BIỂU Bảng II.1 – Bảng so sánh CSDL dựa trên ổ cứng và IMDB 16 Bảng III.1 – Bảng so sánh đặc điểm chức năng các phần mềm IMDB 43 Bảng III.2 – Bảng so sánh hiệu năng các phần mềm IMDB 45 Bảng IV.1 – Bảng thống kê thời gian xử lý một bản ghi cước 55 Bảng IV.2 – Lựa chọn TimesTen 55 Bảng IV.3 – Lựa chọn tính năng TimesTen 56 Bảng IV.4 – So sánh response time giữa TimesTen và Oracle của CC 57 Bảng IV.5 – So sánh response time giữa TimesTen và Oracle của Rating 58 6 DANH MỤC HÌNH VẼ Hình II.1 – Kiến trúc disk-based RDB 18 Hình II.2 – Kiến trúc IMDB 20 Hình II.3 – So sánh mô hình xử lý SQL của disk-based DB và IMDB 21 Hình II.4 – Mô hình chung tính năng Replication 25 Hình II.5 – Luồng dữ liệu luân chuyển trong DBMS truyền thống 26 Hình II.6 – Hadoop và Hbase 28 Hình III.1 – Ví dụ cache grid 32 Hình III.2 – Ví dụ cache group 33 Hình III.3 – Kiến trúc TimesTen IMDB 34 Hình III.4 – Kiến trúc IBM solidDB 36 Hình III.5 – Kiến trúc mức cao của SQLServer 2014 40 Hình III.6 – Hiệu năng Oracle TimesTen 44 Hình III.7 – Hiệu năng IBM solidDB 45 Hình IV.1 – Mô hình hệ thống phần mềm thông thường 47 Hình IV.2 – Mô hình hệ thống phần mềm sử dụng IMDB 49 Hình IV.3 – Kết hợp CSDL truyền thống và IMDB Cache 49 Hình IV.4 – Mô hình CC trước và sau khi áp dụng TimesTen 57 Hình IV.5 – Mô hình Rating trước và sau khi áp dụng TimesTen 58 7 MỞ ĐẦU 1. Sự cấp thiết của đề tài Sự phát triển với tốc độ rất nhanh của công nghệ thông tin bao gồm cả phần cứng, phần mềm và hạ tầng mạng (Internet, LAN, WAN…) đã làm thay đổi bộ mặt và hình thức kinh doanh trên quy mô toàn thế giới. Giờ đây hầu hết các quy trình kinh doanh đều được tự động hóa, công nghệ thông tin hóa một cách tối đa. Các hệ thống công nghệ thông tin đang là xương sống của những tập đoàn, tổ chức kinh doanh từ nhỏ đến lớn, và khi việc kinh doanh phát triển hơn (nhiều khách hàng hơn, nhiều lĩnh vực hơn, tinh vi hơn) nhưng cũng nhiều cạnh tranh hơn, những công ty tổ chức này yêu cầu xây dựng những hệ thống phần mềm ngày càng lớn và phức tạp, nhưng vẫn phải đáp ứng những yêu cầu về hiệu năng. Để đáp ứng yêu cầu này, ngành công nghệ thông tin cũng đã có những bước phát triển nhanh chóng: phần cứng rẻ hơn, nhanh hơn, băng thông mạng lớn hơn, các công cụ lập trình tiện dụng hơn, hiệu quả hơn,… Nhưng thật không may có một thành phần quan trọng của các hệ thống công nghệ thông tin là Cơ sở dữ liệu truyền thống lại không có được những phát triển ấn tượng như vậy. Khi xây dựng những hệ thống lớn với số lượng dữ liệu cũng như số giao dịch lớn, Cơ sở dữ liệu truyền thống (dựa trên ổ đĩa cứng) trở thành điểm nghẽn ảnh hưởng không nhỏ đến hiệu năng của toàn bộ hệ thống. Thực trạng này đặt ra những yêu cầu cần tìm ra những phương pháp, hướng đi mới cho hệ thống Cơ sở dữ liệu. Tại Việt Nam, yêu cầu này càng trở nên cấp thiết hơn bao giờ hết khi hệ thống công nghệ thông tin ngày càng đóng vai trò quan trọng trong quy trình hoạt động kinh doanh và thành công của doanh nghiệp, số lượng các doanh nghiệp tổ chức ra đời ngày càng nhiều trong môi trường kinh doanh cạnh tranh hơn, và chủ trương của Nhà nước về phát triển khoa học công nghệ phục vụ sự phát triển chung của đất nước. Để giải quyết vấn đề này, hiện cũng đã có các nghiên cứu thử nghiệm nhằm làm tăng tốc độ truy vấn dữ liệu. Từ cơ sở tốc độ truy vấn của ổ cứng chậm hơn chip nhớ flash, chip nhớ chậm hơn bộ nhớ chính (RAM), một hướng đi là đổi phương tiện lưu trữ dữ liệu của CSDL từ ổ cứng sang SSD (chíp nhớ flash) hoặc RAM disk (giả lập ổ cứng thành RAM), tốc độ truy vấn đã được cải thiện. Một hướng đi khác là In-memory database (IMDB), lưu toàn bộ dữ liệu trong bộ nhớ chính. Kết quả so sánh giữa cơ sở dữ liệu trên ổ cứng, trên SSD, trên bộ nhớ chính đã cho thấy sử dụng cơ sở dữ liệu trên bộ nhớ là một hướng đi đúng đắn. Cơ sở dữ liệu trên bộ nhớ (In-memory database) là cơ sở dữ liệu quan hệ dựa trên bộ nhớ, bỏ qua các thao tác truy cập ổ đĩa cứng bằng cách lưu trữ và xử lý dữ liệu ngay trên bộ nhớ chính. Nó còn được gọi với các tên khác như Main memory database (cơ sở dữ liệu bộ nhớ chính) hoặc real-time database (cơ sở dữ liệu thời gian thực). Khác biệt cơ bản giữa Cơ sở dữ liệu trên bộ nhớ với cơ sở dữ liệu truyền thống là nó sử dụng bộ nhớ chính (RAM) để lưu trữ dữ liệu. Khi đó tốc độ truy cập không chỉ được cải thiện vì tốc độ đọc/ghi của RAM nhanh hơn mà còn vì kiến trúc của hệ thống CSDL đơn giản hơn rất nhiều, cũng như không cần các cơ chế 8 buffer, không cần liên tục copy dữ liệu cache từ ổ cứng lên RAM, đồng thời các thuật toán tối ưu câu truy vấn, tổ chức dữ liệu, chỉ mục cũng được tối ưu hơn. Hiện nay, các nhà cung cấp giải pháp lưu trữ dữ liệu hàng đầu thế giới cũng đang hướng về giải pháp Cơ sở dữ liệu trên bộ nhớ để cải thiện tốc độ truy cập dữ liệu. Điển hình phải kể đến Oracle với sản phẩm Oracle TimesTen, IBM với sản phẩm IBM solidDB. Ngoài ra, các công ty nhỏ và cộng đồng mã nguồn mở cũng tham gia mạnh mẽ vào việc nghiên cứu phát triển và sử dụng cơ sở dữ liệu trên bộ nhớ. Tại Việt Nam, chưa có nhiều nghiên cứu, bài viết chính thống về Cơ sở dữ liệu trên bộ nhớ, chủ yếu là các thông tin trên một số diễn đàn công nghệ thông tin, các nghiên cứu toàn diện và chuyên sâu lại càng hiếm. Từ đó đặt ra yêu cầu cấp thiết và thực tế là cần có một nghiên cứu chuyên sâu và toàn diện về Cơ sở dữ liệu trên bộ nhớ: kiến trúc, đặc điểm chức năng, ưu nhược điểm, cũng như cách sử dụng chúng sao cho hiệu quả. 2. Mục tiêu nghiên cứu - Tìm hiểu hiện trạng, tình hình nghiên cứu Cơ sở dữ liệu trên bộ nhớ - Nghiên cứu kiến thức cơ sở của Cơ sở dữ liệu trên bộ nhớ: khái niệm, kiến trúc, đặc điểm tính năng - Nghiên cứu ưu nhược điểm của Cơ sở dữ liệu trên bộ nhớ, các sản phẩm Cơ sở dữ liệu trên bộ nhớ, so sánh với các công nghệ, sản phẩm cạnh tranh - Tổng quát hóa các bài toán nghiệp vụ, kiến trúc có thể áp dụng Cơ sở dữ liệu trên bộ nhớ; Cài đặt thử nghiệm. - Đưa ra những đề xuất, ý tưởng ứng dụng, cải tiến với Cơ sở dữ liệu trên bộ nhớ 3. Đối tƣợng, phạm vi và phƣơng pháp nghiên cứu - Đối tượng nghiên cứu: Cơ sở dữ liệu trên bộ nhớ - Phạm vi nghiên cứu:  Cơ sở lý luận, kiến thức cơ sở khoa học về Cơ sở dữ liệu trên bộ nhớ  Điểm khác biệt, lợi thế cạnh tranh của Cơ sở dữ liệu trên bộ nhớ, ưu nhược điểm  Các sản phẩm Cơ sở dữ liệu trên bộ nhớ  Mô hình áp dụng và kết quả thực nghiệm - Phương pháp nghiên cứu:  Nghiên cứu lý thuyết: tìm hiểu lý thuyết về Cơ sở dữ liệu trên bộ nhớ trên các paper, diễn đàn nổi tiếng, các website chính thức của các công ty có sản phẩm hoặc giải pháp liên quan Cơ sở dữ liệu trên bộ nhớ.  Thử nghiệm: tổng quát hóa loại bài toán có thể áp dụng Cơ sở dữ liệu trên bộ nhớ, chọn lựa một sản phẩm Cơ sở dữ liệu trên bộ nhớ và hệ thống để áp dụng, rút ra kết quả. [...]... Cơ sở dữ liệu trên bộ nhớ - Chương 2: Cơ sở khoa học về Cơ sở dữ liệu trên bộ nhớ - Chương 3: Các sản phẩm Cơ sở dữ liệu trên bộ nhớ - Chương 4: Thử nghiệm Cơ sở dữ liệu trên bộ nhớ - Kết luận và Hướng nghiên cứu tiếp theo 10 Chƣơng 1: CƠ SỞ LÝ LUẬN VỀ CƠ SỞ DỮ LIỆU TRÊN BỘ NHỚ I.1 Tình hình nghiên cứu IMDB Sự phát triển với tốc độ rất nhanh của CNTT bao gồm cả phần cứng, phần mềm và hạ tầng mạng (Internet,... toàn bộ dữ liệu trên bộ nhớ và thiết kế lại cấu trúc dữ liệu và thuật toán, cũng như sử dụng đa tiến trình để tận dụng hết tài nguyên bộ nhớ chính IMDB ra đời nhằm đáp ứng cho các hệ thống cần thời gian truy vấn dữ liệu từ CSDL rất nhỏ và số lượng truy cập đồng thời cao In -memory database (Cơ sở dữ liệu trên bộ nhớ) là cơ sở dữ liệu quan hệ dựa trên bộ nhớ, bỏ qua các thao tác truy cập ổ đĩa cứng bằng... học và thực tiễn - Ý nghĩa khoa học:  Lý thuyết về Cơ sở dữ liệu trên bộ nhớ: khái niệm, mô hình kiến trúc, ưu nhược điểm  Phân tích so sánh với các công nghệ cạnh tranh, so sánh nội tại các sản phẩm Cơ sở dữ liệu trên bộ nhớ - Ý nghĩa thực tiễn:  Tổng quát hóa lớp bài toán có thể áp dụng Cơ sở dữ liệu trên bộ nhớ để tăng hiệu năng  Kết quả thử nghiệm 5 Bố cục của luận văn - Chương 1: Cơ sở lý luận. .. bộ lên bộ nhớ) : Bảng II.1 – Bảng so sánh CSDL dựa trên ổ cứng và IMDB Tiêu chí Disk-based DB IMDB Lưu trữ dữ - Dữ liệu được lưu trữ trên ổ cứng - Dữ liệu được lưu trũ trên bộ nhớ liệu - Dữ liệu có thể được cache vào chính để truy vấn và xử lý bộ nhớ để truy cập nhanh hơn - Dữ liệu có thể được ghi xuống ổ cứng để sao lưu và phục hồi Tối ưu hóa - Thuật toán tối ưu hóa truy vấn - IMDB biết chắc dữ liệu. .. lý bộ nhớ đệm (buffer pool), và cấu trúc chỉ mục (index) Trong khi CSDL dựa trên ổ cứng thực hiện các công việc đó với quan niệm dữ liệu được đặt trên ổ cứng (dù dữ liệu có được cache trên bộ nhớ) , IMDB biết chắc dữ liệu được đặt trên bộ nhớ nên nó làm đơn giản hóa các thuật toán và cấu trúc Dưới đây là so sánh cụ thể giữa IMDB và CSDL dựa trên ổ cứng (gồm cả trường hợp dữ liệu có được cache toàn bộ. .. giao dịch lớn Cơ sở dữ liệu trên ổ cứng trở thành các điểm nghẽn ảnh hưởng đến hiệu năng của toàn bộ hệ thống Để giải quyết vấn đề này các nhà cung cấp giải pháp lưu trữ dữ liệu hàng đầu thế giới đều đang hướng về giải pháp Cơ sở dữ liệu trên bộ nhớ (In memory Database IMDB) để cải thiện tốc độ truy cập dữ liệu Khác biệt cơ bản là IMDB sử dụng bộ nhớ chính (RAM) để lưu trữ dữ liệu Khi đó tốc độ truy... cứng bằng cách lưu trữ và xử lý dữ liệu ngay trên bộ nhớ chính Nó còn có các tên khác như Main memory database (cơ sở dữ liệu bộ nhớ chính) hoặc real-time database (cơ sở dữ liệu thời gian thực) II.2 Các vấn đề kỹ thuật của IMDB II.2.1 So sánh IMDB với disk-based DB IMDB không chỉ đơn thuần khác CSDL truyền thống ở việc dữ liệu được đặt trên bộ nhớ chính thay vì trên ổ đĩa cứng, mà các yếu tố khác... truyền thống Quy trình khi ứng dụng truy vấn, cập nhật dữ liệu trên DBMS truyền thống: - Ứng dụng truy cập CSDL thông qua API cung cấp - CSDL yêu cầu lấy dữ liệu tương ứng từ hệ thống lưu trữ file - Hệ thống quản lý file có một bản sao dữ liệu trong cache của nó, và chuyển một bản cho CSDL - CSDL giữ một bản sao trong cache của nó, và gửi một bản sao cho ứng dụng - Ứng dụng sửa đổi và gửi lại giá trị mới... CSDL truyền thống và ứng dụng, trên IMDB chỉ lưu trữ dữ liệu hay được truy cập và cần hiệu năng cao Do đó, các sản phẩm IMDB thường cung cấp thêm cơ chế cache, giúp đồng bộ dữ liệu hai chiều giữa IMDB và CSDL truyền thống  Tự động loại bỏ dữ liệu không cần thiết (data aging): để tiết kiệm dung lượng bộ nhớ chính, những dữ liệu không cần thiết có thể bị loại bỏ Các IMDB thường hỗ trợ hai cơ chế Data... lưu trữ dữ liệu lúc runtime Bằng cách quản lý dữ liệu trên bộ nhớ và tối ưu hóa cấu trúc dữ liệu và các thuật toán truy cập dữ liệu tương ứng, các thao tác với CSDL được thực thi với tốc độ và hiệu quả cao nhất Điều này giúp TimesTen tăng khả năng đáp ứng cũng như lượng dữ liệu đưa vào, thậm chí còn nhanh hơn fully-cached, disk-based RDBMS Thư viện của TimesTen và IMDB Cache được nhúng vào ứng dụng, . Cơ sở lý luận về Cơ sở dữ liệu trên bộ nhớ - Chương 2: Cơ sở khoa học về Cơ sở dữ liệu trên bộ nhớ - Chương 3: Các sản phẩm Cơ sở dữ liệu trên bộ nhớ - Chương 4: Thử nghiệm Cơ sở dữ liệu trên. giữa cơ sở dữ liệu trên ổ cứng, trên SSD, trên bộ nhớ chính đã cho thấy sử dụng cơ sở dữ liệu trên bộ nhớ là một hướng đi đúng đắn. Cơ sở dữ liệu trên bộ nhớ (In- memory database) là cơ sở dữ liệu. VIỆN CÔNG NGHỆ THÔNG TIN HOÀNG TRÍ NHÂN CƠ SỞ DỮ LIỆU TRÊN BỘ NHỚ (IN- MEMORY DB) VÀ ỨNG DỤNG TRONG HỆ THỐNG PHẦN MỀM CẦN XỬ LÝ CƠ SỞ DỮ LIỆU HIỆU NĂNG CAO

Ngày đăng: 10/05/2015, 17:55

Từ khóa liên quan

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

Tài liệu liên quan