CHƯƠNG I.1 Khái niệm dữ liệu, làm sạch dữ liệu 1.1 Dữ liệu Hiện nay xuất hiện rất nhiều khái niệm về dữ liệu, trong đó có thể nói dữ liệu là một tập hợp các dữ kiện, chẳng hạn như số, từ, hình ảnh, nhằm đo lường, quan sát hoặc chỉ là mô tả về sự vật. Sự phát triển trong lĩnh vực công nghệ, đặc biệt là trong điện thoại thông minh đã dẫn đến việc xuất hiện nhiều hơn các dữ liệu về văn bản, video và âm thanh. Dữ liệu đó có thể có cấu trúc, phi cấu trúc và dữ liệu bán cấu trúc.2 Các dạng dữ liệu Dữ liệu có cấu trúc (Structured Data): Dữ liệu có cấu trúc phù hợp với mô hình dữ liệu được lưu trữ ở dạng bảng. Chúng được sử dụng để mô tả mối quan hệ giữa các thực thể khác nhau và do đó thường được lưu trữ trong cơ sở dữ liệu quan hệ.
Dữ liệu có cấu trúc thường được tạo bởi các ứng dụng doanh nghiệp và hệ thống thông tin như hệ thống ERP và CRM. Ví dụ về loại dữ liệu này bao gồm các giao dịch ngân hàng, hóa đơn và hồ sơ khách hàng. Dữ liệu phi cấu trúc (Unstructured Data): Dữ liệu không phù hợp với mô hình dữ liệu hoặc lược đồ dữ liệu được gọi là dữ liệu phi cấu trúc. Người ta ước tính rằng dữ liệu phi cấu trúc chiếm tới 80% dữ liệu trong bất kỳ doanh nghiệp nào.
Ngày nay, dữ liệu phi cấu trúc có tốc độ tăng trưởng nhanh hơn dữ liệu có cấu trúc. Một số loại dữ liệu phi cấu trúc phổ biến như dữ liệu có dạng văn bản (text) hoặc nhị phân (binary). Dữ liệu phi cấu trúc không thể được xử lý hoặc truy vấn trực tiếp bằng cơ sở dữ liệu quan hệ SQL. Nếu muốn lưu trữ dữ liệu phi cấu trúc trong cơ sở dữ liệu quan hệ, thì phải được lưu trữ trong một bảng dưới dạng BLOB (Binary Large Object).
Ngoài ra, cơ sở dữ liệu NonSQL có thể được sử dụng để lưu trữ dữ liệu phi cấu trúc. Dữ liệu bán cấu trúc (Semi-structured Data): Dữ liệu bán cấu trúc thường là dữ liệu có cấu trúc nhưng không đồng nhất. Thay vào đó, dữ liệu bán cấu trúc có dạng phân cấp (hierarchical) hoặc đồ thị (graphbased). Loại dữ liệu này thường được lưu trữ trong các tệp có chứa văn bản.
Ví dụ như các tệp XML và JSON là các dạng phổ Luan van 4 biến của dữ liệu bán cấu trúc. Do tính chất văn bản của dữ liệu này và sự phù hợp của nó với một mức độ cấu trúc nào đó, nó dễ dàng khai thác hơn dữ liệu phi cấu trúc. Các nguồn phổ biến của dữ liệu bán cấu trúc bao gồm các tệp trao đổi dữ liệu điện tử (EDI), bảng tính, nguồn dữ liệu từ các bộ cảm biến. Dữ liệu bán cấu trúc thường có các yêu cầu lưu trữ và xử lý trước đặc biệt, đặc biệt nếu định dạng cơ bản không dựa trên văn bản.
Một ví dụ về tiền xử lý dữ liệu bán cấu trúc sẽ là xác thực tệp XML để đảm bảo rằng nó tuân thủ theo lược đồ của nó.3 Làm sạch dữ liệu Làm sạch dữ liệu là quá trình phát hiện và sửa đổi đối với những dữ liệu bị thiếu, bị nhiễu hoặc không nhất quán trong cơ sở dữ liệu v. Qua đó chúng ta sẽ có được một bộ dữ liệu sạch mà dựa vào đó có thể phân tích, đánh giá, dự đoán các sự vật sự việc được chính xác. Quá trình làm sạch là một trong những khâu mất nhiều thời gian, công sức, dễ gây nhàm chán nhưng việc này là rất quan trọng trong việc đảm bảo dữ liệu được chính xác và có ích hơn. Tùy thuộc vào tính chất bộ dữ liệu, mục tiêu và các yêu cầu liên quan sẽ có những phương pháp làm sạch dữ liệu khác nhau như thủ công hay tự động hóa nhờ vào các phần mềm hoặc công cụ phân tích dữ liệu.4 Dữ liệu lớn Dữ liệu lớn (BigData ) là tập hợp dữ liệu có khối lượng lớn, đa dạng, thay đổi nhanh và phức tạp đến nỗi không một công cụ quản lý dữ liệu truyền thống nào có thể lưu trữ hoặc xử lý nó một cách hiệu quả.
Dữ liệu lớn có 5 đặc trưng cơ bản như sau[4]: Dung lượng lớn: Tập dữ liệu có dung lượng từ Texabytes (1 Texabytes = 10^12 byte ≈ 1000 Gigabyte) trở lên, được tổ chức theo các phần tử dữ liệu (bản ghi) linh hoạt dữ liệu giao dịch, dữ liệu bảng quan hệ, dữ liệu tệp tin phẳng. Với dung lượng và cấu trúc phần tử dữ liệu như vậy, dữ liệu lớn thường được lưu trữ phân tán (đa nguồn) và được tổng hợp lại bằng phần mềm. Dung lượng kích thước Texabytes được tổng hợp theo mục tiêu phân tích đảm bảo yêu cầu tập dữ liệu tiềm tàng các mẫu mới lạ, có giá trị. Ví dụ, với các thuật toán học sâu, dữ liệu đầu vào càng lớn, mô hình Luan van 5 biểu diễn dữ liệu kết quả càng phù hợp với miền ứng dụng.
Tốc độ cao: Dữ liệu mới được tạo ra và di chuyển theo tốc độ thời gian thực (hoặc tựa thời gian thực) theo cách thức hàng loạt (theo lô), theo quy trình hoặc theo dòng và dẫn tới yêu cầu về các công nghệ dữ liệu lớn cho phép phân tích được dữ liệu ngay tại thời điểm nó được tạo ra mà có thể không đưa nó vào cơ sở dữ liệu. Ví dụ, yêu cầu phát hiện hoạt động gian lận thẻ tín dụng đòi hỏi công nghệ dữ liệu lớn thích hợp để giải quyết được chỉ trong thời gian mili-giây. Đa dạng: Dữ liệu trong dữ liệu lớn là đa dạng, có cấu trúc, không có cấu trúc (văn bản, hình ảnh, video, dữ liệu cảm biến, v.), đa yếu tố, có tính xác suất; rất khó khăn và tốn kém khi quản lý chính xác chúng bằng công nghệ truyền thống. Dữ liệu đa dạng cho một khung nhìn đa chiều về các hiện tượng, sự vật cần quan tâm để phân biệt chúng và do đó cho phép phát hiện chính xác các mẫu có giá trị. Xác thực: Dữ liệu trong dữ liệu lớn cần được xác thực theo độ tin cậy, quy trình, xuất xứ, uy tín, tính khả dụng và được giải trình. Đòi hỏi các quy trình và công cụ dữ liệu lớn kiểm soát được chất lượng và độ chính xác của dữ liệu vì mẫu thực sự có giá trị chỉ khi chúng được trích xuất từ nguồn dữ liệu được xác thực.
Giá trị: Đặc trưng giá trị là quan trọng nhất trong bộ năm đặc trưng của dữ liệu lớn. Mục tiêu phân tích dữ liệu lớn (mục tiêu kinh doanh) cần dẫn dắt mọi hoạt động xây dựngvà phân tích dữ liệu lớn. Tránh bị rơi vào bẫy ồn ào “phong trào” dữ liệu lớn khi không hiểu biết thực sự chi phí và lợi ích liên quan tới trường hợp dữ liệu lớn sẽ được triển khai. Cụ thể, mọi dữ liệu được tập hợp vào dữ liệu lớn đều phải liên quan tới mục tiêu phân tích dữ liệu lớn được đặt ra.
Ví dụ, từ khối dữ liệu phát sinh trong quá trình khám, chữa bệnh sẽ giúp dự báo về sức khỏe được chính xác hơn, sẽ giảm được chi phí điều trị và các chi phí liên quan đến y tế. Luan van 6 Hình 1.1: Năm đặc trưng của dữ liệu lớn Các công nghệ sử dụng trong dữ liệu lớn Thứ nhất, dữ liệu lớn sử dụng các hệ thống quản lý dữ liệu phân tán mà điển hình là hệ thống tệp tin phân tán Hadoop (Hadoop Distributed File System), hệ thống quản lý cơ sở dữ liệu không quan hệ (NoSQL Databases). Hệ thống tệp tin phân tán Hadoop có kiến trúc chủ/tớ (master/slave) với một nút quản lý tên (cùng một nút sao lưu dự phòng) và nhiều nút quản lý dữ liệu và làm việc theo chế độ xử lý theo lô. Dung lượng dữ liệu trong một hệ thống tệp tin phân tán Hadoop lên tới vài Texabytes.
Hệ thống quản lý cơ sở dữ liệu không quan hệ (CSDL NoSQL) là đa dạng và được phân thành bốn loại là: (i) dựa trên giá trị khóa (Key-value based) với hai đại diện điển hình là Amazon DynamoDb và Mamcached; (ii) dựa trên họ cột (wide-column based) với hai đại diện điển hình là ApacheCassandra và Apache HBase; (iii) dựa trên tài liệu (document based) với hai đại diện điển hình là Couchbase và MangoDB; (iv) dựa trên đồ thị (graph based) với hai đại diện điển hình là Neo4j và OrientDB. Thứ hai, tồn tại một số nền tảng phân tích dữ liệu lớn mà bốn nền tảng điển hình là MapReduce, Apache Hadoop, Spark và Cụm tính toán hiệu năng cao (High Performance Computing Cluster: HPCC). MapReduce có hai thao tác cơ bản là Map và Reduce, làm việc theo ba bước xử lý song song dữ liệu là Ánh xạ (Mapping), Hoán đổi (Shuffling) và Rút gọn (Reduce). Phân tích dữ liệu dựa trên MapReduce là một Luan van 7 chuỗi công việc thi hành ba bước xử lý trên đây mà kết quả đầu ra của công việc trước là dữ liệu đầu vào của công việc tiếp theo.
Đầu ra của công việc cuối cùng trong chuỗi là kết quả phân tích dữ liệu mong muốn. Apache Hadoop và Spark là hai phiên bản phần mềm tự do biến thể của MapReduce, trong đó Apache Hadoop được Yahoo! phát triển còn Spark được khởi thủy từ Đại học California (Berkeley). Cụm tính toán hiệu năng cao (HPCC) trở thành hệ thống phần mềm tự do từ năm 2011 với hai thành phần chính là các cụm Thor (tiền xử lý dữ liệu) và các cụm Roxie (xử lý phân tích trực tuyến). Vì mục tiêu nâng cao hiệu năng tương ứng với hai kiểu xử lý như vậy, mỗi loại cụm Thor và Roxie sử dụng hệ thống tệp tin phân tán riêng của mình (hệ thống tệp tin phân tán Thor, hệ thống tệp tin phân tán Roxie tương ứng).
Trong kinh doanh, một số đơn vị như FPT, VNG, VCCorp đã tham gia nghiên cứu và ứng dụng dữ liệu lớn trong phân tích hành vi khách hàng. Một số trang bán hàng điện tử áp dụng được một phần của kho dữ liệu lớn trong hoạt động thương mại của mình như trang bán lẻ Sendo.Vn trực thuộc Tập đoàn FPT.Vn đã vận dụng phân tích dữ liệu lớn trên 5 triệu sản phẩm được bán bởi 80.000 shop đòi hỏi sự chuyên nghiệp trong quá trình xử lý, nhằm bảo đảm loại trừ chính xác hàng giả, hàng nhái; và kiểm tra độ tin cậy về giá bán cuối cùng của các shop trong lễ hội mua sắm trực tuyến ngày 02/12/2018. Trong lĩnh vực tài chính – ngân hàng, nhiều ngân hàng đã dùng dữ liệu tiêu dùng, mua, vay, vị trí thanh toán của khách hàng để xác định giao dịch có hợp lệ hoặc có phải bị gian lận hay không. Về ngành vận chuyển, có thể kể đến Hãng hàng không Vietnamairlines (VNA).