Bagikan melalui


Kumpulan elastis membantu Anda mengelola dan mengatur skala 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:

  • Membagikan sumber daya secara berlebihan berdasarkan penggunaan puncak dan membayar lebih dari yang diperlukan.
  • Pengurangan penyediaan untuk menghemat biaya dengan mengorbankan performa dan kepuasan pelanggan selama saat puncak permintaan.

Pool elastis menyelesaikan masalah ini dengan memastikan bahwa database mendapatkan sumber daya kinerja yang mereka butuhkan saat membutuhkannya. Mereka menyediakan mekanisme alokasi sumber daya sederhana dalam anggaran yang terprediksi. Untuk mempelajari selengkapnya tentang pola desain untuk aplikasi SaaS menggunakan kumpulan elastis, lihat pola penyewaan database Multitenant SaaS.

Penting

Tidak ada biaya per database untuk kumpulan elastis. Anda ditagih untuk setiap jam kumpulan tersebut ada pada eDTU atau vCores tertinggi, tanpa memandang penggunaannya 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 pool dikendalikan oleh anggaran Anda. 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 menggunakan sumber daya 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. 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 (dalam hitungan detik) ketika koneksi database terputus pada akhir operasi.

Kapan harus mempertimbangkan penggunaan SQL Database elastic pool?

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 melonjak dalam aktivitas. Pola pemanfaatan ini cocok untuk kolam renang.

Bagan yang memperlihatkan database tunggal yang cocok untuk pool.

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.

Kolam memungkinkan DTU yang tidak terpakai ini untuk 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 penurunan DTU sebanyak 20 kali dan penurunan harga sebanyak 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 suatu kumpulan merupakan fungsi dari eDTU kumpulan tersebut. 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 kolam renang yang tepat?

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 antara 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.

Properti setiap 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.

Gunakan fitur SQL Database lainnya dengan kumpulan elastis

Anda dapat menggunakan fitur SQL Database lainnya dengan kumpulan elastis.

Pekerjaan elastis dan kumpulan elastis

Dengan adanya kumpulan, tugas pengelolaan disederhanakan dengan menjalankan skrip dalam pekerjaan elastis. Pekerjaan elastis menghilangkan sebagian besar kebosanan yang terkait dengan banyaknya database.

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

Kumpulan elastis skala besar

Gambaran umum kumpulan elastis Skala Hiper di Azure SQL Database umum tersedia.

Instans peluasan skala baca-saja

Anda tidak dapat menggunakan instans peluasan skala baca-saja Azure SQL Database dengan kueri elastis.

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.
  • Geo-pemulihan: Geo-pemulihan menyediakan opsi pemulihan default ketika basis data tidak tersedia karena insiden di wilayah di mana basis data dihosting. Lihat Geo-restore.
  • Replikasi geografis aktif: Untuk aplikasi yang memiliki persyaratan pemulihan yang lebih agresif daripada yang dapat ditawarkan oleh geo-restore, konfigurasikan replikasi geografis aktif atau grup failover.

Untuk informasi selengkapnya tentang strategi di atas, lihat panduan pemulihan bencana .

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 Databases, di daftar dropdown Jenis sumber daya, pilih Kumpulan Elastis. Lalu pilih Buat.

    Cuplikan layar yang menunjukkan 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 pool menentukan fitur yang tersedia untuk elastisitas di pool, 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 database tersebut

Di portal Microsoft Azure, Anda dapat memantau pemanfaatan kumpulan elastis dan database dalam kumpulan tersebut. Anda juga dapat melakukan serangkaian perubahan pada kumpulan elastis Anda dan mengajukan semua perubahan tersebut 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.