- vừa được xem lúc

Hash-Distributed Table, Round-Robin Table, Replicated Table - Azure Synapse Service

0 0 5

Người đăng: Hà Thanh Bình

Theo Viblo Asia

1. Has-Distributed Tables

1.1 Định nghĩa

  • Các bảng phân phối hàm băm sử dụng hàm băm (hash function) để phân phối các hàng trên các bản phân phối khác nhau (Nodes or Server) dựa trên giá trị của một hoặc nhiều cột được chỉ định (Distribution key).
  • Phương pháp này đảm bảo rằng các hàng có cùng giá trị khóa sẽ được lưu trữ cùng nhau trong cùng một phân phối

1.2 Use case

  • Phù hợp nhất cho các bảng lớn nơi các truy vấn thường xuyên kết hợp hoặc tổng hợp dữ liệu dựa trên distribution key.
  • Tối ưu hóa hiệu suất bằng cách giảm thiểu chuyển động giữ liệu giữa các lần phân phối trong quá trình thực hiện truy vấn.

1.3 Ưu điểm

  • Cải thiện hiệu suất cho các phép nối và tập hợp trên khóa phân phối.
  • Phân phối dữ liệu cân bằng, tránh sai lệch dữ liệu

1.4 Nhược điểm

  • Khả năng dữ liệu bị lệch nếu kháo phân phối có số lượng giá trị duy nhất hạn chế hoặc phân phối dữ liệu không đồng đều.

1.5 Ví dụ

CREATE TABLE Sales
( SaleID int, CustomerID int, ProductID int, SaleDate date, Amount decimal(10,2)
)
WITH
( DISTRIBUTION = HASH(CustomerID)
); 

2. Round-Robin Distributed Tables

2.1 Định nghĩa

  • Các bảng phân phối Round-Robin phân phối các hàng đồng đều trên tất cả các phân phối mà khong xem xét giá trị của bất kỳ cột cụ thể nào
  • Mỗi hàng chỉ đơn giản được đặt trong phân phối tiếp theo trong 1 vòng tròn.

2.2 Use case.

  • Thích hợp cho các bảng phân tầng hoặc bảng tạm thời nơi dữ liệu được tải nhanh và đồng đều.
  • Hữu ích khi không có distribution key rõ ràng và đối với các bảng không thường xuyên kết hợp hoặc tổng hợp dữ liệu

2.3 Ưu điểm

  • Đơn giản để thực hiện và đảm bảo phân phối dữ liệu đồng đêu tránh sai lệch dữ liệu

2.4 Nhược điểm

  • Không được tối ưu hóa cho các phép nối và tập hợp, có khả năng dẫn đến nhiều chuyển động dữ liệu hơn giữa các bản phân phối.

2.5 Ví dụ

CREATE TABLE StagingSales
( SaleID int, CustomerID int, ProductID int, SaleDate date, Amount decimal(10,2)
)
WITH
( DISTRIBUTION = ROUND_ROBIN
);

3. Repicated Tables

3.1 Định nghĩa

  • Các bảng được sao chép lưu trữ một bản sao đầy đù của bảng trong mỗi bản phân phối.
  • Bản sao này đảm bảo rằng mỗi nút đều có một bản sao cục bộ của bảng, tránh di chuyển dữ liệu trong quá trình truy vấn.

3.2 Use case

  • Tốt nhất cho các bảng nhỏ thường xuyên được nối với các bảng khác

3.3 Ưu điểm

  • Loại bỏ sự di chuyển dữ liệu để JoinsLookups, cải thiện hiệu suất truy vấn
  • Đơn giản hóa kế hoạc thực hiện truy vấn

3.4 Nhược điểm

  • Tăng yêu cầu lưu trữ vì bảng được nhân đôi trong mỗi lần phân phối
  • Việc cập nhật và chèn có thể tốn kép hơn do cần phải cập nhật tất cả các bản sao của bảng.

3.5 Ví dụ

CREATE TABLE Products
( ProductID int, ProductName varchar(100), ProductCategory varchar(50), Price decimal(10,2)
)
WITH
( DISTRIBUTION = REPLICATE
);

4. Tóm tắt

Distribution Type Key Features Use Cases Advantages Disadvantages
Hash-Distributed Table Phân phối các hàng dựa trên hàm băm của khóa phân phối Các bảng lớn có các phép nối hoặc tập hợp thường xuyên trên khóa phân phối Tối ưu hóa các phép nối và tổng hợp, phân phối dữ liệu cân bằng Dữ liệu có thể bị lệch nếu phân phối khóa không đồng đều
Round-Robin Table Phân phối đồng đều các hàng trên tất cả các bản phân phối Bảng dàn, bảng không có khóa phân phối rõ ràng Phân phối dữ liệu đơn giản, đồng đều, tránh sai lệch dữ liệu Không được tối ưu hóa cho các phép nối và tập hợp, di chuyển dữ liệu nhiều hơn
Replicated Table Bản sao đầy đủ của bảng trong mỗi bản phân phối Các bảng nhỏ, được nối thường xuyên (ví dụ: bảng thứ nguyên) Loại bỏ sự di chuyển dữ liệu khi kết nối, cải thiện hiệu suất truy vấn Tăng dung lượng lưu trữ, cập nhật và chèn đắt tiền hơn

Mỗi loại phân phối bảng trong Azure Synapse Analytics đều có điểm mạnh riêng và phù hợp với các tình huống cụ thể. Bằng cách chọn phương pháp phân phối thích hợp, bạn có thể tối ưu hóa việc lưu trữ dữ liệu, giảm thời gian truy vấn và cải thiện hiệu suất tổng thể.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Nhập môn lý thuyết cơ sở dữ liệu - Phần 2: Mô hình thực thể liên kết

**Chào các bạn, hôm nay mình tiếp tục viết tiếp phần 2 cho series Nhập môn lý thuyết cơ sở dữ liệu. Chắc hẳn qua bài trước các bạn tìm được lý do vì sao mình phải học môn này rồi chứ.

0 0 65

- vừa được xem lúc

Các vai trò chính trong Data Ecosystem - [Data Analyst Series]

Ngày nay, các tổ chức đang sử dụng dữ liệu để khám phá các cơ hội và mang lại lợi ích trong tương lai. Điển hình là tạo các mô hình trong các giao dịch tài chính để phát hiện gian lận, sử dụng các côn

0 0 42

- vừa được xem lúc

Tìm hiểu về Apache Spark

Ngày nay có rất nhiều hệ thống đang sử dụng Hadoop để phân tích và xử lý dữ liệu lớn. Ưu điểm lớn nhất của Hadoop là được dựa trên một mô hình lập trình song song với xử lý dữ liệu lớn là MapReduce, m

0 0 48

- vừa được xem lúc

Data Warehouse là gì? Top 7 ứng dụng quan trọng của kho dữ liệu

Data Warehouse là gì? Lợi ích và ứng dụng của kho dữ liệu Data Warehouse là gì? Với sự bùng nổ về mặt thông tin và dữ liệu như hiệu này thì đây luôn là những câu hỏi được rất nhiều bạn thắc mắc, đặc b

0 0 31

- vừa được xem lúc

Phân biệt: Database, Data Warehouse, Data Mart, Data Lake, Data Lakehouse, Data Fabric, Data Mesh

Chào mọi người,. Hôm nay, tiếp tục Series Phân tích dữ liệu kinh doanh, mình sẽ chia sẻ với mọi người những khái niệm phổ biến nhất liên quan về thiết kế hệ thống dữ liệu bên dưới nhé, vì khi làm phân

0 0 34

- vừa được xem lúc

Kỹ sư dữ liệu và lộ trình trở thành data engineer (DE) với 4 bước

Data Engineer hay còn gọi là kỹ sư dữ liệu là một trong những vị trí quan trọng trong lĩnh vực khoa học dữ liệu. Với sự phát triển của kỷ nguyên số, nhu cầu chuyển đổi số của các doanh nghiệp ngày càn

0 0 31