View Single Post
  #1  
Old 20-08-2019, 13:33
hninja222 hninja222 is offline
K.I.A
 
Join Date: 12-2010
Posts: 2,730
Hướng đi nào cho Data Engineer, BI, Data Warehouse, Big Data.

Chào các bác, mình xin tự giới thiệu trước, mình 25 tuổi và đang làm cho một công ty ở Sài Gòn đã hơn 1 năm. Trước đây mình làm lập trình web, làm hết front-end (AngularJS), back-end (C# ASP.NET) lẫn database (M$ SQL Server). Sau đó cách đây hơn 1 tháng thì công ty mình tổ chức lại phòng ban và hiện giờ mình đang ngồi ở team làm về BI.

Team BI ở đây, theo như các cấp lãnh đạo muốn, là "tạo ra report" để giúp họ "quản lý tốt hơn". Công việc hiện tại của mình hiện giờ đang được yêu cầu là thiết kế và xây dựng Data Warehouse (DWH). Mình thì với lĩnh vực này có thể coi như là mới toanh. Chuyên ngành hồi mình học ở đại học là "Hệ thống thông tin", nghe thì có vẻ công việc rất phù hợp với tên ngành học, nhưng hồi ở đại học mình chủ yếu học về lập trình và sử dụng database cho các hệ thống online là chính, chứ Data Warehouse cho report thì mình hoàn toàn chưa bao giờ biết tới khi còn đi học.

Hiện giờ thì sau khoảng một tháng nghiên cứu, có lúc cảm thấy lạc đường, có lúc cảm thấy được khai sáng, thì mình cũng nắm được sơ sơ quy trình của một hệ thống BI, modern Data Warehouse theo như thiết kế của Microsoft từ lúc extract từ nguồn, transform ở Spark (DWH nếu dùng ELT), load vào Data Warehouse, ý tưởng về thiết kế Data Warehouse, rồi Semantic Model (OLAP) cho đến lúc sử dụng BI Tools để tạo report....

Tuy nhiên còn rất nhiều thứ mình mơ hồ, thậm chí là về đường hướng như kiểu: Theo mình hiểu thì Data Warehouse lập ra với mục đích chủ yếu là:

1- Cách ly hệ thống database report khỏi hệ thống database của Online Production,
2- Tập hợp data từ nhiều nguồn, làm sạch, biến đổi về model chuẩn.
3- Lưu giữ History của các record.

Thì ý thứ nhất, mình hoàn toàn có thể sử dụng lại 1 database có sẵn ở công ty được replicate lại từ hệ thống online. Không cần DWH làm gì.
Ý thứ 2, thì công ti mình không có data từ nhiều nguồn. Tất cả data sẽ được lấy từ database của hệ thống online tập trung.
Ý thứ 3 thì theo như mình hiểu, thì cấp trên họ cũng không quan tâm lắm đến vấn đề này.

Trong khi chi phí để nuôi cái hệ thống DWH này rất đắt tiền, riêng con Azure Datawarehouse chi phí có thể lên đến 1000$/tháng cho option rẻ nhất, rất căng về budget, trong khi các mục đích chính của DWH lại không cần đến. Cấp trên họ muốn output cuối cùng là tạo ra report, nhưng theo những gì mình tìm hiểu được thì, tất cả những gì mình cần để tạo report là Semantic Model và BI Tool như Power BI chẳng hạn.

Chẳng lẽ mình lại ra nói "tốt nhất không nên làm Data Warehouse cho đến khi chúng ta thực sự có nhu cầu integrate data "

Nhiều cái mình cũng đang chẳng hiểu mình có đang hiểu đúng hay không, mà lên stack overflow thấy cái tag #data-warehouse thấy đìu hiu kinh. Mấy cái forum khác cũng y như đã chết vậy. Giờ mà có vấn đề gì chẳng biết đem đi hỏi ai. Trong khi mình nghĩ mấy lĩnh vực kiểu này phải đang rất hót cơ.

Mà có bác nào làm về lĩnh vực này không nhỉ, cho mình hỏi ngành này ở VN có triển vọng không, tương lai như thế nào? Mình lên IT viec thấy tuyển Data Engineer làm ETL làm với Spark và Kafka cũng có nhưng không nhiều tràn lan như tuyển lập trình viên bình thường. Chủ yếu là các công ty với hệ thống rất lớn như Tiki, Momo hoặc đám công ty nước ngoài. BI System cũng có, mình thì đang xem mấy cái BI với Big Data này là 1 nhưng ko biết trên thực tế có riêng không. Chưa kể nữa là stack của mình là stack của Microsoft, hàng mình xài khả năng lớn là Azure Data Warehouse trong khi ở VN mình toàn thấy AWS Redshift với Google Big Query....

Đường hướng của mình ngắn trung hạn thì muốn đi về hướng Data Engineer hơn do mình có background lập trình.

Mà tiếc là rất nhiều chỗ cần Kafka mà công ty mình có lẽ sẽ không xài đến ít nhất là trong trung hạn (Do dữ liệu hiện tại chỉ nằm hoàn toàn trong DB của online production). Spark mình sợ với hệ thống mình cũng sẽ không làm nhiều. Trong khi mình cảm thấy nếu muốn đi xa trong ngành này thì Kafka và Spark là bắt buộc, khi mà các thiết bị IOT sau này phát triển sẽ stream event liên tục và người ta có nhu cầu phân tích cái luồng dữ liệu khổng lồ đó.

Mấy bác đang làm về ngành này cho mình xin chút ý kiến nha.
Reply With Quote