Đăng ký Đăng nhập
Trang chủ 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...

Tài liệu 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

.PDF
23
1106
104

Mô tả:

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 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 ............................................................................................................................ 2 MỞ ĐẦU .............................................................................................................................. 3 Chương 1: CƠ SỞ LÝ LUẬN VỀ CƠ SỞ DỮ LIỆU TRÊN BỘ NHỚ ........................ 5 I.1. Tình hình nghiên cứu ............................................................................................ 5 I.2. Nhu cầu thực tế và khả năng áp dụng ................................................................... 6 I.3. Kết luận chương 1 ................................................................................................. 7 Chương 2: CƠ SỞ KHOA HỌC VỀ CƠ SỞ DỮ LIỆU TRÊN BỘ NHỚ .................... 8 II.1. Kiến thức chung về Cơ sở dữ liệu trên bộ nhớ .................................................... 8 II.2. So sánh với các công nghệ cạnh tranh ............................................................... 10 II.3. Ưu nhược điểm của Cơ sở dữ liệu trên bộ nhớ .................................................. 11 II.4. Kết luận chương 2 .............................................................................................. 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 các sản phẩm ....................................................................................... 15 III.4. Kết luận chương 3 ............................................................................................ 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 bài toán áp dụng ........................................................................ 17 IV.2. Mô hình áp dụng .............................................................................................. 17 IV.3. Thử nghiệm và kết quả ..................................................................................... 18 IV.4. Kết luận chương 4 ............................................................................................ 22 KẾT LUẬN VÀ KIẾN NGHỊ .......................................................................................... 23 1. Kết luận.................................................................................................................. 23 2. Kiến nghị ............................................................................................................... 23 2 MỞ ĐẦU 1. Sự cấp thiết của đề tài Sự phát triển nhanh chóng của công nghệ thông tin đã làm thay đổi bộ mặt và hình thức kinh doanh trên quy mô toàn thế giới. Các hệ thống công nghệ thông tin đang là xương sống của các doanh nghiệp. Nhu cầu kinh doanh đặt ra yêu cầu xây dựng các hệ thống phần mềm phức tạp hơn nhưng vẫn phải đảm bảo hiệu năng. 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ác công cụ lập trình tiện dụng hơn, hiệu quả hơn,… Nhưng Cơ sở dữ liệu truyền thống (disk-based DB) 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 trở thành điểm nghẽn 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. Để 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. Đổ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 cải thiện. Một hướng đi khác là Inmemory 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. 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ế 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 thay đổi cho phù hợp. 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à IBM. 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 3 - 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. - Đề xuất ứ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 chuyên sâu 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 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 hệ thống áp dụng, tổng hợp kết quả. 4. Ý nghĩa khoa 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 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 bộ nhớ - Kết luận và kiến nghị 4 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 trên thế 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 các sản phẩm đóng gói đang là xu hướng của một số công ty phần mềm lớn cũng như cộng đồng mã nguồn mở. Dưới đây liệt kê một số sản phẩm điển hình: - Oracle TimesTen (sản phẩm thương mại): là một bộ sản phẩm của Oracle gồm CSDL TimesTen IMDB, và IMDB Cache để đồng bộ dữ liệu 2 chiều giữa CSDL Oracle truyền thống và TimesTen IMDB. TimesTen IMDB là một cơ sở dữ liệu tối ưu hóa dựa trên bộ nhớ, giúp các ứng dụng ở các lĩnh vực khác nhau đạt được hiệu năng cao với thời gian đáp ứng (response time) rất nhỏ và thông lượng (throughput) rất lớn. - IBM SolidDB (sản phẩm thương mại): là một bộ sản phẩm của IBM, gồm solidDB IMDB và solidDB Universal Cache. IBM solidDB IMDB là một cơ sở dữ liệu quan hệ trên bộ nhớ với đầy đủ tính năng, cung cấp tốc độ và tính sẵn sàng cao, giúp thỏa mãn yêu cầu về hiệu năng và độ tin cậy cho các ứng dụng thời gian thực. - McObject eXtremeDB (sản phẩm thương mại): là một bộ sản phẩm của McObject, gồm eXtremeDB IMDB là một cơ sở dữ liệu trên bộ nhớ dùng cho các ứng dụng thời gian thực và cho các ứng dụng nhúng như 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ở): một CSDL trên bộ nhớ gọn nhẹ, hỗ trợ JDBC API, cho phép chạy ở chế độ embeded hoặc server, hỗ trợ SQL. - HyperSQL (sản phẩm nguồn mở): là một CSDL được viết bằng java. Nó cung cấp một database engine nhỏ gọn, nhanh, đa luồng, hỗ trợ cơ chế kết nối embeded và server. Nó cũng có các công cụ dòng lệnh SQL mạnh mẽ, và các công cụ có giao diện. b/ Sử dụng Việc lựa chọn sử dụng IMDB cũng ngày càng được các công ty ở các lĩnh vực quan tâm sử dụng nhằm tăng hiệu năng hệ thống. Dưới đây là một số ví dụ: - Công ty Dell với hệ thống Sale, CustomerCare và Hỗ trợ kỹ thuật: sử dụng Oracle TimesTen - Công ty tài chính China Finance Online sử dụng Oracle TimesTen cho hai website cung cấp các thông tin về chứng khoán, cổ phiếu, tài chính,…để hiển thị thông tin mức real-time. 5 - Iskratel đã thay thế CSDL truyền thống bằ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 trong nước Tại Việt Nam, việc nghiên cứu phát triển một sản phẩm CSDL trên bộ nhớ chưa được công ty, doanh nghiệp nào thực hiện. Việc sử dụng một hệ thống IMDB cũng còn rất ít. Các giải pháp tăng cường hiệu năng hệ thống vẫn chỉ dừng lại ở mức tối ưu hóa CSDL hiện tại (chỉ mục, quy hoạch lại bảng biểu,…), hoặc cao hơn là cache dữ liệu cần thiết lên bộ nhớ, bằng cách sử dụng hashmap chẳng hạn. Ngay như FPT là một công ty phần mềm lớn hàng đầu Việt Nam vẫn chưa áp dụng công nghệ này trong các hệ thống Billing của họ (vốn là những hệ thống yêu cầu hiệu năng rất cao). I.2. Nhu cầu thực tế và khả năng áp dụng I.2.1. Nhu cầu Đi cùng với sự phát triển kinh doanh, khách hàng của mỗi công ty, doanh nghiệp sẽ là những thách thức về hiệu năng, số lượng truy cập dữ liệu, cũng như những đòi hỏi ngày càng cao của khách hàng. Nếu không đủ nhanh và đáp ứng yêu cầu thị trường, yêu cầu khách hàng, công ty khó có thể cạnh tranh với các 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 năng gồm các ứng dụng viễn thông, tài chính ngân hàng, hàng không, quân sự, game, các 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 đang là một trong ba nhà cung cấp dịch vụ viễn thông lớn nhất Việt Nam. Các sản phẩm phần mềm hỗ trợ kinh doanh chủ yếu do Trung tâm Phần mềm Viettel tự xây dựng. Hiện tại, Trung tâm đã và đang phát triển những hệ thống rất lớn như Tính cước và chăm sóc khách hàng (Billing & Customer Care System – BCCS), kho tàng tài sản, v-office,… đến khi đưa vào sử dụng, vận hành mới phát hiện ra nhiều điểm nghẽn liên quan đến CSDL và đang phải khắc phục rất vất vả. Việc treo nghẽn của hệ thống BCCS ảnh hưởng nghiêm trọng đến việc sản xuất kinh doanh và mức độ hài lòng của khách hàng. Các điểm treo nghẽn của hệ thống BCCS hầu như đều liên quan đến việc truy cập CSDL. Các ví dụ điển hình là: - Truy vấn kết quả kinh doanh cuối tháng. - Hiển thị thông tin và lịch sử khiếu nại của khách hàng trong hệ thống Chăm sóc khách hàng (CustomerCare). - Hàng đợi chứa request của client trong CSDL. Số lượng những vấn đề tương tự như trên rất phổ biến, làm giảm hiệu năng, chất lượng và độ ổn định của hệ thống, làm tăng chi phí giám sát vận hành và gây thiệt hại lớn cho sản xuất kinh doanh. Việc áp dụng các giải pháp như IMDB sẽ là cứu cánh cho phần mềm nói riêng và sự phát triển của công ty nói chung, không chỉ để khắc phục các nhược điểm hiện tại, mà còn chuẩn bị cho sự phát triển trong tương lai. 6 I.2.2. Khả năng áp dụng Việc áp dụng các sản phẩm IMDB vào các hệ thống phần mềm hiện tại là hoàn toàn khả thi và có căn cứ khoa học: - Việc đưa dữ liệu lên bộ nhớ chính giúp tăng tốc độ truy cập thì tốc độ truy cập của bộ nhớ chính là nhanh hơn so với ổ đĩa cứng. - Các sản phẩm IMDB vẫn dựa trên nguyên tắc đưa dữ liệu lên bộ nhớ, và chúng được quy hoạch như một CSDL quan hệ thông thường, truy cập bằng SQL chuẩn, giúp thuận tiện cho việc đồng bộ dữ liệu giữa CSDL truyền thống và IMDB, cũng như ứng dụng dễ dàng truy cập dữ liệu từ IMDB. - Giá thành của bộ nhớ chính ngày càng giảm, gần với giá thành của ổ đĩa cứng. - Nhu cầu của các ứng dụng là có thật và ngày càng trở nên cấp thiết, khi số lượng truy cập ngày càng lớn với đòi hỏi thời gian đáp ứng gần như 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 1 Từ những thông tin trên cho thấy việc nghiên cứu phát triển cũng như tìm hiểu sử dụng IMDB đang nở rộ trên thế giới với sự tham gia của các công ty phần mềm lớn cũng như của cộng đồng mã nguồn mở, trên 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ử, quân sự, trò chơi,… Hiện trạng các hệ thống phần mềm, ứng dụng trong các lĩnh vực đang đặt ra nhu cầu cấp thiết phải áp dụng các giải pháp nhằm tăng hiệu năng, đáp ứng nhiều hơn số lượng truy cập với thời gian nhỏ hơn. Sử dụng IMDB là một giải pháp tốt, có thể dễ dàng áp dụng cho nhiều loại ứng dụng, mới xây dựng hoặc đã có, trên nhiều lĩnh vực khác nhau. 7 Chương 2: CƠ SỞ KHOA HỌC VỀ IN-MEMORY DATABASE II.1. Kiến thức chung về IMDB II.1.1. IMDB là gì? 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 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). II.1.2. So sánh IMDB với disk-based DB 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ộ 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ưu trữ truy vấn thực hiện với quan niệm dữ liệu trên bộ nhớ, nên thuật toán tối ưu đặt trên ổ đĩa. truy vấn đơn giản hơn và chính xác hơn. Quản lý bộ nhớ đệm (buffer pool) - Buffer pool phải quản lý dữ liệu được cache trong bộ nhớ. Nếu dữ liệu được tìm thấy trong buffer, nó cũng phải sao chép trước khi trả lại kết quả. - IMDB không sử dụng buffer pool, không phải sao chép dữ liệu trước khi trả lại cho ứng dụng. Do đó, thuật toán đơn giản hơn, thời gian đáp ứng truy vẫn nhanh hơn. Cấu trúc chỉ - Sử dụng B+ tree cho index. Cấu mục (index) trúc này phù hợp để giảm disk I/O, nhưng nó không còn nhiều hữu dụng khi dữ liệu đặt trong bộ nhớ. Khi dữ liệu đặt trong bộ nhớ, mục tiêu là giảm CPU cycle, không phải I/O. - Sử dụng T-tree cho index. Vì tất cả data row được đặt trong bộ nhớ, T-tree không cần cặp keyvalue, chỉ đơn thuần gồm các con trỏ tới các dòng dữ liệu thực. Thời gian tìm kiêm dữ liệu như thuật toá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 8 II.1.3.2. Kiến trúc IMDB Về tổng thể, IMDB cũng có kiến trúc tương tự disk-based DB, như gồm các thành phần: SQL engine, transaction engine, relational engine, và storage engine, nhưng các thành phần con bên trong mỗi thành phần này lại hoạt động khác hẳn. Đồng thời nó loại bỏ phần quản lý buffer pool, thêm vào phần quản lý bộ nhớ chính, bộ nhớ chia sẻ. II.1.4. Tại sao IMDB lại nhanh? IMDB Hình II.3 – So sánh mô hình xử lý SQL của disk-based DB và 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 bằng cơ chế isolation và 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ũng có một bộ tối ưu hóa truy vấn để bảo đảm các truy cập dữ liệu hiệu quả bằng cách tự động chọn ra cách tốt nhất để trả lời các 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 nhất có thể. 9 II.1.8. Tự động loại bỏ dữ liệu không cần thiết Để tiết kiệm bộ nhớ, một số sản phẩm IMDB cung cấp cơ chế Loại bỏ dữ liệu không cần thiết (data aging) + Time-based data aging: loại bỏ dữ liệu theo thời gian + Usage-based data aging: dữ liệu ít được dùng sẽ bị xóa (thuật toán LRU). II.1.9. Tính sẵn sàng và toàn vẹn dữ liệu IMDB đảm bảo tính sẵn sàng và toàn vẹn dữ liệu bằng: Transaction logging, Checkpointing, Replication. II.2. So sánh IMDB với các công nghệ cạnh tranh II.2.1. CSDL trên SSD & RAM-disk Quy trình truy cập dữ liệu với CSDL truyền thống cho thấy dù có thay đổi ổ đĩa cứng bằng SSD hay giả lập bằng RAM, trong khi các thuật toán và quy trình thực hiện không thay đổi, thì tốc độ chỉ được cải thiện ở phần đọc/ghi với thiết bị lưu trữ. IMDB làm tốt hơn công việc này. Như đã giải thích trong phần II.1.2, ngoài việc lưu trữ dữ liệu trên RAM, IMDB còn tối ưu bằng cách thay đổi thuật toán tối ưu hóa truy vấn, loại bỏ những thành phần không cần thiết như buffer pool, và dùng thuật toán mới cho cấu trúc chỉ mục với mục tiêu tối ưu CPU cycle và RAM thay vì tối ưu việc giao tiếp I/O. II.2.2. Partitioning Một hướng đi khác để cải thiện hiệu năng của CSDL chính là kỹ thuật partitioning. Dưới đây là một số dạng: - Master/Slave, Master/Master - Clustering, Table partitioning, Federated tables Các kỹ thuật trên nhằm phân chia việc đọc/ghi dữ liệu trên các server riêng biệt, hoặc 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 này cũng cải thiện được phần nào hiệu năng, nhưng vẫn dựa trên ổ đĩa cứng nên không cải thiện được nhiều. II.2.3. Caching Kỹ thuật caching dữ liệu là một trong những cách làm hay để tăng tốc truy vấn CSDL. Dưới đây trình bày một số cách caching: - Query result caches, Object-relational mapping caches, Object caches Các kỹ thuật caching thường khá đơn giản về kiến trúc, thời gian thực hiện không nhiều, và có những hiệu quả nhất định. Tuy nhiên, chúng thường không tổng quát và chỉ áp dụng cho một số bài 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 những tối ưu tương ứng, và phù hợp với nhiều loại bài toán, yêu cầu khác nhau. 10 II.2.4. NoSQL database Sự ra đời của CSDL NoSQL là sự đánh dấu giải pháp cho các bài toán không thể thực hiện hiệu quả với CSDL quan hệ. NoSQL là viết tắt của Not-only SQL. Hadoop là một điểm sáng. Nó là một framework mã nguồn mở tin cậy, có thể mở rộng theo chiều ngang, và tính toán phân tán. Nó giúp giải quyết các bài toán mà lẽ ra phải dùng các phần cứng rất mạnh. Hadoop ưu việt là vậy, nhưng nó là framework tổng quát, và việc lập trình trên nó tương đối phức tạp. Từ đó, nhiều sub-project dựa trên Hadoop ra đời với các mục đích khác nhau, nhóm CSDL có Hbase. Về phía ứng dụng, Hbase chỉ như một CSDL thông thường, nhưng các câu lệnh gửi tới Hbase để thực hiện sẽ được chuyển thành các nhiệm vụ cho Hadoop thực hiện. Điều này tạo sự tiện dụng, dễ dàng cho người lập trình, mà vẫn tận dụng được sức mạnh của Hadoop. Tuy nhiên, mục đích phát triển Hadoop và NoSQL vẫn tập trung vào bài toán xử lý dữ liệu lớn trên các phần cứng thông thường, không quá quan trọng về tốc độ, chỉ cần xử lý được và trả lại kết quả. Do đó, nếu xét theo khía cạnh cần cải tiến hiệu năng CSDL, giải quyết bà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ể là Hadoop không có nhiều lợi thế so với các IMDB như Oracle TimesTen hay IBM solidDB. II.3. Ưu nhược điểm của 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 và có thể phục hồi (đảm bảo tính ACID): - Tuân theo các chuẩn thế giới cho CSDL: - Có tương đối đầy đủ các tính năng như một CSDL quan hệ thông thường: - Một số tính năng nâng cao chuyên biệt: cache, tự động loại bỏ dữ liệu II.3.2. Nhược điểm - Giá thành: giá RAM đắt hơn ổ đĩa cứng - Ứng dụng và IMDB phải nằm trên cùng server vật lý khi muốn dùng kiểu kết nối direct/embeded để đạt hiệu năng tối đa. II.4. Kết luận chương 2 Chương này đã cung cấp những thông tin, kiến thức cơ sở về Cơ sở dữ liệu trên bộ nhớ như khái niệm, kiến trúc, các đặc điểm tính năng. Đồng thời, chương cũng có sự so sánh IMDB với các công nghệ cạnh tranh khác để có cái nhìn đầy đủ về các giải pháp CSDL để cải thiện hiệu năng, từ đó đưa ra các điểm khác biệt nổi bật để lựa chọn IMDB. Cuối cùng, chương tổng hợp những ưu nhược điểm của IMDB để người đọc có thể sử dụng một 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 là một bộ sản phẩm của Oracle, gồm hai sản phẩm: CSDL dữ liệu trên bộ nhớ Oracle TimesTen IMDB, và Oracle IMDB Cache. TimesTen IMDB giúp tối ưu hóa các ứng dụng, làm tăng khả năng đáp ứng và thông lượng đầu vào lớn. Oracle IMDB Cache giúp đồng bộ dữ liệu hai chiều từ Oracle DB sang TimesTen. b/ Lịch sử phát triển Oracle TimesTen IMDB được phát triển lần đầu bởi công ty TimesTen – một công ty phần mềm cung cấp các giải pháp xử lý sự kiện thời gian thực. TimesTen được mua lại bởi Oracle vào 20/06/2005. Năm 2007, TimesTen 7.0 được phát hành, đây là bản phát hành chính thức đầu tiên. Đến nay, Oracle TimesTen đã có phiên bản 11.2.2. c/ Đặc điểm và tính năng - TimesTen API: ODBC, JDBC, OCI, DBP.net. - Kết nối CSDL: trực tiếp (direct) và khách/chủ (client/server).. - Tính bền vững: TimesTen cho phép ghi log vào ổ cứng để sao lưu và phục hồi hệ thống khi cần thiết. Log được ghi đồng bộ hoặc bất đồng bộ sau mỗi transaction. - Tối ưu hóa truy vấn: - Hỗ trợ truy cập đồng thời: - Tự động loại bỏ dữ liệu: tự động loại bỏ dữ 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ị và tiện ích: TimesTen cung cấp các tiện ích điển hình của CSDL như truy vấn bằng SQL, sao lưu và phục hồi, migrate dữ liệu. - Replication: TimesTen cung cấp khả năng replication thời gian thực giữa các máy chủ cho mục đích High availability và load sharing. - IMDB Cache: giúp đồng bộ hai chiều, giữa CSDL Oracle và TimesTen III.1.2. IBM SolidDB a/ Giới thiệu IBM solidDB là một dòng sản phẩm được phát triển và cung cấp bởi IBM, gồm CSDL trên bộ nhớ IBM solidDB, và solidDB Universal Cache. IBM solidDB là một CSDL quan hệ đầy đủ tính năng, dựa trên bộ nhớ, cung cấp tốc độ và tính sẵn sàng rất cao để thỏa mãn yêu cầu về hiệu năng và tính tin cậy của các ứng dụng thời gian thực. SolidDB universal cache là phần mềm cache dữ liệu từ các CSDL truyền thống (DB2, 12 Infomix, Oracle, SQL server, Sybase) lên solidDB, giúp tốc độ truy vấn dữ liệu tăng lên nhiều lần. b/ Lịch sử phát triển Solid Information Technology là một hãng cung cấp hàng đầu các giải pháp cơ sở dữ liệu nhanh, kết nối liên tục và 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, và phát triển thêm các tính năng cho DB2 (Disk-based DB của IBM), như tính năng solidDB Universal Cache để lấy dữ liệu từ một Disk-based DB. c/ Đặc điểm và tính năng - Tốc độ cao: Kiến trúc của solidDB IMDB giúp thỏa mãn những yêu cầu về hiệu năng của các ứng dụng thời gian thực đòi hỏi tốc độ cao. - Tính sẵn sàng cao: solidDB được thiết kế để cung cấp tính sẵn sàng cao cho các ứng dụng kinh doanh yêu cầu tính toàn vẹn dữ liệu và khả năng phục hồi, giúp ngăn chặn mất mát dữ liệu và thúc đẩy quá trình phục hồi dữ liệu. - Giá thành thấp: Đơn giản hóa việc triển khai và quản trị, sử dụng các 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 dữ liệu từ DB2, Oracle, Infomix hay sysbase lên bộ nhớ, nhằm làm tăng tốc độ truy vấn dữ liệu. - Tính tương thích: solidDB dễ dàng tương thích với sự thay đổi của ứng dụng và quá trình triển khai. Nó “kéo giãn” theo chiều ngang với truy cập bộ nhớ chia sẻ để tăng hiệu năng và 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 là một IMDB mã nguồn mở được viết bằng java. Nó hỗ trợ kết nối qua JDBC API với hai kiểu kết nối nhúng và client/server. Phiên bản mới nhất của H2 là version 1.3.171 và vẫn tiếp tục được đóng góp hoàn thiện, bổ sung tính năng bởi cộng đồng mã nguồn mở. b/ Lịch sử phát triển Việt phát triển H2 được bắt đầu vào tháng 5/2004, nhưng nó được công bố chính thức vào 14/12/2005. Tác giả chính của H2 là Thomas Mueller. Việc xây dựng H2 bằng Java được giải thích với các nguyên nhân: dễ tích hợp với các ứng dụng Java, hỗ trợ nhiều nền tảng khác nhau, an toàn hơn các ứng dụng native, và hỗ trợ unicode. c/ Đặc điểm tính năng - Là một CSDL rất nhanh - Mã nguồn mở 13 - Được viết bằng Java - Hỗ trợ SQL chuẩn, JDBC API - Hỗ trợ kiểu kết nối nhúng và client/server, hoặc kết hợp cả hai loại. Kết nối nhúng chỉ thực hiện được khi ứng dụng và H2 nằm trên cùng một server vật lý. - Tính an ninh rất mạnh: có cơ chế đăng nhập bằng tên người dùng và mật khẩu, các database files có thể được mã hóa bằng thuật toán AES, XTEA. Thêm vào đó là cơ chế kết nối từ ứng dụng thông qua SSL/TLS. - Hỗ trợ các tính năng của một 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 là một hệ quản trị cơ sở dữ liệu mạnh mẽ và rất dễ truy cập. Nó bao gồm CSQL Main memory database và Cache để cache dữ liệu từ CSDL truyền thống như MySQL, PostgreSQL và Oracle. CSQL thường nằm ở giữa ứng dụng và CSDL truyền thống, để lưu trữ những dữ liệu hay được truy cập nhất nhằm tăng tốc độ truy cập. b/ Lịch sử phát triển Dự án được khởi động vào 05/2005, chính thức đăng ký trên sourceforge.net vào 04/2006. Phiên bản 1.0 beta ra đời vào 02/2007 với bộ engine lưu trữ. Tiếp sau đó, phiên bản 1.3 beta ra đời một năm sau đó với cơ chế truy vấn bằng SQL, và các phương thức kết nối bằng ODBC, JDBC. Phiên bản 2.0 vào 05/2008 có thêm cơ chế Caching. Phiên bản 2.4 vào 02/2009 hỗ trợ High Availability bằng cơ chế replication. Phiên bản hiện nay bổ sung thêm một số chức năng nâng cao khác. c/ Đặc điểm tính năng - Hỗ trợ đặc tính ACID: atomicity, consistency, isolation, durability - Có các đặc điểm tính năng như CSDL truyền thống: index, constraints, data type, isolation, kết nối song song / đồng thời,… - Có cơ chế phục hồi sau lỗi bằng checkpoint và redo log file, chấp nhận lỗi ở mức độ nhất định. - Hỗ trợ hai kiểu kết nối: nhúng và client/server - Tuân theo các chuẩn: SQL 92, kết nối bằng ODBC, JDBC - Tương thích nhiều nền tảng: linux, solaris, freeBSD - Có cơ chế Caching để đồng bộ dữ liệu hai chiều giữa CSQL và CSQL truyền thống. Replicator để hỗ trợ cơ chế High Availability. 14 III.3. So sánh các sản phẩm IMDB III.3.1. So sánh đặc điểm và chức năng Bảng III.1 – Bảng so sánh đặc điểm và chức năng các phần mềm IMDB Functionality IBM solidDB 6 Phần lớn SQL92, một phần SQL98 và SQL2003 Hỗ trợ SQL Oracle TimesTen 11 H2 SQL-92 SQL-92 Stored procedures DB2 SQL/PL Oracle PL/SQL PL/SQL IMDB Cache được từ các 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 bộ 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 năng Các công nghệ đều đưa ra những đánh giá về hiệu năng của riêng mình, chưa có bên thứ ba chính thức so sánh: Oracle TimesTen: Transactions Response Time Transactions Response Time 10,000 10,000 Oracle Oracle Oracle ++TimesTen Oracle TimesTen 10114 10114 8,000 8,000 6,000 6,000 Improved Transaction Throughput Improved Transaction Throughput with Cache Connect to Oracle with Cache Connect to 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 Transactions per Minute Transactions per Minute 12,000 12,000 D De el le et te e C C a Se al ll Se l l F Fw le ec w d ct t A d A cc cc e es ss s D S D at Se el at a le ec a ct t B B as as e e D Se D at Se l at a le ec a ct t N N ew ew D D es es t InIns t se er rt t C C al al l 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 Response Time in Microseconds Response Time in Microseconds - 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 0 275,000 275,000 Oracle Oracle Hình III.5 – Hiệu năng Oracle TimesTen 15 2,497,000 2,497,000 Oracle +TimesTen Oracle +TimesTen - IBM solidDB: Hình III.6 – Hiệu năng IBM solidDB Dưới đây chúng tôi thử nghiệm hiệu năng truy vấn full bảng của 3 phần mềm : Thông tin server thử nghiệm TT 1 2 3 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 năng các phần mềm IMDB TT CSDL 1 Timesten 2 Solid 3 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, có thể thấy các phần mềm nguồn mở cũng không thua kém các sản phẩm thương mại. Tuy nhiên, đặc thù là sản phẩm mã nguồn mở, nên hiệu năng và tính chịu trách nhiệm không được đảm bảo, đồng thời chỉ có thể áp dụng cho số lượng dữ liệu nhỏ. III.4. Kết luận chương 3 Chương này trình bày các sản phẩm IMDB điển hình bao gồm cả sản phẩm thương mại và mã nguồn mở, với các thông tin chung, lịch sử hình thành phát triển, và đặc điểm tính năng của chúng. Thêm vào đó, một sự so sánh về tính năng và hiệu năng của ba sản phẩm TimesTen, IBM solidDB và H2 để người đọc có cái nhìn rõ hơn và 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 bài toán áp dụng Khi hệ thống có những đặc điểm dưới đây, có thể xem xét sử dụng IMDB: o Đang sử dụng CSDL dựa trên ổ đĩa: Oracle, IBM DB2, MySQL,... o Có các chức năng (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 dữ liệu) nhỏ. o Số lượng dữ liệu lớn: làm cho việc thao tác (truy vấn, cập nhật) dữ liệu không còn đáp ứng yêu cầu về thời gian phản hồi, yêu cầu hiệu năng. o Có các chức năng có khả năng gây cao tải CSDL hiện tại o Việc tốc độ chậm không phải do nguyên nhân nào khác (ví dụ mã nguồn chưa tối ưu) mà do nguyên nhân CSDL. o Có đủ tài nguyên (bộ nhớ chính, CPU) để sử dụng IMDB (tương ứng từng hệ thống). Dưới đây trình bày một số lĩnh vực cũng như phần mềm tương ứng có thể áp dụng IMDB để tăng hiệu năng và 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 chính 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 của 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 hiện tại Các hệ thống phần mềm thông thường sử dụng CSDL truyền thống dựa trên ổ đĩa cứng, ví dụ Oracle hay IBM DB2. Dữ liệu, bảng được lưu trữ trên CSDL này. Ứng dụng thực hiện các thao tác truy vấn, thay đổi dữ liệu trên CSDL thông qua kết nối ODBC, JDBC hoặc 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 khi áp dụng IMDB IV.2.2.1 Sử dụng IMDB như một CSDL độc lập IMDB mang đầy đủ các chức năng của một CSDL quan hệ, hệ thống phần mềm có thể sử dụng IMDB như một CSDL riêng, tương tự như sử dụng CSDL truyền thống dựa trên ổ đĩ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 được lưu trữ trên IMDB. Ứng dụng thực hiện các thao tác truy vấn, thay đổi dữ liệu trên CSDL thông qua kết nối ODBC, JDBC hoặc hibernate. IV.2.2.2 Sử dụng IMDB Cache Sử dụng cả CSDL truyền thống kết hợp với IMDB Cache. Khi ấy, những dữ liệu hay thay đổi và được truy vấn nhiều được đưa lên IMDB cache, những dữ liệu còn lại vẫn trên CSDL hiện tại. Disk-based DB Application IMDB Cache Hình IV.3 – Kết hợp CSDL truyền thống và IMDB Cache IV.3. Thử nghiệm và kết quả IV.3.1. Lựa chọn Sản phẩm IMDB để thử nghiệm Qua những kiến thức và đánh giá về các sản phẩm IMDB, tôi đã chọn Oracle TimesTen vì những lý do sau đây: 18 - Oracle là nhà cung cấp giải pháp CSDL hàng đầu thế 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 của tôi cũng sử dụng Oracle. - Do cùng một nhà cung cấp nên giải pháp Oracle TimesTen có thể tích hợp rất dễ dàng, tương thích tốt với các CSDL Oracle hiện tại. - Lượng tri thức hỗ trợ về Oracle TimesTen khá nhiều trên internet cũng như các diễn đàn, với cộng đồng sử dụng lớn. - Có thể tải và dùng thử Oracle TimesTen một cách dễ dàng và 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 tôi đang làm việc tại Trung tâm phần mềm Viettel thuộc Tập đoàn Viễn thông Quân đội. Nhiệm vụ của Trung tâm phần mềm là nghiên cứu, xây dựng các hệ thống trực tiếp phục vụ kinh doanh của Tập đoàn. Hiện nay, Tập đoàn Viettel có nhiều lĩnh vực hoạt động, nhưng cung cấp dịch vụ viễn thông vẫn là lĩnh vực chủ chốt. Để có thể thực hiện hoạt động kinh doanh này, phần mềm Tính cước và Chăm sóc khách hàng (BCCS – Billing & CustomerCare System) là tối quan trọng. Qua đánh giá các phân hệ trong BCCS, chúng tôi nhận thấy hệ thống CustomerCare và BCCSRating là phù hợp và cần thiết sử dụng TimesTen. Hệ thống CustomerCare: - Tra cứu thông tin và giải đáp khách hàng - Hỗ trợ tiếp nhận và giải quyết khiếu nại. Do yêu cầu của 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 và trả về thông tin nhanh, các thông tin đầy đủ cho việc tra cứu để trả lời khách hàng. Hiện trạng và 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 năng hiển thị thông tin khách hàng và lịch sử khiếu nại của khách hàng là nhiều nhất. - Nghiệp vụ mong muốn hiển thị càng nhiều lịch sử khiếu nại càng tốt, nhưng do lượng dữ liệu ngày càng lớn, số truy cập nhiều, nên chỉ đáp ứng hiển thị thông tin lịch sử khiếu nại 7 ngày gần nhất. >> Nhu cầu phải tăng lượng dữ liệu truy vấn, giảm thời gian truy vấn. Hệ thống BCCS_Rating: - Tính cước được cho các dịch vụ viễn thông mà hiện tại Viettel Telecom đang cung cấp bao gồm Mobile, Homephone, ADSL, PSTN. - Đáp ứng được các chính sách khai bao giá cước mềm dẻo, đáp ứng yêu cầu hiệu năng của nghiệp vụ tính cước, số lượng bản ghi lớn, thời gian xử lý nhanh. 19 Hiện trạng và vấn đề: Hai module quan trọng và yêu cầu hiệu năng cao của hệ thống Rating là Chuẩn hóa thông tin và Tính cước: Bảng IV.1 – Bảng thống kê thời gian xử lý một bản ghi cước Chức năng Đầu vào Thời gian xử lý (Oralce thuần) Thời gian mong muốn Chuẩn hóa 2 file (20.000 bản ghi) 60.5 ms / bản ghi 7 ms / bản ghi Tính cước 2 file (20.000 bản ghi) 50.5 ms / bản ghi 7 ms / bản ghi >> Nhu cầu phải có giải pháp để đạt yêu cầu bài toán đặt ra. IV.3.3. Kết quả thử nghiệm IV.3.3.1 Kết quả 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 của KH. Hệ thống sẽ truy vấn thông tin này trên TimesTen. Việc insert, update, delete thông tin vẫn thực hiện trên Oracle DB thông thường. Trước Sau CC OracleDB CC OracleDB Đồng bộ Insert, update delete CC TimestenDB select Customer Care Customer Care Physical machine Hình IV.4 – Mô hình CC trước và sau khi áp dụng TimesTen Kết quả đạt được: Dưới đây là kết quả so sánh response time của chức năng popup giữa ứng dụng CC sử dụng Oracle và TimesTen. Kết quả là response time trung bình của các thuê bao được kiểm tra, kết quả dựa trên log của một ngày. 20
- Xem thêm -

Tài liệu liên quan