Memilih teknologi pemrosesan batch di Azure

Solusi big data sering menggunakan pekerjaan batch yang berjalan lama untuk memfilter, mengagregasi, dan menyiapkan data untuk analisis. Biasanya, pekerjaan ini melibatkan membaca file sumber dari penyimpanan yang dapat diskalakan (seperti HDFS, Azure Data Lake Store, dan Azure Storage), memprosesnya, dan menulis output ke file baru dalam penyimpanan yang dapat diskalakan.

Persyaratan mendasar dari mesin pemrosesan batch tersebut adalah menskalakan komputasi untuk menangani data dalam volume besar. Tidak seperti pemrosesan real time, pemrosesan batch diharapkan memiliki latensi (waktu antara penyerapan data dan komputasi hasil) yang mengukur dalam hitungan menit hingga jam.

Pilihan teknologi untuk pemrosesan batch

Azure Synapse Analytics

Azure Synapse adalah sistem terdistribusi yang dirancang untuk melakukan analitik pada data besar. Ini mendukung pemrosesan paralel besar-besaran (MPP), yang membuatnya cocok untuk menjalankan analitik berperforma tinggi. Pertimbangkan Azure Synapse saat Anda memiliki data dalam jumlah besar (lebih dari 1 TB) dan menjalankan beban kerja analitik yang akan mendapat manfaat dari paralelisme.

Azure Data Lake Analytics

Data Lake Analytics adalah layanan pekerjaan analitik sesuai permintaan. Ini dioptimalkan untuk pemrosesan terdistribusi himpunan data besar yang disimpan di Azure Data Lake Store.

  • Bahasa: U-SQL (termasuk ekstensi Python, R, dan C#).
  • Terintegrasi dengan Azure Data Lake Store, Azure Storage gumpalan, Azure SQL Database, dan Azure Synapse.
  • Model penetapan harga adalah per pekerjaan.

HDInsight

HDInsight adalah layanan Hadoop yang dikelola. Gunakan untuk menyebarkan dan mengelola kluster Hadoop di Azure. Untuk pemrosesan batch, Anda dapat menggunakan Spark, Hive, Hive LLAP, MapReduce.

  • Bahasa: R, Python, Java, Scala, SQL
  • Autentikasi Kerberos dengan Active Directory, kontrol akses berbasis Apache Ranger
  • Memberi Anda kontrol penuh atas kluster Hadoop

Azure Databricks

Azure Databricks adalah platform analitik berbasis Apache Spark. Anda dapat menganggapnya sebagai "Spark sebagai sebuah layanan."Ini adalah cara termudah untuk menggunakan Spark di platform Azure.

  • Bahasa: R, Python, Java, Scala, SQL
  • Waktu mulai klaster yang cepat, penghentian otomatis, penskalaan otomatis.
  • Mengelola klaster Spark untuk Anda.
  • Integrasi bawaan dengan Azure Blob Storage, Azure Data Lake Storage (ADLS), Azure Synapse, dan layanan lainnya. Lihat Sumber data.
  • Autentikasi pengguna dengan ID Microsoft Entra.
  • Notebooks berbasis web untuk kolaborasi dan eksplorasi data.
  • Mendukung klaster berkemampuan GPU

Kriteria pilihan utama

Untuk mempersempit pilihan, mulailah dengan menjawab pertanyaan-pertanyaan ini:

  • Apakah Anda menginginkan layanan terkelola dan tidak mengelola server Anda sendiri?

  • Apakah Anda ingin menulis logika pemrosesan batch secara deklaratif atau imperatif?

  • Apakah Anda akan melakukan pemrosesan batch dalam semburan? Jika ya, pertimbangkan opsi yang memungkinkan Anda mengakhiri klaster secara otomatis atau yang model harga per batch pekerjaan.

  • Apakah Anda perlu mengkueri penyimpanan data relasional bersama dengan pemrosesan batch Anda, misalnya, untuk mencari data referensi? Jika ya, pertimbangkan opsi yang mengaktifkan kueri penyimpanan relasional eksternal.

Matriks kemampuan

Tabel berikut merangkum perbedaan utama kemampuan.

Kemampuan secara umum

Kemampuan Azure Data Lake Analytics Azure Synapse HDInsight Azure Databricks
Apakah layanan terkelola? Ya Ya Ya 1 Ya
Penyimpanan data relasional Ya Ya No Ya
Rencana harga Pekerjaan per batch Kluster per jam Kluster per jam Unit databricks 2 + jam cluster

[1] Dengan konfigurasi manual.

[2] Unit Databricks Unit (DBU) adalah unit kemampuan pemrosesan per jam.

Kemampuan

Kemampuan Azure Data Lake Analytics Azure Synapse HDInsight dengan Spark HDInsight dengan Apache Hive HDInsight dengan Apache LLAP Azure Databricks
Penskalaan otomatis Tidak No Ya Ya Ya Ya
Perincian skala-out Per pekerjaan Per klaster Per klaster Per klaster Per klaster Per klaster
Mendukung penembolokan data dalam memori Tidak Ya Ya No Ya Ya
Kueri dari toko relasional eksternal Ya No Ya No No Ya
Autentikasi Microsoft Entra ID SQL / Microsoft Entra ID No MICROSOFT Entra ID1 MICROSOFT Entra ID1 Microsoft Entra ID
Audit Ya Ya Tidak Ya 1 Ya 1 Ya
Keamanan tingkat baris No Ya2 No Ya 1 Ya 1 Ya
Dudukungan firewall Ya Ya Ya Ya 3 Ya 3 Ya
Penyelubungan data dinamis Tidak Ya Tidak Ya 1 Ya 1 Ya

[1] Mengharuskan penggunaan kluster Microsoft Azure HDInsight yang bergabung dengan domain.

[2] Filter hanya memprediksi. Lihat Keamanan Tingkat Baris

[3] Didukung saat digunakan dalam Azure Virtual Network.

Kontributor

Artikel ini dikelola oleh Microsoft. Ini awalnya ditulis oleh kontributor berikut.

Penulis utama:

Langkah berikutnya