Data Warehouse là gì?
Khái niệm data warehouse
Data warehouse là cơ sở dữ liệu quan hệ được thiết kế ra để phân tích dữ liệu.
Data warehouse bao gồm dữ liệu quá khứ, hiện tại từ nhiều nguồn dữ liệu khác nhau (từ CRM, ERP,...)
Một data warehouse có 4 tính chất:
Kiến trúc của Data warehouse
Có 3 mô hình kiến trúc phổ biến nhất:
Trong kiến trúc data warehouse thứ 3, dữ liệu từ các nguồn khác nhau được tập hợp và chuyển đến vùng dữ liệu Staging. Ở vùng dữ liệu Staging, chúng ta sẽ làm các tác vụ chuyển đổi tất cả dữ liệu khác nhau thành các dữ liệu giống nhau về tên, ý nghĩa, và kiểu dữ liệu. Sau đó, tiếp tục load dữ liệu vào Data Warehouse để tiến hành phân tích. Sau khi phân tích với mục đích kinh doanh cụ thể (như là Purchasing, Sales, Inventory…), dữ liệu sẽ được phân thành các data marts. Ở bước cuối cùng, người dùng có thể tương tác với data marts qua báo cáo, analytics hoặc data mining.
Tầm nhìn của Data warehouse cho sản phẩm Retail Assistant
Magestore mong muốn Retail Assistant là 1 sản phẩm triển khai dưới dạng cloud-services và phục vụ được 10,000 doanh nghiệp. Ước tính tổng lượng dữ liệu là khoảng 100TB.
Data warehouse trong bài toán này phải phục vụ được các cuộc hội thoại real-time, gần như ngay lập tức giữa chủ doanh nghiệp và trợ lý ảo.
Vì phải xử lý một khối lương dữ liệu lớn và yêu cầu bài toán đặt ra là xử lý dữ liệu, trả về kết quả real-time nên sẽ có những thách thức mà team phải đối mặt:
Đứng trước những thách thức đó, team Retail Assistant đã tìm hiểu các giải pháp công nghệ xử lý dữ liệu lớn. Có thể kể đến: Apache Hive, Spark SQL, Amazon Redshift, Google Big Query…
Trong quá trình đánh giá các giải pháp, team nhận thấy Google Big Query tuy tốc độ xử lý nhanh nhưng team không có khả năng kiểm soát hệ thống 100%. Google Big Query có những hạn chế như trong 1 ngày, thời gian xử lý dữ liệu chỉ là 6 tiếng, chỉ phù hợp sử dụng cho 1 doanh nghiệp. Trong khi đó, tầm nhìn của Retail Assistant hướng đến nhiều doanh nghiệp nên giải pháp Google Big Query không đáp ứng được yêu cầu của Magestore.
Thế là team quyết định dùng 1 giải pháp Open source để giúp team có thể kiểm soát hệ thống 100%.
Lấy cảm hứng từ case study của Ebay, họ đã sử dụng Apache Hive để build data warehouse, xử lý bài toán rất giống của Retail Assistant, vì thế team cũng đã lựa chọn thử nghiệm với Apache Hive.
Ở Ebay năm 2015, họ đã xử lý được 150+PB dữ liệu trên nền tảng Hadoop. Đây cũng là một ví dụ giúp team học hỏi thêm được về cách xây dựng data warehouse.
6 bước để xây dựng Data warehouse
Bước 1: Hiểu được vấn đề cần phải giải quyết
Bước 2: Xác định data source, data marts
Bước 3: Xây dựng model về dữ liệu staging, data warehouse và olap
Bước 4: Dựng các data pipeline
Bước 5: Xác thực các dữ liệu đảm bảo đủ và đúng
Bước 6: Monitor hệ thống
Hiểu vấn đề
Trước hết team xác định cần phân tích dữ liệu bán hàng của doanh nghiệp. Team xác định các metric và dimension như sau:
Xây dựng kiến trúc về dữ liệu
.
Thiết kế theo Star Schema, với Vùng trung tâm là dữ liệu mình cần phân tích (dữ liệu sales).
Dựng Data Pipeline
Xác minh dữ liệu
Team chọn 1 tool tên là Talend Big Data Studio để validate dữ liệu
Monitor hệ thống
Để monitor hệ thống được hiệu quả, team sử dụng Apache HUE.
0 Comments