Bagikan melalui


Arsitektur fungsi terdistribusi Hyperscale

Berlaku untuk: Azure SQL Database

Tingkat layanan Hyperscale menggunakan arsitektur dengan tingkat penyimpanan dan komputasi yang sangat dapat diskalakan dan terpisah. Artikel ini menjelaskan komponen yang memungkinkan pelanggan untuk menskalakan database Hyperscale dengan cepat sambil mendapatkan keuntungan dari pencadangan yang hampir seketika dan pengelogan transaksi yang sangat scalable.

Tip

Harga yang disederhanakan untuk SQL Database Hyperscale tiba pada Desember 2023. Tinjau blog harga Hyperscale untuk detailnya.

Gambaran umum arsitektur Hyperscale

Mesin database tradisional memusatkan fungsi manajemen data dalam satu proses: bahkan disebut database terdistribusi dalam produksi saat ini memiliki beberapa salinan mesin data monolitik.

Database Hyperscale mengikuti pendekatan yang berbeda. Hyperscale memisahkan mesin pemrosesan kueri, di mana semantik berbagai mesin data berbeda dari komponen yang menyediakan penyimpanan data jangka panjang dan tahan lama. Dengan cara ini, kapasitas penyimpanan dapat diskalakan dengan lancar sejauh yang diperlukan, hingga 128 TB untuk satu database Hyperscale.

Semua komunikasi jaringan di antara komponen Hyperscale menggunakan infrastruktur jaringan Azure dengan redundansi bawaan.

Replika sekunder dengan ketersediaan tinggi dan replika bernama adalah simpul komputasi opsional yang dapat ditambahkan sesuai permintaan. Keduanya berbagi komponen penyimpanan yang sama, jadi tidak ada salinan data yang diperlukan untuk memutar replika baru. Replika geo-sekunder dapat ditambahkan sesuai permintaan di wilayah Azure yang sama atau berbeda. Untuk perlindungan data dan redundansi, replika geo-sekunder memiliki komponen penyimpanan yang terpisah dari yang digunakan oleh replika utama.

Diagram berikut mengilustrasikan arsitektur Hyperscale fungsional:

Diagram memperlihatkan tingkat komputasi Hyperscale.

Database Hyperscale berisi jenis komponen berikut: node komputasi, server halaman, layanan log, dan penyimpanan Azure.

Compute

Simpul komputasi adalah tempat tinggal mesin relasional. Node komputasi adalah tempat pemrosesan bahasa, kueri, dan transaksi. Semua interaksi pengguna dengan database Hyperscale terjadi melalui node komputasi. Simpul komputasi dapat dikonfigurasi untuk menggunakan komputasi tanpa server atau yang disediakan.

Simpul komputasi memiliki cache berbasis SSD lokal yang disebut Ekstensi Kumpulan Buffer Tangguh (Cache Data RBPEX). RBPEX Data Cache adalah cache data latensi rendah cerdas yang meminimalkan kebutuhan untuk mengambil data dari server halaman jarak jauh.

Database Hyperscale memiliki satu node komputasi utama tempat pemrosesan beban kerja baca-tulis dan transaksi. Hingga empat simpul komputasi sekunder dengan ketersediaan tinggi dapat ditambahkan sesuai permintaan. Mereka bertindak sebagai simpul siaga panas untuk tujuan failover dan dapat berfungsi sebagai simpul komputasi baca-saja untuk membongkar beban kerja baca jika diinginkan. Replika bernama adalah simpul komputasi sekunder yang dirancang untuk memungkinkan berbagai skenario read-scale out OLTP tambahan dan untuk mendukung beban kerja Hybrid Transactional and Analytical Processing (HTAP) dengan lebih baik. Simpul komputasi geo sekunder dapat ditambahkan untuk tujuan pemulihan bencana dan berfungsi sebagai simpul komputasi baca-saja untuk membongkar beban kerja baca di wilayah Azure yang berbeda.

Tanpa server, replika utama dan replika ketersediaan tinggi atau replika bernama masing-masing skala otomatis secara independen berdasarkan penggunaannya. Rentang penskalaan otomatis komputasi untuk replika utama dan replika bernama dikonfigurasi secara independen. Rentang penskalaan otomatis replika ketersediaan tinggi apa pun diwarisi dari konfigurasi penskalaan otomatis yang ditentukan oleh replika utama terkait atau replika bernama.

Mesin database yang berjalan pada simpul komputasi Hyperscale sama seperti pada tingkatan layanan Azure SQL Database lainnya. Ketika pengguna berinteraksi dengan mesin database pada simpul komputasi Hyperscale, area permukaan dan perilaku mesin yang didukung sama seperti di tingkat layanan lain, kecuali untuk batasan yang diketahui.

Server halaman

Server halaman adalah sistem yang mewakili mesin penyimpanan yang diskalakan. Setiap server halaman bertanggung jawab atas subset halaman dalam database. Setiap server halaman juga memiliki replika yang disimpan dengan alasan redundansi dan ketersediaan.

Server halaman bekerja untuk melayani halaman database ke simpul komputasi sesuai permintaan, dan untuk menjaga halaman diperbarui saat transaksi memperbarui data. Server halaman selalu diperbarui dengan memutar ulang rekaman log transaksi dari layanan log.

Server halaman juga mempertahankan cache berbasis SSD untuk meningkatkan performa. Penyimpanan halaman data jangka panjang disimpan di Azure Storage dengan alasan durabilitas.

Layanan log

Layanan log menerima catatan log transaksi yang sesuai dengan perubahan data dari replika komputasi primer. Kemudian, server halaman menerima catatan log dari layanan log dan menerapkan perubahan pada irisan data masing-masing. Selain itu, replika komputasi sekunder menerima catatan log dari layanan log dan hanya memutar ulang perubahan ke halaman yang sudah ada di kumpulan buffer atau cache RBPEX lokal. Semua perubahan data dari replika komputasi utama disebarkan melalui layanan log ke semua replika komputasi sekunder dan server halaman.

Akhirnya, rekaman log transaksi didorong ke penyimpanan jangka panjang di Azure Storage, yang merupakan repositori penyimpanan yang hampir tak terbatas. Mekanisme ini menghapus kebutuhan untuk sering terjadinya pemotongan log. Alasan umum untuk pertumbuhan log seperti pencadangan log yang terlewat atau replikasi data lambat ke replika sekunder tidak berlaku untuk Hyperscale. Layanan log memiliki memori lokal dan cache SSD untuk mempercepat akses ke rekaman log.

Penyimpanan Azure

Azure Storage berisi semua file data dalam database. Server halaman selalu menjaga file data di Azure Storage diperbarui. Penyimpanan ini juga digunakan untuk tujuan pencadangan dan dapat direplikasi antar wilayah berdasarkan pilihan redundansi penyimpanan.

Pencadangan diimplementasikan menggunakan rekam jepret penyimpanan file data. Operasi pemulihan menggunakan rekam jepret cepat terlepas dari ukuran data. Database dapat dipulihkan ke titik waktu mana pun dalam periode retensi cadangannya.

Hyperscale mendukung redundansi penyimpanan yang dapat dikonfigurasi. Saat membuat database Hyperscale, Anda dapat memilih dari jenis penyimpanan standar Azure berikut:

  • Penyimpanan yang berlebihan secara lokal (LRS)
  • Penyimpanan lewah zona (ZRS)
  • Penyimpanan lewah geo akses baca (RA-GRS)
  • Penyimpanan lewah geo-zona akses baca (RA-GRS)

Opsi penyimpanan zona-redundan tersedia di wilayah Azure dengan zona ketersediaan.

Opsi redundansi penyimpanan yang dipilih digunakan untuk masa pakai database, untuk redundansi penyimpanan data dan redundansi penyimpanan cadangan.