Amazon RedShift có thay thế Hadoop cho dữ liệu ~ 1XTB không?


12

Có rất nhiều sự cường điệu xung quanh Hadoop và hệ sinh thái của nó. Tuy nhiên, trong thực tế, nơi có nhiều bộ dữ liệu nằm trong phạm vi terabyte, liệu có hợp lý hơn khi sử dụng Amazon RedShift để truy vấn các bộ dữ liệu lớn, thay vì dành thời gian và nỗ lực xây dựng cụm Hadoop?

Ngoài ra, Amazon Redshift so sánh với Hadoop như thế nào về thiết lập độ phức tạp, chi phí và hiệu suất?


Bạn có nghĩa là Hadoop hay bạn có nghĩa là một đối tác cụ thể của Redshift, như Impala?
Sean Owen

@SeanOwen trong câu hỏi của tôi, tôi đã đề cập đến Apache Hadoop. Mặc dù sẽ rất thú vị khi thực hiện so sánh Impala.
trienism

Câu trả lời:


12

tl; dr: Chúng khác nhau rõ rệt về nhiều mặt và tôi không thể nghĩ Redshift sẽ thay thế Hadoop.

-Chức năng
Bạn không thể chạy bất cứ thứ gì ngoài SQL trên Redshift. Có lẽ quan trọng nhất, bạn không thể chạy bất kỳ loại chức năng tùy chỉnh nào trên Redshift. Trong Hadoop bạn có thể, sử dụng nhiều ngôn ngữ (Java, Python, Ruby .. bạn đặt tên cho nó). Ví dụ, NLP trong Hadoop rất dễ, trong khi điều đó ít nhiều không thể xảy ra trong Redshift. Tức là có rất nhiều thứ bạn có thể làm trong Hadoop nhưng không phải trên Redshift. Đây có lẽ là sự khác biệt quan trọng nhất.

Thực
thi truy vấn hồ sơ -Performance trên Redshift trong hầu hết các trường hợp hiệu quả hơn đáng kể so với trên Hadoop. Tuy nhiên, hiệu quả này đến từ việc lập chỉ mục được thực hiện khi dữ liệu được tải vào Redshift (Tôi đang sử dụng thuật ngữ indexingrất lỏng lẻo ở đây). Do đó, thật tuyệt nếu bạn tải dữ liệu của mình một lần và thực hiện nhiều truy vấn, nhưng nếu bạn chỉ muốn thực hiện một truy vấn, thì thực tế bạn có thể mất hiệu suất tổng thể.

-Cost Hồ sơ
Giải pháp nào thắng chi phí phụ thuộc vào tình huống (như hiệu suất), nhưng bạn có thể cần khá nhiều truy vấn để làm cho nó rẻ hơn Hadoop (cụ thể hơn là Bản đồ đàn hồi của Amazon). Ví dụ: nếu bạn đang thực hiện OLAP, rất có thể Redshift sẽ rẻ hơn. Nếu bạn thực hiện các đợt ETL hàng ngày, Hadoop có nhiều khả năng ra giá rẻ hơn.

Phải nói rằng, chúng tôi đã thay thế một phần ETL của chúng tôi đã được thực hiện trong Hive to Redshift, và đó là một trải nghiệm khá tuyệt vời; Chủ yếu là để dễ phát triển. Công cụ truy vấn của Redshift dựa trên PostgreSQL và rất chín chắn, so với Hive. Các đặc tính ACID của nó giúp dễ dàng suy luận về nó hơn và thời gian phản hồi nhanh hơn cho phép thực hiện nhiều thử nghiệm hơn. Đó là một công cụ tuyệt vời để có, nhưng nó sẽ không thay thế Hadoop.

EDIT : Đối với độ phức tạp của thiết lập, tôi thậm chí sẽ nói rằng nó dễ dàng hơn với Hadoop nếu bạn sử dụng EMR của AWS. Các công cụ của họ rất thành thục đến nỗi thật dễ dàng để công việc Hadoop của bạn hoạt động. Các công cụ và cơ chế xung quanh hoạt động của Redshift chưa trưởng thành. Ví dụ, Redshift không thể xử lý tải nhỏ giọt và do đó bạn phải tìm ra thứ gì đó biến nó thành tải theo đợt, điều này có thể gây thêm một số phức tạp cho ETL của bạn.


2
easier to develop because of Redshift's maturitymâu thuẫn với Redshift isn't that mature yetbản án của bạn là gì?
M. Mimpen

@ M.Mimpen: Câu trả lời được chỉnh sửa để cụ thể hơn
Enno Shioji

5

Giới hạn kích thước hiện tại cho Amazon Redshift là 128 nút hoặc 2 PB dữ liệu nén. Có thể là khoảng 6PB không nén mặc dù số dặm thay đổi để nén. Bạn luôn có thể cho chúng tôi biết nếu bạn cần thêm. anurag @ aws (Tôi chạy Amazon Redshift và Amazon EMR)


3

Cá nhân, tôi không nghĩ rằng việc thiết lập một cụm hadoop rất khó khăn, nhưng tôi biết rằng đôi khi thật đau đớn khi bạn bắt đầu.

Giới hạn kích thước HDFS vượt quá TB (hoặc ý bạn là exabyte?). Nếu tôi không nhầm nó sẽ chia tỷ lệ thành yottabyte hoặc một số phép đo khác mà tôi thậm chí không biết từ này. Dù nó là gì, nó thực sự lớn.

Các công cụ như Redshift có vị trí của chúng, nhưng tôi luôn lo lắng về các giải pháp cụ thể của nhà cung cấp. Mối quan tâm chính của tôi luôn là "tôi phải làm gì khi không hài lòng với dịch vụ của họ?" - Tôi có thể truy cập google và chuyển công việc phân tích của mình sang mô hình của họ hoặc tôi có thể truy cập hadoop và chuyển công việc tương tự vào hệ thống đó. Dù bằng cách nào, tôi sẽ phải học một cái gì đó mới và làm rất nhiều công việc dịch thuật.

Điều đó đang được nói, thật tuyệt khi có thể tải lên một tập dữ liệu và nhanh chóng làm việc - đặc biệt là nếu những gì tôi đang làm có vòng đời ngắn. Amazon đã làm rất tốt khi trả lời vấn đề bảo mật dữ liệu.

Nếu bạn muốn tránh hadoop, sẽ luôn có một sự thay thế. Nhưng nó không quá khó để làm việc với một khi bạn bắt đầu với nó.


3
Tôi giả định rằng tham chiếu của OP về TB có nghĩa là "cho dữ liệu ở đầu nhỏ của những gì bạn có thể sử dụng Hadoop cho." Nếu bạn có nhiều petabyte trở lên, Redshift rõ ràng không phù hợp. (Tôi tin rằng nó bị giới hạn ở một trăm nút 16TB.)
Tim Goodman
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.