Vấn đề cập nhật dữ liệu trong thời gian thực

Một phần của tài liệu tổng hợp kho cơ sở dữ liệu (Trang 40 - 41)

Ngày nay, các quyết định trong kinh doanh cần được đưa ra nhanh, phù hợp với sự thay đổi liên tục của thị trường, do đó các hệ thống hỗ trợ ra quyết định cũng cần phải đáp ứng được sự thay đổi liên tục của dữ liệu, đó là lý do của việc xuất hiện nhu cầu cập nhập dữ liệu trong thời gian thực của data warehouse.

Tuy nhiên, việc xây dựng hệ thống ETL để cập nhật dữ liệu theo thời gian thực có một số khó khăn nhất định.

Khó khăn đầu tiên là từ việc chuyển đổi cách cập nhật dữ liệu như trước đây - cập nhật dữ liệu theo lô (batch). Với cách cập nhật dữ liệu này, người ta lập lịch để xử lý các dữ liệu mới theo thời gian cố định (theo ngày, theo tháng,...) và người ta thường chọn thời gian thấp điểm của hệ thống để tiến hành việc cập nhật (có thể là lúc nửa đêm, khi hệ thống có ít người sử dụng). Tuy nhiên, với việc cập nhật dữ liệu theo thời gian thực, dữ liệu được cập nhật liên túc bất kể tình trạng của hệ thống, điều này gây ra sự quá tải đối với hệ thống vào một số thời điểm nhất định. Người ta đã đề xuất một số giải pháp cho vấn đề này như sau:

+ Cách 1: đây là cách đơn giản nhất, thay vì cập nhật dữ liệu theo thời gian thực, ta điều chỉnh tần suất cập nhật dữ liệu. Ví dụ trước đây là 1 lần một tuần, bây giờ đổi thành 1 lần một ngày, hoặc 3 lần một ngày.

+ Cách 2: cập nhật từng phần nhỏ. Bất kể khi nào phát sinh sự kiện chỉnh sửa hoặc thêm các trường vào dữ liệu giao tác, ta đều tiến hành song song việc cập nhật dữ liệu tương ứng vào các bảng của data warehouse. Tuy nhiên, điều này gây ra nhiều vấn đề về giao tác (transaction) khi dữ liệu quá lớn. Với mỗi giao

tác sẽ phải tiến hành hai thao tác cập nhật dữ liệu thay vì chỉ một như trước đây, và khi dữ liệu quá lớn, sẽ phải mất thêm thời gian chờ.

+ Cách 3: cập nhật từng phần nhỏ và xoay vòng. Cách giải quyết này có thể giải quyết vấn đề dữ liệu lớn trong data warehouse. Thay vì thêm hoặc sửa dữ liệu trực tiếp trong data warehouse, ta tạo các bảng fact có cùng cấu trúc như trong data warehouse nhưng chỉ lưu dữ liệu trong ngày hoặc giờ hiện tại (không lưu dữ liệu lịch sử), Sau một chu kỳ sẽ tiến hành cập nhật dữ liệu này vào các bảng fact trong data warehouse.

+ Cách 4: lưu dữ liệu được cập nhật trong thời gian thực vào vùng đệm (cache), sau một chu kỳ định sẵn sẽ tiến hành cập nhật vào data warehouse. Mỗi khi có một truy vấn trên data warehouse, hệ thống sẽ truy vấn đồng thời trên các bảng fact và trong cả vùng đệm.

Vấn đề về mô hình hóa dữ liệu: đối với các dữ liệu tổng hợp. Ví dụ dữ liệu tổng hợp theo chiều thời gian, thì những dữ liệu này có thể bị bất đồng bộ hóa với dữ liệu được cập nhật trong thời gian thực. Thật ra đây cũng không hẳn là vấn đề, bởi vì về bản chất dữ liệu bình thường và dữ liệu theo thời gian thực là giống nhau, vấn đề là ở chỗ một số ứng dụng người dùng cuối sử dụng kỹ thuật catch và cho rằng dữ liệu sẽ được cập nhật sau một khoảng thời gian nào đó đối với kỹ thuật cũ, cho nên chỉ cần lưu ý vấn đề này là được.

Một phần của tài liệu tổng hợp kho cơ sở dữ liệu (Trang 40 - 41)

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

(75 trang)
w