
Big data trong công
nghệ đám mây

Tốc độ, khối lượng, tính đa dạng và xác thực của dữ liệu
Dữ liệu lớn (Big Data) là một tính năng vốn có của công nghệ đám mây và cung
cấp cơ hội chưa từng có khi sử dụng cả hai loại cơ sở dữ liệu truyền thống và mạng
xã hội, dữ liệu của mạng báo hiệu và xa hơn nữa là dữ liệu đa phương tiện. Các
ứng dụng dữ liệu lớn yêu cầu kiến trúc trung tâm dữ liệu và nhiều giải pháp bao
gồm các API của nền tảng đám mây để tích hợp với tìm kiếm nâng cao, các giải
thuật máy học và các phân tích nâng cao như thị giác máy tính, phân tích phim ảnh
và các công cụ phân tích trực quan. Bài viết này nghiên cứu cách sử dụng ngôn
ngữ R và các công cụ phổ biến để phân tích dữ liệu lớn và các phương pháp để mở
rộng các dịch vụ dữ liệu lớn trong các đám mây. Nó cung cấp một góc nhìn sâu sắc
về một dịch vụ dữ liệu lớn cơ bản là quản lý hình ảnh số, trong đó sử dụng các yếu
tố cơ bản như tìm kiếm, phân tích và máy học cho dữ liệu không có cấu trúc.
Bài viết này tập trung vào những ứng dụng sử dụng dữ liệu lớn, đồng thời giải
thích những khái niệm cơ bản đằng sau việc phân tích dữ liệu lớn và làm cách nào
kết hợp với những ứng dụng phân tích thị trường và các kỹ thuật xử lý song song
như thị giác máy tính (CV - Computer Vision) cũng như máy học, tất cả sẽ được đề
cập đến trong mục 3 của loạt bài về "Cloud scaling (Mở rộng đám mây)".
Sự khác biệt giữa phân tích dữ liệu lớn với phân tích video là về sự đa dạng của dữ
liệu xử lý, và khi so sánh các công cụ hỗ trợ tìm kiếm và phân tích, ta có thể thấy

rằng sử dụng các phương pháp khai phá dữ liệu hay MapReduce chẳng những có
thể phức tạp hơn mà còn mất thời gian lâu hơn rất nhiều so với việc dùng Google
BigQuery. Ví dụ Google BigQuery sử dụng tìm kiếm theo chiều dọc để nén và đẩy
nhanh quá trình tìm kiếm cho các bộ dữ liệu lớn và phi cấu trúc. Thực tế, trong bài
"An Inside Look at Google BigQuery (Tìm hiểu sâu về Google BigQuery)" (xem
phần Tài nguyên), Google giải thích, trong 10 giây BigQuery có thể tìm kiếm một
đoạn chuỗi trong một bảng dữ liệu có khoảng 35 tỷ dòng và 20TB. Các công cụ
dùng chức năng MapReduce mất nhiều thời gian hơn để xử lý nhưng đem lại kết
quả tốt hơn.
Bất cứ ai có một tài khoản Google đều có thể sử dụng BigQuery. Ý tưởng của nó
nhanh hơn các phương pháp tìm kiếm dữ liệu lớn khác, điển hình là khi tôi tải hình
ảnh và đưa ảnh lên trang Google Images. Bạn sẽ thấy được tất cả các trang có hình
ảnh của tôi (từ IBM, Đại học Colorado Boulder, v.v..), trong đó có thể có những
sai sót nhỏ. Tôi sử dụng ví dụ này chủ yếu là để đảm bảo hình ảnh tôi đã tải về là
những hình ảnh phù hợp và cho phép tái sử dụng nhiều lần. Cùng với các ví dụ
khác tôi đã khám phá, qua đó thấy được ý nghĩa của dữ liệu lớn là chúng ta đang
thực hiện việc "mò kim đáy bể" dễ dàng hơn trong mớ hỗn độn của dữ liệu phi cấu
trúc.

Định nghĩa dữ liệu lớn
Dữ liệu lớn (Big data) được định nghĩa khái quát là sự thu thập, quản lý và phân
tích dữ liệu, những việc đó đã vượt xa dữ liệu cấu trúc tiêu biểu (typical), nó có thể
được truy vấn với hệ thống quản lý dữ liệu quan hệ — thường với những tệp phi
cấu trúc (unstructured files), video kỹ thuật số, hình ảnh, dữ liệu cảm biến, tệp lưu
nhật ký, thực sự bất cứ dữ liệu nào không có trong hồ sơ với các phạm vi tìm kiếm
khác. Trong một số ý nghĩa, dữ liệu phi cấu trúc là dữ liệu thú vị, nhưng nó khó
tổng hợp vào BI (Business Intelligence) hoặc rút trích ra những kết luận từ nó trừ
khi nó có thể tương quan với dữ liệu có cấu trúc.
Dữ liệu lớn cũng có những nguồn mới, như trong máy tính (vd: các file log nhật ký
hay mạng cảm biến), trong thiết bị di động (video, hình ảnh, tin nhắn), và trong các
thiết bị máy móc kết nối với nhau (vd như xe, máy bay hoặc các thiết bị giám sát
từ xa) nhằm mục đích lên kế hoạch bảo trì kịp thời. Có nột cách để làm được việc
này là dựa vào đặc tính volume (khối lượng). IBM ước lượng, có 2.5 nhân 10 mũ
18 bytes (2,500,000,000,000,000,000) dữ liệu được tạo ra mỗi ngày (xem phần Tài
nguyên). Đặc điểm tiếp theo là velocity (tốc độ), nơi có tỷ lệ dữ liệu được gia tăng
bởi vì băng thông mạng — điển hình như tỷ lệ gigabit ngày nay (gigE, 10G, 40G,
100G) được so sánh với tỷ lệ megabit. Một đặc điểm khác là variety (tính đa
dạng), bao gồm nhiều kiểu dữ liệu phi cấu trúc, như dòng hình ảnh kỹ thuật số

(digital video streams), dữ liệu cảm biến, cũng như các file log nhật ký. Cuối cùng
là veracity (tính xác thực) của dữ liệu, hay có bao nhiêu dữ liệu tin cậy khi những
quyết định quan trọng cần được thực hiện trên số lượng lớn dữ liệu thu thập ở tỷ lệ
cao. Đơn giản chỉ cần biết dữ liệu đó là không giả mạo, không bị hỏng, đến từ một
nguồn kỳ vọng là khó khăn — nó có thể đến từ 1000 máy quay an ninh, mỗi ngày
có thể có 1000 khung hình trên 1 giờ. Vậy, chúng ta cùng phát thảo một vài khía
cạnh của dữ liệu lớn, những ứng dụng và những hệ thống để hiểu tốt hơn về chúng.
Có lẽ cách tốt nhất để hiểu dữ liệu lớn là xem lại lịch sử của nó, như Tạp chí
Forbes đã làm (xem phần Tài nguyên). Quy mô của dữ liệu lớn đã tăng hơn 2.5
exabyte mỗi ngày. Điều thú vị, phần lớn các dữ liệu sẽ không bao giờ được xem lại
bởi con người (chỉ với 7 tỷ người Mỹ, mỗi chúng tả sẽ phải xem nhiều hơn 300
MB thông tin mỗi ngày). Thực hiện thử thách này, cách duy nhất để sử dụng nhiều
dữ liệu là tự động hóa từ máy tính đến máy tính (machine-to-machine) hoặc truy
vấn thông tin dữ liệu lớn. Hơn nữa, nếu dữ liệu này được lưu trữ trong thời gian
dài, làm thế nào chúng ta có thể biết những dữ liệu nào đã bị hỏng? Chúng ta có
thể kiểm tra phân loại dữ liệu lưu trữ (chẳng hạn MD5, nó là một hình thức kiểm
tra) và sử dụng mảng dự phòng của các ổ đĩa độc lập (RAID—mirrors, XOR
parity, hoặc mã tẩy xóa để phát hiện và phục hồi những dữ liệu bị lỗi), nhưng cũng
đáng lo là có một số dữ liệu có thể bị lỗi mà không phát hiện được (xem phần Tài
nguyên).