Bagikan melalui


Kumpulan elastis membantu Anda mengelola dan menskalakan beberapa database di Azure SQL Database

Berlaku untuk: Azure SQL Database

Kumpulan elastis Azure SQL Database adalah solusi sederhana dan hemat biaya untuk mengelola dan menskalakan beberapa database dengan berbagai permintaan penggunaan yang berbeda dan tidak dapat diprediksi. Database dalam kumpulan elastis berada di satu server dan berbagi sejumlah sumber daya dengan harga yang ditentukan. Kumpulan elastis di SQL Database memungkinkan pengembang perangkat lunak sebagai layanan (SaaS) untuk mengoptimalkan performa harga untuk sekelompok database dalam anggaran yang ditentukan sambil memberikan elastisitas performa untuk setiap database.

Apa itu kumpulan elastis SQL?

Pengembang SaaS membangun aplikasi di atas tingkat data skala besar dengan beberapa database. Pola aplikasi yang khas adalah menyediakan database tunggal untuk setiap pelanggan. Namun, pelanggan yang berbeda sering memiliki pola penggunaan yang bervariasi dan tidak dapat diprediksi, dan sulit untuk memprediksi persyaratan sumber daya setiap pengguna database. Biasanya, Anda memiliki dua opsi:

  • Kelebihan provisi sumber daya berdasarkan penggunaan puncak dan pembayaran lebih.
  • Kurang provisi untuk menghemat biaya dengan mengorbankan performa dan kepuasan pelanggan selama puncak.

Kumpulan elastis menyelesaikan masalah ini dengan memastikan bahwa database mendapatkan sumber daya performa yang mereka butuhkan saat membutuhkannya. Kumpulan elastis menyediakan mekanisme alokasi sumber daya sederhana dalam anggaran yang dapat diprediksi. Untuk mempelajari selengkapnya tentang pola desain untuk aplikasi SaaS menggunakan kumpulan elastis, lihat Pola desain untuk aplikasi SaaS multipenyewa dengan SQL Database.

Penting

Tidak ada biaya per database untuk kumpulan elastis. Anda ditagih untuk setiap jam kumpulan berada di eDTU atau vCore tertinggi, terlepas dari penggunaan atau apakah kumpulan tersebut aktif selama kurang dari satu jam.

Kumpulan elastis memungkinkan Anda membeli sumber daya untuk kumpulan yang dibagikan oleh beberapa database untuk mengakomodasi periode penggunaan yang tidak dapat diprediksi oleh database individual. Anda dapat mengonfigurasi sumber daya untuk kumpulan berdasarkan model pembelian berbasis DTU atau model pembelian berbasis vCore. Pemanfaatan agregat databasenya menentukan persyaratan sumber daya untuk kumpulan.

Jumlah sumber daya yang tersedia untuk kumpulan dikendalikan oleh anggaran pengembang. Yang harus Anda lakukan adalah:

  • Tambahkan database ke kumpulan.
  • Secara opsional atur sumber daya minimum dan maksimum untuk database, baik dalam model pembelian DTU atau vCore.
  • Atur sumber daya kumpulan berdasarkan anggaran Anda.

Anda dapat menggunakan kumpulan untuk menumbuhkan layanan Anda dengan mulus dari startup yang ramping ke bisnis yang matang dalam skala yang terus meningkat.

Dalam kumpulan, database individu diberikan fleksibilitas untuk menskalakan secara otomatis dalam parameter yang ditetapkan. Di bawah beban berat, database dapat menggunakan lebih banyak sumber daya untuk memenuhi permintaan. Database di bawah beban ringan menggunakan lebih sedikit sumber daya, dan database tanpa beban tidak menggunakan sumber daya. Menyediakan sumber daya untuk seluruh kumpulan daripada untuk database tunggal menyederhanakan tugas manajemen Anda. Selain itu, Anda memiliki anggaran yang dapat diprediksi untuk kumpulan tersebut.

Sumber daya tambahan dapat ditambahkan ke kumpulan yang ada dengan waktu henti minimum. Jika sumber daya tambahan tidak lagi diperlukan, sumber daya tersebut dapat dihapus dari kumpulan yang ada kapan saja. Dan Anda dapat menambahkan atau menghapus database dari kumpulan. Jika database diduga kurang memanfaatkan sumber daya, Anda dapat memindahkannya keluar.

Catatan

Saat Anda memindahkan database ke atau keluar dari kumpulan elastis, tidak ada waktu henti kecuali untuk periode singkat (pada urutan detik) saat koneksi database dihilangkan di akhir operasi.

Kapan harus mempertimbangkan kumpulan elastis SQL Database?

Kumpulan sangat cocok untuk sejumlah besar database dengan pola pemanfaatan tertentu. Pola ini ditandai dengan pemanfaatan rata-rata rendah dengan lonjakan pemanfaatan yang jarang untuk database tertentu. Sebaliknya, beberapa database dengan pemanfaatan menengah-tinggi persisten tidak boleh ditempatkan di kumpulan elastis yang sama.

Semakin banyak database yang dapat Anda tambahkan ke kumpulan, semakin besar penghematan Anda. Bergantung pada pola pemanfaatan aplikasi, Anda dapat melihat penghematan dengan sedikitnya dua database S3.

Bagian berikut ini membantu Anda memahami cara menilai apakah kumpulan database spesifik Anda bisa mendapat manfaat karena berada dalam kumpulan. Contohnya menggunakan kumpulan Standar, tetapi prinsip yang sama berlaku untuk kumpulan elastis di tingkat layanan lain.

Menilai pola pemanfaatan database

Gambar berikut menunjukkan contoh database yang menghabiskan banyak waktu diamnya tetapi secara berkala melonjakan aktivitas. Pola pemanfaatan ini cocok untuk kolam renang.

Bagan yang memperlihatkan database tunggal yang cocok untuk kumpulan.

Bagan ini menggambarkan penggunaan DTU selama satu jam dari pukul 12:00 hingga 1:00 di mana setiap titik data memiliki granularitas satu menit. Pada pukul 12:10, DB1 memuncak hingga 90 DTU, tetapi penggunaan rata-rata keseluruhannya kurang dari lima DTU. Ukuran komputasi S3 diperlukan untuk menjalankan beban kerja ini dalam satu database, tetapi ukuran ini membuat sebagian besar sumber daya tidak digunakan selama periode aktivitas rendah.

Kumpulan memungkinkan DPU yang tidak digunakan ini dibagikan di beberapa database. Kolam renang mengurangi DTU yang dibutuhkan dan biaya keseluruhan.

Membangun contoh sebelumnya, misalkan database lain memiliki pola pemanfaatan yang sama dengan DB1. Dalam dua angka berikut, pemanfaatan 4 database dan 20 database dilapisi ke grafik yang sama untuk menggambarkan sifat pemanfaatannya yang tidak tumpang tindih dari waktu ke waktu dengan menggunakan model pembelian berbasis DTU:

Bagan yang memperlihatkan empat database dengan pola pemanfaatan yang cocok untuk kumpulan.

Bagan yang memperlihatkan 20 database dengan pola pemanfaatan yang cocok untuk kumpulan.

Garis hitam dalam bagan sebelumnya menggambarkan pemanfaatan DTU agregat di semua 20 database. Baris ini menunjukkan bahwa pemanfaatan DTU agregat tidak pernah melebihi 100 DTU dan menunjukkan bahwa 20 database dapat berbagi 100 eDTU selama periode ini. Hasilnya adalah pengurangan 20 kali dalam DTU dan pengurangan harga 13 kali dibandingkan dengan menempatkan setiap database dalam ukuran komputasi S3 untuk database tunggal.

Contoh ini sangat ideal karena:

  • Ada perbedaan besar antara pemanfaatan puncak dan pemanfaatan rata-rata per database.
  • Pemanfaatan puncak untuk setiap database terjadi pada titik waktu yang berbeda.
  • eDTU dibagikan di antara banyak database.

Dalam model pembelian DTU, harga kumpulan adalah fungsi dari eDTU kumpulan. Sementara harga satuan eDTU untuk kumpulan adalah 1,5 kali lebih besar dari harga unit DTU untuk satu database, eDTU kumpulan dapat dibagikan oleh banyak database, dan lebih sedikit total eDTU yang diperlukan. Perbedaan harga dan pembagian eDTU ini adalah dasar dari potensi penghematan harga yang dapat disediakan oleh kumpulan.

Dalam model pembelian vCore, harga unit vCore untuk kumpulan elastis sama dengan harga unit vCore untuk database tunggal.

Bagaimana cara memilih ukuran kumpulan yang benar?

Ukuran terbaik untuk kumpulan tergantung sumber daya agregat yang diperlukan untuk semua database di kumpulan. Anda perlu menentukan:

  • Sumber daya komputasi maksimum yang digunakan oleh semua database dalam kumpulan. Sumber daya komputasi diindeks oleh eDTU atau vCore, tergantung pada pilihan model pembelian Anda.
  • Byte penyimpanan maksimum yang digunakan oleh semua database dalam kumpulan.

Untuk tingkat layanan dan batas sumber daya di setiap model pembelian, lihat model pembelian berbasis DTU atau model pembelian berbasis vCore.

Langkah-langkah berikut dapat membantu Anda memperkirakan apakah kumpulan lebih hemat biaya daripada database tunggal:

  1. Perkirakan eDTU atau vCore yang diperlukan untuk kumpulan sebagai berikut:

    1. Untuk model pembelian berbasis DTU:
      1. MAX(<Jumlah total DB × Pemanfaatan DTU rata-rata per DB>, <Jumlah DB yang memuncak secara bersamaan × Pemanfaatan DTU puncak per DB>)
    2. Untuk model pembelian berbasis vCore:
      1. MAX(<Jumlah total DB × Pemanfaatan vCore rata-rata per DB>, <Jumlah DB yang memuncak secara bersamaan × Pemanfaatan vCore puncak per DB>)
  2. Perkirakan total ruang penyimpanan yang diperlukan untuk kumpulan dengan menambahkan ukuran data yang diperlukan untuk semua database dalam kumpulan. Untuk model pembelian DTU, tentukan ukuran kumpulan eDTU yang menyediakan jumlah penyimpanan ini.

  3. Untuk model pembelian berbasis DTU, ambil perkiraan eDTU yang lebih besar dari Langkah 1 dan Langkah 2.

    1. Untuk model pembelian berbasis vCore, ambil perkiraan vCore dari Langkah 1.
  4. Lihat halaman harga SQL Database.

    1. Temukan ukuran kumpulan terkecil yang lebih besar dari perkiraan dari langkah 3.
  5. Bandingkan harga kumpulan dari langkah 4 dengan menggunakan ukuran komputasi yang sesuai untuk database tunggal.

Penting

Jika jumlah database dalam kumpulan mendekati maksimum yang didukung, pastikan untuk mempertimbangkan manajemen Sumber Daya di kumpulan elastis yang padat.

Per properti database

Secara opsional atur properti per database untuk memodifikasi pola konsumsi sumber daya dalam kumpulan elastis. Untuk informasi lebih lanjut, lihat dokumentasi batas sumber daya untuk kumpulan elastis DTU dan vCore.

Menggunakan fitur SQL Database lainnya dengan kumpulan elastis

Menggunakan fitur SQL Database lainnya dengan kumpulan elastis.

Pekerjaan elastis dan kumpulan elastis

Dengan kumpulan, tugas manajemen disederhanakan dengan menjalankan skrip dalam pekerjaan elastis. Pekerjaan elastis menghilangkan sebagian besar tedium yang terkait dengan sejumlah besar database.

Untuk informasi selengkapnya tentang alat database lain untuk bekerja dengan beberapa database, lihat Meluaskan skala dengan Azure SQL Database.

Kumpulan elastis hyperscale

Kumpulan elastis Azure SQL Database Hyperscale umumnya tersedia.

Opsi kelangsungan bisnis untuk database dalam kumpulan elastis

Database yang dikumpulan umumnya mendukung fitur kelangsungan bisnis yang sama yang tersedia untuk database tunggal:

  • Pemulihan titik waktu: Pemulihan titik waktu menggunakan cadangan database otomatis untuk memulihkan database dalam kumpulan ke titik waktu tertentu. Lihat Pemulihan titik waktu.
  • Pemulihan geo: Pemulihan gero menyediakan opsi pemulihan default saat database tidak tersedia karena insiden di wilayah tempat database dihosting. Lihat Pemulihan geografis.
  • Replikasi geografis aktif: Untuk aplikasi yang memiliki persyaratan pemulihan yang lebih agresif daripada yang dapat ditawarkan pemulihan geografis, konfigurasikan replikasi geografis aktif atau grup failover.

Untuk informasi selengkapnya tentang strategi di atas, lihat Panduan pemulihan bencana Azure SQL Database.

Membuat kumpulan elastis SQL Database baru menggunakan portal Microsoft Azure

Anda bisa membuat kumpulan elastis di portal Microsoft Azure dengan dua cara:

  • Buat kumpulan elastis dan pilih server yang sudah ada atau yang baru.
  • Buat kumpulan elastis dari server yang sudah ada.

Untuk membuat kumpulan elastis dan memilih server yang sudah ada atau baru:

  1. Buka portal Microsoft Azure untuk membuat kumpulan elastis. Cari dan pilih Azure SQL.

  2. Pilih Buat untuk membuka panel Pilih opsi penyebaran SQL. Untuk menampilkan informasi selengkapnya tentang kumpulan elastis, pada petak peta Database, pilih Tampilkan detail.

  3. Pada petak peta Database, di daftar dropdown Jenis sumber daya, pilih Kumpulan elastis. Lalu pilih Buat.

    Cuplikan layar yang memperlihatkan pembuatan kumpulan elastis.

  4. Kemudian, kelola kumpulan elastis Anda melalui portal Azure, PowerShell, Azure CLI, REST API, atau T-SQL.

Untuk membuat kumpulan elastis dari server yang sudah ada:

  1. Masuk ke server yang sudah ada dan pilih Kumpulan baru untuk membuat kumpulan langsung di server tersebut.

    Catatan

    Anda dapat membuat beberapa kumpulan di server, tetapi Anda tidak bisa menambahkan database dari server yang berbeda ke dalam kumpulan yang sama.

    Tingkat layanan kumpulan menentukan fitur yang tersedia untuk elastis di kumpulan, dan jumlah maksimum sumber daya yang tersedia untuk setiap database. Untuk informasi selengkapnya, lihat batas sumber daya untuk kumpulan elastis dalam model DTU. Untuk batas sumber daya berbasis vCore untuk kumpulan elastis, lihat batas sumber daya berbasis vCore - kumpulan elastis.

  2. Untuk mengonfigurasi sumber daya dan harga kumpulan, klik Konfigurasikan kumpulan. Kemudian pilih tingkat layanan, tambahkan database ke kumpulan, dan konfigurasikan batas sumber daya untuk kumpulan dan databasenya.

  3. Setelah mengonfigurasi kumpulan, pilih Terapkan, beri nama kumpulan, dan pilih OK untuk membuat kumpulan.

  4. Kemudian, kelola kumpulan elastis Anda melalui portal Azure, PowerShell, Azure CLI, REST API, atau T-SQL.

Memantau kumpulan elastis dan databasenya

Di portal Microsoft Azure, Anda dapat memantau pemanfaatan kumpulan elastis dan database dalam kumpulan tersebut. Anda juga dapat membuat set perubahan pada kumpulan elastis Anda dan mengirimkan semua perubahan secara bersamaan. Perubahan ini termasuk menambahkan atau menghapus database, mengubah pengaturan kumpulan elastis Anda, atau mengubah pengaturan database Anda.

Anda dapat menggunakan pemantauan performa dan alat pemberitahuan bawaan, dikombinasikan dengan peringkat performa. Selain itu, SQL Database dapat menghasilkan metrik dan log sumber daya untuk pemantauan yang lebih mudah.

Studi kasus pelanggan

  • SnelStart: SnelStart menggunakan kumpulan elastis dengan SQL Database untuk memperluas layanan bisnisnya dengan cepat pada kecepatan 1.000 database SQL baru per bulan.
  • Umbraco: Umbraco menggunakan kumpulan elastis dengan SQL Database untuk menyediakan dan menskalakan layanan dengan cepat bagi ribuan penyewa di cloud.
  • Daxko/CSI: Daxko/CSI menggunakan kumpulan elastis SQL Database untuk mempercepat siklus pengembangannya dan untuk meningkatkan layanan dan performa pelanggannya.