Cấu trúc dữ liệu

Một phần của tài liệu Bài Giảng Lưu Trữ Và Phân Tích Dữ Liệu (Trang 24 - 27)

CHƯƠNG 2. CẤU TRÚC DỮ LIỆU HƯỚNG ĐỐI TƯỢNG

2.1.1. Cấu trúc dữ liệu

Cấu trúc dữ liệu là một kho lưu trữ được sử dụng để lưu trữ và tổ chức dữ liệu.

Nó là một cách sắp xếp dữ liệu trên máy tính để nó có thể được truy cập và cập nhật một cách hiệu quả. Cấu trúc dữ liệu không chỉ được sử dụng để tổ chức dữ liệu. Nó cũng được sử dụng để xử lý, truy xuất và lưu trữ dữ liệu. Có nhiều kiểu cấu trúc dữ liệu cơ bản và nâng cao khác nhau được sử dụng trong hầu hết mọi chương trình hoặc hệ thống phần mềm đã được phát triển.

Cấu trúc dữ liệu là công cụ tổ chức mà các nhà khoa học dữ liệu sử dụng để cập nhật, quản lý và lập chỉ mục các dịch vụ internet một cách hiệu quả. Cấu trúc dữ liệu cũng được sử dụng làm cơ sở cho nhiều thuật toán, do cách chúng có thể lọc và sắp xếp số lượng lớn dữ liệu. Có ba phần chính trong cấu trúc dữ liệu giúp nó hoạt động:

• Địa chỉ bộ nhớ: Phần tử dữ liệu thô cố định của bất kỳ tính năng hoặc chức năng mong muốn nào.

• Con trỏ: Một công cụ tham chiếu đại diện cho vị trí của địa chỉ bộ nhớ.

• Thủ tục: Một đoạn mã được viết ra để thao tác hoặc tạo ra các chức năng khác nhau bên trong cấu trúc, tự động hoặc thủ công.

Con trỏ, địa chỉ bộ nhớ và các thủ tục của cấu trúc dữ liệu là cực kỳ quan trọng, vì việc sử dụng chúng hoặc cách chúng được biểu diễn trong bất kỳ cơ sở dữ liệu hoặc trang web nhất định nào, xác định các kiểu cấu trúc dữ liệu khác nhau mà cơ sở dữ liệu có thể rơi vào.

Phân loại cấu trúc dữ liệu

❖ Cấu trúc dữ liệu tuyến tính: Cấu trúc dữ liệu trong đó các phần tử dữ liệu được sắp xếp theo trình tự hoặc tuyến tính, trong đó mỗi phần tử được gắn với các phần tử liền kề trước đó và tiếp theo của nó, được gọi là cấu trúc dữ liệu tuyến tính. Ví dụ về cấu trúc dữ liệu tuyến tính là mảng, ngăn xếp, hàng đợi, danh sách liên kết.

• Cấu trúc dữ liệu tĩnh: Cấu trúc dữ liệu tĩnh có kích thước bộ nhớ cố định. Việc truy cập các phần tử trong cấu trúc dữ liệu tĩnh sẽ dễ dàng hơn. Một ví dụ về cấu trúc dữ liệu này là một mảng.

• Cấu trúc dữ liệu động: Trong cấu trúc dữ liệu động, kích thước không cố định.

Nó có thể được cập nhật ngẫu nhiên trong thời gian chạy, điều này có thể được coi là hiệu quả liên quan đến độ phức tạp của bộ nhớ (không gian) của mã. Ví dụ về cấu trúc dữ liệu này là hàng đợi, ngăn xếp.

❖ Cấu trúc dữ liệu phi tuyến tính: Cấu trúc dữ liệu mà các phần tử dữ liệu không được đặt một cách tuần tự hoặc tuyến tính được gọi là cấu trúc dữ liệu phi tuyến tính.

Trong cấu trúc dữ liệu phi tuyến tính, chúng tôi không thể duyệt qua tất cả các phần tử chỉ trong một lần chạy. Ví dụ về cấu trúc dữ liệu phi tuyến tính là cây và đồ thị.

Hình 2. 1: Phân loại cấu trúc dữ liệu

Hình 2. 2: Cấu trúc dữ liệu Có 3 loại cấu trúc dữ liệu khác nhau

❖ Dữ liệu có cấu trúc

• Dữ liệu có cấu trúc là dữ liệu tuân theo mô hình dữ liệu được xác định trước và do đó dễ phân tích. Dữ liệu có cấu trúc tuân theo định dạng bảng với mối quan hệ giữa các hàng và cột khác nhau. Các ví dụ phổ biến về dữ liệu có cấu trúc là tệp Excel hoặc cơ sở dữ liệu SQL. Mỗi trong số này có các hàng và cột có cấu trúc có thể được sắp xếp.

• Dữ liệu có cấu trúc phụ thuộc vào sự tồn tại của mô hình dữ liệu - một mô hình về cách dữ liệu có thể được lưu trữ, xử lý và truy cập. Bởi vì mô hình dữ liệu, mỗi trường là rời rạc và có thể được truy cập riêng biệt hoặc cùng với dữ liệu từ các trường khác. Điều này làm cho dữ liệu có cấu trúc trở nên cực kỳ mạnh mẽ:

có thể nhanh chóng tổng hợp dữ liệu từ các vị trí khác nhau trong cơ sở dữ liệu.

• Dữ liệu có cấu trúc được coi là hình thức lưu trữ dữ liệu ‘truyền thống’ nhất, vì các phiên bản đầu tiên của hệ quản trị cơ sở dữ liệu (DBMS) đã có thể lưu trữ, xử lý và truy cập dữ liệu có cấu trúc.

❖ Dữ liệu phi cấu trúc

• Dữ liệu phi cấu trúc là thông tin không có mô hình dữ liệu được xác định trước hoặc không được tổ chức theo cách xác định trước. Thông tin phi cấu trúc thường có nhiều văn bản, nhưng cũng có thể chứa dữ liệu như ngày tháng, số và dữ kiện.

Điều này dẫn đến sự bất thường và mơ hồ gây khó hiểu khi sử dụng các chương trình truyền thống so với dữ liệu được lưu trữ trong cơ sở dữ liệu có cấu trúc. Các ví dụ phổ biến về dữ liệu phi cấu trúc bao gồm tệp âm thanh, video hoặc cơ sở dữ liệu No-SQL.

• Khả năng lưu trữ và xử lý dữ liệu phi cấu trúc đã phát triển vượt bậc trong những năm gần đây, với nhiều công nghệ và công cụ mới được tung ra thị trường có khả năng lưu trữ các loại dữ liệu phi cấu trúc chuyên biệt. MongoDB, ví dụ, được tối ưu hóa để lưu trữ tài liệu. Apache Giraph, là một ví dụ ngược lại, được tối ưu hóa để lưu trữ các mối quan hệ giữa các nút.

• Khả năng phân tích dữ liệu phi cấu trúc đặc biệt có liên quan trong bối cảnh Dữ liệu lớn, vì một phần lớn dữ liệu trong các tổ chức là phi cấu trúc. Nghĩ về hình ảnh, video hoặc tài liệu PDF. Khả năng trích xuất giá trị từ dữ liệu phi cấu trúc

là một trong những động lực chính đằng sau sự phát triển nhanh chóng của Dữ liệu lớn.

❖ Dữ liệu bán cấu trúc

• Dữ liệu bán cấu trúc là một dạng dữ liệu có cấu trúc không tuân theo cấu trúc chính thức của mô hình dữ liệu được liên kết với cơ sở dữ liệu quan hệ hoặc các dạng bảng dữ liệu khác, nhưng vẫn chứa các thẻ hoặc các dấu hiệu khác để phân tách các phần tử ngữ nghĩa và thực thi phân cấp các bản ghi và trường trong dữ liệu. Do đó, nó còn được gọi là cấu trúc tự mô tả. Ví dụ về dữ liệu bán cấu trúc bao gồm JSON và XML là các dạng dữ liệu bán cấu trúc.

• Lý do mà loại thứ ba này tồn tại (giữa dữ liệu có cấu trúc và không có cấu trúc) là vì dữ liệu bán cấu trúc dễ phân tích hơn đáng kể so với dữ liệu không có cấu trúc. Nhiều giải pháp và công cụ Dữ liệu lớn có khả năng 'đọc' và xử lý JSON hoặc XML. Điều này làm giảm độ phức tạp để phân tích dữ liệu có cấu trúc, so với dữ liệu không có cấu trúc.

❖ Siêu dữ liệu - Dữ liệu về Dữ liệu

• Loại cuối cùng của kiểu dữ liệu là siêu dữ liệu. Từ quan điểm kỹ thuật, đây không phải là một cấu trúc dữ liệu riêng biệt, nhưng nó là một trong những yếu tố quan trọng nhất cho phân tích Dữ liệu lớn và các giải pháp dữ liệu lớn. Siêu dữ liệu là dữ liệu về dữ liệu. Nó cung cấp thông tin bổ sung về một tập dữ liệu cụ thể.

• Ví dụ, trong một bộ ảnh, siêu dữ liệu có thể mô tả thời gian và địa điểm chụp ảnh.

Sau đó, siêu dữ liệu cung cấp các trường cho ngày tháng và vị trí mà bản thân nó có thể được coi là dữ liệu có cấu trúc. Vì lý do này, siêu dữ liệu thường xuyên được sử dụng bởi các giải pháp Dữ liệu lớn để phân tích ban đầu.

Một phần của tài liệu Bài Giảng Lưu Trữ Và Phân Tích Dữ Liệu (Trang 24 - 27)

Tải bản đầy đủ (PDF)

(199 trang)