[ad_1]
Nếu bạn tìm kiếm một định nghĩa rõ ràng về kỹ thuật dữ liệu thực sự là gì, bạn sẽ nhận được rất nhiều đề xuất khác nhau đến nỗi nó khiến bạn có nhiều câu hỏi hơn là câu trả lời.
Nhưng khi tôi muốn giải thích những gì cần được xác định lại, tốt hơn tôi nên sử dụng một trong những định nghĩa phổ biến hơn thể hiện rõ ràng tình trạng hiện tại và tình trạng hỗn loạn mà tất cả chúng ta phải đối mặt:
Kỹ thuật dữ liệu là quá trình phát triển, triển khai và bảo trì các hệ thống và quy trình tiếp nhận dữ liệu thô và tạo ra thông tin chất lượng cao, nhất quán hỗ trợ các trường hợp sử dụng hạ nguồn, chẳng hạn như phân tích và học máy. Kỹ thuật dữ liệu là giao điểm của bảo mật, quản lý dữ liệu, DataOps, kiến trúc dữ liệu, phối hợp và kỹ thuật phần mềm. Một kỹ sư dữ liệu quản lý vòng đời kỹ thuật dữ liệu, bắt đầu bằng việc lấy dữ liệu từ các hệ thống nguồn và kết thúc bằng việc phục vụ dữ liệu cho các trường hợp sử dụng, chẳng hạn như phân tích hoặc học máy.
— Joe Reis và Matt Housley trong “Cơ bản về kỹ thuật dữ liệu”
Đó là một định nghĩa hay, vậy còn mớ hỗn độn ở đây là gì?
Hãy xem câu đầu tiên, tôi nhấn mạnh phần quan trọng mà chúng ta nên đào sâu vào:
…thu thập dữ liệu thô và tạo ra thông tin chất lượng cao, nhất quán hỗ trợ các trường hợp sử dụng tiếp theo…
Theo đó, kỹ thuật dữ liệu lấy dữ liệu thô và biến đổi nó để (tạo ra) thông tin hỗ trợ các trường hợp sử dụng. Chỉ có hai ví dụ được đưa ra, như phân tích hoặc học máy, nhưng tôi cho rằng điều này bao gồm tất cả các trường hợp sử dụng tiềm năng khác.
Các chuyển đổi dữ liệu là điều khiến tôi và tất cả các kỹ sư dữ liệu đồng nghiệp của tôi phát điên. Chuyển đổi dữ liệu là nhiệm vụ to lớn của áp dụng logic đúng sang dữ liệu thô để chuyển đổi nó thành thông tin cho phép thực hiện tất cả các loại trường hợp sử dụng thông minh.
Áp dụng logic đúng thực sự là nhiệm vụ chính của các ứng dụng. Ứng dụng là hệ thống triển khai logic thúc đẩy doanh nghiệp (trường hợp sử dụng) — Tôi vẫn gọi đó là ứng dụng và ngầm hiểu là các dịch vụ đủ nhỏ để phù hợp với kiến trúc dịch vụ siêu nhỏ. Các ứng dụng thường được xây dựng bởi các nhà phát triển ứng dụng (kỹ sư phần mềm nếu bạn muốn). Nhưng để đáp ứng định nghĩa hiện tại của chúng ta về kỹ thuật dữ liệu, các kỹ sư dữ liệu hiện phải triển khai logic kinh doanh. Toàn bộ sự lộn xộn bắt đầu từ cách tiếp cận sai lầm này.
Tôi đã viết một bài báo về chủ đề đó, nơi tôi nhấn mạnh rằng “Kỹ thuật dữ liệu là Kỹ thuật phần mềm…”. Thật không could, chúng ta đã có hàng triệu đường ống dữ liệu dễ vỡ được các kỹ sư dữ liệu triển khai. Những đường ống này đôi khi — hoặc đáng tiếc là, thậm chí thường xuyên — không có cùng chất lượng phần mềm mà bạn mong đợi từ một ứng dụng. Nhưng vấn đề lớn hơn là thực tế là những đường ống này thường chứa logic kinh doanh không được phối hợp và do đó không chính xác và đôi khi thậm chí là ẩn.
Tuy nhiên, giải pháp không phải là tất cả các kỹ sư dữ liệu bây giờ nên được chuyển thành nhà phát triển ứng dụng. Các kỹ sư dữ liệu vẫn cần phải là kỹ sư phần mềm đủ tiêu chuẩn, nhưng họ không nên chuyển thành nhà phát triển ứng dụng. Thay vào đó, tôi ủng hộ việc định nghĩa lại kỹ thuật dữ liệu là “tất cả về việc di chuyển, thao tác và quản lý dữ liệu”. Định nghĩa này xuất phát từ cuốn sách “Kỹ thuật dữ liệu là gì? Lewis Gavin (O’Reilly, 2019)”. Tuy nhiên, và đây là một sự khác biệt rõ ràng so với các thông lệ hiện tại, chúng ta nên giới hạn sự thao túng chỉ ở mức kỹ thuật thuần túy.
Chúng ta không nên cho phép phát triển và sử dụng logic nghiệp vụ bên ngoài các ứng dụng nữa.
Để rất rõ ràng, kỹ thuật dữ liệu nên không thực hiện logic kinh doanh. Xu hướng phát triển ứng dụng hiện đại thực sự là tách biệt logic ứng dụng không trạng thái khỏi quản lý trạng thái. Chúng tôi không đưa logic ứng dụng vào cơ sở dữ liệu và chúng tôi không đặt trạng thái (hoặc dữ liệu) liên tục vào ứng dụng. Trong cộng đồng lập trình chức năng, họ nói đùa “Chúng tôi tin vào sự tách biệt giữa nhà thờ và nhà nước”. Nếu bây giờ bạn nghĩ, “Trò đùa đâu rồi?”, thì điều này có thể giúp. Nhưng bây giờ không có bất kỳ câu nói đùa nào: “Chúng ta nên tin vào sự tách biệt giữa logic kinh doanh và dữ liệu kinh doanh”. Theo đó, tôi tin rằng chúng ta nên giao những lo ngại về dữ liệu cho kỹ sư dữ liệu và những lo ngại về logic cho nhà phát triển ứng dụng một cách rõ ràng.
Bạn có thể hỏi “những thao tác kỹ thuật” nào vẫn được phép đối với kỹ sư dữ liệu. Tôi sẽ định nghĩa điều này là bất kỳ thao tác nào đối với dữ liệu không thay đổi hoặc không thêm thông tin kinh doanh mới. Chúng ta vẫn có thể phân vùng, phân nhóm, định dạng lại, chuẩn hóa, lập chỉ mục, tổng hợp kỹ thuật, v.v., nhưng ngay khi cần đến logic kinh doanh thực sự, chúng ta nên chuyển nó cho các nhà phát triển ứng dụng trong lĩnh vực kinh doanh chịu trách nhiệm cho tập dữ liệu tương ứng.
Tại sao chúng ta lại rời xa nguyên tắc đơn giản và hiển nhiên này?
Tôi nghĩ sự thay đổi này có thể là do sự phát triển nhanh chóng của cơ sở dữ liệu thành các hệ thống đa chức năng. Ban đầu, cơ sở dữ liệu đóng vai trò là giải pháp lưu trữ đơn giản, bền vững cho dữ liệu kinh doanh. Chúng cung cấp các phép trừu tượng rất hữu ích để chuyển tải chức năng nhằm duy trì dữ liệu từ logic kinh doanh thực trong các ứng dụng. Tuy nhiên, các nhà cung cấp đã nhanh chóng cải tiến các hệ thống này bằng cách nhúng chức năng phát triển phần mềm vào các sản phẩm cơ sở dữ liệu của họ để thu hút các nhà phát triển ứng dụng. Sự tích hợp này đã biến cơ sở dữ liệu từ kho lưu trữ dữ liệu đơn thuần thành các nền tảng toàn diện, kết hợp các ngôn ngữ lập trình và công cụ tinh vi để phát triển phần mềm hoàn chỉnh. Do đó, cơ sở dữ liệu đã phát triển thành các công cụ chuyển đổi mạnh mẽ, cho phép các chuyên gia dữ liệu triển khai logic kinh doanh bên ngoài các ứng dụng truyền thống. Nhu cầu về sự thay đổi này càng được khuếch đại hơn nữa bởi sự ra đời của các kho dữ liệu quy mô lớn, được thiết kế để hợp nhất lưu trữ dữ liệu phân tán — một vấn đề trở nên rõ rệt hơn với sự gia tăng của kiến trúc vi dịch vụ. Sự tiến bộ về công nghệ này đã khiến việc kết hợp logic kinh doanh với dữ liệu kinh doanh trong cơ sở dữ liệu trở nên thiết thực và hiệu quả.
Cuối cùng, không phải tất cả các kỹ sư phần mềm đều không chịu nổi sự cám dỗ của việc gộp logic ứng dụng của họ vào trong cơ sở dữ liệu, duy trì hy vọng về một sự phân tách rõ ràng hơn. Khi dữ liệu tiếp tục tăng về số lượng và độ phức tạp, các công cụ dữ liệu lớn như Hadoop và các công cụ kế thừa của nó đã xuất hiện, thậm chí thay thế cơ sở dữ liệu truyền thống ở một số khu vực. Sự thay đổi này mang đến cơ hội chuyển logic nghiệp vụ ra khỏi cơ sở dữ liệu và quay trở lại với các nhà phát triển ứng dụng. Tuy nhiên, khái niệm rằng kỹ thuật dữ liệu không chỉ bao gồm việc di chuyển và quản lý dữ liệu đã bắt nguồn từ lâu. Chúng tôi đã phát triển nhiều công cụ để hỗ trợ hoạt động kinh doanh thông minh, phân tích nâng cao và quy trình chuyển đổi phức tạp, cho phép triển khai logic kinh doanh phức tạp.
Các công cụ này đã trở thành thành phần không thể thiếu của ngăn xếp dữ liệu hiện đại (MDS), thiết lập kỹ thuật dữ liệu như một ngành riêng. MDS bao gồm một bộ công cụ toàn diện để xử lý và chuyển đổi dữ liệu, nhưng các công cụ này vẫn còn khá xa lạ với nhà phát triển ứng dụng hoặc kỹ sư phần mềm thông thường. Mặc dù có tiềm năng “lật ngược cơ sở dữ liệu” và di dời logic kinh doanh trở lại lớp ứng dụng, chúng tôi đã không nắm bắt được cơ hội này một cách trọn vẹn. Thực hành đáng tiếc là triển khai logic kinh doanh vẫn còn tồn tại với các kỹ sư dữ liệu cho đến ngày nay.
Hãy xác định chính xác hơn những gì “tất cả về việc di chuyển, thao tác và quản lý dữ liệu” liên quan đến.
Các kỹ sư dữ liệu có thể và nên cung cấp các công cụ và nền tảng trưởng thành nhất để các nhà phát triển ứng dụng sử dụng để xử lý dữ liệu. Đây cũng là ý tưởng chính với “nền tảng dữ liệu tự phục vụ” trong lưới dữ liệu. Tuy nhiên, trách nhiệm xác định và duy trì logic kinh doanh vẫn nằm trong phạm vi kinh doanh. Những người này hiểu rõ hơn về doanh nghiệp và logic chuyển đổi kinh doanh nào nên được áp dụng cho dữ liệu.
Được rồi, vậy thì những ý tưởng hay ho như hệ thống kho dữ liệu và tổng thể hơn thì sao? “vòng đời kỹ thuật dữ liệu” như định nghĩa của Joe Reis và Matt Housley?
[ad_2]
Source link