Keandalan di Azure Data Explorer

Azure Data Explorer adalah layanan analitik yang memungkinkan Anda menyerap, menyimpan, dan mengkueri data dalam volume besar dengan latensi rendah. Ini umumnya digunakan untuk analitik log, telemetri, dan beban kerja rangkaian waktu yang memerlukan kueri cepat melalui himpunan data besar.

Saat Anda menggunakan Azure, keandalan adalah tanggung jawab bersama. Microsoft menyediakan berbagai kemampuan untuk mendukung ketahanan dan pemulihan. Anda bertanggung jawab untuk memahami cara kerja kemampuan tersebut dalam semua layanan yang Anda gunakan, dan memilih kemampuan yang Anda butuhkan untuk memenuhi tujuan bisnis dan tujuan waktu aktif Anda.

Artikel ini menjelaskan cara membuat Azure Data Explorer tahan terhadap berbagai potensi pemadaman dan masalah, termasuk kesalahan sementara, kegagalan zona ketersediaan, dan kegagalan di seluruh wilayah. Ini juga menjelaskan opsi pencadangan dan pemulihan dan ketahanan terhadap pemeliharaan layanan, dan menyoroti informasi utama tentang perjanjian tingkat layanan (SLA) Azure Data Explorer.

Rekomendasi implementasi produksi untuk keandalan

Untuk beban kerja produksi, kami sarankan Anda mengambil langkah-langkah berikut untuk meningkatkan keandalan kluster Azure Data Explorer Anda:

  • Menyebarkan kluster lengkap. Azure Data Explorer menyediakan kluster gratis untuk tujuan uji coba. Untuk beban kerja produksi, terapkan kluster secara lengkap.
  • Aktifkan dukungan zona ketersediaan. Azure Data Explorer mendukung zona ketersediaan. Saat dukungan zona ketersediaan diaktifkan, simpul komputasi didistribusikan di beberapa zona ketersediaan dan data disimpan menggunakan penyimpanan zona redundan. Konfigurasi ini meningkatkan ketahanan terhadap kegagalan zona ketersediaan.

Gambaran umum arsitektur keandalan

Bagian ini menjelaskan beberapa aspek penting tentang cara kerja layanan yang paling relevan dari perspektif keandalan. Bagian ini memperkenalkan arsitektur logis, yang mencakup beberapa sumber daya dan fitur yang Anda sebarkan dan gunakan. Ini juga membahas arsitektur fisik, yang memberikan detail tentang cara kerja layanan di bawah sampul.

Arsitektur logika

Sumber daya utama yang Anda sebarkan adalah kluster, yang mewakili infrastruktur yang Anda butuhkan untuk menyerap, menyimpan, dan mengkueri data Anda. Dengan kluster, Anda membuat database, yang pada gilirannya berisi tabel.

Diagram memperlihatkan kluster yang berisi dua database, masing-masing dengan sekumpulan tabel.

Kluster melakukan penyerapan untuk mengambil data dari sumber data lain dan memuatnya ke dalam tabel di kluster. Data kemudian dapat dikueri dengan menggunakan sintaks Bahasa Kueri Kusto (KQL). Kluster juga memiliki serangkaian operasi manajemen yang dapat Anda lakukan.

Arsitektur fisik

Kluster Azure Data Explorer memiliki dua lapisan utama yang berlaku untuk konfigurasi keandalannya:

  • Lapisan komputasi: Azure Data Explorer adalah platform komputasi terdistribusi dan dapat memiliki dua hingga banyak simpul komputer virtual (VM) tergantung pada jenis peran skala dan simpul. Simpul menangani penyerapan data dan menangani pekerjaan pemrosesan kueri. Anda tidak melihat atau mengelola VM simpul secara langsung. Platform ini secara otomatis mengelola pembuatan instans, pemantauan kesehatan, dan penggantian simpul yang tidak sehat. Saat kluster Anda dikonfigurasi untuk menggunakan zona ketersediaan, simpul tersebar di antara pusat data yang berbeda.

  • Lapisan penyimpanan: Azure Data Explorer menggunakan Azure Storage sebagai lapisan persistensinya yang tahan lama. Azure Storage secara otomatis menyediakan toleransi kesalahan, dengan pengaturan default menawarkan penyimpanan redundan lokal (LRS) dalam pusat data. Tiga replika disimpan. Jika replika hilang saat digunakan, replika lain disebarkan tanpa gangguan. Saat kluster Anda dikonfigurasi untuk menggunakan beberapa zona ketersediaan, replika tersebar di antara pusat data yang berbeda.

Diagram memperlihatkan kluster dengan simpul komputasi dan beberapa salinan data.

Untuk informasi selengkapnya, lihat Cara kerja Azure Data Explorer.

Ketahanan terhadap kesalahan sementara

Kesalahan sementara adalah kegagalan yang bersifat sementara dan intermiten dalam komponen. Mereka sering terjadi di lingkungan terdistribusi seperti cloud, dan mereka adalah bagian normal dari operasi. Kesalahan sementara memperbaiki diri setelah waktu yang singkat. Penting bahwa aplikasi Anda dapat menangani kesalahan sementara, biasanya dengan mencoba kembali permintaan yang terpengaruh.

Semua aplikasi yang dihosting cloud harus mengikuti panduan penanganan kesalahan sementara Azure saat berkomunikasi dengan API, database, dan komponen lain yang dihosting cloud. Untuk informasi selengkapnya, lihat Rekomendasi untuk menangani kesalahan sementara.

Untuk membangun ketahanan terhadap kesalahan sementara saat Anda menggunakan Azure Data Explorer, ikuti praktik berikut:

Ketahanan terhadap kegagalan zona ketersediaan

Zona ketersediaan adalah grup pusat data yang terpisah secara fisik dalam wilayah Azure. Ketika satu zona gagal, layanan dapat melakukan failover ke salah satu zona yang tersisa.

Azure Data Explorer mendukung dua jenis konfigurasi zona ketersediaan:

  • Zona-redundan (disarankan): Saat Anda mengaktifkan zona ketersediaan pada kluster, simpul kluster Anda tersebar di beberapa zona. Microsoft mengelola distribusi simpul di seluruh zona ketersediaan yang dipilih dan menangani deteksi dan respons terhadap kegagalan zona ketersediaan. Sistem cluster tahan zona lebih tahan terhadap pemadaman zona ketersediaan.

    Saat Anda mengonfigurasi kluster anda menjadi zona-redundan, data Anda disimpan menggunakan penyimpanan zona redundan Azure Storage (ZRS), yang secara sinkron mereplikasi setidaknya tiga salinan data di beberapa zona ketersediaan.

    Diagram memperlihatkan penyebaran zona redundan dari kluster Azure Data Explorer, dengan simpul komputasi dan penyimpanan yang tersebar di beberapa zona.

  • Zonal: Anda dapat secara opsional memilih satu zona saat mengaktifkan zona ketersediaan di kluster Anda. Microsoft menempatkan semua catatan komputasi Anda ke zona tersebut. Ini adalah kluster zona (zona tunggal). Konfigurasi ini kadang-kadang mungkin membantu jika Anda memiliki beban kerja yang sensitif terhadap latensi yang luar biasa, tetapi tidak memberikan ketahanan terhadap pemadaman zona.

    Penting

    Menyematkan ke satu zona ketersediaan hanya disarankan ketika latensi lintas zona terlalu tinggi untuk kebutuhan Anda dan setelah Anda memverifikasi bahwa latensi tersebut tidak sesuai dengan kebutuhan Anda. Dengan sendirinya, sumber daya zonal tidak memberikan ketahanan terhadap pemadaman pada zona ketersediaan. Untuk meningkatkan resiliensi sumber daya zonal, Anda perlu secara eksplisit menyebarkan sumber daya terpisah ke beberapa zona ketersediaan dan mengonfigurasi perutean lalu lintas dan pengalihfungsian otomatis. Untuk informasi selengkapnya, lihat Sumber daya zonal dan ketahanan zona.

    Pilihan zona Anda hanya berlaku untuk simpul komputasi Anda. Untuk kluster zonal, data penyimpanan Anda terus menggunakan LRS, dan mungkin disimpan di zona yang berbeda dengan simpul komputasi Anda.

    Diagram memperlihatkan penyebaran zona kluster Azure Data Explorer, dengan semua catatan komputasi dalam satu zona, dan penyimpanan zona redundan.

Jika Anda tidak mengaktifkan zona ketersediaan, kluster bersifat nonzonal, yang berarti Azure memilih zona ketersediaan untuk setiap simpul dan data Anda. Jika ada zona ketersediaan di wilayah tersebut yang mengalami pemadaman, hal tersebut dapat memengaruhi kluster Anda, termasuk simpul, data, atau keduanya. Kami tidak merekomendasikan konfigurasi nonzonal karena tidak memberikan perlindungan terhadap pemadaman zona ketersediaan.

Persyaratan

  • Dukungan wilayah: Dukungan zona ketersediaan tersedia di wilayah Azure yang mendukung zona ketersediaan.

    Namun, beberapa jenis dan ukuran simpul komputasi hanya tersedia di wilayah tertentu, atau zona tertentu dalam suatu wilayah.

  • Kluster lengkap: Dukungan zona ketersediaan tersedia dengan kluster penuh. Ini tidak tersedia dengan kluster gratis.

Pertimbangan

Pilihan zona: Untuk simpul komputasi, Anda memilih zona ketersediaan mana yang akan digunakan. Penempatan zona penyimpanan dikelola oleh Microsoft, dan replika penyimpanan mungkin ditempatkan di zona yang berbeda dengan simpul komputasi Anda.

Biaya

Mengaktifkan dukungan zona ketersediaan mengakibatkan biaya tambahan untuk penyimpanan redundan zona, yang ditagih dengan tarif lebih tinggi daripada penyimpanan redundan lokal. Untuk informasi selengkapnya, lihat Harga Azure Storage.

Simpul komputasi dikenakan tarif yang sama, terlepas dari apakah menggunakan dukungan zona ketersediaan atau tidak. Untuk informasi selengkapnya, lihat Harga Azure Data Explorer.

Mengonfigurasi dukungan zona ketersediaan

  • Buat kluster baru dengan dukungan zona ketersediaan: Anda dapat mengaktifkan dukungan zona ketersediaan saat membuat kluster Azure Data Explorer baru. Untuk informasi selengkapnya, lihat Membuat kluster dan database.

    Saat Anda membuat kluster yang diaktifkan zona ketersediaan dengan menggunakan portal Azure, kluster tersebut secara otomatis bersifat redundan zona, dan Microsoft yang memilih zona tersebut.

    Untuk memilih zona sendiri, atau untuk membuat kluster zona, gunakan pendekatan penyebaran lain seperti API Azure Resource Manager atau Bicep. Kami menyarankan Anda untuk membuat kluster yang memiliki redundansi zona dan memanfaatkan semua zona yang tersedia di wilayah tersebut untuk sebagian besar situasi.

    Nota

    Saat Anda memilih zona ketersediaan mana yang akan digunakan, Anda benar-benar memilih zona ketersediaan logis. Jika Anda menyebarkan komponen beban kerja lain dalam langganan Azure yang berbeda, komponen tersebut mungkin menggunakan nomor zona ketersediaan logis yang berbeda untuk mengakses zona ketersediaan fisik yang sama. Untuk informasi selengkapnya, lihat Zona ketersediaan fisik dan logis.

  • Aktifkan zona ketersediaan pada kluster yang ada (pratinjau): Anda dapat memigrasikan kluster nonzonal yang ada untuk menggunakan zona ketersediaan. Fitur ini tersedia dalam versi pratinjau. Untuk informasi selengkapnya, lihat Memigrasikan kluster Anda untuk mendukung beberapa zona ketersediaan.

  • Konfigurasi ulang zona ketersediaan pada kluster yang ada (pratinjau): Anda dapat mengubah zona yang digunakan untuk kluster. Fitur ini sedang dalam tahap pratinjau. Untuk informasi selengkapnya, lihat Memigrasikan kluster Anda untuk mendukung beberapa zona ketersediaan.

  • Nonaktifkan dukungan zona ketersediaan pada kluster yang ada: Setelah kluster dikonfigurasi dengan zona ketersediaan, Anda tidak dapat mengubah kluster untuk tidak menggunakan zona ketersediaan.

  • Verifikasi konfigurasi zona ketersediaan untuk kluster: Anda dapat menggunakan properti status zona kluster ( zoneStatus properti di REST API) untuk memverifikasi konfigurasi zona ketersediaan kluster.

    Jika nilainya adalah Zonal, itu berarti kluster telah dikonfigurasi untuk menggunakan zona ketersediaan. Namun, kluster mungkin bersifat regional atau memiliki redundansi zona. Untuk menentukan yang mana, gunakan properti zona . Jika daftar zona memiliki satu zona yang tercantum, klusternya adalah zonal (zona tunggal). Jika memiliki beberapa zona yang tercantum, itu memiliki redundansi zona.

Perencanaan dan manajemen kapasitas

Ketika zona ketersediaan tidak tersedia, simpul apa pun di zona tersebut mungkin sementara tidak tersedia, yang mengurangi kapasitas komputasi kluster Anda hingga zona pulih.

Jika kluster Anda tidak dapat mentolerir hilangnya kapasitas, pertimbangkan untuk menyediakan kapasitas lebih pada kluster Anda. Pendekatan ini memungkinkan solusi untuk mentolerir beberapa kehilangan kapasitas dan terus berfungsi tanpa penurunan performa. Namun, ketika Anda melakukan provisi berlebih pada kluster, kluster Anda mungkin memiliki jumlah simpul yang tidak seimbang di seluruh zona.

Distribusi instans di seluruh zona

Lapisan komputasi kluster menggunakan pendekatan upaya terbaik untuk menyebarkan instans secara merata di seluruh zona yang Anda pilih.

Perilaku ketika semua zona sehat

Bagian ini menjelaskan apa yang diharapkan ketika Anda mengonfigurasi kluster untuk dukungan zona ketersediaan, dan semua zona beroperasi.

  • Operasi lintas zona: Selama operasi normal, Azure Data Explorer menggunakan semua simpul komputasi yang tersedia untuk penyerapan, pemrosesan kueri, dan operasi lainnya. Pekerjaan didistribusikan di seluruh node tanpa memperhatikan availability zone mereka.

  • Replikasi data lintas zona: Perilaku replikasi data lintas zona tergantung pada konfigurasi zona ketersediaan yang digunakan kluster Anda.

    • Zona-redundan: Data direplikasi secara sinkron di seluruh zona ketersediaan dengan menggunakan penyimpanan redundan zona Azure Storage. Ini memberikan tingkat konsistensi data yang tinggi dan meminimalkan risiko kehilangan data selama kegagalan zona.

    • Zonal: Data disimpan menggunakan penyimpanan redundan lokal Azure Storage, yang berarti ketiga salinan mungkin berada dalam satu zona ketersediaan.

Perilaku selama kegagalan zona

Bagian ini menjelaskan apa yang diharapkan ketika Anda mengonfigurasi kluster untuk dukungan zona ketersediaan, dan ada pemadaman di salah satu zona.

  • Deteksi dan respons: Tanggung jawab untuk deteksi dan respons tergantung pada konfigurasi zona ketersediaan yang digunakan kluster Anda.

    • Zona-redundan: Microsoft mendeteksi kegagalan zona ketersediaan dan mengelola respons untuk Azure Data Explorer. Anda tidak perlu melakukan apa pun untuk memulai failover zona.

    • Zonal: Anda bertanggung jawab untuk mendeteksi kegagalan yang memengaruhi zona ketersediaan yang digunakan oleh kluster Anda. Anda juga bertanggung jawab atas respons apa pun yang Anda putuskan untuk dimulai, seperti beralih ke kluster kedua yang sebelumnya Anda buat di zona ketersediaan yang berbeda.

  • Pemberitahuan: Microsoft tidak secara otomatis memberi tahu Anda saat zona tidak berfungsi. Namun, Anda dapat menggunakan Azure Service Health untuk memahami kesehatan keseluruhan layanan, termasuk kegagalan zona apa pun, dan Anda dapat menyiapkan pemberitahuan Service Health untuk memberi tahu Anda tentang masalah.
  • Permintaan aktif: Permintaan aktif yang mengandalkan sumber daya komputasi atau penyimpanan di zona yang gagal mungkin dihentikan dan harus dicoba kembali oleh klien. Pastikan aplikasi Anda disiapkan dengan mengikuti panduan penanganan kesalahan sementara.

  • Kehilangan data yang diharapkan: Kehilangan data yang diharapkan tergantung pada konfigurasi zona ketersediaan yang digunakan kluster Anda.

    • Zona Redundan: Tidak ada kehilangan data yang diharapkan selama terjadi pemadaman zona ketersediaan karena data direplikasi secara sinkron di antara zona.

    • Zonal: Data tidak tersedia hingga zona pulih. Dalam kemungkinan kejadian yang jarang terjadi hilangnya zona secara permanen yang berisi semua replika penyimpanan Anda, data mungkin hilang secara permanen.

  • Waktu henti yang diharapkan: Waktu henti yang diharapkan tergantung pada konfigurasi zona ketersediaan yang digunakan kluster Anda.

    • Zona-redundan: Gangguan layanan singkat mungkin terjadi saat lalu lintas dialihkan ke zona ketersediaan yang sehat. Pastikan aplikasi Anda disiapkan dengan mengikuti panduan penanganan kesalahan sementara.

    • Zonal: Node komputasi kluster Anda tidak akan tersedia sampai zona ketersediaan pulih. Anda juga mungkin tidak dapat mengakses data kluster Anda selama kegagalan zona.

  • Redistribusi: Perilaku pengalihan lalu lintas tergantung pada konfigurasi zona ketersediaan yang digunakan kluster Anda.

    • Zona-redundan: Azure Data Explorer merutekan permintaan baru ke sumber daya komputasi dan penyimpanan di zona sehat yang tersisa.

    • Zonal: Kluster Anda tidak dapat diakses hingga zona ketersediaan pulih.

Pemulihan Zona

Saat zona ketersediaan yang gagal pulih, Microsoft membuat ulang node kluster dan replika penyimpanan di zona tersebut dan memulihkan distribusi lalu lintas normal di semua zona. Tidak diperlukan tindakan pelanggan.

Uji kegagalan zona

Opsi untuk pengujian kegagalan zona bergantung pada konfigurasi zona ketersediaan yang digunakan kluster Anda.

  • Redundansi Zona: Failover dan pemulihan zona ketersediaan untuk Azure Data Explorer sepenuhnya dikelola oleh Microsoft. Anda tidak perlu memulai atau memvalidasi proses kegagalan zona ketersediaan.

  • Zonal: Untuk menyimulasikan sebagian hilangnya semua simpul komputasi selama pemadaman zona, Anda dapat menghentikan kluster Anda. Anda dapat menggunakan pendekatan ini untuk memvalidasi bagian dari proses deteksi penurunan zona dan failover Anda sendiri.

Ketahanan terhadap kegagalan di seluruh wilayah

Kluster Azure Data Explorer disebarkan ke dalam satu wilayah Azure. Jika wilayah tersebut menjadi tidak tersedia, kluster dan datanya tidak tersedia.

Solusi multi-wilayah kustom untuk ketahanan

Untuk meminimalkan dampak bisnis dari pemadaman wilayah, Anda dapat menyebarkan kluster Azure Data Explorer terpisah di beberapa wilayah. Setiap kluster bersifat independen, dan Anda bertanggung jawab untuk mengelola setiap kluster, dan untuk mengoordinasikan replikasi data, perutean lalu lintas, dan failover antar wilayah.

Anda dapat memutuskan antara berbagai jenis konfigurasi kluster multi-wilayah, yang masing-masing mendukung tingkat waktu pemulihan yang berbeda, potensi kehilangan data, upaya, dan biaya. Anda dapat memilih wilayah Azure untuk setiap kluster yang mendukung persyaratan latensi dan residensi data Anda. Untuk informasi selengkapnya tentang konfigurasi dan pola kluster multi-wilayah yang dapat Anda ikuti, lihat Pemadaman wilayah Azure.

Pencadangan dan pemulihan

Untuk sebagian besar solusi, Anda tidak boleh mengandalkan cadangan secara eksklusif. Sebagai gantinya, gunakan kemampuan lain yang dijelaskan dalam panduan ini untuk mendukung persyaratan ketahanan Anda. Namun, pencadangan melindungi dari beberapa risiko yang tidak dapat dicegah oleh pendekatan lain. Untuk informasi selengkapnya, lihat Apa itu redundansi, replikasi, dan cadangan?.

Azure Data Explorer tidak menyediakan kemampuan pencadangan dan pemulihan asli. Jika Anda perlu melakukan pencadangan data, Anda dapat mempertimbangkan pendekatan berikut:

  • Ekspor berkelanjutan, yang secara periodik mengekspor data ke penyimpanan eksternal, dan mendukung ekspor secara tepat satu kali untuk data yang didukung.
  • Ekspor data ke penyimpanan cloud, yang memungkinkan Anda mengekspor data secara manual ke penyimpanan eksternal.
  • Mengimpor data mentah ke Azure Data Explorer dari sumber upstream seperti data lake, yang dapat Anda cadangkan secara terpisah.

Ketahanan terhadap penghapusan yang tidak disengaja

Azure Data Explorer menyertakan beberapa mekanisme untuk membantu Anda melindungi dari penghapusan kluster, database, tabel, dan tabel eksternal yang tidak disengaja:

  • Penghapusan kluster atau database yang tidak disengaja: Penghapusan kluster atau database yang tidak disengaja adalah tindakan yang tidak dapat dipulihkan. Anda dapat mencegah kehilangan data dengan mengaktifkan kunci penghapusan pada sumber daya kluster atau database.

  • Penghapusan tabel yang tidak disengaja: Pengguna dengan izin admin tabel atau yang lebih tinggi diizinkan untuk menghilangkan tabel. Jika salah satu pengguna tersebut secara tidak sengaja menjatuhkan tabel, Anda dapat memulihkannya menggunakan .undo drop table perintah . Agar perintah ini berhasil, Anda harus terlebih dahulu mengaktifkan properti pemulihan dalam kebijakan penyimpanan.

  • Penghapusan tabel eksternal yang tidak disengaja:Tabel eksternal adalah entitas skema kueri Kusto yang mereferensikan data yang disimpan di luar database. Penghapusan tabel eksternal hanya menghapus metadata tabel. Anda dapat memulihkannya dengan menjalankan kembali perintah pembuatan tabel.

    Pada tabel eksternal Azure Blob Storage dan Azure Data Lake, gunakan kemampuan penghapusan sementara untuk melindungi dari penghapusan yang tidak disengaja atau penimpaan blob selama periode waktu yang dikonfigurasi oleh pengguna.

Ketahanan terhadap pemeliharaan layanan

Azure Data Explorer secara teratur menerapkan pembaruan layanan dan melakukan pemeliharaan rutin. Platform Azure menangani aktivitas ini secara otomatis sambil tetap berada dalam tingkat ketersediaan yang ditentukan dalam SLA. Pastikan bahwa aplikasi Anda disiapkan untuk kehilangan konektivitas sesekali selama pemeliharaan layanan dengan mengikuti panduan penanganan kesalahan sementara.

Untuk mempelajari tentang pemeliharaan mendatang, gunakan Azure Service Health.

Perjanjian tingkat layanan

Perjanjian tingkat layanan (SLA) untuk layanan Azure menjelaskan ketersediaan yang diharapkan dari setiap layanan dan kondisi yang harus dipenuhi solusi Anda untuk mencapai harapan ketersediaan tersebut. Untuk informasi selengkapnya, lihat SLA untuk layanan online.

Agar memenuhi syarat untuk SLA ketersediaan Azure Data Explorer, aplikasi Anda perlu menangani kesalahan sementara dengan mencoba kembali permintaan yang gagal.