Ada banyak hype di sekitar Hadoop dan ekosistemnya. Namun, dalam praktiknya, di mana banyak set data berada dalam kisaran terabyte, apakah tidak lebih masuk akal untuk menggunakan Amazon RedShift untuk menanyakan set data besar, daripada menghabiskan waktu dan upaya membangun cluster Hadoop?
Juga, bagaimana Amazon Redshift dibandingkan dengan Hadoop sehubungan dengan kompleksitas pengaturan, biaya, dan kinerja?
apache-hadoop
map-reduce
aws
trienisme
sumber
sumber
Jawaban:
tl; dr: Mereka sangat berbeda dalam banyak aspek dan saya tidak bisa berpikir Redshift akan menggantikan Hadoop.
-Fungsi
Anda tidak bisa menjalankan apa pun selain SQL di Redshift. Mungkin yang paling penting, Anda tidak dapat menjalankan semua jenis fungsi kustom di Redshift. Di Hadoop Anda bisa, menggunakan banyak bahasa (Java, Python, Ruby .. sebut saja). Misalnya, NLP di Hadoop mudah, sementara itu lebih atau kurang mustahil di Redshift. Yaitu ada banyak hal yang dapat Anda lakukan di Hadoop tetapi tidak pada Redshift. Ini mungkin perbedaan yang paling penting.
-Kinerja Profil
Query eksekusi pada pergeseran merah dalam banyak kasus secara signifikan lebih efisien dari pada Hadoop. Namun, efisiensi ini berasal dari pengindeksan yang dilakukan ketika data dimuat ke Redshift (Saya menggunakan istilah yang
indexing
sangat longgar di sini). Oleh karena itu, sangat bagus jika Anda memuat data Anda sekali dan menjalankan beberapa kueri, tetapi jika Anda ingin mengeksekusi hanya satu kueri misalnya, Anda mungkin benar-benar kehilangan kinerja secara keseluruhan.-Cost Profile
Solusi mana yang menang dalam biaya tergantung pada situasi (seperti kinerja), tetapi Anda mungkin perlu cukup banyak pertanyaan untuk membuatnya lebih murah daripada Hadoop (lebih khusus Amazon Elastis Peta Mengurangi). Misalnya, jika Anda melakukan OLAP, kemungkinan Redshift lebih murah. Jika Anda melakukan ETL batch harian, Hadoop lebih cenderung keluar lebih murah.
Karena itu, kami telah mengganti sebagian ETL kami yang dilakukan di Hive ke Redshift, dan itu adalah pengalaman yang sangat hebat; sebagian besar untuk kemudahan pengembangan. Mesin Redshift's Query didasarkan pada PostgreSQL dan sangat matang, dibandingkan dengan Hive. Karakteristik ACID-nya memudahkan untuk mempertimbangkannya, dan waktu respons yang lebih cepat memungkinkan lebih banyak pengujian dilakukan. Ini alat yang hebat untuk dimiliki, tetapi itu tidak akan menggantikan Hadoop.
EDIT : Adapun kompleksitas pengaturan, saya bahkan akan mengatakan itu lebih mudah dengan Hadoop jika Anda menggunakan ESR AWS. Alat mereka sangat matang sehingga sangat mudah menjalankan pekerjaan Hadoop Anda. Alat dan mekanisme di sekitar operasi Redshift belum setua itu. Misalnya, Redshift tidak dapat menangani pemuatan tetesan dan karenanya Anda harus membuat sesuatu yang mengubahnya menjadi beban batch, yang dapat menambah kerumitan pada ETL Anda.
sumber
easier to develop because of Redshift's maturity
bertentangan denganRedshift isn't that mature yet
apa vonis Anda?Batas ukuran saat ini untuk Amazon Redshift adalah 128 node atau 2 PBs data terkompresi. Mungkin sekitar 6PB terkompresi meskipun jarak tempuh bervariasi untuk kompresi. Anda selalu dapat memberi tahu kami jika Anda membutuhkan lebih banyak. anurag @ aws (saya menjalankan Amazon Redshift dan Amazon EMR)
sumber
Secara pribadi, saya tidak berpikir itu sulit untuk membuat cluster hadoop, tapi saya tahu kadang-kadang menyakitkan ketika Anda memulai.
Batasan ukuran HDFS jauh melebihi TB (atau maksud Anda exabyte?). Jika saya tidak salah, itu menskala ke yottabytes atau pengukuran lain yang bahkan saya tidak tahu kata untuknya. Apa pun itu, itu sangat besar.
Alat seperti Redshift ada di tempatnya, tetapi saya selalu khawatir tentang solusi khusus vendor. Perhatian utama saya adalah selalu "apa yang harus saya lakukan ketika saya tidak puas dengan layanan mereka?" - Saya bisa pergi ke google dan menggeser pekerjaan analisis saya ke dalam paradigma mereka atau saya bisa pergi ke hadoop dan menggeser pekerjaan yang sama ke dalam sistem itu. Either way, saya harus belajar sesuatu yang baru dan melakukan banyak pekerjaan menerjemahkan hal-hal.
Yang sedang berkata, senang bisa mengunggah dataset dan mulai bekerja dengan cepat - terutama jika apa yang saya lakukan memiliki siklus hidup yang pendek. Amazon telah melakukan pekerjaan yang baik untuk menjawab masalah keamanan data.
Jika Anda ingin menghindari hadoop, selalu ada alternatif. Tapi itu tidak terlalu sulit untuk dikerjakan setelah Anda mulai menggunakannya.
sumber