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

Sự khác biệt giữa Database và Data Warehouse

0 0 12

Người đăng: WheeBoo

Theo Viblo Asia

Giả sử bạn có 1 lượng dữ liệu thông tin giao dịch khổng lồ, sau nhiều năm lưu trữ, chúng ta phân tích thống kê để cải thiện hệ thống. Trong hàm ý câu này chúng ta cần có Database (cơ sở dữ liệu) và Data Warehouse (kho dữ liệu) để bổ trợ cho nhau. Sơ đồ xử lý thông thường của data warehouse

Data Warehouse là gì ?

Với ngành nghề analysis information thì data warehouse là kim chỉ nam của nghề (nghề này hiếm và khó, thậm chí cần có kiến thức về machine learning). Kho dữ liệu là 1 hệ thống lữu trữ các thông tin kết hợp từ một hay nhiều nguồn khác nhau. Nó được thiết kế chuyên để phân tích, báo cáo, giúp bớt quá trình phân tích thống kê của 1 hệ thống cho 1 tổ chức lớn.

Bảng so sánh giữa database và data wirehouse

Để dễ dàng hơn cho mọi người về cái nhìn của Data warehouse với cơ sở dữ liệu, mình có tham khảo 1 bảng so sánh sau đây được dịch lại theo ý hiểu của mình.

Tham số Database Data warehouse
Mục đích Được thiết kế để lưu lại bản ghi Được thiết kế để phân tích
Xử lý Online Transactional Processing (OLTP) Online Analytical Processing (OLAP)
Bảng và Joins bảng và joins các bảng phức tạp, mối quan hệ, chuẩn hóa không được chuẩn hóa
Định hướng phục vụ định hướng cho ứng dụng, sản phẩm định hướng cho các loại mục đích khác nhau
giới hạn lưu trữ thường giới hạn trong 1 ứng dụng lưu trữ dữ liệu từ nhiều nguồn khác nhau
độ khả dụng dữ liệu có sẵn từ thời gian thực, cần là có được làm mới khi cần thiết từ nhiều nguồn khác nhau, cần thì phải đợi hệ thống chạy tạo lại dữ liệu định kì cần thiết
Sử dụng Kỹ thuật mô hình ER được sử dụng Kỹ thuật mô hình dữ liệu được sử dụng
Kỹ thuật Capture dữ liệu Analyze dữ liệu
Loại dữ liệu Dữ liệu được lưu trữ trong Cơ sở dữ liệu được cập nhật. Dữ liệu hiện tại và lịch sử được lưu trữ. Có thể không được cập nhật.
Lưu trữ dữ liệu Phương pháp tiếp cận quan hệ phẳng được sử dụng để lưu trữ dữ liệu. Sử dụng phương pháp tiếp cận đa chiềuchuẩn hóa cho cấu trúc dữ liệu. Ví dụ: Lược đồ sao và bông tuyết.
Loại truy vấn Các truy vấn giao dịch đơn giản được sử dụng. Các truy vấn phức tạp được sử dụng cho mục đích phân tích.
Tóm tắt dữ liệu Lưu dữ liệu chi tiết Lưu trữ dữ liệu tóm tắt

Ứng dụng thực tế nó ra sao ?

Giả sử 1 doanh nghiệp có hàng triệu người dùng mỗi ngày như viễn thông X, để hiểu được hành vi người dùng thì doanh nghiệp X này cần thu thập từ vị trí điện thoại, tần suất gọi điện, tần suất sử dụng internet, ..... các dữ liệu này là rất rất lớn. Để tồn tại và tối đa hóa doanh thu thì doanh nghiệp X cần thống kê phân tích những thứ có lợi, có hại từ những dữ liệu đó, doanh nghiệp lúc đó có cái nhìn tổng thể để đưa ra được xu hướng khách hàng, phân phối chuyển giao...

Hay như doanh nghiệp Y chuyên về chăm sóc sức khỏe, data người bệnh là có giá trị khi nó rất lớn, nó có thể là đầu vào của machine learning hoặc AI phân tích dữ liệu báo cáo để có thể đáp ứng khách hàng tốt hơn, hiểu được đa số người dùng muốn gì ?

Cái nhìn sơ bộ

Giả sử chúng ta có 1 sơ đồ bảng quan hệ cơ sở dữ liệu thông thường được cho là 1 phần database dữ liệu cho data warehouse của chúng ta.

Để tóm tắt những trường mình cần, thống kê, báo cáo định kì mà các sếp quan tâm thì chúng ta có thể truy vấn bình thường từng cái một. Nhưng vấn đề là không nhanh, không filter được đầy đủ khi cần gấp báo cáo về vấn đề X nào đó thì công cụ phân tích data warehouse sẽ phát huy tác dụng (OLAP tools).

Như trên hình chúng ta có thể filter các kiểu truy vấn đa chiều (Dim Date, Dim Product, Dim Customer, DIm Times, ...) kết hợp với các bản ghi sẽ ra được các tổ hợp báo cáo khác nhau rất lơn, trong khi đó truy vấn thông thường như cơ sở dữ liệu sẽ không đáp ứng được.

Kết luận

Bài viết mang tính chất giới thiệu qua về Data warehouse là gì, có 1 chút hình minh họa để các bạn thấy được mặt mũi của các báo cáo truy vấn đa chiều đơn giản. Tiếp theo mình sẽ đi sâu hơn về demo để tạo được các bản báo cáo như trên. Demo thực hành với dataware house: Phân tích Kho dữ liệu (Datawarehouse) bằng OLAP

Bình luận

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

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

Giới thiệu Typescript - Sự khác nhau giữa Typescript và Javascript

Typescript là gì. TypeScript là một ngôn ngữ giúp cung cấp quy mô lớn hơn so với JavaScript.

0 0 500

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

Cài đặt WSL / WSL2 trên Windows 10 để code như trên Ubuntu

Sau vài ba năm mình chuyển qua code trên Ubuntu thì thật không thể phủ nhận rằng mình đã yêu em nó. Cá nhân mình sử dụng Ubuntu để code web thì thật là tuyệt vời.

0 0 374

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

Đặt tên commit message sao cho "tình nghĩa anh em chắc chắn bền lâu"????

. Lời mở đầu. .

1 1 701

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

Tìm hiểu về Resource Controller trong Laravel

Giới thiệu. Trong laravel, việc sử dụng các route post, get, group để gọi đến 1 action của Controller đã là quá quen đối với các bạn sử dụng framework này.

0 0 335

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

Phân quyền đơn giản với package Laravel permission

Như các bạn đã biết, phân quyền trong một ứng dụng là một phần không thể thiếu trong việc phát triển phần mềm, dù đó là ứng dụng web hay là mobile. Vậy nên, hôm nay mình sẽ giới thiệu một package có thể giúp các bạn phân quyền nhanh và đơn giản trong một website được viết bằng PHP với framework là L

0 0 421

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

Bạn đã biết các tips này khi làm việc với chuỗi trong JavaScript chưa ?

Hi xin chào các bạn, tiếp tục chuỗi chủ đề về cái thằng JavaScript này, hôm nay mình sẽ giới thiệu cho các bạn một số thủ thuật hay ho khi làm việc với chuỗi trong JavaScript có thể bạn đã hoặc chưa từng dùng. Cụ thể như nào thì hãy cùng mình tìm hiểu trong bài viết này nhé (go).

0 0 414