Thằng nhóc thích code và data

Series - Data Lú
Quảng Cáo

Chào mừng đến với “Data lú”

Giới thiệu với mọi người đây là series đầu tiên của kênh này kể mấy câu chuyện kì thú ảo ma canada của OG trong thế giới data rộng lớn 😂 Đùa chút thôi, đây sẽ là series vui vẻ về câu chuyện Data mà OG trải nghiệm, góp nhặt được. Hy vọng bạn sẽ thích nó hihi 😍

Gòi dzo

Hellooo OG đâyy ! Chào mừng bạn đến với số đầu tiên, lần đầu còn bỡ ngỡ, nên mình sẽ kể cơ duyên đưa mình đến với ngành Data và quyết định dấn thân vào con đường trở thành một Data Engineer 😗

Gét Goo!

Khoan Khoan … Bên trên là Engineer, qua đây là Science là sao OG ?

Từ từ nào 😄 Mọi chuyện bắt đầu khi mình đậu vào một ngành được ca ngợi là ngành “quyến rũ” nhất thế kỷ 21 theo Harvard Business Review , đó là Data Science.

Khúc này mình nghe cũng oách oách, nhưng chính xác Data Science là gì ? Và các nhà khoa học dữ liệu (data scientist) làm gì ?

Ngành Khoa học dữ liệu hay Data Science là một lĩnh vực liên ngành ứng dụng các phương pháp khoa học, thuật toán và các phân tích thống kê để tìm kiếm ý nghĩa từ dữ liệu. Hay nói bằng cách dễ hiểu, Data Science là ngành tìm kiếm, phân tích dữ liệu để khai thác tất cả những giá trị mà dữ liệu mang lại để phục vụ nhiều mục đích khác nhau.

Data Science là ứng dụng khoa học để tìm kiếm ý nghĩa của dữ liệu để dự đoán tương lai

Một nhà khoa học dữ liệu (Data Scientist) là người chịu trách nhiệm đưa ra các dẫn chứng từ dữ liệu, để từ đó đề xuất các giải pháp, kế hoạch hay định hướng từ ý nghĩa tìm được từ dữ liệu để giải quyết các bài toán kinh doanh khác nhau.

Một data scientist cần phải biết kỹ năng gì?

  1. Lập trình: Python và R là 2 ngôn ngữ chính được sử dụng đối với ngành này. Python là một ngôn ngữ lập trình linh hoạt phổ biến với rất nhiều thư viện để xử lý dữ liệu như numpy, pandas, matplotlib,… Trong khi đó R tỏ là là một ngôn ngữ mạnh mẽ về phân tích và thống kê, ngoài ra R cũng thường được dùng trong nghiên cứu và học thuật.
  2. Thống kê và ứng dụng toán học: Nếu bạn không yêu thích toán học, chắc hẳn bạn cũng sẽ không thể làm điều đó với data science. Hẳn vậy, là một nhà khoa học dữ liệu, bạn cần có một nền tảng kiến thức toán học vững, đặc biệt là về xác suất thống kê và đại số tuyến tính,…
  3. SQL và DBMS: Ta phải tiếp xúc rất nhiều với hệ quản trị cơ sở dữ liệu (Database Management System hay DBMS), đó có thể là hệ quản trị cơ sở dữ liệu Quan Hệ (Relational Database Management System) như MySQL, Postgres, SQL server… hay NoSQL database như MongoDB, Cassandra,… Và để tương tác với database (RDBMS), điều không thể thiếu chính là SQL (Structured query language aka si cồ hay ét qui eo 😂 ). Cơ bản thì đây là ngôn ngữ dùng để truy suất dữ liệu, giao tiếp với database, đặc biệt là các RDBMS.
  4. AI, Machine learning: Khi có một lượng dữ liệu khổng lồ, một data scientist có thể sẽ dùng chúng để huấn luyện mô hình học máy hoặc mạng để giải các bài toán hồi quy và đưa ra được các dự đoán về xu hướng data hay giải quyết các bài toán phân loại. Có hiểu biết về các thuật toán máy học và kiến trúc mạng noron cũng là một điều cần có ở nhà khoa học dữ liệu.

Đọc đến đây, có thể bạn sẽ có cảm giác “Dèjà vu” nhẹ … Sao nhiều chổ giống Data Analyst thế nhỉ ? Mà thiệt ra là không giống đâu nhé, hai ngành này chỉ là anh em xã hội với nhau mà thôi 😂

Sẵn tiện kể một chút về vai trò của một người Data Analyst. Về cơ bản, vai trò của họ cũng giống với các data scientist, họ cũng phân tích dữ liệu, cố gắng tìm kiếm và rút ra giá trị từ chúng. Nhưng sẽ có một số điểm khác biệt:

Data Analyst Data Science
Chuyên viên phân tích dữ liệu Nhà khoa học dữ liệu
Vẫn làm công việc của DS nhưng với quy mô nhỏ Tỏa sáng với lượng data khổng lồ (BigData)
Không cần nhiều kiến thức lập trình Cần kiến thức lập trình
Cần có kiến thức về hoạt động kinh doanh nhiều hơn và vững về kiến thức thống kê Cần có kiến thức không chỉ toán thống kê, ứng dụng mà còn phải có kiến thức về computer science, AI/ML,…
Dựa vào dữ liệu đưa ra các giá trị có ích và cái nhìn trực quan về dữ liệu Được yêu cầu phát triển “data product” để đưa ra quyết định có ích từ tập dữ liệu lớn

Data Science and Data Analytic

Rồi okay nãy giờ là cả data science (DS) và data analytic (DA) rồi. Giờ là mới đến data engineer của tui nè hihi 😄

Tuy học Data Science, nhưng thực ra ngay từ những lúc còn mơn mởn cấp 3, OG đã từng có ước muốn trở thành một lập trình viên một tay cafe một tay chém code bình loạn thiên hạ 😂

Và thế là tìm được một ngành thích hợp được coi là “Software engineer cho data”, ngành này là một trong các ngành có xu hướng phát triển nhanh nhất trong nhóm ngành công nghệ. Vâng đó chính là Data Engineer

Đầu tiên, Data Engineer hay DE được gọi là kỹ sư dữ liệu. Đây là vai trò đảm nhiệm việc phân tích nguồn dữ liệu, xây dựng và duy trì hệ thống cơ sở dữ liệu hiệu quả. Ngoài ra cũng là người đảm bảo chất lượng dữ liệu cho các phòng ban khác sử dụng.

Cơ bản để là để cho DS và DA làm việc một cách hiệu quả nhất, họ cần có một nguồn data ổn định và sạch sẽ. Và người đảm nhiệm việc luân chuyển data đó tới cho họ chính là Data Engineer. Không chỉ có DS và DA mà data engineer phục vụ cho tất cả các phòng ban khác

Data Engineer
Nói tóm lại, Data Engineer là người xây dựng các đường ống dữ liệu (data pipeline) để truyền dữ liệu từ nơi này sang nơi khác một cách chất lượng nhất :))

Khái niệm cơ bản là thế thôi, nghe có vẻ đơn giản phải không. Hãy tiếp tục với mục tiếp theo để xem liệu ta cần gì để trở thành data engineer

Một data Engineer về bản chất là xây dựng các data pipeline để luân chuyển dữ liệu. Để làm tốt việc đó, kỹ sư dữ liệu phải biết:

  • Kỹ năng lập trình: Tất nhiên rồi, bạn là một nhân viên IT thì điều này là phải có. Các ngôn ngữ mà DE thường dùng là SQL, Python và R.
  • Hệ cơ sở dữ liệu quan hệ và phi quan hệ: Dữ liệu có rất nhiều dạng: Structure/Semi/Unstructure data, do đó cũng cần có nhiều loại database quản lý chúng. Và DE làm việc rất nhiều với database. Họ sẽ là người trực tiếp tương tác kể cả với SQL và NoSQL database.
  • ETL/ELT: ETL aka Extract Transform Load hay ELT aka Extract Load Transform là quy trình xử lý và luân chuyển dữ liệu từ nguồn đến đích. Một DE phải nắm được để thiết kế data pipeline một cách hiệu quả nhất
  • Data Warehouse: hay được biết đến là kho chứa dữ liệu. Bạn có thể sẽ phải xây dựng, thiết kế cấu trúc data warehouse trên cloud platform và xây dựng các kết nối dữ liệu để tối ưu hóa tốc độ truy xuất và đảm bảo việc phân tích dữ liệu.
  • Big Data: Bạn cũng cần phải biết các kiến trúc lưu trữ và xử lý tập dữ liệu lớn như Hadoop, Spark,…
  • Cloud: Tất nhiên là phải có rồi, các cloud platform như Google Cloud Platform, AWS, Azure,… đã rất nổi tiếng trong việc hỗ trợ xây dựng và thiết kế hệ thống pipeline cũng như hỗ trợ tối đa việc xử lý bigdata cũng như deploy hệ thống hạ tầng một cách nhanh chóng. Bạn có thể sẽ phải làm việc với lượng dữ liệu khổng lồ và tập dữ liệu lớn. Và để xây dựng hệ thống xử lý được lượng dữ liệu đó, chắc chắn phải có sự góp mặt của các nền tảng đám mây.

Well… Nhìn chung cũng nhiều thứ cần phải biết đấy nhỉ, tất nhiên đó chỉ là một số điều quan trọng nhất. Ngoài ra bạn cũng cần phải biết một số kiến thức khác về Unix và Linux, Docker, Git, Batch/Stream Processing,… Và còn ti tỉ thứ khác mà OG có kể đến răng long đầu bạc có lẽ cũng chưa hết 😂

Hành trình nào khi bắt đầu cũng gian nan, cả bản thân OG khi bắt đầu cũng không biết gì cả. Nhưng khi nhấc ngón chân lên và đi thì mới cảm nhận được thế giới chứ 😄

Hy vọng bài viết này giúp bạn thư giãn và có một cái nhìn chung về ngành data nhé. Hẹn gặp lại trong bài tiếp theo hehe

-Meww-