Điều hướng các Đường ống dữ liệu phân tán: Tổng quan và Hướng dẫn cho ...


Hoàng Loan
10 tháng trước
Hữu ích 2 Chia sẻ Viết bình luận 0
Đã xem 1685

Bài viết này được giới thiệu trong Hướng dẫn DZone mới về Dữ liệu lớn: Khối lượng, Đa dạng và Vận tốc. Nhận bản sao miễn phí của bạn cho các bài viết sâu sắc, số liệu thống kê ngành và nhiều hơn nữa!

Có hơn 10.000 doanh nghiệp trên toàn cầu dựa vào ngăn xếp dữ liệu được tạo thành từ nhiều hệ thống phân tán. Trong khi các doanh nghiệp này, trải rộng trên nhiều ngành dọc - tài chính, y tế, công nghệ và hơn thế nữa - xây dựng các ứng dụng trên một ngăn xếp dữ liệu lớn phân tán, một số không nhận thức đầy đủ về các thách thức quản lý hiệu suất thường phát sinh. Phần này sẽ cung cấp một cái nhìn tổng quan về ngăn xếp dữ liệu lớn hiện đại trông như thế nào, sau đó giải quyết các yêu cầu ở cả cấp độ ứng dụng riêng lẻ của các ngăn xếp này (cũng như các cụm và khối lượng công việc tổng thể) và khám phá loại kiến ​​trúc nào có thể cung cấp giải pháp tự động cho những môi trường phức tạp.

Ngăn xếp dữ liệu lớn và yêu cầu hiệu suất hoạt động

Các lĩnh vực như chăm sóc sức khỏe, genomics, dịch vụ tài chính, công nghệ tự lái, chính phủ và phương tiện truyền thông đang xây dựng các ứng dụng quan trọng trong nhiệm vụ được gọi là ngăn xếp dữ liệu lớn. Ngăn xếp dữ liệu lớn là duy nhất ở chỗ nó bao gồm nhiều hệ thống phân tán. Mặc dù mọi tổ chức khác nhau về cách họ triển khai công nghệ, ngăn xếp dữ liệu lớn ở hầu hết các doanh nghiệp đều trải qua quá trình phát triển sau:

  • ETL: Các hệ thống lưu trữ, chẳng hạn như HDFS, S3 và Azure Blob Store (ABS), chứa khối lượng lớn dữ liệu có cấu trúc, bán cấu trúc và không cấu trúc. Các công cụ xử lý phân tán, như MapReduce, đi vào để trích xuất, làm sạch và chuyển đổi dữ liệu.
  • BI: Các hệ thống SQL như Impala, Presto, LLAP, Drill, BigQuery, RedShift hoặc Azure SQL DW được thêm vào ngăn xếp; đôi khi bên cạnh các hệ thống SQL MPP đương nhiệm như Teradata và Vertica. So với các hệ thống MPP truyền thống, các hệ thống mới hơn đã được xây dựng để đối phó với dữ liệu được lưu trữ trong một hệ thống lưu trữ phân tán khác như HDFS, S3 hoặc ABS. Các hệ thống này cung cấp năng lượng cho các truy vấn SQL tương tác phổ biến trong khối lượng công việc BI.
  • Khoa học dữ liệu: Với sự trưởng thành liên tục của ngăn xếp dữ liệu lớn, nó bắt đầu mang lại khối lượng công việc khoa học dữ liệu nhiều hơn, thúc đẩy quá trình học máy và AI. Giai đoạn này thường là khi hệ thống phân tán Spark bắt đầu được sử dụng ngày càng nhiều.
  • Truyền dữ liệu: Theo thời gian, các doanh nghiệp bắt đầu hiểu tầm quan trọng của việc đưa ra các quyết định dựa trên dữ liệu trong thời gian gần, cũng như cách vượt qua các thách thức trong việc thực hiện chúng. Thông thường, tại thời điểm tiến hóa này, các hệ thống như Kafka, Cassandra và HBase được thêm vào ngăn xếp dữ liệu lớn để hỗ trợ các ứng dụng ăn và xử lý dữ liệu theo kiểu truyền phát liên tục.

Sự phát triển của ngăn xếp dữ liệu lớn trong một doanh nghiệp.

Với rất nhiều doanh nghiệp trên toàn thế giới đang chạy các ứng dụng trong sản xuất trên một ngăn xếp dữ liệu lớn phân tán (bao gồm ba hoặc nhiều hệ thống phân tán), các thách thức về hiệu suất không có gì đáng ngạc nhiên. Các ngăn xếp có nhiều bộ phận chuyển động, khiến cho rất khó để có được bất kỳ câu trả lời trong trường hợp có sự cố. Khi có sự cố, các tổ chức thường thấy mình phải vật lộn để hiểu những điều sau:

  • Thất bại: Điều gì khiến ứng dụng này bị lỗi và làm cách nào để khắc phục nó?
  • Bị kẹt: Ứng dụng này dường như đã đạt được rất ít tiến bộ trong giờ qua. Nó bị kẹt ở đâu?
  • Runaway: Ứng dụng này sẽ bao giờ kết thúc, hay nó sẽ kết thúc trong một khoảng thời gian hợp lý?
  • SLA: Ứng dụng này có đáp ứng SLA của nó không?
  • Thay đổi: Hành vi (ví dụ: hiệu suất, sử dụng tài nguyên) của ứng dụng này có khác nhiều so với trước đây không? Nếu vậy, theo cách nào và tại sao?
  • Rogue / nạn nhân: Ứng dụng này có gây ra sự cố trên cụm của tôi không hoặc hiệu suất của ứng dụng này có bị ảnh hưởng bởi một hoặc nhiều ứng dụng khác không?

Nhiều yêu cầu về hiệu suất hoạt động là cần thiết ở cấp độ "vĩ mô" so với cấp độ của các ứng dụng riêng lẻ. Bao gồm các:

  • Định cấu hình các chính sách phân bổ tài nguyên để đáp ứng SLA trong các cụm nhiều bên thuê.
  • Phát hiện các ứng dụng giả mạo có thể ảnh hưởng đến hiệu suất của các ứng dụng bị ràng buộc SLA thông qua nhiều tương tác tài nguyên cấp thấp.
  • Cấu hình hàng trăm cài đặt cấu hình mà các hệ thống phân tán nổi tiếng là phải có hiệu suất mong muốn.
  • Điều chỉnh phân vùng dữ liệu và bố trí lưu trữ.
  • Tối ưu hóa chi phí đô la trên đám mây.
  • Lập kế hoạch năng lực sử dụng phân tích dự đoán để tính toán tăng trưởng khối lượng công việc một cách chủ động.

Tổng quan về chiến lược quản lý hiệu suất

Kiến trúc của một nền tảng quản lý hiệu suất cho ngăn xếp dữ liệu lớn.

Đủ để nói, các ngăn xếp dữ liệu lớn phân tán đi kèm với nhiều thách thức cố hữu. Để giải quyết những thách thức này và chế ngự việc triển khai dữ liệu lớn phân tán cao, các tổ chức cần một cách tiếp cận để quản lý hiệu suất ứng dụng cung cấp tất cả các điều sau đây:

  • Bộ sưu tập ngăn xếp dữ liệu đầy đủ: Để trả lời các câu hỏi - chẳng hạn như, điều gì đã khiến ứng dụng này bị lỗi? Hay hoặc "ứng dụng này có bao giờ đáp ứng SLA của nó không?" - dữ liệu giám sát từ mọi cấp độ của ngăn xếp sẽ là cần thiết. Điều này bao gồm dữ liệu từ các truy vấn SQL, kế hoạch thực hiện, biểu đồ phụ thuộc đường ống dữ liệu và nhật ký từ cấp ứng dụng; phân bổ tài nguyên và số liệu thời gian chờ từ cấp quản lý và lập lịch tài nguyên; và CPU, bộ nhớ và số liệu sử dụng mạng thực tế từ cấp cơ sở hạ tầng, trong số các nguồn khác. Thu thập dữ liệu đó theo cách không xâm phạm hoặc chi phí thấp từ các cụm sản xuất vẫn là một thách thức kỹ thuật lớn, nhưng thách thức này đang được giải quyết bởi cộng đồng cơ sở dữ liệu và hệ thống.
  • Xử lý dữ liệu theo hướng sự kiện: Các ngăn dữ liệu lớn có thể bao gồm hơn 500 nút và chạy hàng trăm nghìn ứng dụng mỗi ngày trên các hệ thống ETL, BI, khoa học dữ liệu và hệ thống truyền phát. Những triển khai này tạo ra hàng chục terabyte nhật ký và số liệu mỗi ngày. Dữ liệu này giới thiệu hai thách thức độc đáo - đa dạng và nhất quán - được nêu rõ hơn dưới đây. Để giải quyết hai vấn đề này, lớp xử lý dữ liệu phải dựa trên các thuật toán xử lý theo sự kiện có đầu ra hội tụ đến cùng trạng thái cuối cùng, bất kể tính kịp thời và thứ tự mà dữ liệu giám sát xuất hiện. Người dùng cuối sẽ có được những hiểu biết tương tự bất kể tính kịp thời và thứ tự mà dữ liệu giám sát đến.
  • Thách thức về tính đa dạng: Dữ liệu giám sát được thu thập từ ngăn xếp dữ liệu lớn bao gồm toàn bộ phổ từ các bản ghi không cấu trúc đến các DAG phụ thuộc đường ống dữ liệu bán cấu trúc đến các số liệu chuỗi thời gian có cấu trúc. Ghép dữ liệu này lại với nhau để tạo ra các biểu diễn có ý nghĩa và có thể sử dụng được về hiệu suất ứng dụng là một thách thức không cần thiết.
  • Thách thức tính nhất quán: Dữ liệu giám sát phải được thu thập độc lập và theo thời gian thực từ các bộ phận chuyển động khác nhau của nhiều hệ thống phân tán bao gồm ngăn xếp dữ liệu lớn. Do đó, không có giả định nào trước đây có thể được đưa ra về tính kịp thời hoặc thứ tự mà dữ liệu giám sát đến lớp xử lý.
  • Những hiểu biết dựa trên máy học và hành động dựa trên chính sách: Cho phép tất cả dữ liệu giám sát được thu thập và lưu trữ ở một nơi sẽ mở ra những cơ hội thú vị để áp dụng phân tích thống kê và thuật toán học tập cho dữ liệu này. Các thuật toán này có thể tạo ra những hiểu biết mà đến lượt nó, người dùng có thể áp dụng thủ công hoặc tự động dựa trên các chính sách được định cấu hình để giải quyết các yêu cầu về hiệu suất được xác định trước đó.

Phần kết luận

Ngăn xếp dữ liệu lớn hiện đại phải đối mặt với nhiều thách thức quản lý hiệu suất độc đáo. Những thách thức này tồn tại ở cấp ứng dụng riêng lẻ, cũng như ở cấp độ khối lượng công việc và cụm. Để giải quyết các vấn đề này ở mọi cấp độ, chiến lược quản lý hiệu suất cần cung cấp bộ sưu tập dữ liệu ngăn xếp đầy đủ, xử lý dữ liệu theo sự kiện và hiểu biết dựa trên AI và các hành động dựa trên chính sách. Khi các tổ chức tìm cách khai thác ngày càng nhiều hơn từ kho dữ liệu lớn của họ - bao gồm cả việc sử dụng trí tuệ nhân tạo và học máy - điều bắt buộc là họ phải áp dụng phương pháp quản lý hiệu suất cung cấp các trụ cột chính này.

Bài viết này được giới thiệu trong Hướng dẫn DZone mới về Dữ liệu lớn: Khối lượng, Đa dạng và Vận tốc. Nhận bản sao miễn phí của bạn cho các bài viết sâu sắc, số liệu thống kê ngành và nhiều hơn nữa!

Hữu ích 2 Chia sẻ Viết bình luận 0
Đã xem 1685