Thứ Năm, 18 tháng 1, 2024

Data architecture

1.  Data architecture là gì?

Kiến trúc dữ liệu (Data architecture) là một khái niệm trong lĩnh vực khoa học dữ liệu (data science) và công nghệ thông tin, liên quan đến cách tổ chức, thiết kế và quản lý dữ liệu trong một hệ thống thông tin hoặc một tổ chức. 

(Nguồn: https://www.credera.com/insights/5-keys-to-a-modern-data-architecture)


Kiến trúc dữ liệu bao gồm các yếu tố về:

  • Thiết kế dữ liệu:

Xác định cấu trúc dữ liệu: Cách dữ liệu được tổ chức, bao gồm định dạng, loại dữ liệu và mối quan hệ giữa các tập dữ liệu khác nhau.

Mô hình hóa dữ liệu: Sử dụng các mô hình, ví dụ như mô hình ER (Entity-Relationship) để mô tả các thực thể và mối quan hệ giữa chúng.

  • Quy trình xử lý dữ liệu:

Các quy trình ETL (Extract, Transform, Load): Xác định cách dữ liệu được trích xuất từ các nguồn khác nhau, được biến đổi và nạp vào các hệ thống lưu trữ dữ liệu.

Các quy trình xử lý dữ liệu: Xác định các quy trình xử lý, biến đổi và làm sạch dữ liệu để chuẩn bị cho việc phân tích.

  • Hệ thống lưu trữ dữ liệu:

Xác định loại hệ thống lưu trữ: Bao gồm cơ sở dữ liệu quan hệ, cơ sở dữ liệu không quan hệ, hệ thống lưu trữ đám mây (cloud storage) hoặc hệ thống lưu trữ phân tán.

Kiến trúc lưu trữ: Quyết định cách dữ liệu được phân chia, phân cấp và tổ chức trong hệ thống lưu trữ.

  • Quản lý dữ liệu:

Metadata Management: Quản lý metadata để mô tả, kiểm soát và quản lý thông tin về dữ liệu, bao gồm cấu trúc, quan hệ và định nghĩa.

Quản lý Quyền truy cập: Xác định và quản lý quyền truy cập vào dữ liệu để đảm bảo an ninh và tuân thủ quy định.

  • Công nghệ và Công cụ:

Sử dụng công nghệ và công cụ phù hợp: Bao gồm cơ sở dữ liệu, các hệ thống xử lý dữ liệu, các công cụ ETL và các nền tảng lưu trữ đám mây, tuỳ thuộc vào yêu cầu và mục tiêu của tổ chức.

Kiến trúc dữ liệu quan trọng để xác định và xây dựng cơ sở hạ tầng dữ liệu phù hợp, linh hoạt và có khả năng mở rộng để đáp ứng nhu cầu về dữ liệu trong tổ chức hoặc hệ thống thông tin.

2. Các thành phần của Data architecture

(Nguồn: https://www.bmc.com/blogs/data-architecture/)


3. Các dạng Data architecture

Kiến trúc dữ liệu truyền thống (Traditional Data Architecture):

  • Centralized Architecture (Kiến trúc tập trung): Dữ liệu được lưu trữ và quản lý tập trung tại một nơi duy nhất, thường là trong cơ sở dữ liệu quan hệ truyền thống.

  • Decentralized Architecture (Kiến trúc phi tập trung): Dữ liệu phân tán và lưu trữ ở nhiều vị trí khác nhau, không tập trung vào một hệ thống duy nhất.

Kiến trúc dữ liệu đám mây (Cloud Data Architecture):

  • Public Cloud Architecture (Kiến trúc đám mây công cộng): Sử dụng các dịch vụ lưu trữ và xử lý dữ liệu công cộng trên nền tảng đám mây của các nhà cung cấp dịch vụ đám mây như Amazon Web Services (AWS), Microsoft Azure, Google Cloud Platform (GCP).

  • Private Cloud Architecture (Kiến trúc đám mây riêng): Xây dựng hệ thống lưu trữ và xử lý dữ liệu riêng trên cơ sở hạ tầng đám mây tư nhân.

Kiến trúc dữ liệu phi quan hệ (Non-Relational Data Architecture):

  • NoSQL Architecture (Kiến trúc NoSQL): Sử dụng cơ sở dữ liệu không quan hệ để lưu trữ và xử lý dữ liệu phi cấu trúc như cơ sở dữ liệu dạng cột, cơ sở dữ liệu dạng tài liệu, cơ sở dữ liệu dạng đồ thị, v.v.

Kiến trúc dữ liệu dạng đồ thị (Graph Data Architecture):

  • Sử dụng các hệ thống cơ sở dữ liệu dạng đồ thị để lưu trữ và xử lý dữ liệu mà có mối quan hệ rõ ràng giữa các thực thể thông qua các mối quan hệ.

Kiến trúc dữ liệu real-time (Real-time Data Architecture):

  • Real-time Streaming Architecture (Kiến trúc dữ liệu theo dòng thời gian thực): Hệ thống được thiết kế để xử lý dữ liệu đang chảy (streaming data) và cung cấp kết quả xử lý một cách ngay lập tức.

Kiến trúc dữ liệu hỗn hợp (Hybrid Data Architecture):

Hybrid Cloud Architecture (Kiến trúc đám mây hỗn hợp): Kết hợp sử dụng cả các nguồn dữ liệu đám mây và on-premises (trên mạng nội bộ) để tạo ra một hệ thống dữ liệu linh hoạt và có khả năng mở rộng.

 

4. Các nguyên tắc của Data Architecture

Tính nhất quán (Consistency):

  • Tuân thủ các chuẩn định dạng dữ liệu để đảm bảo tính nhất quán giữa các bảng, các cột dữ liệu.
  • Quản lý metadata một cách đồng nhất để mô tả và hiểu rõ về dữ liệu.

Tính linh hoạt (Flexibility):

  • Thiết kế kiến trúc dữ liệu có khả năng thích ứng với sự thay đổi, mở rộng, và hỗ trợ cho các nhu cầu mới.

  • Đảm bảo khả năng tích hợp dữ liệu dễ dàng giữa các nguồn dữ liệu khác nhau.

Tính an toàn và bảo mật (Security):

  • Áp dụng các biện pháp bảo mật để ngăn chặn truy cập trái phép và bảo vệ dữ liệu quan trọng.
  • Xác định và quản lý quyền truy cập dữ liệu một cách chặt chẽ để đảm bảo chỉ những người được phép có thể truy cập vào dữ liệu.

Hiệu suất (Performance):

  • Thiết kế kiến trúc dữ liệu sao cho hoạt động hiệu quả với tốc độ truy cập nhanh và thời gian phản hồi ngắn.

  • Đảm bảo khả năng mở rộng để hệ thống có thể xử lý lượng dữ liệu lớn và tăng cường hiệu suất.

Tính tin cậy (Reliability):

  • Đảm bảo sự tồn tại của các dữ liệu thông qua việc thực hiện sao lưu và khôi phục dữ liệu.

  • Bảo đảm tính nhất quán và đồng bộ giữa các bản sao của dữ liệu.


Tuân thủ quy định (Compliance):

  • Đảm bảo rằng kiến trúc dữ liệu tuân thủ các quy định pháp luật về bảo mật, quyền riêng tư và quy định ngành.

Các nguyên tắc này không chỉ giúp tạo ra một hệ thống dữ liệu chất lượng mà còn đảm bảo rằng dữ liệu được sử dụng một cách an toàn, hiệu quả và tuân thủ các quy định.


Tài liệu tham khảo

  • https://www.simplilearn.com/what-is-data-architecture-article
  • https://www.bmc.com/blogs/data-architecture/
  • https://builtin.com/data-science/data-architecture
  • https://www.indeed.com/career-advice/career-development/what-is-data-architecture









Không có nhận xét nào:

Đăng nhận xét

Sandbox

Thuật ngữ "sandbox" trong bối cảnh công nghệ được dùng để chỉ một môi trường thử nghiệm an toàn, trong đó các phần mềm, chương tr...