Tải bản đầy đủ (.pdf) (79 trang)

Nghiên cứu một số kỹ thuật quản lý, truy vấn dữ liệu luồng liên tục

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.63 MB, 79 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

DƢƠNG HỒNG MINH

NGHIÊN CỨU MỘT SỐ KỸ THUẬT QUẢN LÝ,
TRUY VẤN DỮ LIỆU LUỒNG LIÊN TỤC

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

THÁI NGUYÊN 2015
ố hóa bởi STrung tâm Học liệu – ĐHTN




ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

DƢƠNG HỒNG MINH

NGHIÊN CỨU MỘT SỐ KỸ THUẬT QUẢN LÝ,
TRUY VẤN DỮ LIỆU LUỒNG LIÊN TỤC
Mã số

: 60 48 01 01

Chuyên ngành: Khoa học máy tính

LUẬN VĂN THẠC SỸ: KHOA HỌC MÁY TÍNH


NGƢỜI HƢỚNG DẪN KHOA HỌC: TS. HOÀNG ĐỖ THANH TÙNG

Thái Nguyên, 11/2015
ố hóa bởi STrung tâm Học liệu – ĐHTN




i

LỜI CAM ĐOAN
Tôi xin cam đoan, đây là công trình nghiên cứu của tôi. Trong đó có sự
giúp đỡ tận tình của thầy giáo hƣớng dẫn TS. Hoàng Đỗ Thanh Tùng, các
thầy cô tại Viện CNTT, thầy cô giáo Trƣờng Đại học Công nghệ Thông tin và
Truyền thông. Các nội dung nghiên cứu và kết quả trong đề tài này là hoàn
toàn trung thực.
Trong luận văn, tôi có tham khảo tài liệu của một số tác giả đã đƣợc liệt
kê tại phần Tài liệu tham khảo ở cuối luận văn.
Thái Nguyên, tháng 11 năm 2015
Tác giả

Dƣơng Hồng Minh

ố hóa bởi STrung tâm Học liệu – ĐHTN




ii


LỜI CẢM ƠN
Để hoàn thành chƣơng trình luận văn, tôi đã nhận đƣợc sự hƣớng dẫn,
giúp đỡ góp ý nhiệt tình của quý thầy cô Trƣờng Đại học Công nghệ Thông
tin và Truyền thông – Đại học Thái Nguyên.
Tôi xin chân thành cảm ơn đến quý thầy cô Trƣờng Đại học Công nghệ
Thông tin và Truyền thông - Đại học Thái Nguyên, quý thầy cô Viện CNTT,
đặc biệt là những thầy cô đã tận tình dạy bảo cho tôi trong suốt thời gian học
tập tại trƣờng.
Tôi xin gửi lời cảm ơn sâu sắc đến TS. Hoàng Đỗ Thanh Tùng đã
dành rất nhiều thời gian, tâm huyết chỉ bảo tận tình hƣớng dẫn nghiên cứu và
giúp tôi hoàn thành luận văn này.
Nhân đây, tôi xin chân thành cảm ơn Ban giám hiệu, Phòng sau Đại
học Trƣờng Đại học Công nghệ Thông tin và Truyền thông - Đại học Thái
Nguyên đã tạo mọi điều kiện để tôi học tập và hoàn thành tốt khóa học.
Tôi xin chân thành cảm ơn!
Thái Nguyên, tháng 11 năm 2015
Học viên thực hiện

Dƣơng Hồng Minh

ố hóa bởi STrung tâm Học liệu – ĐHTN




iii

MỤC LỤC
LỜI CAM ĐOAN .............................................................................................. i
LỜI CẢM ƠN ................................................................................................... ii

MỤC LỤC ........................................................................................................ iii
DANH MỤC CÁC HÌNH ................................................................................ vi
DANH MỤC CÁC BẢNG.............................................................................. vii
PHẦN MỞ ĐẦU ............................................................................................... 1
Chƣơng 1: TỔNG QUAN VỀ DỮ LIỆU LUỒNG VÀ HỆ THỐNG
QUẢN LÝ DỮ LIỆU LUỒNG ......................................................................... 3
1.1. Tổng quan về dữ liệu luồng ................................................................... 3
1.1.1. Giới thiệu......................................................................................... 3
1.1.2. Sự khác biệt giữa dữ liệu luồng và cơ sở dữ liệu truyền thống ...... 5
1.1.3. Một số ứng dụng ........................................................................... 11
1.2. Những thách thức trong xây dựng hệ thống quản lý dữ liệu luồng ..... 14
1.2.1.Yêu cầu bộ nhớ không hạn chế ...................................................... 14
1.2.2. Truy vấn xấp xỉ ............................................................................. 17
1.2.3. Truy vấn cửa sổ trƣợt .................................................................... 17
1.2.4. Truy vấn khối ................................................................................ 18
1.2.5. Xây dựng hệ thống quản lý dữ liệu luồng..................................... 19
Chƣơng 2: MỘT SỐ KỸ THUẬT TRONG QUẢN LÝ VÀ TRUY VẤN
DỮ LIỆU LUỒNG .......................................................................................... 22
2.1. Kỹ thuật đánh chỉ số dữ liệu luồng R-Tree .......................................... 22
2.1.1. Khái niệm ......................................................................................23
2.1.2. Cấu trúc của một R-Tree ...............................................................25
2.1.3. Thuật toán R-Tree ......................................................................... 26
2.2. Kỹ thuật truy vấn dữ liệu luồng ........................................................... 35
ố hóa bởi STrung tâm Học liệu – ĐHTN




iv


2.2.1. Ngữ nghĩa truy vấn........................................................................ 35
2.2.2. Ngôn ngữ truy vấn ........................................................................ 36
2.2.3. Kiến trúc truy vấn......................................................................... 37
2.2.4. Thuật toán...................................................................................... 39
2.3. Phân tích lựa chọn công cụ .................................................................. 42
2.3.1. Microsoft StreamInsight ............................................................... 42
2.3.2. Ứng dụng Web thời gian thực sử dụng thƣ viện SignalR ............. 49
Chƣơng 3: CHƢƠNG TRÌNH THỬ NGHIỆM.............................................. 55
3.1. Bài toán Web thời gian thực ................................................................ 55
3.1.1.Bài toán .......................................................................................... 55
3.1.2. Vấn đề cần giải quyết .................................................................... 55
3.1.3. Giải pháp đề xuất .......................................................................... 56
3.2. Một số kết quả ..................................................................................... 59
3.2.1. Kết quả chƣơng trình Streaming sử dụng StreamInsight.............. 60
3.2.2. Kết quả ứng dụng chạy trên Web thời gian thực .......................... 63
PHẦN KẾT LUẬN ......................................................................................... 68
TÀI LIỆU THAM KHẢO ............................................................................... 69

ố hóa bởi STrung tâm Học liệu – ĐHTN




v

DANH MỤC TỪ VIẾT TẮT
Nghĩa tiếng Anh

Từ viết tắt
DBMS


Data Base Management System

DSMS

Data Stream Management System

CPU

Central Processing Unit

SQL

Structured Query Language

CQL

Continuous Query Language

SPE

Stream Processing Engine

URL

Uniform Resource Locator

HTTP

Hypertext Transfer Protocol


ố hóa bởi STrung tâm Học liệu – ĐHTN




vi

DANH MỤC CÁC HÌNH
Hình 1.1: Xử lý dữ liệu trong quản trị cơ sở dữ liệu......................................... 6
Hình 1.2: Xử lý dữ liệu trong hệ thống dữ liệu luồng ...................................... 8
Hình 2.1: Ví dụ về R-Tree...............................................................................23
Hình 2.2: Trƣờng hợp phân chia node (a) bad split, (b) good split ...............31
Hình 2.3: Phân chia phần tử thành các nhóm node mới ................................32
Hình 2.4: Các kiểu dữ liệu và các lớp hàm trong ngữ nghĩa trừu tƣợng ........ 35
Hình 2.5: Mô hình kiến trúc xử lý truy vấn liên tục ....................................... 37
Hình 2.6: Kiến trúc truy vấn liên tục trong luồng dữ liệu.............................. 41
Hình 2.7: Nền tảng ứng dụng StreamInsight .................................................. 43
Hình 2.8: Truy vấn ràng buộc ......................................................................... 49
Hình 2.9: Mô hình gửi thông tin của SignalR ................................................. 51
Hình 2.10: Phƣơng thức kết nối của SignaIR ................................................ 53
Hình 3.1: Kiến trúc tạo báo cáo Web sử dụng thuật toán truy vấn liên tục .......... 55
Hình 3.2: Sơ đồ bài toán.................................................................................. 57
Hình 3.3: Sơ đồ tổng thể bài toán ................................................................... 58
Hình 3.4: Lớp SimpleEventType .................................................................... 60
Hình 3.5: Các lớp trong gói SimulatedInputAdapter ...................................... 60
Hình 3.6: Các lớp trong gói ConsoleOutput (hiển thị thông tin) .................... 61
Hình 3.7: Báo cáo theo dòng ........................................................................... 62
Hình 3.8: Chƣơng trình Web........................................................................... 67
Hình 3.9: Kết quả hiển thị trên Web ............................................................... 67


ố hóa bởi STrung tâm Học liệu – ĐHTN




vii

DANH MỤC CÁC BẢNG
Bảng 1.1: So sánh sự khác nhau giữa DBMS và DSMS ................................ 10
Bảng 1.2: Ví dụ truy vấn trên dữ liệu luồng S(A, B, C) và T(D, E) ............... 15
Bảng 1.3: Ký hiệu một số truy vấn Q và luồng S ........................................... 16

ố hóa bởi STrung tâm Học liệu – ĐHTN




1

PHẦN MỞ ĐẦU
Công nghệ thông tin ngày càng phát triển, ứng dụng rộng rãi trong
nhiều lĩnh vực của đời sống kinh tế xã hội. Theo thời gian, lƣợng dữ liệu
thông tin cần lƣu trữ của các cơ quan tổ chức, đơn vị, doanh nghiệp, ngƣời sử
dụng… ngày càng tăng. Do dung lƣợng dữ liệu gia tăng không ngừng, yêu
cầu ngày càng cao về hiệu năng truy xuất, tính ổn định và sự sẵn sàng của dữ
liệu; việc lƣu trữ đã và đang trở nên rất quan trọng. Lƣu trữ dữ liệu không còn
đơn giản là cung cấp các thiết bị lƣu trữ dung lƣợng lớn mà còn bao gồm cả
khả năng quản lý, chia sẻ cũng nhƣ sao lƣu và phục hồi dữ liệu trong mọi
trƣờng hợp.

Mặt khác trong môi trƣờng kinh tế đang trên đà hội nhập, phát triển và
cạnh tranh ngƣời ta ngày càng cần có nhiều thông tin cần truy vấn nhanh để
hỗ trợ giúp đƣa ra quyết định và ngày càng có nhiều câu hỏi, vấn đề cần phải
trả lời, giải quyết dựa trên một khối lƣợng thông tin khổng lồ. Các phƣơng
pháp lƣu trữ, truy vấn cơ sở dữ liệu truyền thống ngày càng không đáp ứng
đƣợc yêu cầu thực tế đề ra, đã phát triển một khuynh hƣớng kỹ thuật mới đó
là truy vẫn dữ liệu luồng liên tục (Data Streaming).
Streaming là một kỹ thuật xử lý truyền dữ liệu theo luồng một cách ổn
định và liên tục. Trong mô hình luồng dữ liệu, hoạt động của một hoặc tất cả
các dữ liệu đầu vào không đƣợc truy cập ngẫu nhiên từ ổ đĩa hoặc bộ nhớ mà
truy cập từ một hoặc từ nhiều luồng dữ liệu liên tục. Ứng dụng trực tuyến
không chỉ nhấn mạnh đến cơ chế xử lý của một hệ thống quản lý dữ liệu
luồng, mà còn đƣa ra những thách thức mới cho việc quản lý dữ liệu: Lớn,
nhanh chóng thay đổi bộ dữ liệu cần phải đƣợc xử lý với chi phí thấp về bộ
nhớ và CPU trong khi cung cấp truy cập hiệu quả và thời gian đáp ứng đảm
bảo thấp. Giải quyết và khắc phục những thách thức về lƣu trữ và quản lý dữ
liệu, truy vấn dữ liệu nhanh từ đó hỗ trợ cá nhân, doanh nghiệp đƣa ra quyết
định nhanh chóng, kịp thời, hiệu quả, tăng doanh thu. Luận văn tập trung tìm
ố hóa bởi STrung tâm Học liệu – ĐHTN




2

hiểu cơ sở dữ liệu truyền thống, cơ sở dữ liệu luồng liên tục, một số kỹ thuật
quản lý, truy vấn dữ liệu luồng liên tục.
Lƣu trữ dữ liệu an toàn và truy vấn dữ liệu nhanh quyết định sự thành
công của mỗi cá nhân, tổ chức, doanh nghiệp... Vì vậy, học viên chọn:
“Nghiên cứu một số kỹ thuật quản lý, truy vấn dữ liệu luồng liên tục” làm

đề tài luận văn tốt nghiệp của mình.
Nội dung luận văn gồm 03 chƣơng:
Chƣơng 1: Tổng quan về dữ liệu luồng và hệ thống quản lý dữ liệu luồng
Chƣơng 2: Một số kỹ thuật trong quản lý luồng và truy vấn dữ liệu luồng
Chƣơng 3: Chƣơng trình thử nghiệm
Phần kết luận
Tài liệu tham khảo

ố hóa bởi STrung tâm Học liệu – ĐHTN




3

Chƣơng 1: TỔNG QUAN VỀ DỮ LIỆU LUỒNG VÀ HỆ THỐNG
QUẢN LÝ DỮ LIỆU LUỒNG
1.1. Tổng quan về dữ liệu luồng
1.1.1. Giới thiệu
Trong đầu những năm 1920, George O.Squier đã đƣợc cấp bằng sáng
chế cho một hệ thống về việc truyền tải và phân phối các tín hiệu qua đƣờng
dây điện, đó là cơ sở kỹ thuật cho những gì sau này trở thành Muzak, một
công nghệ Streaming âm nhạc liên tục cho các khách hàng thƣơng mại mà
không cần sử dụng đài thu thanh.
Đã có nhiều nỗ lực để hiển thị các tập tin media trên các máy tính từ
những ngày đầu tiên sơ khai của nền công nghiệp máy tính giữa thế kỷ 20.
Tuy nhiên, có ít tiến bộ đã đƣợc thực hiện trong nhiều thập kỷ, chủ yếu do chi
phí cao và khả năng hạn chế về phần cứng máy tính. Đến những năm 1990,
máy tính cá nhân trở nên mạnh mẽ, đủ để hiển thị các tập tin media khác nhau
và các vấn đề kỹ thuật chủ yếu liên quan đến Streaming.

CPU và băng thông mainboard có đủ sức mạnh để hỗ trợ tốc độ các dữ
liệu yêu cầu.
Trong thời gian cuối những năm 1990 và đầu những năm 2000, băng
thông mạng network đã lớn hơn rất nhiều, đặc biệt là sự cải tiến ở đƣờng
truyền đầu cuối – kết nối từ các server tới ngƣời dùng truy cập. Hơn nữa,
Internet sử dụng các giao thức và các định dạng tiêu chuẩn, chẳng hạn nhƣ
TCP/IP, HTTP và HTML. Thuật ngữ "Streaming" lần đầu tiên đƣợc sử dụng
trong năm 1990 đƣợc mô tả là công cụ giúp cho video theo yêu cầu trên các
mạng IP đƣợc tực hiện tốt hơn. Microsoft đã phát triển một ứng dụng nghe
nhạc đƣợc biết đến với cái tên ActiveMovie vào năm 1995, cho phép
streaming media và bao gồm một định dạng độc quyền cho streaming, đó là
tiền thân của các tính năng streaming sau này trong Windows Media Player
6.4 vào năm 1999.
Tháng 6 năm 1999, Apple cũng giới thiệu một định dạng Streaming
ố hóa bởi STrung tâm Học liệu – ĐHTN




4

media trong ứng dụng QuickTime 4. Sau này cũng đƣợc áp dụng rộng rãi trên
các trang Web cùng với RealPlayer và Windows Media streaming. Các định
dạng cạnh tranh trên các trang Web yêu cầu mỗi ngƣời sử dụng phải tải về các
ứng dụng tƣơng ứng và kết quả là nhiều ngƣời sử dụng phải có tất cả ba ứng
dụng trên máy tính của họ để tƣơng thích chung.
Khoảng năm 2002, sự quan tâm đến chỉ một định dạng Streaming
thống nhất và áp dụng rộng rãi của Adobe Flash thúc đẩy sự phát triển của
một định dạng streaming video thông qua Flash, đó là định dạng đƣợc sử
dụng ứng dụng đọc Flash trên nhiều trang Web video phổ biến lƣu trữ hiện

nay nhƣ YouTube. Nhu cầu ngƣời dùng tăng lên cho việc truyền hình trực
tiếp đã khiến YouTube để thực hiện một dịch vụ mới “Live Streaming” cho
ngƣời sử dụng. Hiện nay nhiều công ty cũng cung cấp dịch vụ Live Streaming
này để đảm bảo đƣờng truyền và tốc độ dựa đáp ứng truyền hình trực tiếp
theo kết nối có sẵn của ngƣời sử dụng.
Streaming là một kỹ thuật xử lý truyền dữ liệu theo luồng một cách ổn
định và liên tục [1, 6]. Trong mô hình luồng dữ liệu, hoạt động của một hoặc
tất cả các dữ liệu đầu vào không đƣợc truy cập ngẫu nhiên từ ổ đĩa hoặc bộ
nhớ mà truy cập từ một hoặc từ nhiều luồng dữ liệu liên tục. Ứng dụng trực
tuyến không chỉ nhấn mạnh đến cơ chế xử lý của một hệ thống quản lý dữ
liệu luồng, mà còn đƣa ra những thách thức mới cho việc quản lý dữ liệu lớn,
nhanh chóng thay đổi bộ dữ liệu cần phải đƣợc xử lý với chi phí thấp về bộ
nhớ và CPU trong khi cung cấp truy cập hiệu quả và thời gian đáp ứng đảm
bảo thấp. Công nghệ Streaming đang ngày càng trở nên quan trọng với sự
phát triển của Internet bởi vì hầu hết ngƣời dùng không có quyền truy cập đủ
nhanh để tải các tập tin đa phƣơng tiện lớn một cách nhanh chóng. Với
Streaming, trình duyệt hoặc plug-in của Client có thể bắt đầu hiển thị dữ liệu
trƣớc khi toàn bộ tập tin đã đƣợc truyền đi. Dữ liệu luồng có những đặc tính
sau:
ố hóa bởi STrung tâm Học liệu – ĐHTN




5

+ Các dữ liệu trong luồng là trực tuyến.
+ Luồng dữ liệu có kích thƣớc lớn.
+ Hệ thống không kiểm soát thứ tự các phần tử dữ liệu đã xử lý.
1.1.2. Sự khác biệt giữa dữ liệu luồng và cơ sở dữ liệu truyền thống

Hệ quản trị cơ sở dữ liệu (Database Management System - DBMS),
là phần mềm hay hệ thống đƣợc thiết kế để quản trị một cơ sở dữ liệu. Trên
đó ngƣời dùng có thể định nghĩa, thao tác và xử lý dữ liệu trong một CSDL để
xuất ra những thông tin có nghĩa. Cụ thể, các chƣơng trình thuộc loại này hỗ
trợ khả năng lƣu trữ, sửa chữa, xóa và tìm kiếm thông tin trong một cơ sở dữ
liệu (CSDL). Có rất nhiều hệ quản trị CSDL khác nhau: Từ phần mềm nhỏ
chạy trên máy tính cá nhân cho đến những hệ quản trị phức tạp chạy trên một
hoặc nhiều siêu máy tính. Đa số hệ quản trị CSDL đều có một đặc điểm
chung là sử dụng ngôn ngữ truy vấn theo cấu trúc mà tiếng Anh gọi
là Structured Query Language (SQL).

ố hóa bởi STrung tâm Học liệu – ĐHTN




6

Truy vấn SQL

Kết quả

Xử lý truy vấn
Bộ nhớ chính

Đĩa

Hình 1.1: Xử lý dữ liệu trong quản trị cơ sở dữ liệu
Hệ thống cơ sở dữ liệu truyền thống không thể sử dụng để lƣu trữ hiệu
quả và xử lý dữ liệu trực tuyến. Cơ sở dữ liệu truyền thống không đƣợc thiết

kế để tải nhanh chóng và liên tục các kết quả truy vấn dữ liệu cá nhân khi có
yêu cầu truy vấn trong trƣờng hợp luồng dữ liệu. Hệ thống quản lý cơ sở dữ
liệu truyền thống đƣợc trang bị tốt nhất để chạy các truy vấn trong một
khoảng thời gian hữu hạn đƣợc lƣu trữ trên bộ dữ liệu. Đồng thời DBMS
ố hóa bởi STrung tâm Học liệu – ĐHTN




7

truyền thống tập trung chủ yếu vào mục tiêu đối diện của câu trả lời chính xác
tính bằng cách truy vấn có kế hoạch ổn định. Cơ sở dữ liệu truyền thống
không hỗ trợ trực tiếp các truy vấn liên tục mà điển hình là các ứng dụng
dòng dữ liệu. DBMS có những tính năng:
+ Đƣợc thiết kế để phục vụ cho những ứng dụng thƣơng mại.
+ Giải quyết những vấn đề đơn lẻ (one-time queries).
+ Không đặt nặng vấn đề thời gian.
+ Dữ liệu khép kín.
+ Dữ liệu đƣợc giả định chính xác.
+ Tính thích ứng (reactive capability).
Một hệ thống quản lý dữ liệu luồng (DSMS) là một chƣơng trình máy
tính để quản lý dữ liệu luồng liên tục. Nó tƣơng tự nhƣ một hệ thống quản lý
cơ sở dữ liệu (DBMS), thiết kế cho các dữ liệu tĩnh trong cơ sở dữ liệu thông
thƣờng. Một DSMS cũng cung cấp một chế độ truy vấn linh hoạt để các thông
tin cần thiết có thể đƣợc thể hiện bằng cách sử dụng các truy vấn. Tuy nhiên,
trái ngƣợc với một DBMS, một DSMS thực hiện một truy vấn liên tục mà
không chỉ diễn ra một lần mà vĩnh viễn. Các truy vấn đƣợc thực hiện liên tục
cho đến khi nó đƣợc gỡ bỏ một cách rõ ràng. Hầu hết DSMS là hƣớng dữ
liệu, truy vấn liên tục tạo ra kết quả mới miễn là dữ liệu mới đến hệ thống. Sự

khác biệt giữa một hệ thống tập tin hoặc hệ thống quản lý cơ sở dữ liệu
(DBMS) và một DSMS rất đơn giản: Các hệ thống file hiện tại hay DBMS
mong đợi tất cả các dữ liệu đƣợc quản lý trong một số hình thức tập hợp dữ
liệu bền vững; trong một DSMS, khái niệm về một dòng dữ liệu, có thể không
bị giới hạn, cũng quan trọng nhƣ thiết lập một dữ liệu lƣu trữ thông thƣờng.

ố hóa bởi STrung tâm Học liệu – ĐHTN




8

Kết quả (lƣu trữ)

Bộ ghi CQs

Xử lý truy vấn

Bộ nhớ chính
Luồng dữ liệu

Lƣu trữ không lựa chọn

Luồng dữ liệu

Quan hệ lƣu trữ

(bộ nhớ chính hoặc đĩa)


Hình 1.2: Xử lý dữ liệu trong hệ thống dữ liệu luồng
Một trong những tính năng quan trọng nhất của một DSMS là xử lý có
khả năng vô hạn và nhanh chóng thay đổi luồng dữ liệu bằng cách cung cấp
một chế độ truy vấn linh hoạt cùng một lúc, mặc dù chỉ đƣợc giới hạn nguồn
tài nguyên nhƣ bộ nhớ chính bị giới hạn. Truy vấn trên dữ liệu luồng liên tục
có nhiều điểm chung với các truy vấn trong hệ thống quản lý cơ sở dữ liệu
truyền thống. Tuy nhiên, có hai khác biệt quan trọng đặc biệt với mô hình
luồng dữ liệu:
+ Sự khác biệt đầu tiên là giữa truy vấn một lần và truy vấn liên tục.
Truy vấn một lần (một lớp bao gồm truy vấn DBMS truyền thống) là những
truy vấn đƣợc đánh giá một lần trên một bản chụp điểm thời gian của bộ dữ
liệu, với câu trả lời trả lại cho ngƣời sử dụng. Truy vấn liên tục có thể đƣợc
ố hóa bởi STrung tâm Học liệu – ĐHTN




9

lƣu trữ và cập nhật kết quả truy vấn khi có dữ liệu mới và khi có sự thay đổi
liên tục của dữ liệu.
+ Sự khác biệt thứ hai là giữa các truy vấn đƣợc xác định trƣớc và truy
vấn bột phát. Một truy vấn xác định trƣớc là một truy vấn cung cấp cho các hệ
thống quản lý luồng dữ liệu trƣớc khi có bất kỳ dữ liệu có liên quan nào đến.
Truy vấn xác định trƣớc nói chung là các truy vấn liên tục, mặc dù kế hoạch
truy vấn một lần có thể đƣợc định nghĩa trƣớc. Mặt khác, truy vấn bột phát
sau khi các luồng dữ liệu đã bắt đầu công khai. Truy vấn bột phát có thể là
truy vấn một lần hoặc là các truy vấn liên tục. Thiết kế một hệ thống quản lý
dữ liệu luồng cho truy vấn bột phát là rất phức tạp, vì không biết trƣớc mục
đích tối ƣu hóa truy vấn và quan trọng hơn, câu trả lời chính xác cho một truy

vấn bột phát có thể yêu cầu tham khảo các yếu tố dữ liệu đến từ dữ liệu luồng
đã bị loại bỏ.
Dữ liệu luồng có thể đƣợc xem nhƣ là quá trình ngẫu nhiên mà trong đó
sự kiện liên tục xảy ra và độc lập với nhau. Truy vấn dữ liệu luồng là khá
khác nhau từ truy vấn trong mô hình quan hệ thông thƣờng. Một ý tƣởng
chính là hoạt động trên mô hình dữ liệu luồng không loại trừ việc sử dụng các
dữ liệu đƣợc lƣu trữ trong các mối quan hệ thông thƣờng: Dữ liệu có thể là
tạm thời. Điều làm cho xử lý dữ liệu khác nhau giữa hệ quản trị cơ sở dữ liệu
truyền thống và hệ thống quản lý dữ liệu luồng đó là:
+ Các yếu tố dữ liệu trực tuyến trong luồng.
+ Hệ thống không kiểm soát thứ tự các phần tử dữ liệu đến hoặc trong
một dòng dữ liệu, hay trên dòng dữ liệu.
+ Khả năng luồng dữ liệu bị ràng buộc về kích thƣớc.
+ Khi một phần tử từ một dòng dữ liệu đã đƣợc xử lý, nó sẽ bị loại bỏ
hoặc lƣu trữ. Phần tử đó không đƣợc lấy ra dễ dàng, trừ khi nó đƣợc lƣu trong
bộ nhớ một cách rõ ràng, hoặc là phần tử đó tƣơng đối nhỏ so với kích thƣớc
của dòng dữ liệu.
ố hóa bởi STrung tâm Học liệu – ĐHTN




10

Bảng dƣới đây cung cấp sự khác nhau của DSMS và so sánh chúng với
DBMS truyền thống.
Bảng 1.1: So sánh sự khác nhau giữa DBMS và DSMS
Hệ thống quản lý cơ sở dữ liệu

Hệ thống quản lý dữ liệu luồng


(DBMS)

(DSMS)

Quan hệ ổn định

Luồng tạm thời (và các mối quan
hệ liên tục)

Truy cập ngẫu nhiên

Truy cập tuần tự

Truy vấn một lần

Các truy vấn liên tục

Lƣu trữ thứ cấp (về mặt lý thuyết) Hạn chế bộ nhớ chính
không giới hạn
Chỉ có đầu vào liên quan

Xem xét thứ tự của các đầu vào

Cập nhật tỷ lệ tƣơng đối thấp

Cập nhật tỷ lệ khả năng rất cao

Ít hoặc không có yêu cầu thời gian


Yêu cầu thời gian thực

Giả định dữ liệu chính xác

Giả định lỗi thời/dữ liệu không
chính xác

Kế hoạch truy cập đƣợc xác định bởi bộ Đặc điểm dữ liệu và các mẫu đến
xử lý truy vấn và thiết kế cơ sở dữ liệu không thể đoán trƣớc
vật lý

ố hóa bởi STrung tâm Học liệu – ĐHTN




11

1.1.3. Một số ứng dụng
Nhờ khả năng truy vấn liên tục, kết quả truy vấn chính xác mà DSMS
đƣợc ứng dụng trong nhiều lĩnh vực thiết yếu của cuộc sống: Tài chính, ứng
dụng Web, bảo mật mạng, giám sát cảm biến và giải trí… Trong lĩnh vực
mạng cảm biến, giám sát các dữ liệu cảm biến từ nhiều nguồn: Lọc phức tạp,
kích hoạt hệ thống báo động, tập hợp và tham gia trên một hoặc nhiều luồng.
Phân tích mạng lƣới giao thông, truy cập Internet trong thời gian gần
thực để tính toán lƣu lƣợng truy cập, thống kê và phát hiện các điều quan
trọng cũng nhƣ các mối nguy hiểm.
Ứng dụng bảo mật hiện đại thƣờng áp dụng nhiều quy tắc hơn các
luồng gói dữ liệu mạng. (Ví dụ: IPolicy Networks cung cấp một nền tảng bảo
mật tích hợp cung cấp các dịch vụ nhƣ: Hỗ trợ tƣờng lửa và phát hiện xâm

nhập qua đa luồng Gigabit gói dữ liệu mạng). Một nền tảng nhƣ vậy cần thực
hiện xử lý luồng phức tạp bao gồm URL lọc dựa trên bảng tra cứu và sự
tƣơng quan giữa các mạng có nhiều lƣu lƣợng luồng.
Trong lĩnh vực tài chính: Phân tích chứng khoán trực tuyến, khám phá
mối tƣơng quan, xác định xu hƣớng. Nhiều ngành công nghiệp dịch vụ tài
chính dựa vào phân tích nhanh chóng một lƣợng lớn các dữ liệu để đƣa ra
quyết định kinh doanh và kinh doanh thời gian gần nhƣ thực. Với tốc độ phát
triển của công nghệ thông tin và bùng nổ về kích thƣớc dữ liệu, các tổ chức
này thƣờng xuyên tiêu thụ dữ liệu thị trƣờng với tỷ lệ hơn một triệu tin nhắn
mỗi giây. Tăng trƣởng mạnh mẽ này trong dữ liệu thị trƣờng dự kiến sẽ tiếp
tục trong tƣơng lai gần, vƣợt xa khả năng của nhiều công nghệ hiện tại. Các
nhà lãnh đạo ngành công nghiệp tài chính đang mở rộng và hoàn thiện chiến
lƣợc của họ bằng cách bao gồm các loại dữ liệu trong phân tích tự động của
họ; nguồn từ mô hình dự báo thông tin tài chính để phát sóng tin tức. IBM và
TD Bank Financial Group đã phát triển một giao dịch InfoSphere Streams dựa
trên một mẫu thử nghiệm chạy trên một Blue Gene/P siêu máy tính có thể lƣu
trữ các ứng dụng kinh doanh có thể mở rộng khả năng xử lý dữ liệu OPRA
ố hóa bởi STrung tâm Học liệu – ĐHTN




12

tăng tốc lên 21 lần tốc độ ghi. Ngoài ra, họ còn tạo ra một công cụ tìm kiếm
Traderbot một công cụ tìm kiếm tài chính dựa trên Web để đánh giá truy vấn
trong thời gian thực luồng dữ liệu tài chính nhƣ cổ phiếu chứng khoán và các
nguồn cấp dữ liệu tin tức.
Lĩnh vực thiên văn học: Một ƣu điểm chính của truy vấn dữ liệu luồng
liên tục là thực hiện các phân tích về dữ liệu, luồng chuyên sâu để xác định

các vấn đề quan trọng đáng điều tra sâu hơn. Một ví dụ của trƣờng hợp sử
dụng này là trong lĩnh vực thiên văn vô tuyến. Một số dự án thiên văn vô
tuyến trên thế giới tiếp nhận dữ liệu luồng liên tục từ xa qua các kính thiên
văn vô tuyến. Các kính thiên văn có hàng ngàn đến hàng chục ngàn dữ liệu
gửi về trong một giây, tất cả dữ liệu định tuyến luồng để một siêu máy tính
trung tâm khảo sát một vị trí trong vũ trụ. Truy vấn dữ liệu luồng liên tục
trung gian chạy trên siêu máy tính có thể cung cấp một cách tiếp cận linh hoạt
hơn để xử lý các dòng dữ liệu. Các nhóm thiên văn tần số thấp của Đại học
Uppsala và LOFAR Outrigger Trong Scandinavia (LOIS) thực hiện dự án để
phân tích hành vi bất thƣờng hay thoáng qua nhƣ vụ nổ tia vũ trụ sản sinh
năng lƣợng cao. Họ nỗ lực điều tra mở rộng với tổng tốc độ dữ liệu khoảng
terabit mỗi giây.
Dịch vụ giao dịch năng lƣợng (ETS): Truy vấn luồng dữ liệu nhanh
chóng, phân tích dữ liệu chính xác giúp các nhà đầu tƣ năng lƣợng đƣa ra
quyết định nhanh hơn. Phân tích hỗ trợ các nhà đầu tƣ: Bản đồ năng lƣợng
nhiệt, mô hình nhu cầu năng lƣợng, phân tích kỹ thuật năng lƣợng tƣơng lai,
tin tức nguồn cung cấp dữ liệu phân tích để xác định và đánh giá các sự kiện
năng lƣợng liên quan, dự đoán ảnh hƣởng tài chính của các công ty năng
lƣợng. Các nhà đầu tƣ có thể tận dụng cơ sở hạ tầng máy tính đƣợc chia sẻ để
có đƣợc thông tin một cách nhanh chóng với chi phí thấp.
IBM đã ứng dụng truy vấn luồng dữ liệu liên tục vào trong sản xuất,
chế tạo Fishkill chip bán dẫn của họ. DSMS thực hiện việc giám sát đa biến
thời gian thực cho quá trình phát hiện lỗi, kích hoạt chuyển động phân tích dữ
ố hóa bởi STrung tâm Học liệu – ĐHTN




13


liệu phân loại. Trong công đoạn này, khi gây ra lỗi khiếm khuyết trong quá
trình sản xuất chip các lỗi này có thể đƣợc phát hiện trong vòng vài phút chứ
không phải là một ngày hoặc vài tuần. Các chip khiếm khuyết này có thể
đƣợc làm lại và có khả năng tiếp tục theo dây chuyền sản suất, quan trọng hơn
điều chỉnh này đƣợc thực hiện trƣớc khi xử lý chip tiếp theo.
Microsoft đã phát triển một ứng dụng nghe nhạc đƣợc biết đến với cái
tên ActiveMovie vào năm 1995, cho phép Streaming media và bao gồm một
định dạng độc quyền cho Streaming, đó là tiền thân của các tính năng
Streaming sau này trong Windows Media Player 6.4 vào năm 1999. Vào
tháng 6 năm 1999, Apple cũng giới thiệu một định dạng Streaming media
trong ứng dụng QuickTime 4. Sau này cũng đƣợc áp dụng rộng rãi trên các
trang Web cùng với RealPlayer và Windows Media Streaming. Các định dạng
cạnh tranh trên các trang Web yêu cầu mỗi ngƣời sử dụng phải tải về các ứng
dụng tƣơng ứng và kết quả là nhiều ngƣời sử dụng phải có tất cả ba ứng dụng
trên máy tính của họ để tƣơng thích chung. Khoảng năm 2002, sự quan tâm
đến từ một định dạng Streaming thống nhất và áp dụng rộng rãi của Adobe
Flash thúc đẩy sự phát triển của một định dạng Streaming video thông qua
Flash, đó là định dạng đƣợc sử dụng ứng dụng đọc Flash trên nhiều trang
Web video phổ biến lƣu trữ hiện nay nhƣ YouTube. Nhu cầu ngƣời dùng tăng
lên cho việc truyền hình trực tiếp đã khiến YouTube thực hiện một dịch vụ
mới “Live Streaming” cho ngƣời sử dụng. Hiện nay nhiều công ty cũng cung
cấp dịch vụ Live Streaming này để đảm bảo đƣờng truyền và tốc độ đáp ứng
truyền hình trực tiếp theo kết nối có sẵn của ngƣời sử dụng.
Những tiến bộ trong mạng máy tính, kết hợp với sự mạnh mẽ của máy
tính gia đình và hệ điều hành hiện đại, các thiết bị điện tử hiện đại, phƣơng
tiện truyền thông thực tế và giá cả phải chăng cho ngƣời tiêu dùng thông
thƣờng. Internet Radio, Internet TV xuất hiện để cung cấp cho ngƣời nghe
một lựa chọn mới, xem phim nghe nhạc trên Internet mà không cần máy tính.
Nhìn chung, nội dung media chiếm một khối lƣợng băng thông và lƣu trữ lớn,
ố hóa bởi STrung tâm Học liệu – ĐHTN





14

do đó phƣơng tiện lƣu trữ và chi phí truyền vẫn còn đáng kể. Để bù đắp điều
này phần nào, các nội dung media thƣờng đƣợc nén lại để đáp ứng cả hai yêu
cầu lƣu trữ và Streaming. Nhu cầu sử dụng các nội dung độ nét cao (HD) đã
dẫn đầu ngành công nghiệp để phát triển một số công nghệ mới nhƣ
WirelessHD hay ITU-T G.hn, đƣợc tối ƣu hóa cho việc Streaming nội dung
HD đã giúp cho ngƣời sử dụng không phải lắp đặt lại đƣờng truyền mạng
mới. Hiện nay, các tập tin media có thể đƣợc Stream trực tiếp hoặc theo yêu
cầu. Live Streams thƣờng đƣợc cung cấp bằng một phƣơng tiện đƣợc gọi là
"True streaming". True streaming sẽ gửi thông tin thẳng vào máy tính hoặc
thiết bị mà không lƣu các tập tin vào một đĩa cứng. Streaming yêu cầu đƣợc
cung cấp bởi một phƣơng tiện đƣợc gọi là Streaming tuần tự hoặc tải về tuần
tự. Streaming tuần tự lƣu các tập tin vào ổ đĩa cứng và sau đó đƣợc phát từ ổ
đĩa đó. Streaming theo yêu cầu thƣờng đƣợc lƣu vào ổ đĩa cứng và máy chủ
trong một lƣợng thời gian dài, trong khi các Live stream chỉ lƣu tại một thời
điểm nhất định (Ví dụ: Nhƣ trong các game bóng đá).
1.2. Những thách thức trong xây dựng hệ thống quản lý dữ liệu luồng
1.2.1.Yêu cầu bộ nhớ không hạn chế
Bởi vì các luồng dữ liệu khả năng không hạn chế về kích thƣớc, số
lƣợng lƣu trữ đòi hỏi để tính toán một câu trả lời chính xác cho một truy vấn
luồng dữ liệu cũng có khả năng lớn lên không hạn chế. Trong khi các thuật
toán bộ nhớ ngoài cho việc xử lý các bộ dữ liệu lớn hơn bộ nhớ chính đã đƣợc
nghiên cứu, những thuật toán đó không phù hợp lắm với các ứng dụng luồng
dữ liệu [5]. Vì vậy, chúng không hỗ trợ các truy vấn liên tục và căn bản là quá
chậm đối với hồi đáp thời gian thực.

Mô hình luồng dữ liệu liên tục phù hợp nhất với các bài toán, mà ở đó
các hồi đáp truy vấn kịp thời là quan trọng và có một lƣợng lớn dữ liệu liên
tục đƣợc tạo ra ở tốc độ cao theo thời gian.
Dữ liệu mới liên tục đến ngay cả khi dữ liệu cũ vẫn đang xử lý. Khối
lƣợng tính toán trên một phần tử dữ liệu phải thấp, hoặc không độ trễ của tính
ố hóa bởi STrung tâm Học liệu – ĐHTN




15

toán sẽ quá cao và thuật toán sẽ không thể theo kịp với luồng dữ liệu. Vì lý do
này, chúng ta cần các thuật toán có khả năng thực hiện trong bộ nhớ thay vì
truy xuất đĩa. Không biết kích thƣớc của các luồng dữ liệu đầu vào thì không
thể đƣa giới hạn yêu cầu bộ nhớ cho phần lớn truy vấn liên quan tới Joins (kết
hợp), trừ phi phạm vi của các thuộc tính liên quan đến truy vấn đƣợc giới hạn.
Đây vẫn là vấn đề mở trong phạm vi nghiên cứu.
Để xác định bộ nhớ không giới hạn của các truy vấn, ngƣời ta thƣờng
sử dụng một lớp các truy vấn đặc biệt mà vẫn thƣờng hay gọi là truy vấn cục
bộ có thứ tự hoặc truy vấn LTO (Locally Totally Ordered – Truy vấn cục bộ
có thứ tự). Sử dụng một truy vấn LTO cho mỗi dòng truy vấn, sắp thứ tự các
thuộc tính của các dòng và các hằng số trong truy vấn. Bất kỳ truy vấn nào
cũng có thể đƣợc chuyển đổi thành một truy vấn LTO bằng cách liên tục bổ
sung thêm các điều kiện để làm vị từ lựa chọn của mình. Điều kiện truy vấn
khác nhau, kết quả truy vấn vị từ là khác nhau. Một truy vấn đƣợc thực hiện
bởi bộ nhớ không giới hạn khi và chỉ khi tất cả các truy vấn LTO bắt nguồn từ
nó, bằng cách thêm điều kiện vị từ. Cấu trúc đặc biệt của truy vấn LTO xác
định dễ dàng hơn bộ nhớ không giới hạn trên máy tính.
Bảng 1.2: Ví dụ truy vấn trên dữ liệu luồng S (A, B, C) và T (D, E)

Bộ nhớ bị chặn
∏=π

∏=π

Q1

∏A (∂( A > 10 ) (S))

Yes

No

Q2

∏A (∂( A = D ) (S x T))

No

No

Q3

∏A (∂( A = D ) ^

(A > 10) ^ (D < 20)(S

Yes

Yes


Q4

∏A (∂( B = D ) ^

(A = 10) (S

No

Yes

Q5

∏A (∂( B < D ) ^

(C < E) ^ (A = 10)(S

No

No

∏A (∂( B < D ) ^

(C < E) ^ (B < E) ^ (C
No

Yes

Yes


Yes

Q6
Q7

x T))

x T))
x T))

(S x T))
∏A (∂( B < D ) ^

(D > 10) ^ (B < 20) ^ (A = 10)(S

ố hóa bởi STrung tâm Học liệu – ĐHTN

x T))




16

Một truy vấn Q(P) là truy vấn cục bộ có thứ tự nếu mỗi S⋲ S(Q), tập
các phần tử (A (S)

C (Q)) là hoàn toàn có thứ tự của P. Truy vấn LTO là


truy vấn vị từ tối đa, thêm vị từ điều kiện liên quan đến E(Q) để làm vị từ lựa
chọn của một truy vấn LTO Q hoặc kết quả của một truy vấn tƣơng đƣơng.
Xem xét một truy vấn Q(P) qua hai luồng S (A, B, C) và T (D, E) trong đó: P
= {(A = 10); (B < A); (A < C); (D < E)}. Các thiết lập của các yếu tố (A(S)
C(Q)) = {A, B, C, 10} là hoàn toàn có thứ tự kể từ khi ra lệnh B < A = 10 <
C. Tuy nhiên, tập các phần tử (A(T)

C(Q)) = {D, E, 10} là hoàn toàn không

có thứ tự, từ D và E không thể so sánh với 10. Do đó, Q(P) không phải là một
truy vấn LTO. Tuy nhiên, các truy vấn Q(P

{(E < A)}) đƣợc hình thành

bằng cách thêm một thuộc tính bổ sung cho P là một truy vấn LTO. Chúng ta
có thể hình thành một truy vấn LTO từ một truy vấn Q(P) bằng cách thêm
điều kiện vị từ đến việc lựa chọn vị từ P để đảm bảo rằng đối với mỗi luồng S
xuất hiện trong Q, tập (A(S)

C(Q)) là hoàn toàn có thứ tự. Các truy vấn

LTO hình thành theo cách này đƣợc cho là bắt nguồn từ Q.
Bảng 1.3: Ký hiệu một số truy vấn Q và luồng S
S(Q)

Tập hợp các luồng xuất hiện trong Q

C(Q)

Thiết lập các hằng số xuất hiện trong Q


A(S)

Thiết lập các thuộc tính trong luồng S

A(Q)

ε(Q)

Thiêt lập các thuộc tính trong tất cả các dòng trong Q, tức là
US ⋲ S(Q) A(S)
Tập hợp các yếu tố trong Q, tức là A(Q)

C(Q)

Một truy vấn LTO Q(PL) đƣợc cho là bắt nguồn từ một truy vấn Q(P)
nếu (PL)+ = (P

F)+ trong đó F là một số thiết lập tùy ý của các vị từ. (Ví dụ:

Từ truy vấn Q3 = ∏A (∂( A = D ) ^

(A > 10) ^ (D 20)

(S x T))). Chúng ta có thể rút ra

một truy vấn LTO bằng cách thêm các vị từ lọc {(B > 20), (C < 10), (E = D)}
để làm vị từ lựa chọn. Bộ nhớ không giới của một truy vấn có liên quan trực
tiếp đến bộ nhớ không giới của một truy vấn LTO bắt nguồn từ nó.
ố hóa bởi STrung tâm Học liệu – ĐHTN





×