Kỹ thuật dữ liệu là gì? Tìm hiểu về Kỹ thuật dữ liệu

Kỹ thuật dữ liệu là gì?

Chia sẻ kiến thức 07/02/2022

Các công ty tạo ra dữ liệu bằng nhiều loại công nghệ khác nhau. Mỗi công nghệ được chuyên biệt cho một mục đích khác nhau - tốc độ, bảo mật và chi phí là một số điều cần cân nhắc lựa chọn. Các nhóm lập trình ứng dụng, chọn loại công nghệ phù hợp nhất với hệ thống mà họ đang xây dựng. Kỹ thuật dữ liệu phải có khả năng làm việc với các công nghệ này và dữ liệu mà họ tạo ra.

Dữ liệu là trung tâm của mọi doanh nghiệp. Các công ty sử dụng dữ liệu để trả lời các câu hỏi về việc kinh doanh của họ, chẳng hạn như:

  • Giá trị mà khách hàng mới mang lại?
  • Làm cách nào để cải thiện trang web của công ty?
  • Những dòng sản phẩm phát triển nhanh nhất là gì?

Đa phần các tổ chức đều có các hệ thống sản sinh dữ liệu khác nhau. Mỗi hệ thống lại sử dụng một công nghệ khác và có một người quản lý riêng biệt.

Ví dụ: hãy xem xét dữ liệu về khách hàng:

  • Một hệ thống chứa thông tin về thanh toán và vận chuyển
  • Một hệ thống khác duy trì lịch sử đặt hàng
  • Và các hệ thống khác lưu trữ hỗ trợ khách hàng, thông tin hành vi và dữ liệu của bên thứ ba

Các dataset này góp phần mang đến cái nhìn toàn diện về khách hàng. Tuy nhiên, chúng lại hoạt động độc lập với nhau. Điều này khiến cho việc trả lời một số câu hỏi nhất định như loại đơn hàng nào gây ra chi phí hỗ trợ khách hàng cao nhất trở nên rất khó. – rất khó khăn. Phân tích dữ liệu là một thách thức vì dữ liệu được quản lý bằng các công nghệ khác nhau và được lưu trữ trong các cấu trúc khác nhau. Tuy nhiên, các công cụ được sử dụng để phân tích giả định rằng dữ liệu được quản lý bởi cùng một công nghệ và được lưu trữ trong cùng một cấu trúc.

Các công ty thuộc mọi quy mô đều có một lượng lớn dữ liệu khác nhau cần xem xét để trả lời các câu hỏi quan trọng trong quá trình kinh doanh. Kỹ thuật dữ liệu được thiết kế để hỗ trợ quy trình, giúp người sử dụng dữ liệu, chẳng hạn như nhà phân tích, nhà khoa học dữ liệu và giám đốc điều hành có thể kiểm tra tất cả dữ liệu có sẵn một cách đáng tin cậy, nhanh chóng và an toàn.

Kỹ thuật dữ liệu

Kỹ thuật dữ liệu giúp làm cho dữ liệu hữu ích hơn và dễ tiếp cận hơn đối với người dùng dữ liệu. Để làm được điều đó, kỹ thuật dữ liệu phải lấy nguồn, biến đổi và phân tích dữ liệu từ mỗi hệ thống. Ví dụ: dữ liệu được lưu trữ trong database quan hệ được quản lý dưới dạng bảng, như bảng tính Microsoft Excel. Mỗi bảng chứa nhiều hàng và tất cả các hàng đều có các cột giống nhau. Một phần thông tin nhất định, chẳng hạn như đơn đặt hàng của khách hàng, có thể được lưu trữ trên hàng chục bảng.

Trái lại, dữ liệu được lưu trong NoSQL database ( database phi quan hệ) như MongoDB được quản lý dưới dạng tài liệu, giống như tài liệu Word hơn. Mỗi tài liệu đều linh hoạt và có thể chứa một tập hợp các thuộc tính khác nhau. Khi truy vấn relational database, kỹ sư dữ liệu sử dụng SQL, trong khi MongoDB có ngôn ngữ riêng của nó và rất khác với SQL. Kỹ thuật dữ liệu hoạt động với cả hai loại hệ thống, cũng như nhiều loại hệ thống khác, để giúp người sử dụng dữ liệu dễ dàng sử dụng tất cả dữ liệu mà không cần phải thông thạo tất cả các công nghệ phức tạp này.

Vì lý do này, ngay cả những câu hỏi đơn giản của doanh nghiệp cũng có thể yêu cầu các giải pháp phức tạp. Làm việc với mỗi hệ thống đòi hỏi người sử dụng phải hiểu về công nghệ, cũng như dữ liệu. Kỹ thuật dữ liệu biến dữ liệu trở nên hữu ích và dễ tiếp cận hơn cho người dùng dữ liệu.

Lịch sử & Xu hướng

Khi các công ty ngày càng phụ thuộc vào dữ liệu, tầm quan trọng của kỹ thuật dữ liệu không ngừng phát triển. Kể từ năm 2012, việc tìm kiếm cụm từ “kỹ thuật dữ liệu” trên Google đã tăng gấp ba lần:

kỹ thuật dữ liệu

GOOGLE SEARCHES FOR DATA ENGINEERING. SOURCE: GOOGLE TRENDS.

Trong khoảng thời gian đó, các tin tuyển dụng cho công việc này cũng đã tăng hơn 50%. Chỉ trong năm qua, chúng đã tăng gần gấp đôi.

DATA ENGINEERING JOB LISTINGS. SOURCE: DICE TECH JOB REPORT 2020

Tại sao?

  • Có nhiều dữ liệu hơn và chúng đang phát triển nhanh hơn bao giờ hết. 90% dữ liệu tồn tại ngày nay đã được tạo ra trong hai năm qua.
  • Dữ liệu có giá trị hơn đối với các công ty và cụ thể hóa hơn là đối với các chức năng kinh doanh — bán hàng, tiếp thị, tài chính và các lĩnh vực khác của doanh nghiệp đang sử dụng dữ liệu để đổi mới và hiệu quả hơn.
  • Các công nghệ được sử dụng cho dữ liệu phức tạp hơn. Hầu hết các công ty ngày nay tạo dữ liệu trong nhiều hệ thống và sử dụng một loạt các công nghệ khác nhau cho dữ liệu của họ, bao gồm  databases quan hệ, Hadoop và NoSQL.
  • Các công ty đang tìm ra nhiều cách hơn để thu lợi từ dữ liệu. Họ sử dụng dữ liệu để nắm bắt tình trạng hiện tại của doanh nghiệp, dự đoán tương lai, mô hình hóa khách hàng, ngăn chặn các mối đe dọa và tạo ra các loại sản phẩm mới. Kỹ thuật dữ liệu là mấu chốt trong tất cả các hoạt động này.
  • Khi dữ liệu trở nên phức tạp hơn, nhu cầu về dữ liệu tăng lên, thì kỹ thuật dữ liệu sẽ càng trở nên quan trọng và cấp bách.

Trách nhiệm của Kỹ thuật Dữ liệu

Kỹ thuật dữ liệu tổ chức dữ liệu để giúp các hệ thống khác và mọi người dễ dàng sử dụng. Họ làm việc với nhiều người dùng dữ liệu khác nhau, chẳng hạn như:

  • Nhà phân tích dữ liệu trả lời các câu hỏi cụ thể về dữ liệu hoặc xây dựng báo cáo và trực quan hóa để người khác có thể hiểu dữ liệu dễ dàng hơn.
  • Các nhà khoa học dữ liệu trả lời các câu hỏi phức tạp hơn các nhà phân tích dữ liệu. Ví dụ, một nhà khoa học dữ liệu có thể xây dựng một mô hình dự đoán những khách hàng nào có khả năng mua một mặt hàng cụ thể.
  • Kiến trúc sư hệ thống chịu trách nhiệm đưa dữ liệu vào các ứng dụng mà họ xây dựng. Ví dụ, một cửa hàng thương mại điện tử có thể giảm giá tùy thuộc vào lịch sử mua hàng của người dùng và cơ sở hạ tầng để tính chiết khấu đó do kiến ​​trúc sư hệ thống xây dựng.
  • Các Lãnh đạo doanh nghiệp, những người cần hiểu dữ liệu có ý nghĩa gì và những người khác sẽ sử dụng dữ liệu đó như thế nào.

Kỹ thuật dữ liệu làm việc với từng nhóm này và phải hiểu nhu cầu cụ thể của họ. Những trách nhiệm gồm có:

  • Thu thập các yêu cầu về dữ liệu, chẳng hạn như dữ liệu cần được lưu trữ trong bao lâu, cách nó sẽ được sử dụng, con người và hệ thống cần gì để truy cập vào dữ liệu.
  • Duy trì siêu dữ liệu về dữ liệu, chẳng hạn như công nghệ nào quản lý dữ liệu, lược đồ, kích thước, cách dữ liệu được bảo mật, nguồn dữ liệu và chủ sở hữu cuối cùng của dữ liệu.
  • Đảm bảo bảo mật và quản trị dữ liệu, sử dụng các biện pháp kiểm soát bảo mật tập trung như LDAP, mã hóa dữ liệu và kiểm tra quyền truy cập vào dữ liệu.
  • Lưu trữ dữ liệu, sử dụng các công nghệ chuyên biệt được tối ưu hóa cho việc sử dụng dữ liệu, chẳng hạn như cơ sở dữ liệu quan hệ, cơ sở dữ liệu NoSQL, Hadoop, Amazon S3 hoặc Azure.
  • Xử lý dữ liệu cho các nhu cầu cụ thể, sử dụng các công cụ truy cập dữ liệu từ các nguồn khác nhau, biến đổi và làm phong phú dữ liệu, tóm tắt dữ liệu và lưu trữ dữ liệu trong hệ thống lưu trữ.

Để giải quyết những trách nhiệm này, các kỹ sư dữ liệu thực hiện nhiều nhiệm vụ khác nhau. Một số ví dụ bao gồm:

  • Thu thập: Tìm nguồn dữ liệu từ các hệ thống khác nhau
  • Làm sạch: Phát hiện và sửa lỗi
  • Chuyển đổi: Chuyển đổi dữ liệu từ định dạng này sang định dạng khác
  • Phân biệt: Diễn giải dữ liệu có nhiều nghĩa
  • Khử trùng lặp: Loại bỏ các bản sao dữ liệu trùng lặp

Các kỹ sư dữ liệu thường sử dụng hầu hết hoặc tất cả các tác vụ này cho bất kỳ công việc xử lý dữ liệu nào.

Các loại nguồn dữ liệu

Các công ty tạo ra dữ liệu bằng nhiều loại công nghệ khác nhau. Mỗi công nghệ được chuyên biệt cho một mục đích khác nhau – tốc độ, bảo mật và chi phí là một số điều cần cân nhắc lựa chọn. Các nhóm lập trình ứng dụng, chọn loại công nghệ phù hợp nhất với hệ thống mà họ đang xây dựng. Kỹ thuật dữ liệu phải có khả năng làm việc với các công nghệ này và dữ liệu mà họ tạo ra.

Data Source

Applications

Data Structures

Interface

Vendors

Relational databases

(operational) HR, CRM, financial planning

Tables

SQL

Oracle, Microsoft SQL Server, IBM DB2

Relational databases (analytical)

Data warehouses, data marts

Tables

SQL

Teradata, Vertica, Amazon Redshift, Sybase IQ

JSON databases

Web, mobile, social

JSON documents

Proprietary language

MongoDB

Key-value systems

Web, mobile, social

Objects

Proprietary language

Memcached, Redis

Columnar databases

IoT, machine data

Column families

Proprietary language

Apache Cassandra, Apache HBase

File systems

Data storage

Files

API

Hadoop Distributed File System (HDFS)

Object stores

Data storage

Objects

API

Amazon S3, Azure Blob Store

Spreadsheets

Desktop data analysis

Worksheets

API

Microsoft Excel

 

Các công ty cũng sử dụng các ứng dụng doanh nghiệp – vendor application, chẳng hạn như SAP hoặc Microsoft Exchange. Đây là những ứng dụng do công ty tự chạy hoặc sử dụng dịch vụ trên cloud, chẳng hạn như Salesforce.com hoặc Google G Suite. Các ứng dụng doanh nghiệp quản lý dữ liệu trong một “hộp đen- black box”. Chúng cung cấp các giao diện lập trình ứng dụng (API) cho dữ liệu, thay vì truy cập trực tiếp vào underlying database. Các API dành riêng cho một ứng dụng nhất định và mỗi API thể hiện một tập hợp các khả năng và giao diện duy nhất, để có thể tạo ra được điều này đòi hỏi rất nhiều kiến ​​thức, tuân thủ những phương pháp tối ưu nhất. Hơn nữa, các API này phát triển theo thời gian, khi các tính năng mới được thêm vào các ứng dụng. Ví dụ: nếu ứng dụng CRM của bạn có thêm khả năng lưu trữ trình xử lý Twitter của khách hàng, API sẽ thay đổi để cho phép bạn truy cập vào dữ liệu này. Các kỹ sư dữ liệu phải có khả năng làm việc với các API này.

Các công cụ và kỹ năng quan trọng trong Kỹ thuật dữ liệu

Kỹ sư dữ liệu sử dụng các tools chuyên dụng để làm việc với dữ liệu. Mỗi hệ thống đưa ra những thách thức cụ thể. Họ phải xem xét cách dữ liệu được mô hình hóa, lưu trữ, bảo mật và mã hóa. Các nhóm kỹ sư này cũng phải am hiểu các phương thức hiệu quả nhất để truy cập và thao tác dữ liệu.

Kỹ thuật dữ liệu coi quy trình đầu cuối – end-to-end process là “data pipelines”. Mỗi pipeline có một hoặc nhiều nguồn/điểm đầu và một hoặc nhiều đích/ điểm cuối. Trong pipeline, dữ liệu có thể trải qua một số bước như chuyển đổi, xác thực, làm phong phú , tóm tắt hoặc các bước khác. Các kỹ sư dữ liệu tạo ra các pipeline này bằng nhiều công nghệ như:

  • ETL Tool– Extract Transform Load (ETL) là một loại công nghệ di chuyển dữ liệu giữa các hệ thống. Các công cụ này truy cập dữ liệu từ nhiều công nghệ khác nhau, sau đó áp dụng các quy tắc để “chuyển đổi” và làm sạch dữ liệu để dữ liệu sẵn sàng cho việc phân tích. Ví dụ: quy trình ETL có thể trích xuất mã bưu chính từ trường địa chỉ và lưu trữ giá trị này trong trường mới để có thể dễ dàng thực hiện phân tích ở cấp mã bưu chính. Sau đó, dữ liệu được tải vào một hệ thống đích để phân tích. Ví dụ về các sản phẩm ETL bao gồm Informatica và Dịch vụ dữ liệu SAP.
  • SQL – Ngôn ngữ truy vấn dữ liệu có cấu trúc (SQL) là ngôn ngữ tiêu chuẩn để truy vấn relational databases. Các kỹ sư dữ liệu sử dụng SQL để thực hiện các nhiệm vụ ETL trong cơ sở dữ liệu quan hệ. SQL đặc biệt hữu ích khi nguồn dữ liệu và đích là cùng một loại cơ sở dữ liệu. SQL rất phổ biến, được nhiều người hiểu rõ và được hỗ trợ bởi nhiều công cụ.
  • Python – Python là một ngôn ngữ lập trình hướng đối tượng. Nó đã trở thành một công cụ phổ biến để thực hiện các nhiệm vụ ETL do tính dễ sử dụng và các thư viện mở rộng để truy cập cơ sở dữ liệu và công nghệ lưu trữ. Python có thể được sử dụng cho các tác vụ ETL thay vì các công cụ ETL. Nhiều kỹ sư dữ liệu sử dụng Python thay vì đối với các tác vụ này, nó linh hoạt và mạnh mẽ hơn.
  • Spark và Hadoop – Spark và Hadoop hoạt động với các dataset lớn trên các cụm máy tính. Chúng giúp ta dễ dàng áp áp dụng sức mạnh của nhiều máy tính để thực hiện một công việc trên dữ liệu. Khả năng này đặc biệt quan trọng khi dữ liệu quá lớn, không thể lưu trên cùng một máy tính. Ngày nay, Spark và Hadoop không dễ sử dụng như Python, vì thế có rất nhiều người biết và sử dụng Python.
  • HDFS và Amazon S3 – Kỹ thuật dữ liệu sử dụng HDFS hoặc Amazon S3 để lưu trữ dữ liệu trong quá trình xử lý. HDFS và Amazon S3 là các hệ thống file chuyên biệt có thể lưu trữ lượng dữ liệu không giới hạn, giúp chúng trở nên hữu ích cho công việc của nhà khoa học dữ liệu. Chi phí không đắt đỏ, quan trọng là nó giúp thúc đẩy quá trình tạo ra khối lượng lớn dữ liệu. Cuối cùng, các hệ thống lưu trữ dữ liệu này được tích hợp vào các môi trường xử lý dữ liệu. Điều này làm cho việc quản lý hệ thống dữ liệu dễ dàng hơn nhiều.

Các công nghệ dữ liệu mới nổi lên gần đây, thường mang lại hiệu suất cao, bảo mật đáng kể hoặc các cải tiến khác cho phép các kỹ sư dữ liệu thực hiện công việc của họ tốt hơn. Nhiều công cụ trong số này được cấp phép dưới dạng phần mềm có mã nguồn mở. Các dự án mã nguồn mở cho phép các nhóm kỹ sư trong các doanh nghiệp dễ dàng cộng tác với các dự án phần mềm, việc sử dụng các dự án nguồn mở này cũng không bị ràng buộc về các điều khoản pháp lý thương mại. Kể từ đầu những năm 2000, Những công ty “sừng sỏ” chuyên về dữ liệu, chẳng hạn như Google và Facebook, đã tạo ra các công nghệ dữ liệu quan trọng và phát hành ra công chúng dưới dạng các dự án nguồn mở.

Kỹ thuật dữ liệu và Khoa học dữ liệu

Kỹ thuật dữ liệu và khoa học dữ liệu là bổ trợ cho nhau. Về cơ bản, kỹ thuật dữ liệu đảm bảo rằng các nhà khoa học dữ liệu có thể xem xét dữ liệu một cách đáng tin cậy và nhất quán.

  • Các nhà khoa học dữ liệu sử dụng các công nghệ như Machine Learning  và Data Mining. Họ cũng sử dụng các công cụ như R, Python và SAS để phân tích dữ liệu theo những cách tối ưu nhất. Các công nghệ này giả định dữ liệu đã sẵn sàng để phân tích và được tập hợp lại với nhau ở một nơi. Họ truyền đạt những insight của mình bằng cách sử dụng biểu đồ, đồ thị và các công cụ trực quan hóa. Các nhà khoa học dữ liệu phải có khả năng giải thích kết quả của họ làm sao cho người nghe dù người nghe dù có hay không có kiến thức về kỹ thuật
  • Kỹ thuật dữ liệu sử dụng các công cụ như SQL và Python, làm cho dữ liệu sẵn sàng để các nhà khoa học dữ liệu có thể sử dụng. Kỹ sư dữ liệu làm việc với các nhà khoa học dữ liệu để hiểu nhu cầu cụ thể của họ về công việc. Họ xây dựng các pipeline dữ liệu để tổng hợp và chuyển đổi dữ liệu thành các cấu trúc cần thiết cho việc phân tích. Các pipeline dữ liệu này phải được đảm bảo về tính kỹ thuật để có thể hoạt động với độ tin cậy cao. Điều này đòi hỏi bạn phải vững kiến thức về kỹ thuật phần mềm. Kỹ thuật dữ liệu cũng sử dụng việc giám sát và ghi nhật ký để giúp đảm bảo độ tin cậy. Ngoài ra nó phải được thiết kế làm sao để hoạt động và thích ứng khi làm việc với bộ dữ liệu lớn và đáp ứng các yêu cầu SLA( thỏa thuận mức độ dịch vụ).

Kỹ thuật dữ liệu giúp cho các nhà khoa học dữ liệu làm việc hiệu quả hơn. Chúng cho phép các nhà khoa học dữ liệu tập trung vào thế mạnh của mình chính là tiến hành phân tích.Nếu không có kỹ thuật dữ liệu, các nhà khoa học dữ liệu sẽ phải dành phần lớn thời gian của họ để chuẩn bị dữ liệu cho phân tích.

>>> Nếu bạn đang có nhu cầu tìm hiểu về khóa học lập trình đi làm ngay. Hãy liên hệ với FUNiX ngay tại đây:

>>> Xem thêm chuỗi bài viết liên quan:

5 điều có thể bạn chưa biết về học lập trình trực tuyến FUNiX

Review khóa học trực tuyến FUNiX FPT đang được nhiều bạn trẻ lựa chọn

FUNiX đào tạo lập trình trực tuyến cung cấp nhân sự tập đoàn FPT

5 Điểm đáng chú ý tại khóa học lập trình trực tuyến FPT – FUNiX

Nguyễn Hải Nam

Dịch từ  bài viết  What is Data Engineering

 

ĐĂNG KÝ TƯ VẤN HỌC LẬP TRÌNH TẠI FUNiX

Bình luận (
0
)

Bài liên quan

  • Tầng 0, tòa nhà FPT, 17 Duy Tân, Q. Cầu Giấy, Hà Nội
  • info@funix.edu.vn
  • 0782313602 (Zalo, Viber)        
Chat Button
Chat với FUNiX GPT ×

yêu cầu gọi lại

error: Content is protected !!