Memilih penyimpanan data analitis di Azure
Dalam arsitektur big data, sering ada kebutuhan untuk penyimpanan data analitis yang melayani data olahan dalam format terstruktur yang dapat ditanyakan menggunakan alat analisis. Penyimpanan data analitis yang mendukung kueri data jalur panas dan jalur dingin secara kolektif disebut sebagai lapisan penyajian, atau penyimpanan penyajian data.
Lapisan penyajian berkaitan dengan data olahan dari jalur panas dan jalur dingin. Dalam arsitektur lambda, lapisan penyajian dibagi menjadi lapisan penyajian kecepatan, yang menyimpan data yang telah diproses secara bertahap, dan lapisan penyajian batch, yang berisi output yang diproses batch. Lapisan penyajian membutuhkan dukungan yang kuat untuk pembacaan acak dengan latensi rendah. Penyimpanan data untuk lapisan kecepatan juga harus mendukung penulisan acak, karena data pemuatan batch ke penyimpanan ini akan memperkenalkan penundaan yang tidak diinginkan. Di sisi lain, penyimpanan data untuk lapisan batch tidak perlu mendukung penulisan acak, tetapi penulisan batch sebagai gantinya.
Tidak ada satu pun pilihan manajemen data terbaik untuk semua tugas penyimpanan data. Solusi manajemen data yang berbeda dioptimalkan untuk tugas yang berbeda. Sebagian besar aplikasi cloud dunia nyata dan proses big data memiliki berbagai persyaratan penyimpanan data dan sering menggunakan kombinasi solusi penyimpanan data.
Apa pilihan Anda saat memilih penyimpanan data analitis?
Ada beberapa opsi untuk penyimpanan penyajian data di Azure, tergantung kebutuhan Anda:
- Azure Synapse Analytics
- Kumpulan Azure Synapse Spark
- Azure Databricks
- Azure Data Explorer
- Azure SQL Database
- SQL Server di Azure VM
- HBase/Phoenix di HDInsight
- Hive LLAP di HDInsight
- Azure Analysis Services
- Azure Cosmos DB
Opsi ini menyediakan berbagai model database yang dioptimalkan untuk berbagai jenis tugas:
- Database kunci/nilai menyimpan satu objek serial untuk setiap nilai kunci. Database ini baik untuk menyimpan volume data yang besar yang mana Anda ingin mendapatkan satu item untuk nilai kunci tertentu dan Anda tidak perlu meminta berdasarkan properti lain dari item.
- Database dokumen adalah database kunci/nilai dengan nilai adalah dokumen. "Dokumen" dalam konteks ini adalah kumpulan bidang dan nilai bernama. Database biasanya menyimpan data dalam format seperti XML, YAML, JSON, atau JSON biner (BSON), tetapi dapat menggunakan teks biasa. Database dokumen dapat melakukan kueri pada bidang non-kunci dan menentukan indeks sekunder untuk membuat kueri lebih efisien. Hal ini membuat database dokumen lebih cocok untuk aplikasi yang perlu mengambil data berdasarkan kriteria yang lebih kompleks daripada nilai kunci dokumen. Misalnya, Anda dapat melakukan kueri di bidang seperti ID produk, ID pelanggan, atau nama pelanggan.
- Database penyimpanan kolom adalah penyimpanan data kunci/nilai yang menyimpan setiap kolom secara terpisah di disk. Database penyimpanan kolom yang luas adalah jenis database penyimpanan kolom yang menyimpan keluarga kolom, bukan hanya kolom tunggal. Misalnya, database sensus mungkin memiliki keluarga kolom untuk nama seseorang (pertama, tengah, terakhir), keluarga untuk alamat orang tersebut, dan keluarga untuk informasi profil orang tersebut (tanggal lahir, jenis kelamin). Database dapat menyimpan setiap keluarga kolom dalam partisi terpisah, sambil menyimpan semua data untuk satu orang yang terkait dengan kunci yang sama. Aplikasi dapat membaca satu kelompok kolom tanpa membaca semua data untuk suatu entitas.
- Database grafik menyimpan informasi sebagai kumpulan objek dan hubungan. Database grafik dapat secara efisien melakukan kueri yang melintasi jaringan objek dan hubungan di antaranya. Misalnya, objek mungkin adalah karyawan dalam database sumber daya manusia, dan Anda mungkin ingin memfasilitasi pertanyaan seperti "menemukan semua karyawan yang secara langsung atau tidak langsung bekerja untuk Scott."
- Database telemetri dan rangkaian waktu adalah kumpulan objek tambahan saja. Database telemetri secara efisien mengindeks data di berbagai penyimpanan kolom dan struktur dalam memori, menjadikannya pilihan optimal untuk menyimpan dan menganalisis sejumlah besar data telemetri dan deret waktu.
Kriteria pilihan utama
Untuk mempersempit pilihan, mulailah dengan menjawab pertanyaan-pertanyaan ini:
Apakah Anda memerlukan penyimpanan penyajian yang dapat berfungsi sebagai jalur panas untuk data Anda? Jika ya, persempit opsi Anda dengan opsi yang dioptimalkan untuk lapisan penyajian kecepatan.
Apakah Anda memerlukan dukungan pemrosesan paralel (MPP) secara besar-besaran, yang mana kueri didistribusikan secara otomatis di beberapa proses atau node? Jika ya, pilih opsi yang mendukung peluasan skala kueri.
Apakah Anda lebih suka menggunakan penyimpanan data relasional? Jika ya, persempit opsi Anda dengan yang memiliki model database relasional. Namun, perhatikan bahwa beberapa penyimpanan non-relasional mendukung sintaksis SQL untuk kueri, dan alat seperti PolyBase dapat digunakan untuk mengkueri penyimpanan data non-relasional.
Apakah Anda mengumpulkan data deret waktu? Apakah Anda menggunakan data tambahan saja?
Matriks kemampuan
Tabel berikut merangkum perbedaan utama kemampuan.
Kemampuan secara umum
Kemampuan | SQL Database | Kumpulan Azure Synapse SQL | Kumpulan Azure Synapse Spark | Azure Data Explorer | HBase/Phoenix di HDInsight | Hive LLAP di HDInsight | Azure Analysis Services | Azure Cosmos DB |
---|---|---|---|---|---|---|---|---|
Apakah layanan terkelola? | Ya | Ya | Ya | Ya | Ya 1 | Ya 1 | Ya | Ya |
Model database utama | Relasional (format penyimpanan kolom saat menggunakan indeks penyimpan kolom) | Tabel relasional dengan penyimpanan kolom | Penyimpanan kolom lebar | Relasional (penyimpanan kolom), telemetri, dan penyimpanan deret waktu | Penyimpanan kolom lebar | Hive/In-Memory | Model semantik tabular | Penyimpanan dokumen, grafik, penyimpanan nilai kunci, penyimpanan kolom lebar |
Dukungan bahasa SQL | Ya | Ya | Ya | Ya | Ya (menggunakan driver Phoenix JDBC) | Ya | No | Ya |
Dioptimalkan untuk lapisan penyajian kecepatan | Ya 2 | Ya 3 | Ya | Ya | Ya | Ya | No | Ya |
[1] Dengan konfigurasi dan penskalaan manual.
[2] Menggunakan tabel dan indeks hash atau non-kluster yang dioptimalkan memori.
[3] Didukung sebagai output Azure Stream Analytics.
Kemampuan skalabilitas
Kemampuan | SQL Database | Kumpulan Azure Synapse SQL | Kumpulan Azure Synapse Spark | Azure Data Explorer | HBase/Phoenix di HDInsight | Hive LLAP di HDInsight | Azure Analysis Services | Azure Cosmos DB |
---|---|---|---|---|---|---|---|---|
Server regional redundan untuk ketersediaan tinggi | Ya | No | No | Ya | Ya | No | Ya | Ya |
Mendukung peluasan skala kueri | Tidak | Ya | Ya | Ya | Ya | Ya | Ya | Ya |
Skalabilitas dinamis (peningkatan skala) | Ya | Ya | Ya | Ya | No | No | Ya | Ya |
Mendukung penembolokan data dalam memori | Ya | Ya | Ya | Ya | No | Ya | Ya | Tidak |
Kemampuan keamanan
Kemampuan | SQL Database | Azure Synapse | Azure Data Explorer | HBase/Phoenix di HDInsight | Hive LLAP di HDInsight | Azure Analysis Services | Azure Cosmos DB |
---|---|---|---|---|---|---|---|
Autentikasi | SQL / Microsoft Entra ID | SQL / Microsoft Entra ID | Microsoft Entra ID | local / Microsoft Entra ID 1 | local / Microsoft Entra ID 1 | Microsoft Entra ID | pengguna database/ID Microsoft Entra melalui kontrol akses (manajemen identitas dan akses (IAM)) |
Enkripsi data saat istirahat | Ya 2 | Ya 2 | Ya | Ya 1 | Ya 1 | Ya | Ya |
Keamanan tingkat baris | Ya | Ya 3 | Ya | Ya 1 | Ya 1 | Ya | Tidak |
Dudukungan firewall | Ya | Ya | Ya | Ya 4 | Ya 4 | Ya | Ya |
Penyelubungan data dinamis | Ya | Ya | Ya | Ya 1 | Ya | No | Tidak |
[1] Mengharuskan penggunaan kluster Microsoft Azure HDInsight yang bergabung dengan domain.
[2] Memerlukan penggunaan enkripsi data transparan untuk mengenkripsi dan mendekripsi data Anda saat tidak aktif.
[3] Filter hanya memprediksi. Lihat Keamanan Tingkat Baris
[4] Saat digunakan dalam jaringan virtual Azure. Untuk informasi selengkapnya, lihat Memperluas Azure HDInsight menggunakan Azure Virtual Network.
Kontributor
Artikel ini dikelola oleh Microsoft. Ini awalnya ditulis oleh kontributor berikut.
Penulis utama:
- Zoiner Tejada | CEO dan Arsitek
Langkah berikutnya
- Menganalisis data di gudang data relasional
- Membuat database tunggal - Azure SQL Database
- Membuat ruang kerja Azure Databricks
- Membuat kluster Apache Spark di Azure HDInsight menggunakan portal Azure
- Membuat ruang kerja Synapse
- Menjelajahi layanan data Azure untuk analitik modern
- Menjelajahi database Azure dan layanan analitik
- Mengkueri Azure Cosmos DB dengan menggunakan API untuk NoSQL