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

23 64 0
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

ĐẠI HỌC QUỐC GIA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN HỒ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 TĨM TẮT LUẬN VĂN THẠC SĨ CƠNG NGHỆ THÔNG TIN Hà Nội, 05/2013 MỤC LỤC MỤC LỤC MỞ ĐẦU 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 I.2 Nhu cầu thực tế khả áp dụng I.3 Kết luận chương Chương 2: CƠ SỞ KHOA HỌC VỀ CƠ SỞ DỮ LIỆU TRÊN BỘ NHỚ II.1 Kiến thức chung Cơ sở liệu nhớ II.2 So sánh với công nghệ cạnh tranh 10 II.3 Ưu nhược điểm Cơ sở liệu nhớ 11 II.4 Kết luận chương 11 Chương 3: CÁC SẢN PHẨM CƠ SỞ DỮ LIỆU TRÊN BỘ NHỚ 12 III.1 Các sản phẩm thương mại 12 III.2 Các sản phẩm mã nguồn mở 13 III.3 So sánh sản phẩm 15 III.4 Kết luận chương 16 Chương 4: THỬ NGHIỆM CƠ SỞ DỮ LIỆU TRÊN BỘ NHỚ 17 IV.1 Tổng quát lớp toán áp dụng 17 IV.2 Mơ hình áp dụng 17 IV.3 Thử nghiệm kết 18 IV.4 Kết luận chương 22 KẾT LUẬN VÀ KIẾN NGHỊ 23 Kết luận 23 Kiến nghị 23 MỞ ĐẦU Sự cấp thiết đề tài Sự phát triển nhanh chóng cơng nghệ thơng tin làm thay đổi mặt hình thức kinh doanh quy mơ tồn giới Các hệ thống cơng nghệ thơng tin xương sống doanh nghiệp Nhu cầu kinh doanh đặt yêu cầu xây dựng hệ thống phần mềm phức tạp phải đảm bảo hiệu Nhiều điều kiện thay đổi: phần cứng rẻ hơn, nhanh hơn, băng thông mạng lớn hơn, cơng cụ lập trình tiện dụng hơn, hiệu hơn,… Nhưng Cơ sở liệu truyền thống (disk-based DB) lại khơng có phát triển ấn tượng Khi xây dựng hệ thống lớn với số lượng liệu số giao dịch lớn, Cơ sở liệu truyền thống trở thành điểm nghẽn hệ thống Thực trạng đặt yêu cầu cần tìm phương pháp, hướng cho hệ thống Cơ sở liệu Để giải vấn đề này, có nghiên cứu thử nghiệm nhằm làm tăng tốc độ truy vấn liệu Đổi phương tiện lưu trữ từ ổ cứng sang SSD, giả lập RAM thành ổ cứng, tốc độ truy vấn cải thiện Một hướng khác Inmemory database (IMDB), lưu tồn liệu nhớ Kết so sánh sở liệu ổ cứng, SSD, nhớ cho thấy sử dụng sở liệu nhớ hướng đắn Cơ sở liệu nhớ (In-memory database) sở liệu quan hệ dựa nhớ, bỏ qua thao tác truy cập ổ đĩa cứng cách lưu trữ xử lý liệu nhớ Khác biệt Cơ sở liệu nhớ với sở liệu truyền thống sử dụng nhớ (RAM) để lưu trữ liệu Khi tốc độ truy cập khơng cải thiện tốc độ đọc/ghi RAM nhanh mà cịn kiến trúc hệ thống CSDL đơn giản nhiều, không cần chế buffer, không cần liên tục copy liệu cache từ ổ cứng lên RAM, đồng thời thuật toán tối ưu câu truy vấn, tổ chức liệu, mục thay đổi cho phù hợp Hiện nay, nhà cung cấp giải pháp lưu trữ liệu hàng đầu giới hướng giải pháp Cơ sở liệu nhớ để cải thiện tốc độ truy cập liệu Điển hình phải kể đến Oracle IBM Ngồi ra, cơng ty nhỏ cộng đồng mã nguồn mở tham gia mạnh mẽ vào việc nghiên cứu phát triển sử dụng sở liệu nhớ Tại Việt Nam, chưa có nhiều nghiên cứu, viết thống Cơ sở liệu nhớ, chủ yếu thông tin số diễn đàn công nghệ thơng tin, nghiên cứu tồn diện chun sâu lại Từ đặt yêu cầu cấp thiết thực tế cần có nghiên cứu chuyên sâu toàn diện Cơ sở liệu nhớ: kiến trúc, đặc điểm chức năng, ưu nhược điểm, cách sử dụng chúng cho hiệu Mục tiêu nghiên cứu - Tìm hiểu trạng, tình hình nghiên cứu Cơ sở liệu nhớ - Nghiên cứu kiến thức sở Cơ sở liệu nhớ: khái niệm, kiến trúc, đặc điểm tính - Nghiên cứu ưu nhược điểm Cơ sở liệu nhớ, sản phẩm Cơ sở liệu nhớ, so sánh với công nghệ, sản phẩm cạnh tranh - Tổng qt hóa tốn nghiệp vụ, kiến trúc áp dụng Cơ sở liệu nhớ; Cài đặt thử nghiệm - Đề xuất ứng dụng, cải tiến với Cơ sở liệu nhớ Đối tượng, phạm vi phương pháp nghiên cứu - Đối tượng nghiên cứu: Cơ sở liệu nhớ - Phạm vi nghiên cứu:  Cơ sở lý luận, kiến thức chuyên sâu Cơ sở liệu nhớ  Điểm khác biệt, lợi cạnh tranh Cơ sở liệu nhớ, ưu nhược điểm, sản phẩm Cơ sở liệu nhớ  Mơ hình áp dụng kết 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 Cơ sở liệu nhớ paper, diễn đàn tiếng, website thức cơng ty có sản phẩm giải pháp Cơ sở liệu nhớ  Thử nghiệm: tổng qt hóa loại tốn áp dụng Cơ sở liệu nhớ, chọn lựa hệ thống áp dụng, tổng hợp kết Ý nghĩa khoa học thực tiễn - Ý nghĩa khoa học:  Lý thuyết Cơ sở liệu 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ơng nghệ cạnh tranh, so sánh nội sản phẩm Cơ sở liệu nhớ - Ý nghĩa thực tiễn:  Tổng qt hóa lớp tốn áp dụng Cơ sở liệu nhớ để tăng hiệu  Kết thử nghiệm Bố cục luận văn - Chương 1: Cơ sở lý luận Cơ sở liệu nhớ - Chương 2: Cơ sở khoa học Cơ sở liệu nhớ - Chương 3: Các sản phẩm Cơ sở liệu nhớ - Chương 4: Thử nghiệm Cơ sở liệu nhớ - Kết luận kiến nghị 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 I.1.1 Tình hình nghiên cứu giới a/ Nghiên cứu phát triển Nghiên cứu phát triển hệ thống IMDB thành sản phẩm đóng gói xu hướng số công ty phần mềm lớn cộng đồng mã nguồn mở Dưới liệt kê số sản phẩm điển hình: - Oracle TimesTen (sản phẩm thương mại): sản phẩm Oracle gồm CSDL TimesTen IMDB, IMDB Cache để đồng liệu chiều CSDL Oracle truyền thống TimesTen IMDB TimesTen IMDB sở liệu tối ưu hóa dựa nhớ, giúp ứng dụng lĩnh vực khác đạt hiệu cao với thời gian đáp ứng (response time) nhỏ thông lượng (throughput) lớn - IBM SolidDB (sản phẩm thương mại): sản phẩm IBM, gồm solidDB IMDB solidDB Universal Cache IBM solidDB IMDB sở liệu quan hệ nhớ với đầy đủ tính năng, cung cấp tốc độ tính sẵn sàng cao, giúp thỏa mãn yêu cầu hiệu độ tin cậy cho ứng dụng thời gian thực - McObject eXtremeDB (sản phẩm thương mại): sản phẩm McObject, gồm eXtremeDB IMDB sở liệu nhớ dùng cho ứng dụng thời gian thực cho ứng dụng nhúng set-top box, thiết bị viễn thông, thiết bị điện tử,… - H2 IMDB (sản phẩm nguồn mở): CSDL nhớ gọn nhẹ, hỗ trợ JDBC API, cho phép chạy chế độ embeded server, hỗ trợ SQL - HyperSQL (sản phẩm nguồn mở): CSDL viết java Nó cung cấp database engine nhỏ gọn, nhanh, đa luồng, hỗ trợ chế kết nối embeded server Nó có cơng cụ dịng lệnh SQL mạnh mẽ, cơng cụ có giao diện b/ Sử dụng Việc lựa chọn sử dụng IMDB ngày công ty lĩnh vực quan tâm sử dụng nhằm tăng hiệu hệ thống Dưới số ví dụ: - Cơng ty Dell với hệ thống Sale, CustomerCare Hỗ trợ kỹ thuật: sử dụng Oracle TimesTen - Cơng ty tài China Finance Online sử dụng Oracle TimesTen cho hai website cung cấp thơng tin chứng khốn, cổ phiếu, tài chính,…để hiển thị thơng tin mức real-time - Iskratel thay CSDL truyền thống IBM solidDB cho sản phẩm SI3000, giúp giảm thời gian xử lý xuống ba lần I.1.2 Tình hình nghiên cứu nước Tại Việt Nam, việc nghiên cứu phát triển sản phẩm CSDL nhớ chưa công ty, doanh nghiệp thực Việc sử dụng hệ thống IMDB cịn Các giải pháp tăng cường hiệu hệ thống dừng lại mức tối ưu hóa CSDL (chỉ mục, quy hoạch lại bảng biểu,…), cao cache liệu cần thiết lên nhớ, cách sử dụng hashmap chẳng hạn Ngay FPT công ty phần mềm lớn hàng đầu Việt Nam chưa áp dụng công nghệ hệ thống Billing họ (vốn hệ thống yêu cầu hiệu cao) I.2 Nhu cầu thực tế khả áp dụng I.2.1 Nhu cầu Đi với phát triển kinh doanh, khách hàng công ty, doanh nghiệp thách thức hiệu năng, số lượng truy cập liệu, đòi hỏi ngày cao khách hàng Nếu không đủ nhanh đáp ứng yêu cầu thị trường, yêu cầu khách hàng, cơng ty khó cạnh tranh với cơng ty khác Các hệ thống liên quan trực tiếp cần cải thiện hiệu gồm ứng dụng viễn thông, tài ngân hàng, hàng khơng, qn sự, game, hệ thống chăm sóc khách hàng Trong lĩnh vực Viễn thơng nói riêng, Viettel ba nhà cung cấp dịch vụ viễn thông lớn Việt Nam Các sản phẩm phần mềm hỗ trợ kinh doanh chủ yếu Trung tâm Phần mềm Viettel tự xây dựng Hiện tại, Trung tâm phát triển hệ thống lớn Tính cước chăm sóc khách hàng (Billing & Customer Care System – BCCS), kho tàng tài sản, v-office,… đến đưa vào sử dụng, vận hành phát nhiều điểm nghẽn liên quan đến CSDL phải khắc phục vất vả Việc treo nghẽn hệ thống BCCS ảnh hưởng nghiêm trọng đến việc sản xuất kinh doanh mức độ hài lòng khách hàng Các điểm treo nghẽn hệ thống BCCS liên quan đến việc truy cập CSDL Các ví dụ điển hình là: - Truy vấn kết kinh doanh cuối tháng - Hiển thị thông tin lịch sử khiếu nại khách hàng hệ thống Chăm sóc khách hàng (CustomerCare) - Hàng đợi chứa request client CSDL Số lượng vấn đề tương tự phổ biến, làm giảm hiệu năng, chất lượng độ ổn định hệ thống, làm tăng chi phí giám sát vận hành gây thiệt hại lớn cho sản xuất kinh doanh Việc áp dụng giải pháp IMDB cứu cánh cho phần mềm nói riêng phát triển cơng ty nói chung, khơng để khắc phục nhược điểm tại, mà chuẩn bị cho phát triển tương lai I.2.2 Khả áp dụng Việc áp dụng sản phẩm IMDB vào hệ thống phần mềm hồn tồn khả thi có khoa học: - Việc đưa liệu lên nhớ giúp tăng tốc độ truy cập tốc độ truy cập nhớ nhanh so với ổ đĩa cứng - Các sản phẩm IMDB dựa nguyên tắc đưa liệu lên nhớ, chúng quy hoạch CSDL quan hệ thông thường, truy cập SQL chuẩn, giúp thuận tiện cho việc đồng liệu CSDL truyền thống IMDB, ứng dụng dễ dàng truy cập liệu từ IMDB - Giá thành nhớ ngày giảm, gần với giá thành ổ đĩa cứng - Nhu cầu ứng dụng có thật ngày trở nên cấp thiết, số lượng truy cập ngày lớn với đòi hỏi thời gian đáp ứng gần tức thời:  Viễn thông: đăng nhập, xác thực, tính cước, mediation, call centers  Tài chính: online banking, fraud detection, stock exchanges,…  Các ứng dụng khác: chăm sóc khách hàng, gaming, phịng thủ, đặt vé máy bay,… I.3 Kết luận chương Từ thông tin cho thấy việc nghiên cứu phát triển tìm hiểu sử dụng IMDB nở rộ giới với tham gia công ty phần mềm lớn cộng đồng mã nguồn mở, nhiều lĩnh vực Tài chính, Viễn thơng, ngân hàng, thương mại điện tử, qn sự, trị chơi,… Hiện trạng hệ thống phần mềm, ứng dụng lĩnh vực đặt nhu cầu cấp thiết phải áp dụng giải pháp nhằm tăng hiệu năng, đáp ứng nhiều số lượng truy cập với thời gian nhỏ Sử dụng IMDB giải pháp tốt, dễ dàng áp dụng cho nhiều loại ứng dụng, xây dựng có, nhiều lĩnh vực khác Chương 2: CƠ SỞ KHOA HỌC VỀ IN-MEMORY DATABASE II.1 Kiến thức chung IMDB II.1.1 IMDB gì? In-memory database (Cơ sở liệu nhớ) sở liệu quan hệ dựa nhớ, bỏ qua thao tác truy cập ổ đĩa cứng cách lưu trữ xử lý liệu nhớ Nó gọi với tên khác Main memory database (cơ sở liệu nhớ chính) real-time database (cơ sở liệu thời gian thực) II.1.2 So sánh IMDB với disk-based DB Dưới so sánh cụ thể IMDB CSDL dựa ổ cứng (gồm trường hợp liệu có cache tồn lên nhớ): Bảng II.1 – Bảng so sánh CSDL dựa ổ cứng IMDB Tiêu chí Disk-based DB IMDB Lưu trữ - Dữ liệu lưu trữ ổ cứng - Dữ liệu lưu trữ nhớ liệu - Dữ liệu cache vào để truy vấn xử lý nhớ để truy cập nhanh - Dữ liệu ghi xuống ổ cứng để lưu phục hồi Tối ưu hóa - Thuật tốn tối ưu hóa truy vấn - IMDB biết liệu lưu trữ truy vấn thực với quan niệm liệu nhớ, nên thuật toán tối ưu đặt ổ đĩa truy vấn đơn giản xác Quản lý nhớ đệm (buffer pool) - Buffer pool phải quản lý liệu cache nhớ Nếu liệu tìm thấy buffer, phải chép trước trả lại kết - IMDB không sử dụng buffer pool, chép liệu trước trả lại cho ứng dụng Do đó, thuật tốn đơn giản hơn, thời gian đáp ứng truy nhanh Cấu trúc - Sử dụng B+ tree cho index Cấu mục (index) trúc phù hợp để giảm disk I/O, khơng cịn nhiều hữu dụng liệu đặt nhớ Khi liệu đặt nhớ, mục tiêu giảm CPU cycle, I/O - Sử dụng T-tree cho index Vì tất data row đặt nhớ, T-tree không cần cặp keyvalue, đơn gồm trỏ tới dòng liệu thực Thời gian tìm kiêm liệu thuật tốn tìm kiếm nhị phân II.1.3 Kiến trúc hệ thống IMDB II.1.3.1 Kiến trúc disk-based RDB II.1.3.2 Kiến trúc IMDB Về tổng thể, IMDB có kiến trúc tương tự disk-based DB, gồm thành phần: SQL engine, transaction engine, relational engine, storage engine, thành phần bên thành phần lại hoạt động khác hẳn Đồng thời loại bỏ phần quản lý buffer pool, thêm vào phần quản lý nhớ chính, nhớ chia sẻ II.1.4 Tại IMDB lại nhanh? IMDB Hình II.3 – So sánh mơ hình xử lý SQL disk-based DB IMDB II.1.5 Kết nối từ ứng dụng đến IMDB  Kết nối trực tiếp  Kết nối client/server II.1.6 Truy cập đồng thời (concurrent operations) IMDB hỗ trợ truy cập đồng thời chế isolation locks Isolation (cơ lập giao tác có hai mức: read-committed, serializable Có ba mức khóa: database, table, row level II.1.7 Tối ưu hóa truy vấn Tương tự CSDL truyền thống, IMDB có tối ưu hóa truy vấn để bảo đảm truy cập liệu hiệu cách tự động chọn cách tốt để trả lời truy vấn Bộ tối ưu hóa truy vấn giúp giảm thời gian thực thi truy vấn xuống thấp II.1.8 Tự động loại bỏ liệu không cần thiết Để tiết kiệm nhớ, số sản phẩm IMDB cung cấp chế Loại bỏ liệu không cần thiết (data aging) + Time-based data aging: loại bỏ liệu theo thời gian + Usage-based data aging: liệu dùng bị xóa (thuật tốn LRU) II.1.9 Tính sẵn sàng tồn vẹn liệu IMDB đảm bảo tính sẵn sàng toàn vẹn liệu bằng: Transaction logging, Checkpointing, Replication II.2 So sánh IMDB với công nghệ cạnh tranh II.2.1 CSDL SSD & RAM-disk Quy trình truy cập liệu với CSDL truyền thống cho thấy dù có thay đổi ổ đĩa cứng SSD hay giả lập RAM, thuật tốn quy trình thực khơng thay đổi, tốc độ cải thiện phần đọc/ghi với thiết bị lưu trữ IMDB làm tốt công việc Như giải thích phần II.1.2, ngồi việc lưu trữ liệu RAM, IMDB tối ưu cách thay đổi thuật tốn tối ưu hóa truy vấn, loại bỏ thành phần không cần thiết buffer pool, dùng thuật toán cho cấu trúc mục với mục tiêu tối ưu CPU cycle RAM thay tối ưu việc giao tiếp I/O II.2.2 Partitioning Một hướng khác để cải thiện hiệu CSDL kỹ thuật partitioning Dưới số dạng: - Master/Slave, Master/Master - Clustering, Table partitioning, Federated tables Các kỹ thuật nhằm phân chia việc đọc/ghi liệu server riêng biệt, tận dụng phần cứng phân tán thành ổ cứng để tận dụng dung lượng Các cách cải thiện phần hiệu năng, dựa ổ đĩa cứng nên không cải thiện nhiều II.2.3 Caching Kỹ thuật caching liệu cách làm hay để tăng tốc truy vấn CSDL Dưới trình bày số cách caching: - Query result caches, Object-relational mapping caches, Object caches Các kỹ thuật caching thường đơn giản kiến trúc, thời gian thực khơng nhiều, có hiệu định Tuy nhiên, chúng thường không tổng quát áp dụng cho số toán với yêu cầu chuyên biệt IMDB chuyển hẳn CSDL truyền thống lên RAM, với tối ưu tương ứng, phù hợp với nhiều loại toán, yêu cầu khác 10 II.2.4 NoSQL database Sự đời CSDL NoSQL đánh dấu giải pháp cho tốn khơng thể thực hiệu với CSDL quan hệ NoSQL viết tắt Not-only SQL Hadoop điểm sáng Nó framework mã nguồn mở tin cậy, mở rộng theo chiều ngang, tính tốn phân tán Nó giúp giải toán mà lẽ phải dùng phần cứng mạnh Hadoop ưu việt vậy, framework tổng qt, việc lập trình tương đối phức tạp Từ đó, nhiều sub-project dựa Hadoop đời với mục đích khác nhau, nhóm CSDL có Hbase Về phía ứng dụng, Hbase CSDL thông thường, câu lệnh gửi tới Hbase để thực chuyển thành nhiệm vụ cho Hadoop thực Điều tạo tiện dụng, dễ dàng cho người lập trình, mà tận dụng sức mạnh Hadoop Tuy nhiên, mục đích phát triển Hadoop NoSQL tập trung vào toán xử lý liệu lớn phần cứng thông thường, không quan trọng tốc độ, cần xử lý trả lại kết Do đó, xét theo khía cạnh cần cải tiến hiệu CSDL, giải toán số lượng truy cập nhiều, với yêu cầu thời gian truy vấn nhỏ, NoSQL – cụ thể Hadoop khơng có nhiều lợi so với IMDB Oracle TimesTen hay IBM solidDB II.3 Ưu nhược điểm IMDB II.3.1 Ưu điểm - Thời gian đáp ứng nhanh: - Đáp ứng lượng truy vấn (thông lượng) cao: - Bền vững phục hồi (đảm bảo tính ACID): - Tuân theo chuẩn giới cho CSDL: - Có tương đối đầy đủ tính CSDL quan hệ thơng thường: - Một số tính nâng cao chuyên biệt: cache, tự động loại bỏ liệu II.3.2 Nhược điểm - Giá thành: giá RAM đắt ổ đĩa cứng - Ứng dụng IMDB phải nằm server vật lý muốn dùng kiểu kết nối direct/embeded để đạt hiệu tối đa II.4 Kết luận chương Chương cung cấp thông tin, kiến thức sở Cơ sở liệu nhớ khái niệm, kiến trúc, đặc điểm tính Đồng thời, chương có so sánh IMDB với cơng nghệ cạnh tranh khác để có nhìn đầy đủ giải pháp CSDL để cải thiện hiệu năng, từ đưa điểm khác biệt bật để lựa chọn IMDB Cuối cùng, chương tổng hợp ưu nhược điểm IMDB để người đọc sử dụng cách phù hợp 11 Chương 3: CÁC SẢN PHẨM CƠ SỞ DỮ LIỆU TRÊN BỘ NHỚ III.1 Sản phẩm thương mại III.1.1 Oracle TimesTen a/ Giới thiệu Oracle TimesTen sản phẩm Oracle, gồm hai sản phẩm: CSDL liệu nhớ Oracle TimesTen IMDB, Oracle IMDB Cache TimesTen IMDB giúp tối ưu hóa ứng dụng, làm tăng khả đáp ứng thông lượng đầu vào lớn Oracle IMDB Cache giúp đồng liệu hai chiều từ Oracle DB sang TimesTen b/ Lịch sử phát triển Oracle TimesTen IMDB phát triển lần đầu công ty TimesTen – công ty phần mềm cung cấp giải pháp xử lý kiện thời gian thực TimesTen mua lại Oracle vào 20/06/2005 Năm 2007, TimesTen 7.0 phát hành, phát hành thức Đến nay, Oracle TimesTen có phiên 11.2.2 c/ Đặc điểm tính - TimesTen API: ODBC, JDBC, OCI, DBP.net - Kết nối CSDL: trực tiếp (direct) khách/chủ (client/server) - Tính bền vững: TimesTen cho phép ghi log vào ổ cứng để lưu phục hồi hệ thống cần thiết Log ghi đồng bất đồng sau transaction - Tối ưu hóa truy vấn: - Hỗ trợ truy cập đồng thời: - Tự động loại bỏ liệu: tự động loại bỏ liệu khơng cần thiết Có hai phương pháp: time-based, usage-based - Hỗ trợ globalization (quốc tế hóa) - Quản trị tiện ích: TimesTen cung cấp tiện ích điển hình CSDL truy vấn SQL, lưu phục hồi, migrate liệu - Replication: TimesTen cung cấp khả replication thời gian thực máy chủ cho mục đích High availability load sharing - IMDB Cache: giúp đồng hai chiều, CSDL Oracle TimesTen III.1.2 IBM SolidDB a/ Giới thiệu IBM solidDB dòng sản phẩm phát triển cung cấp IBM, gồm CSDL nhớ IBM solidDB, solidDB Universal Cache IBM solidDB CSDL quan hệ đầy đủ tính năng, dựa nhớ, cung cấp tốc độ tính sẵn sàng cao để thỏa mãn yêu cầu hiệu tính tin cậy ứng dụng thời gian thực SolidDB universal cache phần mềm cache liệu từ CSDL truyền thống (DB2, 12 Infomix, Oracle, SQL server, Sybase) lên solidDB, giúp tốc độ truy vấn liệu tăng lên nhiều lần b/ Lịch sử phát triển Solid Information Technology hãng cung cấp hàng đầu giải pháp sở liệu nhanh, kết nối liên tục với mức giá hợp lý Năm 2007, IBM mua lại solidDB để làm đối trọng với Oracle TimesTen, phát triển thêm tính cho DB2 (Disk-based DB IBM), tính solidDB Universal Cache để lấy liệu từ Disk-based DB c/ Đặc điểm tính - Tốc độ cao: Kiến trúc solidDB IMDB giúp thỏa mãn yêu cầu hiệu ứng dụng thời gian thực đòi hỏi tốc độ cao - Tính sẵn sàng cao: solidDB thiết kế để cung cấp tính sẵn sàng cao cho ứng dụng kinh doanh u cầu tính tồn vẹn liệu khả phục hồi, giúp ngăn chặn mát liệu thúc đẩy trình phục hồi liệu - Giá thành thấp: Đơn giản hóa việc triển khai quản trị, sử dụng phần cứng thơng thường, migrate dễ dàng, tích hợp vào ứng dụng nhanh - Universal Caching: solidDB universal cache giúp đưa liệu từ DB2, Oracle, Infomix hay sysbase lên nhớ, nhằm làm tăng tốc độ truy vấn liệu - Tính tương thích: solidDB dễ dàng tương thích với thay đổi ứng dụng trình triển khai Nó “kéo giãn” theo chiều ngang với truy cập nhớ chia sẻ để tăng hiệu giảm thời gian đáp ứng III.2 Sản phẩm mã nguồn mở III.2.1 H2 a/ Giới thiệu H2 IMDB mã nguồn mở viết java Nó hỗ trợ kết nối qua JDBC API với hai kiểu kết nối nhúng client/server Phiên H2 version 1.3.171 tiếp tục đóng góp hồn thiện, bổ sung tính cộng đồng mã nguồn mở b/ Lịch sử phát triển Việt phát triển H2 bắt đầu vào tháng 5/2004, cơng bố thức vào 14/12/2005 Tác giả H2 Thomas Mueller Việc xây dựng H2 Java giải thích với nguyên nhân: dễ tích hợp với ứng dụng Java, hỗ trợ nhiều tảng khác nhau, an toàn ứng dụng native, hỗ trợ unicode c/ Đặc điểm tính - Là CSDL nhanh - Mã nguồn mở 13 - Được viết Java - Hỗ trợ SQL chuẩn, JDBC API - Hỗ trợ kiểu kết nối nhúng client/server, kết hợp hai loại Kết nối nhúng thực ứng dụng H2 nằm server vật lý - Tính an ninh mạnh: có chế đăng nhập tên người dùng mật khẩu, database files mã hóa thuật tốn AES, XTEA Thêm vào chế kết nối từ ứng dụng thông qua SSL/TLS - Hỗ trợ tính CSDL thơng thường: - Tương thích với nhiều loại CSDL truyền thống: Oracle, DB2, MS SQL,… III.2.2 CSQL a/ Giới thiệu CSQL Main Memory Database hệ quản trị sở liệu mạnh mẽ dễ truy cập Nó bao gồm CSQL Main memory database Cache để cache liệu từ CSDL truyền thống MySQL, PostgreSQL Oracle CSQL thường nằm ứng dụng CSDL truyền thống, để lưu trữ liệu hay truy cập nhằm tăng tốc độ truy cập b/ Lịch sử phát triển Dự án khởi động vào 05/2005, thức đăng ký sourceforge.net vào 04/2006 Phiên 1.0 beta đời vào 02/2007 với engine lưu trữ Tiếp sau đó, phiên 1.3 beta đời năm sau với chế truy vấn SQL, phương thức kết nối ODBC, JDBC Phiên 2.0 vào 05/2008 có thêm chế Caching Phiên 2.4 vào 02/2009 hỗ trợ High Availability chế replication Phiên bổ sung thêm số chức nâng cao khác c/ Đặc điểm tính - Hỗ trợ đặc tính ACID: atomicity, consistency, isolation, durability - Có đặc điểm tính CSDL truyền thống: index, constraints, data type, isolation, kết nối song song / đồng thời,… - Có chế phục hồi sau lỗi checkpoint redo log file, chấp nhận lỗi mức độ định - Hỗ trợ hai kiểu kết nối: nhúng client/server - Tuân theo chuẩn: SQL 92, kết nối ODBC, JDBC - Tương thích nhiều tảng: linux, solaris, freeBSD - Có chế Caching để đồng liệu hai chiều CSQL CSQL truyền thống Replicator để hỗ trợ chế High Availability 14 III.3 So sánh sản phẩm IMDB III.3.1 So sánh đặc điểm chức Bảng III.1 – Bảng so sánh đặc điểm chức phần mềm IMDB Functionality IBM solidDB Phần lớn SQL92, phần SQL98 SQL2003 Hỗ trợ SQL Oracle TimesTen 11 H2 SQL-92 SQL-92 Stored procedures DB2 SQL/PL Oracle PL/SQL PL/SQL IMDB Cache từ DB2, Microsoft SQL Server, Oracle DB, Oracle DB CSDL IDS, Sybase DB2, Sybase, MySQL, Postgres Hệ điều hành hỗ trợ Windows, Unix/Linux, Windows, Unix/Linux, Unix/Linux, Solaris, Solaris, AIX, HP HP, Solaris, AIX Windows Truy cập nhớ chia sẻ Có – Share memory access Có - Direct driver connection Có – Embedded High availability Active/standby readActive / standby readsupport only Uni-directional/ only Replication Bidirectional JDBC, ODBC, solidDB SA API JDBC, ODBC, JMS/XLA, TTClass Active / standby read-only Active/active JDBC, ODBC III.3.2 So sánh hiệu Các công nghệ đưa đánh giá hiệu riêng mình, chưa có bên thứ ba thức so sánh: Oracle TimesTen: Transactions TransactionsResponse ResponseTime Time 10,000 10,000 Oracle Oracle Oracle Oracle++TimesTen TimesTen 10114 10114 8,000 8,000 6,000 6,000 Improved ImprovedTransaction TransactionThroughput Throughput with withCache CacheConnect Connectto toOracle Oracle 6487 6487 6104 6104 3,000,000 3,000,000 5836 5836 4,000 4,000 2,000 2,000 00 1848 1848 168 168 44 44 1850 1850 65 65 2105 2105 86 86 201 201 128 128 100 100 Minute perMinute Transactionsper Transactions 12,000 12,000 D De el le et te e C C a S al ll Se el l F Fw le ec w d ct t A d A cc cc e es ss s DDat SeSel at a le ec a ct t B B as as e e D S D at Se el at a le ec a ct t N N ew ew D D es es t InIns t se er rt t C C a al ll U Upd l F Fw pd a w d at te d e S Su ub bs sc cr rib U U pd ib e pd a er r at te e L Lo oc ca at tioion n ResponseTime Timein inMicroseconds Microseconds Response - 2,500,000 2,500,000 Oracle Oracle Oracle+TimesTen Oracle+TimesTen 2,000,000 2,000,000 1,500,000 1,500,000 1,000,000 1,000,000 500,000 500,000 0 275,000 275,000 Oracle Oracle Hình III.5 – Hiệu Oracle TimesTen 15 2,497,000 2,497,000 Oracle +TimesTen Oracle +TimesTen - IBM solidDB: Hình III.6 – Hiệu IBM solidDB Dưới thử nghiệm hiệu truy vấn full bảng phần mềm : Thông tin server thử nghiệm TT Thông tin Hệ điều hành RAM CPU Chi tiết CentOS v6.2 - 64 bit 2.5 GB Intel(R) Xeon(R) CPU E31220 @ 3.10GHz Bảng III.2 – Bảng so sánh hiệu phần mềm IMDB TT CSDL Timesten Solid H2 100.000 1,968s 2,156s 0,598s 200.000 4,875s 4,438s 0,769s 500.000 10,531s 10,672s 1,684s 1.000.000 License 20,047s Tính phí 20,548s Tính phí Treo Miễn phí Về chức năng, thấy phần mềm nguồn mở không thua sản phẩm thương mại Tuy nhiên, đặc thù sản phẩm mã nguồn mở, nên hiệu tính chịu trách nhiệm khơng đảm bảo, đồng thời áp dụng cho số lượng liệu nhỏ III.4 Kết luận chương Chương trình bày sản phẩm IMDB điển hình bao gồm sản phẩm thương mại mã nguồn mở, với thông tin chung, lịch sử hình thành phát triển, đặc điểm tính chúng Thêm vào đó, so sánh tính hiệu ba sản phẩm TimesTen, IBM solidDB H2 để người đọc có nhìn rõ lựa chọn cho phù hợp 16 Chương 4: THỬ NGHIỆM CƠ SỞ DỮ LIỆU TRÊN BỘ NHỚ IV.1 Tổng quát lớp toán áp dụng Khi hệ thống có đặc điểm đây, xem xét sử dụng IMDB: o Đang sử dụng CSDL dựa ổ đĩa: Oracle, IBM DB2, MySQL, o Có chức (có truy cập CSDL) với tần xuất sử dụng nhiều, yêu cầu thời gian phản hồi (truy vấn, thay đổi liệu) nhỏ o Số lượng liệu lớn: làm cho việc thao tác (truy vấn, cập nhật) liệu khơng cịn đáp ứng yêu cầu thời gian phản hồi, yêu cầu hiệu o Có chức có khả gây cao tải CSDL o Việc tốc độ chậm khơng phải ngun nhân khác (ví dụ mã nguồn chưa tối ưu) mà nguyên nhân CSDL o Có đủ tài ngun (bộ nhớ chính, CPU) để sử dụng IMDB (tương ứng hệ thống) Dưới trình bày số lĩnh vực phần mềm tương ứng áp dụng IMDB để tăng hiệu thỏa mãn yêu cầu hệ thống: o Viễn thông:  Đăng nhập, xác thực  Hệ thống tính cước  Hệ thống Chăm sóc khách hàng o Tài ngân hàng:  Core banking  Fraud management  Stock exchanges o Các ứng dụng khác:  Chăm sóc sức khỏe: quản lý thông tin bệnh nhân bệnh viện Book vé máy bay IV.2 Mơ hình áp dụng IV.2.1 Mơ hình hệ thống phần mềm Các hệ thống phần mềm thông thường sử dụng CSDL truyền thống dựa ổ đĩa cứng, ví dụ Oracle hay IBM DB2 Dữ liệu, bảng lưu trữ CSDL Ứng dụng thực thao tác truy vấn, thay đổi liệu CSDL thông qua kết nối ODBC, JDBC hibernate 17 Disk-base DB Application Hình IV.1 – Mơ hình hệ thống phần mềm thơng thường IV.2.2 Mơ hình hệ thống sau áp dụng IMDB IV.2.2.1 Sử dụng IMDB CSDL độc lập IMDB mang đầy đủ chức CSDL quan hệ, hệ thống phần mềm sử dụng IMDB CSDL riêng, tương tự sử dụng CSDL truyền thống dựa ổ đĩa cứng Application IMDB Hình IV.2 – Mơ hình hệ thống phần mềm sử dụng IMDB Dữ liệu, bảng biểu lưu trữ IMDB Ứng dụng thực thao tác truy vấn, thay đổi liệu CSDL thông qua kết nối ODBC, JDBC hibernate IV.2.2.2 Sử dụng IMDB Cache Sử dụng CSDL truyền thống kết hợp với IMDB Cache Khi ấy, liệu hay thay đổi truy vấn nhiều đưa lên IMDB cache, liệu lại CSDL Disk-based DB Application IMDB Cache Hình IV.3 – Kết hợp CSDL truyền thống IMDB Cache IV.3 Thử nghiệm kết IV.3.1 Lựa chọn Sản phẩm IMDB để thử nghiệm Qua kiến thức đánh giá sản phẩm IMDB, chọn Oracle TimesTen lý sau đây: 18 - Oracle nhà cung cấp giải pháp CSDL hàng đầu giới - Tôi làm việc nhiều với CSDL Oracle truyền thống, môi trường công việc sử dụng Oracle - Do nhà cung cấp nên giải pháp Oracle TimesTen tích hợp dễ dàng, tương thích tốt với CSDL Oracle - Lượng tri thức hỗ trợ Oracle TimesTen nhiều internet diễn đàn, với cộng đồng sử dụng lớn - Có thể tải dùng thử Oracle TimesTen cách dễ dàng hợp pháp IV.3.2 Lựa chọn hệ thống phần mềm để thử nghiệm Bản thân làm việc Trung tâm phần mềm Viettel thuộc Tập đồn Viễn thơng Qn đội Nhiệm vụ Trung tâm phần mềm nghiên cứu, xây dựng hệ thống trực tiếp phục vụ kinh doanh Tập đoàn Hiện nay, Tập đoàn Viettel có nhiều lĩnh vực hoạt động, cung cấp dịch vụ viễn thông lĩnh vực chủ chốt Để thực hoạt động kinh doanh này, phần mềm Tính cước Chăm sóc khách hàng (BCCS – Billing & CustomerCare System) tối quan trọng Qua đánh giá phân hệ BCCS, nhận thấy hệ thống CustomerCare BCCSRating phù hợp cần thiết sử dụng TimesTen Hệ thống CustomerCare: - Tra cứu thông tin giải đáp khách hàng - Hỗ trợ tiếp nhận giải khiếu nại Do yêu cầu phần giải đáp khách hàng phải nhanh, giảm thời gian khách hàng chờ đợi Do vậy, hệ thống cần đảm bảo tính thuận tiện, truy vấn trả thông tin nhanh, thông tin đầy đủ cho việc tra cứu để trả lời khách hàng Hiện trạng vấn đề: - Số lượt truy cập hàng ngày vào hệ thống (tương ứng vào CSDL) lên đến hàng triệu lượt, với chức hiển thị thông tin khách hàng lịch sử khiếu nại khách hàng nhiều - Nghiệp vụ mong muốn hiển thị nhiều lịch sử khiếu nại tốt, lượng liệu ngày lớn, số truy cập nhiều, nên đáp ứng hiển thị thông tin lịch sử khiếu nại ngày gần >> Nhu cầu phải tăng lượng liệu truy vấn, giảm thời gian truy vấn Hệ thống BCCS_Rating: - Tính cước cho dịch vụ viễn thông mà Viettel Telecom cung cấp bao gồm Mobile, Homephone, ADSL, PSTN - Đáp ứng sách khai bao giá cước mềm dẻo, đáp ứng yêu cầu hiệu nghiệp vụ tính cước, số lượng ghi lớn, thời gian xử lý nhanh 19 Hiện trạng vấn đề: Hai module quan trọng yêu cầu hiệu cao hệ thống Rating Chuẩn hóa thơng tin Tính cước: Bảng IV.1 – Bảng thống kê thời gian xử lý ghi cước Chức Đầu vào Thời gian xử lý (Oralce thuần) Thời gian mong muốn Chuẩn hóa file (20.000 ghi) 60.5 ms / ghi ms / ghi Tính cước file (20.000 ghi) 50.5 ms / ghi ms / ghi >> Nhu cầu phải có giải pháp để đạt yêu cầu toán đặt IV.3.3 Kết thử nghiệm IV.3.3.1 Kết thử nghiệm cho hệ thống CustomerCare Đề xuất giải pháp: Hệ thống CC sử dụng TimesTen để lưu trữ thông tin Lịch sử khiếu nại KH Hệ thống truy vấn thông tin TimesTen Việc insert, update, delete thông tin thực Oracle DB thông thường Trước Sau CC OracleDB CC OracleDB Đồng Insert, update delete CC TimestenDB select Customer Care Customer Care Physical machine Hình IV.4 – Mơ hình CC trước sau áp dụng TimesTen Kết đạt được: Dưới kết so sánh response time chức popup ứng dụng CC sử dụng Oracle TimesTen Kết response time trung bình thuê bao kiểm tra, kết dựa log ngày 20 Bảng IV.4 – Bảng so sánh response time TimesTen Oracle Chức Response time TimesTen Response time Oracle Popup LSKN - TB: 20.775ms - TB: 42.09ms Tab Lịch sử khiếu nại - TB: 35.3 ms - TB: 60.6 ms - Cao: 0.7 s (30 ngày) - Cao: 5.6s (7 ngày), 1.9s (2 ngày) Nhận xét: - Tốc độ chức popup sau sử dụng TimesTen tăng khoảng 35% - Hiển thị lịch sử khiếu nại KH tháng gần - Giảm tải cho CSDL Oracle, lượng lớn kết nối chức popup LSKN chuyển sang CSDL TimesTen Bản thân CSDL TimesTen giảm tải thời gian response time với truy vấn tới nhỏ IV.3.3.2 Kết thử nghiệm cho hệ thống BCCS_Rating Đề xuất giải pháp: Hệ thống Rating sử dụng TimesTen theo hai mơ hình: - Thơng tin th bao: đồng từ OracleDB, ứng dụng cần thông tin truy vấn từ TimesTen - Thông tin tài khoản: việc cập nhật lưu lượng miễn phí tài khoản khuyến mại thực TimesTen, sau đồng xuống CSDL Oracle Trước Sau Rating OracleDB Rating OracleDB Đồng Insert, update delete Rating TimestenDB select update tài khoản Physical machine RatingApp RatingApp Hình IV.5 – Mơ hình Rating trước sau áp dụng TimesTen 21 Kết đạt được: Dưới kết so sánh thời gian xử lý ghi cước hệ thống Rating trước sau sử dụng TimesTen Bảng IV.5 – Bảng so sánh thời gian xử lý dùng Oracle TimesTen Chức Thời gian xử lý TimesTen Thời gian xử lý Oracle Chuẩn hóa 6.25 ms / ghi 60.5 ms / ghi Tính cước 5.75 ms / ghi 50.5 ms / ghi Chi phí - server: CPU, 4GB RAM - Lập trình: xây dựng hệ thống - Cài đặt, cấu hình TimesTen: MD Kết cho thấy sử dụng TimesTen đáp ứng yêu cầu hiệu hệ thống IV.4 Kết luận chương Chương đưa thông tin để áp dụng thử nghiệm sản phẩm IMDB vào hệ thống phần mềm Xuất phát từ việc khái qt hóa lĩnh vực, tốn sử dụng IMDB, tơi lựa chọn sản phẩm IMDB Oracle TimesTen thử nghiệm vào hai hệ thống phần mềm nơi làm việc Kết thử nghiệm thực khả quan IMDB giúp cải thiện rõ rệt hiệu ứng dụng, đồng thời giảm tải cho CSDL tại, mà chi phí đầu tư khơng q cao Từ cho thấy, giải pháp Cơ sở liệu nhớ thực hiệu 22 KẾT LUẬN VÀ KIẾN NGHỊ Kết luận Luận văn nghiên cứu chuyên sâu toàn diện Cơ sở liệu nhớ với lối tiếp cận trình bày rành mạch Xuất phát từ phân tích cấp thiết đề tài, nhu cầu khả áp dụng công ty lĩnh vực khác Tiếp đó, luận văn sâu vào kiến thức Cơ sở liệu nhớ: khái niệm, so sánh với CSDL ổ đĩa truyền thống, phân tích nguyên nhân tạo nên tốc độ ấn tượng IMDB, khía cạnh khác IMDB kết nối từ ứng dụng, kết nối đồng thời, tối ưu hóa truy vấn, đảm bảo tính sẵn sàng cao Luận văn đưa thông tin sản phẩm IMDB công ty lớn (sản phẩm thương mại) sản phẩm IMDB từ cộng đồng mã nguồn mở, so sánh tính hiệu sản phẩm Phần cuối luận văn đưa lớp tốn áp dụng IMDB, mơ hình hệ thống sau áp dụng, lựa chọn hệ thống để áp dụng thử nghiệm đưa kết thử nghiệm Những kiến thức kết thử nghiệm IMDB cho thấy hiệu giải pháp IMDB áp dụng cho hệ thống cần hiệu cao sở liệu, với số lượng truy cập lớn yêu cầu thời gian phản hồi nhỏ Kiến nghị Qua đây, đề xuất việc hệ thống tổ chức nhiều buổi hội thảo liên quan, với thành phần tham dự công ty làm phần mềm có nhu cầu cải tiến hiệu hệ thống liên quan Cơ sở liệu Đồng thời, có diễn đàn thảo luận sâu IMDB, giúp cho cộng đồng phần mềm nhìn nhận đánh giá IMDB nhằm áp dụng có nhu cầu, tăng hiệu cho phần mềm, tăng thêm uy tín lợi nhuận cho công ty doanh nghiệp, cao cho đất nước Bản thân nơi làm việc, đề xuất áp dụng Oracle TimesTen IMDB vào số hệ thống IMDB trở thành giải pháp tham khảo giải toán hiệu Cơ sở liệu cho vấn đề hệ thống cũ hệ thống xây dựng 23 ... SSD, nhớ cho thấy sử dụng sở liệu nhớ hướng đắn Cơ sở liệu nhớ (In- memory database) sở liệu quan hệ dựa nhớ, bỏ qua thao tác truy cập ổ đĩa cứng cách lưu trữ xử lý liệu nhớ Khác biệt Cơ sở liệu nhớ. .. áp dụng Cơ sở liệu nhớ để tăng hiệu  Kết thử nghiệm Bố cục luận văn - Chương 1: Cơ sở lý luận Cơ sở liệu nhớ - Chương 2: Cơ sở khoa học Cơ sở liệu nhớ - Chương 3: Các sản phẩm Cơ sở liệu nhớ. .. – Mơ hình hệ thống phần mềm thơng thường IV.2.2 Mơ hình hệ thống sau áp dụng IMDB IV.2.2.1 Sử dụng IMDB CSDL độc lập IMDB mang đầy đủ chức CSDL quan hệ, hệ thống phần mềm sử dụng IMDB CSDL riêng,

Ngày đăng: 17/03/2021, 19:11

Từ khóa liên quan

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

Tài liệu liên quan