Khi SQL không đủ: Điều khiển cho các trung tâm dữ liệu mới lớn

Tác Giả: Judy Howell
Ngày Sáng TạO: 3 Tháng BảY 2021
CậP NhậT Ngày Tháng: 1 Tháng BảY 2024
Anonim
Khi SQL không đủ: Điều khiển cho các trung tâm dữ liệu mới lớn - Công Nghệ
Khi SQL không đủ: Điều khiển cho các trung tâm dữ liệu mới lớn - Công Nghệ

NộI Dung



Lấy đi:

Các nhà phát triển và kỹ sư cần liên tục làm việc để tăng tốc và cải thiện các dịch vụ trên các nền tảng đã phát triển vượt xa các nguyên mẫu cổ điển của những năm 1990.

Với tất cả những tin đồn về các trung tâm dữ liệu khổng lồ của NSA đang nắm giữ các bit dữ liệu về cuộc sống riêng tư của chúng tôi, có một điều đã được nói đến rất nhiều, ít nhất là trên CNN. Nó liên quan đến một vấn đề kỹ thuật đã xuất hiện cùng với công nghệ đám mây, dữ liệu lớn và các trung tâm lưu trữ dữ liệu vật lý ấn tượng hiện đang được xây dựng trên toàn thế giới. Vậy đo la cai gi? Chà, bất kể ai quản trị một trong những hệ thống CNTT của voi ma mút điều hành các cơ sở này, cần có hệ thống phần mềm giúp tất cả dữ liệu đó vào và ra khỏi đường ống một cách nhanh chóng. Nhu cầu đó đại diện cho một trong những câu hỏi hoặc câu đố CNTT thú vị nhất đối với các chuyên gia hiện nay.


Như nhiều chuyên gia chỉ ra, ngày nay, nhu cầu xử lý dữ liệu cực lớn của Vượt xa các phương pháp truyền thống. Nói một cách đơn giản, sử dụng các cấu trúc và công cụ cơ sở dữ liệu đơn giản như giao diện truy vấn SQL sẽ không cung cấp đủ sức mạnh xử lý hoặc chức năng cho các hệ thống độc quyền đã phát triển trong vài năm qua. Tài liệu lưu trữ của các công ty công nghệ lớn ngày nay cần một công nghệ cực kỳ mở rộng. Họ cần các công cụ xử lý dữ liệu có thể nhập và xuất kết quả với khối lượng cao hơn nhiều so với những gì một máy chủ có thể tạo điều kiện. Họ cần các giải pháp có thể nhanh chóng được tăng cường để phát triển, các giải pháp bao gồm mức độ thông minh nhân tạo phức tạp, các giải pháp được thiết kế để quản lý dễ dàng bởi bộ phận CNTT.

Câu hỏi là, làm thế nào để các công ty và cơ quan chính phủ chinh phục những hạn chế của con đường xử lý dữ liệu truyền thống? Ở đây hãy xem một lựa chọn rất hứa hẹn: Phần mềm xử lý dữ liệu lớn và quản trị nhiều trung tâm dữ liệu.


Hệ thống tệp của Google: Một nghiên cứu lớn

Công nghệ độc quyền mà Google sử dụng để truy cập các trung tâm dữ liệu của mình là một trong những ví dụ tốt nhất về các mô hình phổ biến để xử lý dữ liệu lớn và quản trị nhiều trung tâm dữ liệu. Hệ thống tệp của Google (GFS), được phát triển vào năm 2003, được thiết kế để hỗ trợ khối lượng lớn các sửa đổi tốc độ cao cho các hệ thống dữ liệu là một phần của việc nhận được rất nhiều thông tin mới vào và ra khỏi một nền tảng khi hàng triệu người dùng nhấp vào cùng lúc. Các chuyên gia coi đây là một hệ thống tệp phân tán và sử dụng thuật ngữ "lưu trữ đối tượng dữ liệu" để mô tả các kỹ thuật rất phức tạp này. Tuy nhiên, trên thực tế, những thuật ngữ này không có gì khó hiểu, thậm chí còn làm trầy xước bề mặt về mặt mô tả những gì mà tại nơi làm việc.

Cá nhân, các tính năng và thành phần tạo nên một hệ thống như GFS có thể không còn đột phá nữa, nhưng chúng rất phức tạp. Nhiều người trong số họ đã được đưa vào trang web này như là những cải tiến tương đối mới là một phần nền tảng cho một hệ thống CNTT toàn cầu mới, luôn luôn kết nối, luôn được kết nối. Nói chung, một hệ thống như GFS không chỉ là tổng số các bộ phận của nó: nó có một mạng lưới vô cùng phức tạp nhưng vô cùng phức tạp với các phần dữ liệu riêng lẻ bị ném theo cách này và trong một quy trình, nếu được mô hình hóa hoàn toàn, trông giống như hỗn loạn. Hiểu nơi tất cả các dữ liệu sẽ mất rất nhiều năng lượng và cam kết, vì những người quản lý các trạm chiến đấu của các hệ thống này sẽ dễ dàng thừa nhận.

"Có quá nhiều chi tiết có tác động sâu sắc đến các lĩnh vực có thể sử dụng - bao gồm phân mảnh bên ngoài và bên trong, cập nhật dựa trên nhật ký và tại chỗ và mức độ nhất quán của giao dịch - để tóm tắt cách thức hoạt động trong một câu ngắn gọn duy nhất , "Momchil Michailov, CEO và đồng sáng lập của Sanbolic nói.

"Hệ thống tệp phân tán là tập hợp phân tán của không gian tên cục bộ và không gian trống của các nút tham gia hoặc hệ thống tệp cục bộ chạy trên nhiều nút truy cập vào bộ lưu trữ chia sẻ với sự trợ giúp của thành phần quản lý khóa phân tán", ông nói.

Kerry Lebel là giám đốc sản phẩm cao cấp tại Automic, một công ty nổi tiếng với các nền tảng tự động hóa có thể mở rộng. Lebel nói rằng trong khi nó chính xác để mô tả một DFS như một hệ thống chỉ đơn giản là gán khối lượng công việc cho các máy chủ gắn liền với các phần cứng giá rẻ, thì điều đó thực sự đã nói lên toàn bộ câu chuyện.

Không lỗi, không căng thẳng - Hướng dẫn từng bước của bạn để tạo ra phần mềm thay đổi cuộc sống mà không phá hủy cuộc sống của bạn

Bạn không thể cải thiện kỹ năng lập trình của mình khi không ai quan tâm đến chất lượng phần mềm.

"Những gì bạn cuối cùng bị thiếu là tất cả các yếu tố tuyệt vời của làm sao họ làm những gì họ làm, "Lebel nói.

Khi bạn rời khỏi các chi tiết kỹ thuật và chỉ nghĩ về ý tưởng cơ bản đằng sau hệ thống tệp phân tán, "yếu tố tuyệt vời" mà Lebel nói đến là điều hiển nhiên. Các hệ thống xử lý dữ liệu lớn này thay thế các hệ thống tệp / thư mục cũ bằng các cấu trúc không chỉ liên quan đến nhiều hệ thống phân phối, mà còn là cách tiếp cận "hướng đối tượng", trong đó một số lượng lớn các đơn vị được đánh đắm ở đây và ở đó để ngăn chặn tắc nghẽn.

Ví dụ, hãy nghĩ về một hệ thống đường cao tốc tối tân, nơi hàng trăm ngàn chiếc ô tô không chỉ được đưa xuống một đường thẳng, mà còn được đưa vào các nhánh cỏ ba lá hoặc oxbow gọn gàng, được quay xung quanh và gửi đi về phía điểm đến của họ trên một loạt các đường vòng. Từ trên trời, mọi thứ trông như được biên đạo như một chiếc đồng hồ Thụy Sĩ. Đó là loại mô hình trực quan mà các kỹ sư nhìn vào khi họ mơ ước những cách mới để định tuyến thông tin xung quanh các hạn chế bằng cách "đưa" nó đến các cấp khác nhau của lược đồ ngăn chặn dữ liệu nhiều tầng. Bỏ qua các thông số kỹ thuật, đây là mục tiêu cấp cao nhất của hệ thống xử lý: giữ cho các đối tượng độc lập đó với siêu dữ liệu nhúng của chúng di chuyển với tốc độ cao nhất đến nơi cần đến, để đạt được mục tiêu nhất quán, đáp ứng người dùng cuối hoặc thậm chí để thông báo một quan sát hoặc phân tích cấp cao nhất.

Nhìn vào công nghệ cốt lõi

Một bài viết của Sean Gallagher xuất hiện trên Ars Technica đã phá vỡ thiết kế GFS thành các phần dễ quản lý hơn và gợi ý về những gì mà bên dưới tờ trên Google.

GFS bắt đầu với một mô hình dự phòng và chịu lỗi cho việc đọc và ghi dữ liệu. Ý tưởng ở đây là thay vì viết một bản cập nhật cụ thể cho một ổ đĩa, các hệ thống mới sẽ ghi các khối dữ liệu vào nhiều đích. Bằng cách đó, nếu một lần viết thất bại, những người khác sẽ vẫn còn. Để phù hợp với điều này, một thành phần mạng chính sẽ xử lý dữ liệu cho các đơn vị trực thuộc khác, tổng hợp lại dữ liệu khi khách hàng "gọi" cho nó. Tất cả điều này được thực hiện bởi một giao thức siêu dữ liệu giúp xác định nơi các bản cập nhật và kết quả truyền nhất định nằm trong hệ thống lớn hơn.

Một khía cạnh rất quan trọng khác của việc này là làm thế nào các hệ thống nặng trùng lặp này thực thi tính nhất quán dữ liệu. Như Gallagher lưu ý, thiết kế GFS hy sinh tính nhất quán trong khi vẫn "thực thi nguyên tử" hoặc bảo vệ nguyên tắc làm thế nào dữ liệu được cập nhật trên nhiều đơn vị lưu trữ để khớp với nhau theo thời gian. "Mô hình nhất quán thoải mái" của Google dường như tuân theo lý thuyết thiết yếu của mô hình BASE, cung cấp sự linh hoạt hơn để đổi lại khung thời gian dài hơn để thực thi tính nhất quán.

Làm thế nào để các hệ thống lớn khác đạt được điều này?

"Khi đạt được quy mô đủ lớn, sự không nhất quán hoặc hỏng dữ liệu trở nên không thể tránh khỏi", Michailov nói. "Do đó, mục tiêu chính của các hệ thống tệp phân tán phải là khả năng thực hiện càng nhiều hoạt động càng tốt khi có tham nhũng, đồng thời cung cấp các phương pháp hiệu quả để đối phó với tham nhũng." Michailov cũng đề cập đến sự cần thiết phải duy trì hiệu suất thông qua việc thực hiện cẩn thận dự phòng.

"Ví dụ: tạo siêu dữ liệu (dữ liệu về dữ liệu) trên mỗi đĩa cho phép đĩa đó xây dựng lại cấu trúc dữ liệu phù hợp nếu bản sao nhân bản của nó bị hỏng", Michailov nói. "Ngoài ra, các cấp RAID có thể được sử dụng để chống lại lỗi lưu trữ ở cả trình tổng hợp hệ thống tệp hoặc các cấp quản lý âm lượng được chia sẻ."

Khi thảo luận về một mô hình nhất quán khác, Lebel tập trung vào một hệ thống gọi là hệ thống tệp phân tán Hadoop (HDFS), mà ông gọi là "tiêu chuẩn thực tế công nghiệp".

Trong HDFS, Lebel cho biết, mỗi khối dữ liệu được sao chép ba lần trên các nút khác nhau và trên hai giá đỡ khác nhau. Dữ liệu được kiểm tra từ đầu đến cuối. Lỗi được báo cáo cho NameNode, một trình xử lý dữ liệu loại bỏ các khối bị hỏng và tạo các khối mới.

Tất cả điều này hỗ trợ các loại "dữ liệu sạch" rất quan trọng đối với tính toàn vẹn của một trong những hệ thống dữ liệu hàng loạt này.

Duy trì DFS

Một cái nhìn rất khác về GFS xuất phát từ một bài báo tháng 10 năm 2012 của nhà văn Wired, Steven Levy. Nó đặc biệt hơn nhiều trong việc mô tả cách tiếp cận phần mềm để xử lý mạng từ trên xuống tập thể của Google.

"Qua nhiều năm," Levy viết, "Google cũng đã xây dựng một hệ thống phần mềm cho phép nó quản lý vô số máy chủ của mình như thể chúng là một thực thể khổng lồ. Các nhà phát triển nội bộ của nó có thể hoạt động như những bậc thầy bù nhìn, điều khiển hàng ngàn máy tính để thực hiện nhiệm vụ dễ dàng như chạy một máy đơn lẻ. "

Làm điều này cũng liên quan đến hàng tấn bảo trì môi trường và dựa trên mạng, từ các nhóm thử nghiệm chuyên dụng đang cố gắng "phá vỡ" hệ thống máy chủ, đến nhiệt độ được kiểm soát cẩn thận trên các sảnh của mật mã dữ liệu.

Levy cũng đề cập đến các công nghệ bổ sung cho GFS, như MapReduce, một công cụ ứng dụng đám mây và Hadoop, một công cụ phân tích chia sẻ một số nguyên tắc thiết kế với GFS. Các công cụ này có tác động riêng của chúng đến cách các hệ thống xử lý trung tâm dữ liệu lớn được thiết kế và những gì có khả năng xuất hiện trong tương lai. (Tìm hiểu thêm về các công nghệ này trong Sự phát triển của dữ liệu lớn.)

Michailov tin rằng MapReduce có tiềm năng hỗ trợ các hệ thống trung tâm dữ liệu lớn hơn bao giờ hết và nói về một "triển khai duy nhất" các hệ thống tệp được chia sẻ và tổng hợp có thể "giữ các nút tên của hệ thống tệp tổng hợp trong một cụm chia sẻ với SSD để lưu trữ . "

Về phần mình, Lebel nhận thấy việc chuyển từ xử lý hàng loạt (phương pháp được Hadoop hỗ trợ) sang xử lý luồng, điều này sẽ đưa các hoạt động dữ liệu này đến gần hơn với thời gian thực.

"Chúng tôi có thể xử lý dữ liệu nhanh hơn và cung cấp dữ liệu cho những người ra quyết định kinh doanh hoặc cho khách hàng của chúng tôi, sẽ càng có lợi thế cạnh tranh", Lebel, người cũng đề nghị thay thế thuật ngữ xử lý ở trên bằng các thuật ngữ tập trung vào người dùng cuối. Bằng cách suy nghĩ về các hoạt động "đồng bộ" hoặc các hoạt động được đồng bộ hóa với các hành động của người dùng cuối và các hoạt động "không đồng bộ" linh hoạt hơn về mặt triển khai, Lebel cho biết các công ty có thể sử dụng SLA và các tài nguyên khác để xác định cách thức hoạt động của một hệ thống dịch vụ cụ thể. .

Điều mà tất cả những điều này rút ra, theo một nghĩa nào đó, là các nhà phát triển và kỹ sư cần liên tục làm việc để tăng tốc và cải thiện các dịch vụ trên các nền tảng đã phát triển vượt xa các nguyên mẫu cổ điển của những năm 1990. Điều đó có nghĩa là xem xét nghiêm túc bộ máy dữ liệu và vượt qua các nút thắt cổ chai theo cách không chỉ hỗ trợ dân số ngày càng tăng, mà sự thay đổi theo cấp số nhân xảy ra ở tốc độ chóng mặt mà các học giả đang gọi là "cuộc cách mạng công nghiệp tiếp theo". Nó có khả năng rằng những người đột phá nhất trên các mặt trận này sẽ kết thúc thống trị trong các thị trường và nền kinh tế trong tương lai.