Bài viết gốc được đăng tải vào tháng 5 năm 2019 tại Onica.com/blog
Mọi người都知道 tiềm năng của big data, nhưng đối với một số doanh nghiệp, dữ liệu và phân tích vẫn tồn tại trong thế giới legacy (hệ thống cũ). Đây là thế giới của dữ liệu có cấu trúc (structured data) được lưu trữ trong server on-premises và phân tích bằng phần mềm độc quyền (proprietary software).
Đối với các tổ chức muốn chuyển về các phương pháp thân thiện hơn với big data, thế giới cũ này khiến việc chuyển đổi trở nên thách thức. Tuy nhiên, sự biến đổi của data engineering (kỹ thuật dữ liệu) trong những năm qua đã sâu sắc đến mức các tổ chức không sử dụng các phương pháp và công nghệ mới đang bỏ lỡ những lợi ích kinh doanh lớn. Với điều đó trong tâm trí, quan trọng là cần nhìn lại data engineering và cách bạn có thể sử dụng nó để thành công trong kinh doanh.
Data Engineering (Kỹ thuật dữ liệu) là gì?
Định nghĩa của data engineering không thay đổi nhiều qua các năm. Tuy nhiên, nền tảng và công cụ đã chuyển đổi đáng kể. Cốt lõi của data engineering là nền tảng hỗ trợ data science và analytics thông qua kiến thức rộng về công nghệ dữ liệu, quản trị dữ liệu (data governance) và bảo mật phù hợp, và sự hiểu biết mạnh mẽ về xử lý dữ liệu (data processing).
Mặc dù các công nghệ truyền thống như database quan hệ (relational) và giao dịch (transactional) vẫn có chỗ đứng trong kiến trúc Big Data, những người mới đến hiện trường đã tạo ra sự đổi mới trong không gian này. Khi nói đến data engineering, AWS® đã thay đổi cuộc chơi. Một số sản phẩm chính bao gồm:
Amazon® DynamoDB®: Amazon DynamoDB là database NoSQL® cung cấp lựa chọn thay thế cho database quan hệ bằng cách cho phép bạn sử dụng nhiều mô hình dữ liệu, bao gồm document, graph, key-value, memory, và search. Điều này tạo ra database có khả năng mở rộng, linh hoạt, hiệu suất cao, và chức năng cao cho các workload hiện đại.
Apache® Hadoop®: Apache Hadoop là dịch vụ mã nguồn mở (open-source) bạn có thể dùng để xử lý tập dữ liệu lớn bằng cách tận dụng clustering (cụm). Hadoop có hệ sinh thái công cụ đầy đủ có thể đáp ứng nhu cầu workload. Hadoop có thể chạy trên AWS bằng Amazon Elastic MapReduce (EMR), đơn giản hóa quản lý cụm khi chạy Hadoop và các ứng dụng liên quan trong Hadoop Ecosystem.
Amazon EMR: Công cụ quản lý hệ sinh thái Hadoop trên AWS, EMR giúp dễ dàng xử lý dữ liệu hiệu quả về chi phí trên các instance Amazon Elastic Compute Cloud® (Amazon EC2). Amazon EMR cũng cho phép chạy các framework phân tán khác như Apache Spark® và HBase®, và cho phép tương tác với các data store AWS như Amazon Simple Storage Service Amazon S3 và Amazon DynamoDB.
Amazon Redshift: Một data warehouse nhanh, có khả năng mở rộng, Amazon Redshift giúp đơn giản hóa việc mở rộng truy vấn đến data lake của bạn. Bằng cách sử dụng machine learning, thực thi truy vấn song song (parallel query execution), và lưu trữ cột (columnar storage), Amazon Redshift mang lại hiệu suất nhanh gấp mười lần so với data warehouse khác.
AWS Glue: AWS Glue là dịch vụ extract, transform, and load (ETL) được quản lý hoàn toàn (fully managed) giúp khách hàng dễ dàng chuẩn bị và tải dữ liệu cho phân tích. Sau khi được catalog (mục lục), dữ liệu của bạn ngay lập tức có thể tìm kiếm, truy vấn, và sẵn sàng cho ETL.
Amazon Athena: Amazon Athena là dịch vụ truy vấn tương tác (interactive query service) giúp dễ dàng phân tích dữ liệu trong Amazon S3 bằng SQL® tiêu chuẩn. Nó cũng tích hợp với AWS Glue Data Catalog, cho phép bạn tạo kho metadata thống nhất (unified metadata repository) trên nhiều dịch vụ, crawl (duyệt) các nguồn dữ liệu để khám phá schema, điền Catalog với định nghĩa bảng và partition mới và đã sửa đổi, và duy trì versioning schema.
Giống như mọi thứ khác, chìa khóa là tìm đúng thành phần cho công việc, về định dạng và mô hình, đáp ứng nhu cầu bảo mật dữ liệu của tổ chức bạn.
Data Engineering với AWS: Ví dụ khách hàng
Một ví dụ mạnh mẽ về điều này đến từ một khách hàng của chúng tôi đang đẩy dữ liệu qua hệ thống báo cáo hàng tháng. Mặc dù báo cáo cung cấp cho khách hàng những thứ cụ thể họ cần, họ không nhận được giá trị thêm từ kho dữ liệu phong phú họ đã thu thập. Là một phần của sự hợp tác, chúng tôi đã xây dựng một data lake với pipeline tự động và kiểm tra dữ liệu tích hợp sẵn cho xử lý, nơi dữ liệu đi qua trước khi được gửi đến hệ thống báo cáo.
Bằng cách thêm thành phần này vào kiến trúc dữ liệu, khách hàng không chỉ bảo toàn hệ thống báo cáo của họ mà còn thêm khả năng và quyền truy cập lớn hơn vào tập dữ liệu gốc, cho phép họ trả lời các câu hỏi ad hoc về quản lý chi phí và lợi nhuận. Điều này chứng minh rằng trong khi nhiều công ty sử dụng dữ liệu và phân tích trong kinh doanh hàng ngày, tích hợp đúng công cụ, đặc biệt là công nghệ và công cụ mới hơn, có thể cho phép bạn tận dụng dữ liệu để đạt kết quả lớn hơn.
Triển khai xử lý dữ liệu (Implementing data processing)
Không đủ chỉ có các thành phần kiến trúc dữ liệu đúng nếu bạn đang tìm cách tận dụng data engineering — bạn cũng phải có nền tảng mạnh mẽ trong xử lý dữ liệu. Xử lý dữ liệu không chỉ bao gồm việc di chuyển dữ liệu qua vòng đời dữ liệu của nó mà còn tối ưu hóa dữ liệu thông qua kiểm tra chất lượng và kỹ thuật làm sạch dữ liệu xấu (bad data).
Có lẽ phần quan trọng nhất của xử lý dữ liệu là nạp dữ liệu (data ingestion). Mặc dù cốt lõi của nó, data ingestion chỉ là việc di chuyển dữ liệu từ điểm xuất phát đến hệ thống lưu trữ, nhưng có một vài cách để thực hiện việc này. Data ingestion hoạt động tốt nhất khi được tự động hóa vì nó cho phép cập nhật dữ liệu bảo trì thấp (low maintenance) để đạt độ tươi mới tối ưu. Nó cũng có thể liên tục và real-time thông qua streaming data pipelines, hoặc bất đồng bộ (asynchronous) qua batch processing, hoặc thậm chí cả hai. Quyết định về phương pháp ingestion nào để sử dụng phụ thuộc vào loại dữ liệu được nạp, nguồn, và đích. AWS cung cấp các phương pháp ingestion dữ liệu riêng, bao gồm dịch vụ như Amazon Kinesis Firehose (cung cấp streaming real-time được quản lý hoàn toàn) đến Amazon S3 và AWS Snowball (cho phép di chuyển hàng loạt lưu trữ on-premises và cụm Hadoop) đến Amazon S3 và AWS Storage Gateway (tích hợp nền tảng xử lý dữ liệu on-premises với data lake dựa trên Amazon S3).
Nếu bạn đang làm việc với database quan hệ, một phần khác của ingestion này là extraction, transformation, and loading (ETL). Xử lý ETL làm sạch dữ liệu bằng cách deduplicating (khử trùng lặp), cũng như làm sạch và gắn cờ bad data và biến đổi nó để phù hợp với định dạng của database. Điều này có thể thực hiện qua các ngôn ngữ như Python, Java, hoặc Scala trong khi sử dụng framework như Spark hoặc Flink và là chìa khóa để cải thiện chất lượng dữ liệu.
Không quan trọng loại database nào bạn dùng, một chương trình chất lượng dữ liệu (data quality program) mạnh mẽ là quan trọng để đảm bảo dữ liệu kết quả chính xác và đáng tin cậy. Điều này có nghĩa là xác định và đặt vai trò cho quyền truy cập dữ liệu thông qua công cụ như AWS Identity and Access Management (IAM), thực thi quy trình chuẩn hóa và đối chiếu (reconciliation), và thiết lập kiểm tra chất lượng để duy trì toàn vẹn dữ liệu. Mặc dù chất lượng dữ liệu không phải khái niệm mới, nhưng tài nguyên có sẵn để thúc đẩy chất lượng dữ liệu là mới. Thông qua công cụ dữ liệu hiện đại, đội ngũ của chúng tôi đã tạo báo cáo chất lượng dữ liệu tự động cho một khách hàng. Điều này liên quan đến so sánh định kỳ, theo lịch trình của dữ liệu từ hệ thống nguồn với các hệ thống downstream đi đến bảng điều khiển báo cáo (reporting dashboard), cho phép insights (thông tin chi tiết) chưa từng có về chất lượng dữ liệu rời khỏi hệ thống và xác định chủ động lỗi hoặc mất mát chất lượng, cho phép sửa lỗi trước khi có khiếu nại từ người tiêu dùng dữ liệu.
Tận dụng Big Data cho thành công hiện tại và tương lai
Có lẽ điều rõ ràng nhất khi phân tích các thay đổi này trong data engineering không chỉ là quy trình đã thay đổi mà nó tiếp tục thay đổi. Khi nó làm vậy, quan trọng là cân nhắc hàm ý của các thay đổi này đối với chính sách dữ liệu kinh doanh của bạn và cách sử dụng các thay đổi này để cải thiện thành công kinh doanh. Thay đổi trong dữ liệu và phân tích không chỉ ảnh hưởng đến kiến trúc và công cụ mà còn tạo ra các hệ thống và tư duy mới về việc sử dụng dữ liệu.
Mặc dù nỗ lực dữ liệu và phân tích trước đây xảy ra khi hoàn thành dự án hoặc như một bước tiếp theo của nỗ lực kinh doanh, giờ đây quy chuẩn là làm việc với dữ liệu tự động và liên tục. Điều này có thể thực hiện thông qua các công cụ cải thiện kiến trúc dữ liệu, như Amazon S3, Amazon DynamoDB, và pipeline nạp dữ liệu, cũng như thông qua phương pháp luận và quy trình thay đổi cách chúng ta giám sát và tiêu thụ dữ liệu, như machine learning và bảng điều khiển dữ liệu tự động. Doanh nghiệp giờ đây có thể giữ dữ liệu lâu hơn mà không lãng phí không gian lưu trữ hoặc tiền, dễ dàng tự động hóa làm sạch dữ liệu để đảm bảo dữ liệu được bảo quản tốt (well-curated) và dễ dàng khám phá, và có thể truy cập real-time, cung cấp lợi thế cạnh tranh cho những người triển khai các dịch vụ này trong kiến trúc dữ liệu của họ.
Sử dụng tab Feedback để đưa ra bất kỳ nhận xét hoặc đặt câu hỏi. Bạn cũng có thể nhấp vào Sales Chat để trò chuyện ngay và bắt đầu cuộc hội thoại.