Kho dữ liệu Archikiến trúc, Thành phần & Sơ đồ Concepts

⚡ Tóm tắt thông minh

Kho dữ liệu ArchiKiến trúc xác định cách dữ liệu lịch sử và tích lũy từ nhiều nguồn được tổ chức thành các lớp phân cấp và các thành phần được kết nối, cho phép báo cáo, phân tích đáng tin cậy và một phiên bản thông tin duy nhất cho việc ra quyết định và dự báo của tổ chức.

  • 🏛️ Mục đích cốt lõi: Kho dữ liệu lưu trữ dữ liệu theo chủ đề, tích hợp, thay đổi theo thời gian và không biến đổi để hỗ trợ phân tích thay vì xử lý giao dịch hàng ngày.
  • 🧱 Thiết kế theo tầng: ArchiKiến trúc hệ thống dao động từ một tầng duy nhất đến mô hình ba tầng được sử dụng rộng rãi, bao gồm tầng dưới cùng là cơ sở dữ liệu, tầng giữa là máy chủ OLAP và tầng trên cùng là máy khách.
  • 🗄️ Cơ sở dữ liệu cốt lõi: Kho lưu trữ trung tâm hoạt động trên hệ quản trị cơ sở dữ liệu quan hệ (RDBMS), thường được mở rộng với các cơ sở dữ liệu song song, cấu trúc chỉ mục mới và cơ sở dữ liệu đa chiều để tăng khả năng mở rộng và tốc độ.
  • 🔄 Các thành phần ETL: Các công cụ tìm nguồn, thu thập, làm sạch và chuyển đổi dữ liệu giúp hợp nhất dữ liệu thành một định dạng thống nhất và giữ cho kho dữ liệu luôn được cập nhật.
  • 🏷️ Vai trò của siêu dữ liệu: Siêu dữ liệu kỹ thuật và kinh doanh mô tả nguồn gốc, ý nghĩa và quá trình xử lý dữ liệu, biến các giá trị thô thành kiến ​​thức hữu ích.
  • 📊 Công cụ truy vấn và OLAP: Các công cụ báo cáo, quản lý truy vấn, phát triển ứng dụng, khai thác dữ liệu và OLAP cho phép người dùng khám phá kho dữ liệu từ nhiều góc độ.
  • Thực hành tốt nhất: Tối ưu hóa mô hình dữ liệu để truy xuất, hợp nhất thành một phiên bản dữ liệu duy nhất đáng tin cậy, và xem xét mô hình ODS hoặc 3NF khi cần thiết.

Kho dữ liệu ArchiSơ đồ kiến ​​trúc thể hiện các tầng và thành phần cốt lõi của kho dữ liệu.

Kho dữ liệu Concepts

A kho dữ liệu Hệ thống này tồn tại để cung cấp cho công ty một nguồn thông tin duy nhất đáng tin cậy phục vụ cho việc ra quyết định và dự báo. Nó là một hệ thống thông tin lưu trữ dữ liệu lịch sử và dữ liệu tích lũy được thu thập từ một hoặc nhiều nguồn.

Bằng cách tổ chức dữ liệu để phân tích thay vì giao dịch, kho dữ liệu giúp đơn giản hóa công việc báo cáo và phân tích của toàn bộ tổ chức.

Đặc điểm của kho dữ liệu

Kho dữ liệu có bốn đặc điểm nổi bật giúp phân biệt nó với cơ sở dữ liệu hoạt động thông thường:

  • Định hướng chủ đề
  • Tích hợp
  • Biến thể theo thời gian
  • Không bay hơi

Định hướng chủ đề

Kho dữ liệu (data warehouse) được định hướng theo chủ đề vì nó cung cấp thông tin về một chủ đề cụ thể chứ không phải về các hoạt động thường xuyên của công ty. Các chủ đề điển hình bao gồm bán hàng, tiếp thị và phân phối.

Thay vì xử lý dữ liệu hàng ngày, kho dữ liệu này tập trung vào mô hình hóa và phân tích để hỗ trợ ra quyết định. Nó cung cấp cái nhìn đơn giản, ngắn gọn về từng đối tượng và loại bỏ những dữ liệu không hỗ trợ quá trình ra quyết định.

Tích hợp

Việc tích hợp có mối liên hệ mật thiết với định hướng chủ đề. Trong kho dữ liệu, tích hợp có nghĩa là thiết lập một đơn vị đo lường chung cho tất cả các dữ liệu tương tự được lấy từ các cơ sở dữ liệu khác nhau, và lưu trữ dữ liệu đó theo một cách thức chung, được chấp nhận rộng rãi.

Kho dữ liệu được xây dựng bằng cách tích hợp dữ liệu từ nhiều nguồn khác nhau như máy tính chủ, cơ sở dữ liệu quan hệ và các tập tin phẳng. Nó cũng phải duy trì các quy ước đặt tên, định dạng và mã hóa nhất quán.

Sự nhất quán trong việc đặt tên, đo lường thuộc tính và cấu trúc mã hóa chính là điều giúp cho việc phân tích hiệu quả trở nên khả thi. Hãy xem xét ví dụ sau:

Ví dụ về tích hợp kho dữ liệu: chuẩn hóa các trường giới tính, ngày tháng và số dư từ ba ứng dụng.

Trong ví dụ trên, ba ứng dụng được đánh dấu A, B và C đều lưu trữ thông tin về Giới tính, Ngày tháng và Số dư, nhưng mỗi ứng dụng lại lưu trữ theo một cách khác nhau:

  • Ứng dụng A lưu trữ trường giới tính dưới dạng các giá trị logic như M hoặc F.
  • Ứng dụng B lưu trữ trường giới tính dưới dạng giá trị số.
  • Ứng dụng C lưu trữ trường giới tính dưới dạng giá trị ký tự.
  • Sự khác biệt tương tự cũng áp dụng cho các trường Ngày và Số dư.

Sau quá trình chuyển đổi và làm sạch, tất cả dữ liệu này được lưu trữ trong kho dữ liệu ở định dạng chung.

Biến thể theo thời gian

Tầm nhìn thời gian của kho dữ liệu rộng hơn nhiều so với hệ thống vận hành. Dữ liệu được nhận diện trong một khoảng thời gian cụ thể và cung cấp góc nhìn lịch sử, do đó nó luôn mang yếu tố thời gian, dù là rõ ràng hay ngầm định.

Một trong những nơi mà sự chênh lệch thời gian này xuất hiện là trong cấu trúc của khóa bản ghi. Mỗi khóa chính trong kho dữ liệu đều phải chứa một yếu tố thời gian, chẳng hạn như ngày, tuần hoặc tháng.

Một khía cạnh khác của sự biến động theo thời gian là một khi dữ liệu đã được nhập vào kho dữ liệu, nó không thể được cập nhật hoặc thay đổi.

Không bay hơi

Kho dữ liệu cũng là loại dữ liệu không thay đổi, có nghĩa là dữ liệu cũ không bị xóa khi dữ liệu mới được cập nhật. Dữ liệu chỉ có thể đọc và được làm mới định kỳ, giúp các nhà phân tích nghiên cứu dữ liệu lịch sử và hiểu được những gì đã xảy ra và khi nào.

Vì không cần xử lý giao dịch, phục hồi hay kiểm soát đồng thời, kho dữ liệu bỏ qua các hoạt động xóa, cập nhật và chèn thường thấy trong một ứng dụng vận hành. Chỉ có hai thao tác dữ liệu được thực hiện trong kho dữ liệu:

  1. Tải dữ liệu
  2. Truy cập dữ liệu

Bảng dưới đây nêu bật một số điểm khác biệt chính giữa một ứng dụng vận hành và một kho dữ liệu:

Operaứng dụng quốc tế Kho dữ liệu
Chương trình phức tạp phải được mã hóa để đảm bảo rằng quy trình nâng cấp dữ liệu duy trì tính toàn vẹn cao của sản phẩm cuối cùng. Loại sự cố này không xảy ra vì quá trình cập nhật dữ liệu không được thực hiện.
Dữ liệu được đặt ở dạng chuẩn hóa để đảm bảo dư thừa tối thiểu. Dữ liệu không được lưu trữ ở dạng chuẩn hóa.
Công nghệ cần thiết để hỗ trợ các vấn đề về giao dịch, phục hồi dữ liệu, hoàn tác và giải quyết bế tắc khá phức tạp. Nó cung cấp sự đơn giản tương đối về mặt công nghệ.

Kho dữ liệu Archikiến trúc

Kho dữ liệu ArchiCấu trúc hệ thống rất phức tạp vì nó lưu trữ dữ liệu lịch sử và dữ liệu tích lũy từ nhiều nguồn khác nhau. Có ba cách tiếp cận để xây dựng các lớp kho dữ liệu: một tầng, hai tầng và ba tầng.

Kiến trúc một tầng Mục tiêu là giảm thiểu lượng dữ liệu được lưu trữ bằng cách loại bỏ sự dư thừa. Tuy nhiên, phương pháp này hiếm khi được sử dụng trong thực tế.

Kiến trúc hai tầng Nó tách biệt các nguồn dữ liệu vật lý hiện có khỏi kho dữ liệu. Hệ thống này không dễ mở rộng, hỗ trợ ít người dùng cuối hơn và có thể gặp sự cố kết nối do hạn chế của mạng.

Kiến trúc ba tầng Đây là thiết kế kho dữ liệu được sử dụng rộng rãi nhất.

Nó bao gồm ba cấp bậc: cấp trên, cấp giữa và cấp dưới:

  1. Bậc dưới cùng: Cơ sở dữ liệu của kho hàng đóng vai trò là tầng dưới cùng. Nó thường là một hệ thống cơ sở dữ liệu quan hệ, và dữ liệu được làm sạch, chuyển đổi và tải vào lớp này bằng các công cụ phía máy chủ.
  2. Tầng giữa: Tầng trung gian là một máy chủ OLAP được triển khai bằng mô hình ROLAP hoặc MOLAP. Nó trình bày một cách tuyệt đốitracNó cung cấp cái nhìn tổng quan về cơ sở dữ liệu và đóng vai trò trung gian giữa người dùng cuối và cơ sở dữ liệu.
  3. Bậc cao nhất: Tầng trên cùng là lớp giao diện người dùng (front-end). Nó chứa các công cụ và API được sử dụng để kết nối và trích xuất dữ liệu từ kho dữ liệu, chẳng hạn như các công cụ truy vấn, công cụ báo cáo, công cụ truy vấn được quản lý, công cụ phân tích và công cụ khai thác dữ liệu.

Thành phần kho dữ liệu

Các thành phần và kiến ​​trúc tổng thể của một kho dữ liệu hoạt động cùng nhau như được minh họa trong sơ đồ bên dưới.

Các thành phần kiến ​​trúc kho dữ liệu bao gồm cơ sở dữ liệu, công cụ ETL, siêu dữ liệu, công cụ truy vấn và các kho dữ liệu con.

Kho dữ liệu được xây dựng trên máy chủ RDBMS, một kho lưu trữ thông tin trung tâm được bao quanh bởi các thành phần quan trọng giúp toàn bộ môi trường hoạt động hiệu quả, dễ quản lý và dễ truy cập.

Kho dữ liệu có năm thành phần chính, được mô tả bên dưới.

Cơ sở dữ liệu kho dữ liệu

Cơ sở dữ liệu trung tâm là nền tảng của môi trường kho hàng và được triển khai trên... RDBMS Công nghệ. Bởi vì hệ quản trị cơ sở dữ liệu quan hệ truyền thống được tối ưu hóa cho xử lý giao dịch hơn là lưu trữ dữ liệu, các thao tác tốn nhiều tài nguyên như truy vấn tùy chỉnh, kết hợp nhiều bảng và tổng hợp có thể làm chậm hệ thống.

Vì lý do đó, các phương pháp tiếp cận cơ sở dữ liệu thay thế được sử dụng:

  • Các cơ sở dữ liệu quan hệ được triển khai song song để đảm bảo khả năng mở rộng, sử dụng các mô hình bộ nhớ dùng chung hoặc không dùng chung trên nhiều cấu hình đa xử lý hoặc song song quy mô lớn.
  • Các cấu trúc chỉ mục mới được sử dụng để bỏ qua việc quét bảng quan hệ và cải thiện tốc độ.
  • Cơ sở dữ liệu đa chiều (MDDB) được sử dụng để khắc phục những hạn chế của mô hình kho dữ liệu quan hệ. Một ví dụ là Essbase. Oracle.

Công cụ tìm nguồn cung ứng, mua lại, dọn dẹp và chuyển đổi (ETL)

Các công cụ thu thập, chuyển đổi và di chuyển dữ liệu thực hiện tất cả các chuyển đổi, tóm tắt và thay đổi cần thiết để biến dữ liệu thành định dạng kho dữ liệu thống nhất. Chúng cũng được gọi là ExtracCác công cụ t, Transform, and Load (ETL).

Chức năng của chúng bao gồm những điều sau:

  • Ẩn danh dữ liệu theo quy định.
  • Loại bỏ dữ liệu không cần thiết khỏi cơ sở dữ liệu vận hành trước khi tải vào kho dữ liệu.
  • Tìm kiếm và thay thế các tên và định nghĩa phổ biến cho dữ liệu đến từ các nguồn khác nhau.
  • Tính toán các bản tóm tắt và dữ liệu dẫn xuất.
  • Điền các dữ liệu còn thiếu bằng giá trị mặc định.
  • Loại bỏ dữ liệu trùng lặp đến từ nhiều nguồn khác nhau.

Kia là công cụ ETL Có thể tạo ra các tác vụ định kỳ (cron jobs), tác vụ nền (background jobs), chương trình Cobol và tập lệnh shell để thường xuyên làm mới kho dữ liệu và giúp duy trì siêu dữ liệu.

Do phải lấy dữ liệu từ nhiều hệ thống khác nhau, các công cụ ETL cũng phải xử lý được sự không đồng nhất về cơ sở dữ liệu và dữ liệu.

Siêu dữ liệu

Siêu dữ liệu nghe có vẻ phức tạp, nhưng thực chất nó chỉ là dữ liệu về dữ liệu, định nghĩa kho dữ liệu. Nó được sử dụng để xây dựng, duy trì và quản lý kho dữ liệu.

Trong kiến ​​trúc hệ thống, siêu dữ liệu xác định nguồn gốc, cách sử dụng, giá trị và đặc điểm của dữ liệu, đồng thời định nghĩa cách dữ liệu có thể được thay đổi và xử lý, do đó nó luôn được kết nối chặt chẽ với kho dữ liệu.

Ví dụ, một dòng trong cơ sở dữ liệu bán hàng có thể chứa:

4030 KJ732 299.90

Thông tin này vô nghĩa cho đến khi siêu dữ liệu giải thích rằng nó đại diện cho số hiệu sản phẩm là 4030, ID đại lý bán hàng là KJ732 và tổng số tiền bán hàng là 299.90 đô la.

Do đó, siêu dữ liệu là một thành phần thiết yếu trong việc chuyển đổi dữ liệu thành kiến ​​thức, và nó giúp trả lời các câu hỏi như:

  • Kho dữ liệu chứa những bảng, thuộc tính và khóa nào?
  • Dữ liệu đến từ đâu?
  • Dữ liệu được tải lại bao nhiêu lần?
  • Những sự biến đổi và thanh tẩy nào đã được áp dụng?

Siêu dữ liệu được chia thành hai loại:

  1. Siêu dữ liệu kỹ thuật: Đây là phần mô tả kho hàng dành cho các nhà thiết kế và quản trị viên xây dựng và vận hành nó.
  2. Siêu dữ liệu doanh nghiệp: Điều này giúp người dùng cuối dễ dàng hiểu được thông tin được lưu trữ trong kho dữ liệu.

Công cụ truy vấn

Mục tiêu chính của kho dữ liệu là cung cấp cho doanh nghiệp thông tin cần thiết để đưa ra các quyết định chiến lược, và các công cụ truy vấn là cách người dùng tương tác với hệ thống.

Các công cụ này được chia thành bốn loại:

  1. Công cụ truy vấn và báo cáo
  2. Công cụ phát triển ứng dụng
  3. Công cụ khai thác dữ liệu
  4. công cụ OLAP

Công cụ truy vấn và báo cáo

Các công cụ truy vấn và báo cáo được chia thành hai nhóm: công cụ báo cáo và công cụ truy vấn được quản lý.

Công cụ báo cáo Chia nhỏ hơn nữa thành các công cụ báo cáo sản xuất và các công cụ soạn thảo báo cáo trên máy tính để bàn:

  1. Người viết báo cáo: Những công cụ này được thiết kế dành cho người dùng cuối tự xây dựng các phân tích của riêng họ.
  2. Báo cáo sản xuất: Những công cụ này cho phép các tổ chức tạo ra các báo cáo hoạt động định kỳ và hỗ trợ các tác vụ xử lý hàng loạt khối lượng lớn như in ấn và tính toán. Một số ví dụ phổ biến bao gồm Brio, Business Objects, Oracle, PowerSoft và SAS Institute.

Công cụ truy vấn được quản lý Hỗ trợ người dùng cuối bằng cách chèn một lớp trung gian giữa người dùng và cơ sở dữ liệu, giúp che giấu sự phức tạp của SQL và cấu trúc cơ sở dữ liệu.

Công cụ phát triển ứng dụng

Khi các công cụ đồ họa và phân tích tích hợp sẵn không đáp ứng được nhu cầu phân tích của tổ chức, các báo cáo tùy chỉnh sẽ được xây dựng bằng các công cụ phát triển ứng dụng.

Công cụ khai thác dữ liệu

Khai thác dữ liệu giúp khám phá các mối tương quan, mô hình và xu hướng mới có ý nghĩa bên trong khối lượng dữ liệu lớn, và các công cụ khai thác dữ liệu tự động hóa quá trình khám phá đó.

Công cụ OLAP

OLAP Các công cụ được xây dựng trên cơ sở dữ liệu đa chiều và cho phép người dùng phân tích dữ liệu thông qua các chế độ xem đa chiều phức tạp.

Bus kho dữ liệu Archikiến trúc

Hệ thống bus kho dữ liệu xác định cách dữ liệu lưu chuyển trong kho. Luồng dữ liệu đó có thể được phân loại thành luồng vào, luồng lên, luồng xuống, luồng ra và luồng siêu dữ liệu.

Khi thiết kế hệ thống bus, bạn phải tính đến các chiều và dữ liệu chung trải rộng trên nhiều kho dữ liệu.

Kho dữ liệu

A dữ liệu mart Đây là lớp truy cập được sử dụng để cung cấp dữ liệu cho người dùng. Nó phù hợp với các kho dữ liệu lớn vì tốn ít thời gian và tiền bạc hơn để xây dựng, mặc dù không có định nghĩa thống nhất nào về kho dữ liệu con (data mart).

Nói một cách đơn giản, data mart là một nhánh của data warehouse. Nó phân vùng dữ liệu cho một nhóm người dùng cụ thể và có thể nằm trong cùng cơ sở dữ liệu với data warehouse hoặc trên một cơ sở dữ liệu riêng biệt.

Kho dữ liệu ArchiThực tiễn tốt nhất về kiến ​​trúc

Để thiết kế một kiến ​​trúc kho dữ liệu hiệu quả, hãy tuân theo các thực tiễn tốt nhất dưới đây:

  • Hãy sử dụng các mô hình kho dữ liệu được tối ưu hóa cho việc truy xuất thông tin, cho dù đó là... chiều, phương pháp phi chuẩn hóa, hoặc phương pháp lai.
  • Hãy lựa chọn phương pháp thiết kế phù hợp, dù là từ trên xuống hay từ dưới lên.
  • Hãy đảm bảo dữ liệu được xử lý nhanh chóng và chính xác, đồng thời tổng hợp chúng thành một phiên bản duy nhất phản ánh sự thật.
  • Thiết kế cẩn thận quy trình thu thập và làm sạch dữ liệu cho kho dữ liệu.
  • Thiết kế một kiến ​​trúc siêu dữ liệu cho phép chia sẻ siêu dữ liệu giữa các thành phần của kho dữ liệu.
  • Hãy xem xét một OperaMô hình Kho dữ liệu quốc gia (ODS) khi nhu cầu truy xuất nằm gần cuối phạm vi dữ liệu tuyệt đối.trackim tự tháp hoạt động hoặc khi cần truy cập nhiều nguồn hoạt động khác nhau.
  • Hãy đảm bảo mô hình dữ liệu được tích hợp chứ không chỉ đơn thuần là hợp nhất; trong trường hợp đó, hãy sử dụng mô hình dữ liệu 3NF, đây cũng là mô hình lý tưởng khi sử dụng các công cụ ETL và làm sạch dữ liệu.

Câu Hỏi Thường Gặp

Cơ sở dữ liệu vận hành xử lý các thao tác chèn, cập nhật và xóa thường xuyên bằng các bảng chuẩn hóa để xử lý giao dịch. Kho dữ liệu (data warehouse) chỉ đọc và không thay đổi, lưu trữ dữ liệu lịch sử trong các cấu trúc phi chuẩn hóa, và được tối ưu hóa cho việc truy vấn, báo cáo và phân tích hơn là các hoạt động hàng ngày.

Kho dữ liệu là một kho lưu trữ trên toàn doanh nghiệp, chứa dữ liệu tích hợp từ nhiều nguồn khác nhau. dữ liệu mart Đây là một tập hợp con nhỏ hơn, tập trung vào một bộ phận hoặc chủ đề cụ thể, chẳng hạn như bán hàng hoặc tài chính, giúp việc xây dựng nhanh hơn, tiết kiệm chi phí hơn và việc truy vấn dễ dàng hơn.

Cả hai đều là thiết kế đa chiều. Sơ đồ hình sao đặt một bảng dữ liệu trung tâm được liên kết trực tiếp với các bảng chiều chưa được chuẩn hóa, giống như một ngôi sao. Sơ đồ hình bông tuyết chuẩn hóa các chiều đó thành các bảng con có liên quan. Xem thêm mô hình chiều Về cách thức sắp xếp các sự kiện và chiều kích.

Kho dữ liệu đám mây là một cơ sở dữ liệu phân tích được quản lý và lưu trữ bởi nhà cung cấp, chẳng hạn như... Amazon Dịch chuyển đỏ, Google BigQuery, hay Snowflake. Nó mở rộng dung lượng lưu trữ và khả năng tính toán theo yêu cầu, giảm chi phí bảo trì phần cứng và hỗ trợ kiến ​​trúc phân tầng cũng như các quy trình ETL tương tự như các kho dữ liệu tại chỗ.

Một phiên bản duy nhất của sự thật có nghĩa là mọi người dùng và báo cáo đều dựa trên một bộ dữ liệu nhất quán, tích hợp. Bằng cách hợp nhất và chuẩn hóa các giá trị từ các nguồn khác nhau, kho dữ liệu loại bỏ các số liệu mâu thuẫn, đảm bảo các quyết định dựa trên cùng một số liệu đáng tin cậy.

ETL extracELT xử lý dữ liệu thô trước, sau đó chuyển đổi dữ liệu tại khu vực lưu trữ tạm thời rồi tải vào kho dữ liệu. ELT tải dữ liệu thô trước và chuyển đổi dữ liệu bên trong kho dữ liệu bằng sức mạnh tính toán của nó. Tìm hiểu thêm tại [liên kết]. Quy trình ETL giải thích.

Các công cụ AI và học máy đề xuất thiết kế lược đồ, tự động hóa quy trình ETL.pingChúng có thể phát hiện các bất thường về chất lượng dữ liệu và đề xuất các chỉ mục hoặc phân vùng giúp tăng tốc truy vấn. Chúng cũng có thể dự báo sự tăng trưởng dung lượng lưu trữ. Kỹ sư nên xem xét kỹ từng đề xuất trước khi áp dụng vào kho dữ liệu sản xuất.

Vâng. ChatGPT có thể soạn thảo SQL, mô hình chiều và logic ETL từ một mô tả, trong khi Trợ lý GitHub Tự động hoàn thành các tập lệnh chuyển đổi trong trình chỉnh sửa của bạn. Luôn luôn xác thực lược đồ và truy vấn được tạo ra, vì AI có thể tham chiếu đến cú pháp hoặc giá trị mặc định lỗi thời.

Tóm tắt bài viết này với: