Mở đầu. Khái quát về cơ sở dữ liệu thời gian thực và vấn đề truy cập - Chƣơng 2. Một số kỹ thuật truy cập trong CSDL trên bộ nhớ - Chƣơng 3. Thử nghiệm cơ sở dữ liệu trên bộ nhớ - Kết luận.
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 báo, 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ả. Số hóa bởi Trung tâm Học liệu – ĐHTN http://www. Ý nghĩa khoa học của đề tài - Ý nghĩa khoa học: Khái quá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 các kỹ thuật truy cập trong 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 Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn c 4 Chƣơng 1. K Á QUÁT VỀ CƠ SỞ DỮ L UT Ờ AN T ỰC V VẤN Ề TRU CẬP 1.
Khái quát về xử lý dữ liệu trong cơ sở dữ liệu thời gian thực Cơ sở dữ liệu (CSDL) truyền thống đã hình thành từ rất sớm có một vai trò quan trọng trong các ứng dựng trên thực tế. Đặc điểm của các giao dịch trong CSDL truyền thống là yêu cầu về tính nhất quán. Điều này thể hiện ở trong việc lƣu trữ dữ liệu thống nhất, nghĩa là tránh đƣợc tình trạng trùng lặp thông tin và có cơ chế điều khiển truy xuất dữ liệu hợp lý, đó là tránh đƣợc việc tranh chấp dữ liệu và bảo đảm dữ liệu luôn đúng đắn tại mọi thời điểm. Thông thƣờng các thực hiện giao dịch và xử lý truy vấn trong CSDL là cố gắng nhằm đạt đƣợc một số lƣợng lớn giao dịch đƣợc thực thi và thời gian đáp ứng nhanh nhất có thể.
Ngày nay, với sự phát triển của công nghệ, ngoài việc đảm bảo các tính chất của giao dịch, giao dịch với số lƣợng lớn thì phải đảm bảo đƣợc thời gian đáp ứng của các giao dịch, đó là đảm bảo tính thời gian thực cho hệ thống. Các lĩnh vực cần đáp ứng thời gian thực bao gồm cơ sở hạ tầng mạng, viễn thông, thị trƣờng tài chính, chứng khoán, hàng không, thƣơng mại điện tử, doanh nghiệp. với các ứng dụng điển hình nhƣ hệ thống điều khiển không lƣu, giao dịch cổ phiếu chứng khoán, đặt chỗ máy bay, du lịch, hệ thống điều khiển robot, thi trực tuyến, hội họp trực tuyến. Dƣới đây là một số lĩnh vực có xu hƣớng giao dịch CSDL thời gian thực.
Trong lĩnh vực hoạt động doanh nghiệp, việc ứng dụng một hệ quản trị CSDL (Database Management System - DBMS) là rất quan trọng. DBMS là một hệ thống phần mềm tạo điều kiện cho quá trình xác định, xây dựng, thao tác, và chia sẻ CSDL giữa các ngƣời dùng khác nhau và các ứng dụng. Nó củng cố tất cả các hoạt động trong một ứng dụng doanh nghiệp và hiệu suất của các ứng dụng doanh nghiệp phụ thuộc nhiều vào hiệu suất của các DBMS. Khi hệ quản trị CSDL quan hệ ra đời đã hỗ trợ giao dịch một các hiệu quả và rất tin cậy.
Nhƣng khi khối lƣợng dữ liệu lớn hơn, hệ quản trị CSDL quan hệ không còn có thể hiệu quả phục vụ các yêu cầu của các ứng dụng doanh nghiệp. Đặc biệt nó thể xử lý Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn c 5 giao dịch trên toàn bộ CSDL một cách kịp thời. Lý do chính mà hệ quản trị CSDL quan hệ hiện tại không thể thực hiện các truy vấn yêu cầu đủ nhanh là dữ liệu phải đƣợc lấy ra từ đĩa cứng. Hệ thống hiện đại sử dụng rộng rãi của bộ nhớ đệm để lƣu trữ dữ liệu thƣờng xuyên truy cập trong bộ nhớ chính nhƣng đối với các truy vấn xử lý lƣợng lớn dữ liệu, đọc ổ đĩa vẫn đƣợc yêu cầu.
Đơn giản chỉ cần truy cập và đọc dữ liệu từ đĩa cứng có thể mất một số lƣợng đáng kể thời gian. Vì vậy đối với doanh nghiệp đòi hỏi phải có phƣơng án thay thế để giảm các chi phí và thời gian xử lý của hệ thống quản lý dữ liệu trên đĩa là rất cần thiết.1 là một ví dụ về đề xuất của Bill Gates vào năm 1994, Information at the fingertips, khi đó ông hình dung ra một tƣơng lai mà trong đó bất kỳ thông tin nào đều có sẵn ở bất cứ đâu. Việc tham gia cuộc họp có thể ở nhiều địa điểm khác nhau, tất cả các trình duyệt, truy vấn, thao tác cùng thông tin đều trong thời gian thực.com/Assets/Blogs/2010/June/Hasso- Plattner-on-In-Memory-Computing-OLAP-and-OLTP). ội họp trong tƣơng lai Trong lĩnh vực tài chính, những cán bộ kiểm soát tài chính là những ngƣời đặc biệt gặp khó khăn với khối lƣợng dữ liệu ngày càng gia tăng.
Do thời gian trả lời dữ liệu chậm, họ bị buộc phải giới hạn khung thời gian phân tích trong vài ngày thay vì vài thang hay vài quý. Điều này dẫn tới một loạt chậm trễ, bao gồm cả việc đóng Số hóa bởi Trung tâm Học liệu – ĐHTN http://www.vn c 6 sổ cuối mỗi kỳ tài chính. Vì vậy việc phân tích dữ liệu khối lƣợng lớn và môi trƣờng mô hình linh động đồng nghĩa với việc quyết toán tài chính nhanh hơn và hiểu biết sâu sắc hơn về những dữ liệu tài chính chi tiết ở các khung thời gian rộng hơn cần một phƣơng án thay thế thích hợp so với hệ thống CSDL thông thƣờng. Trong lĩnh vực đào tạo và thi trực tuyến, việc tham gia của hàng trăm, hàng nghìn thí sinh tham gia trong cả nƣớc đòi hỏi hệ thống phải xử lý lƣợng giao dịch rất lớn.
Ngay sau khi thi xong, thí sinh có thể biết ngay điểm và thứ hạng của mình trên hệ thống. Điều này đòi hỏi thời gian xử lý phải nhanh, đáp ứng đƣợc thời gian thực. ệ thống thi trực tuyến Qua các xu hƣớng này, chúng ta có thể nhận thấy rằng giao dịch CSDL thời gian thực đang là một xu hƣớng tất yếu, cần đƣợc tìm hiểu và áp dụng. Tiếp theo, chúng ta tìm hiểu giao dịch CSDL hoạt động nhƣ thế nào? 1.
Vấn đề truy cập và xử lý nhanh trong hệ thống cơ sở dữ liệu Một trong những vấn đề gây ảnh hƣởng nhất đến tốc độ hồi đáp truy vấn trực tuyến thời gian thực là hệ thống CSDL cho các ứng dụng (trực tuyến) thời gian Số hóa bởi Trung tâm Học liệu – ĐHTN http://www. Ứng dụng thời gian thực có thể chia ra làm hai loại, ứng dụng giao dịch thời gian thực và ứng dụng phân tích thời gian thực. Có 4 xu hƣớng cải tiến kỹ thuật cho CSDL là: Xử lý song song, Thay đổi kiến trúc CSDL, Thay đổi cơ chế hoạt động, Sử dụng bộ nhớ (in-Memory). Trong những năm gần đây, CSDL trong bộ nhớ đang đƣợc các tổ chức và công ty nghiên cứu trên thế giới tập trung để giải quyết các bài toán xử lý dữ liệu lớn và phân tán áp dụng cho các ứng dụng trực tuyến trong mô hình điện toán đám mây.
Khác với mô hình tính toán lƣới (Grid computing) trong đó yêu cầu thực thi có thể đƣợc phép “đợi lúc CPU rảnh” thì mô hình tính toán trong đám mây hoàn toàn khác, rất nhiều ngƣời dùng đƣợc sử dụng tài nguyên để truy vấn đồng thời vì vậy cần đảm bảo chất lƣợng dịch vụ tức thời nhƣng tôn trọng trình tự ngƣời truy vấn. Hay nói cách khác, bắt buộc hệ thống phải xử lý trình tự và đáp ứng thời gian thực cho có thể đến hàng triệu ngƣời truy vấn. Vấn đề này đang là nỗi lo lắng nhất cho các hệ thống trực tuyến đang phát triển nhanh chóng, khi mà các giải pháp xử lý song song không còn nhiều tác dụng. Các công ty thƣơng mại nhƣ Oracle cũng nhƣ các công ty mã nguồn mở cũng đã nghiên cứu và triển khai.
Thực trạng là hệ thống thi trực tuyến Violypic bị treo khi có 3000 kết nối cùng một thời điểm, do đó đã phải cải tiến CSDL tạm thời, hay các sàn chứng khoán xử lý hàng triệu giao dịch trong mỗi giây, và đã bắt đầu sử dụng IMDB (In- Memory Database). IMDB chính là giải pháp cho những hệ thống có đa giao dịch hay rất nhiều giao dịch xảy ra đồng thời và cần xử lý thời gian thực. Ở Việt Nam, các nghiên cứu về CSDL đáp ứng thời gian thực còn rất ít trong khi nền kinh tế thì phát triển rất nhanh để kịp ngang bằng với thế giới. Vì vậy, sớm bắt đầu nghiên cứu và áp dụng công nghệ này là cần thiết.
Số hóa bởi Trung tâm Học liệu – ĐHTN http://www. iải pháp sử dụng cơ sở dữ liệu trong bộ nhớ 1. iải pháp Ngƣời dùng ngày nay luôn muốn truy cập thông tin nhanh để đƣa ra những quyết định chính xác ở bất kỳ thời điểm nào, vì vậy CSDL là nguồn tài nguyên hết sức cần thiết và quan trọng. Một Chƣơng trình máy tính chuyên biệt phổ biến dành cho CSDL chính là hệ quản trị CSDL DBMS.
Đó là nơi cung cấp phƣơng pháp chuẩn hóa về tính toàn vẹn dữ liệu, thiết lập các mối quan hệ dữ liệu phức tạp, đảm bảo truy nhập thông tin nhanh và hiệu quả. Nhƣng điểm hạn chế của các hệ thống DBMS là thƣờng kết hợp với thao tác nhập/xuất (I/O) trên ổ đĩa, một tiến trình cơ học có thể làm giảm hiệu năng của máy tính. Tuy nhiên, trong những thập niên trở lại đây, các nhà cung cấp phần mềm đã tập trung phát triển CSDL bên trong bộ nhớ (In-Memory database – IMDB hoặc còn gọi là CSDL bộ nhớ chính MMDB - Main Memory Database) nhiều hơn. IMDB đƣợc mô tả nhƣ là một mô hình DBMS mới giúp tăng tốc độ lƣu trữ, truy xuất và phân loại thông tin bằng cách lƣu giữ tất cả dữ liệu trong bộ nhớ chính.
Khi IMDB chƣa xuất hiện, DBMS đã dùng bộ nhớ đệm để giữ các bản ghi đƣợc cập nhật thƣờng xuyên trong RAM giúp truy xuất nhanh. Ngoài ra, một số DBMS truyền thống khác có bảng bộ nhớ để giữ các tập dữ liệu trong bộ nhớ. Đôi khi, DBMS đƣợc triển khai trên đĩa RAM (RAM disk - bộ nhớ RAM giả lập thành ổ đĩa cứng, khi mất nguồn điện, toàn bộ dữ liệu trên RAM disk sẽ mất) và gần đây là ổ đĩa SSD.