Role DA+BA chính xác là việc gì nhỉ. Trong mắt mình thì Business Analyst là người làm cầu nối giữa khách hàng và team Dev, còn DA là người đọc data ra insight, trend, đưa ra nhận định, hỗ trợ quyết định... 2 cái này với mình không giống nhau lắm. Mà bạn muốn làm về Datawarehouse thì bạn muốn làm như Data Engineer xây hệ thống hay vẫn tiếp tục làm ở tầng phân tích data như là 1 Data Analyst?
Mình đang làm cho team Data của 1 công ty, cũng đang làm hệ thống data warehouse theo cách mà bọn mình hiểu từ tài liệu và nhu cầu của công ty. Công ty mình cỡ nhỏ thôi, cũng chỉ mới làm đc khoảng 1 năm, bọn mình xây từ đầu, nhu cầu cũng có đặc thù riêng, có thể nó sẽ không giống các chỗ khác, bạn có thể tham khảo.
Bọn mình làm stack của microsoft, theo mô hình Modern data warehouse.
https://azure.microsoft.com/en-in/solutions/architecture/modern-data-warehouse/
Trước hết thì mình nghĩ cái phải hiểu đầu tiên là, tôn chỉ của cái hệ thống modern data warehouse này là giúp cho các analyst làm việc dễ với data thoải mái và dễ dàng hơn. Analyst có thể là bất cứ ai, từ analyst chuyên lẫn bất cứ 1 ai đó trong công ty cần đọc data để đưa ra quyết định. Analyst chỉ cần làm việc với PowerBI hoặc sâu hơn sẽ là Databricks Spark, tất cả những việc còn lại như gom nhận data, lưu data dạng thô, clean, transform, model data sẵn cho việc analyze, xây semantic model & aggregation engine của tầng serve sẽ do Data Engineer làm.
Sau đó mình nghĩ bạn sẽ cần hiểu data dc tổ chức như thế nào thì analyst mới dùng được, dùng nhanh, dùng dễ dàng, có khả năng bảo trì, có khả năng scale, có thể lưu trữ tốt. Đây là data modeling. Với 1 hệ thống analytic thì có thể model theo flat table hoặc dimensional modeling. Có một số thứ, một số trường hợp dimensional modeling làm tốt hơn flat table và ngược lại.
Sau khi bạn biết được cách model khiến data dùng được rồi, bạn sẽ học các kĩ thuật đi gom, làm sạch và chỉnh sửa data sao cho data đó về dạng mà bạn đã model. Có trường hợp bạn sẽ được access trực tiếp vào database để lấy giữ liệu (nếu là hệ thống trong công ty), nhưng cũng có khi bạn sẽ phải đi crawl web. Bạn gom xong rồi thì dùng công nghệ tùy nhu cầu để làm sạch và biến đổi data gom đc thành dạng chuẩn model (SQL, Spark hoặc 1 tool nào đó tùy bạn....). Một khi bạn gom đc data thành dạng chuẩn vô trong tầng model rồi, bạn đẩy data qua tầng serve (trong cái mô hình trên thì là analysis services) xong thì bạn đã có được một hệ thống data chạy được, tầng report cứ chọc vào Analysis Service xài là xong.
Sau đó phải hiểu cách mà từng cái thành phần trong cái mô hình trên nó hoạt động thế nào, rồi tinh chỉnh dần dần sao cho nó chạy đúng, nhanh, tiết kiệm, hiệu quả nhất, có khả năng scale, maintain, phát triển thêm.....