Lewati Navigasi

Peningkatan skala vs. perluasan skala

Pengantar skalabilitas database di komputasi cloud

Data, data di mana-mana—hal yang kita bicarakan ketika kita berbicara tentang skalabilitas

Skalabilitas dalam komputasi cloud adalah kemampuan untuk meningkatkan atau mengurangi ukuran atau kekuatan solusi atau sumber daya TI dengan cepat dan mudah. Meskipun istilah skalabilitas dapat mengacu pada kemampuan sistem apa pun untuk menangani pekerjaan yang semakin banyak, ketika kami membahas tentang meningkatkan skala vs. memperluas skala, kami sering merujuk ke database dan data—yang jumlahnya banyak.

Skalabilitas database adalah yang pertama dipikirkan oleh pengembang aplikasi modern. Misalnya, sebuah aplikasi baru diluncurkan—dan permintaan aplikasi tersebut berkembang dari beberapa pengguna hingga jutaan pengguna di seluruh dunia. Salah satu kemampuan paling penting untuk membantu pengembang aplikasi mengoptimalkan permintaan dan meminimalkan waktu henti adalah kemampuan untuk menskalakan secara efisien.

Percakapan tentang perluasan skala vs. peningkatan skala berfokus pada cara skalabilitas membantu mengadaptasi dan menangani larik data yang bervolume besar dan luas, mengubah volume data, dan mengalihkan pola beban kerja—semuanya dihasilkan dari cloud, seluler, media sosial, dan big data.

Perluasan skala vs. peningkatan skala

Pada tingkat yang paling dasar, skalabilitas database dapat dibagi menjadi dua tipe:

Penskalaan vertikal, atau penskalaan ke atas atau ke bawah untuk meningkatkan atau mengurangi daya komputasi atau database sesuai kebutuhan—baik dengan mengubah tingkat kinerja maupun menggunakan kumpulan database elastis untuk menyesuaikan permintaan beban kerja Anda secara otomatis.

Penskalaan horizontal, atau perluasan atau penyempitan skala, di mana Anda menambahkan lebih banyak database atau membagi database besar Anda ke node yang lebih kecil, menggunakan pendekatan pemartisian data yang disebut sharding, yang dapat dikelola lebih cepat dan lebih mudah di seluruh server.

Meningkatkan skala secara vertikal

Penskalaan vertikal digunakan ketika Anda perlu bereaksi dengan cepat untuk memperbaiki masalah kinerja yang tidak dapat Anda atasi dengan teknik pengoptimalan database klasik—seperti perubahan kueri atau pengindeksan. Peningkatan skala berguna untuk menangani lonjakan beban kerja Anda yang tuntutannya tidak dapat dipenuhi oleh tingkat kinerja saat ini. Meningkatkan skala memungkinkan Anda menambahkan lebih banyak sumber daya untuk menangani beban kerja puncak dengan mudah. Kemudian, jika sumber daya tidak diperlukan lagi, penurunan skala memungkinkan Anda kembali ke status asli dan menghemat biaya cloud.

Tingkatkan skala saat:

  • Anda tahu bahwa beban kerja Anda mencapai beberapa batas kinerja seperti batas CPU atau I/O.
  • Anda perlu bereaksi cepat untuk memperbaiki masalah kinerja yang tidak dapat diatasi dengan pengoptimalan database klasik.
  • Anda memerlukan solusi yang memungkinkan Anda mengubah tingkat layanan untuk beradaptasi dengan mengubah persyaratan latensi.

Perluasan skala secara horizontal

Pengembang aplikasi mulai mempertimbangkan perluasan skala atau penskalaan horizontal ketika mereka tidak bisa mendapatkan sumber daya yang cukup untuk beban kerja mereka, bahkan beroperasi pada tingkat kinerja tertinggi. Dengan penskalaan horizontal, data dibagi menjadi beberapa database, atau shard, di seluruh server, dan setiap shard dapat diskalakan ke atas atau ke bawah secara terpisah.

Bagaimana cara pemartisian data meningkatkan skalabilitas? Saat Anda meningkatkan skala database tunggal dengan menambahkan sumber daya seperti mesin virtual (VM), database pada akhirnya akan mencapai batas perangkat keras fisik. Karena partisi data masing-masing di-hosting di server terpisah, jika Anda membagi data di beberapa shard, Anda dapat memperluas skala sistem hampir tanpa batas.

Beberapa jenis teknologi database, terutama database nonrelasional atau database NoSQL dikembangkan dengan kemampuan unik untuk memperluas skala secara horizontal dengan sharding—sehingga dapat menangani data yang besar, tidak terkait, tidak ditentukan, atau cepat berubah.

Selain itu, beberapa layanan database relasional (SQL) yang awalnya menawarkan layanan untuk meningkatkan atau menurunkan skala mulai menawarkan opsi menarik untuk mencocokkan keunggulan skalabilitas database nonrelasional. Layanan hyperscale seperti Microsoft Azure SQL Database Hyperscale dan Azure Database for PostgreSQL Hyperscale memungkinkan pengguna untuk menskalakan penyimpanan dengan cepat hingga 100 TB, menyediakan arsitektur cloud-native yang fleksibel yang membuat penyimpanan dapat tumbuh sesuai kebutuhan, serta memungkinkan pencadangan yang mendekati instan dan pemulihan database cepat hanya dalam hitungan menit.

Perluas skala saat:

  • Anda memiliki aplikasi yang terdistribusi secara geografis sehingga setiap aplikasi harus mengakses bagian dari data di wilayah tersebut. Setiap aplikasi hanya akan mengakses shard yang terkait dengan wilayah tersebut tanpa memengaruhi shard lainnya.
  • Anda memiliki skenario sharding global—seperti penyeimbangan beban—di mana Anda memiliki sejumlah besar klien yang terdistribusi secara geografis yang menyisipkan data dalam shard khusus tersendiri.
  • Anda telah mencapai batas persyaratan kinerja, bahkan di tingkat kinerja tertinggi layanan Anda, atau jika data tidak dapat dimasukkan ke dalam satu database.

Penskalaan otomatis

Penskalaan otomatis adalah proses pencocokan sumber daya secara otomatis dan dinamis untuk memenuhi persyaratan kinerja sistem. Saat volume pekerjaan meningkat, aplikasi mungkin memerlukan sumber daya tambahan untuk mempertahankan tingkat kinerja yang diperlukan atau memenuhi permintaan yang meningkat. Jika permintaan melambat dan sumber daya tambahan tidak lagi diperlukan, Anda dapat menghemat pengeluaran cloud dengan menetapkan layanan otomatis untuk membatalkan alokasi sumber daya yang tidak digunakan.

Penskalaan otomatis memanfaatkan elastisitas lingkungan yang di-hosting cloud. Hal ini memudahkan overhead manajemen dengan mengurangi kebutuhan operator sistem yang terus membuat keputusan terkait menambahkan atau menghapus sumber daya atau memeriksa kinerja sistem.

Meskipun ada dua cara utama agar aplikasi dapat diskalakan—secara vertikal atau horizontal— mengotomatiskan penskalaan vertikal bukan hal yang umum, karena peningkatan skala sering kali membuat sistem tidak tersedia sementara saat sedang disebarkan ulang.

Penskalaan otomatis lebih umum dalam penskalaan horizontal karena perluasan atau penyempitan skala hanya berarti menambahkan atau menghapus instans sumber daya dan aplikasi Anda terus berjalan tanpa gangguan sementara sumber daya baru disediakan. Jika permintaan turun, sumber daya dapat dimatikan dengan lancar tanpa waktu henti atau pembatalan alokasi.

Banyak penyedia sistem berbasis cloud, seperti Microsoft Azure, yang mendukung penskalaan horizontal otomatis.

  • Database adalah kumpulan informasi yang saling terkait yang disimpan dan diatur sehingga lebih mudah untuk dikelola dan diakses. Karena data dan tipe data baru dibuat dengan sangat cepat, menjaga data agar tetap tertata, mudah diakses, dan aman menjadi tantangan. Sistem manajemen database (DBMS)—yang mencakup sejumlah alat manajemen—sering digunakan untuk menangani volume data yang besar.

    Tipe dan teknologi database baru yang terus-menerus muncul untuk menyesuaikan dengan tingginya volume dan beragamnya larik data yang dihasilkan dari cloud, seluler, media sosial, dan big data.

    Pelajari selengkapnya tentang database
  • \

    Database NoSQL, biasanya disebut sebagai SQL nonrelasional atau SQL "not only", adalah beragam rangkaian teknologi database yang menangani penyimpanan dan pengambilan data yang berbeda dari database relasional (SQL) yang tradisional.

    Database NoSQL tidak memerlukan skema yang ditentukan dan dapat menggunakan beberapa model data—sehingga sangat efektif dalam menangani data tidak terstruktur dalam volume tinggi dan menskalakan proyek database dengan data besar.

    Pelajari selengkapnya tentang database NoSQL
  • PostgreSQL adalah database sumber terbuka yang kokoh dan berfungsi dengan kueri relasional dan nonrelasional, yang dikenal karena keandalan dan integritas datanya. PostgreSQL banyak digunakan di bidang seperti layanan keuangan, manufaktur, sistem informasi geografis pemerintah, dan teknologi web. Pengembang membuat aplikasi dengan PostgreSQL, sementara administrator memercayainya untuk melindungi data mereka.

    Pelajari selengkapnya tentang PostgreSQL
  • Pembuatan cache adalah teknik yang umum digunakan oleh pengembang dan profesional TI untuk meningkatkan kinerja dan skalabilitas sistem. Pembuatan cache bekerja dengan menyalin data yang sering diakses untuk sementara ke penyimpanan cepat yang terletak di dekat aplikasi. Jika penyimpanan data cepat ini berada lebih dekat ke aplikasi daripada sumber aslinya, maka pembuatan cache dapat meningkatkan waktu respons secara signifikan untuk aplikasi klien dengan melayani data lebih cepat. Pengembang sering mendesain aplikasi untuk menyimpan data yang diproses dalam cache, lalu mengatur ulang cache untuk melayani permintaan lebih cepat dari dalam kueri database standar.

    Pelajari selengkapnya tentang pembuatan cache
  • Sharding data adalah tipe pemartisian data horizontal yang memungkinkan Anda membagi database besar menjadi database yang lebih kecil, yang dapat dikelola lebih cepat dan lebih mudah di seluruh server.

    Pelajari selengkapnya tentang sharding database
  • Platform-as-a-service, yang sering disingkat PaaS, adalah layanan dari penyedia cloud yang menawarkan lingkungan sesuai permintaan untuk pengembangan, pengujian, pengiriman, dan manajemen aplikasi. Platform sebagai layanan memudahkan dan mempercepat pengembang untuk membuat aplikasi web atau seluler—tanpa harus berurusan dengan penyiapan atau pengelolaan infrastruktur dasar server, penyimpanan, jaringan, dan database yang diperlukan sebagai pengembang.

    Pelajari selengkapnya tentang PaaS

Jelajahi skalabilitas cloud dengan Azure

Temukan pendekatan komprehensif tentang peningkatan skala vs. perluasan skala—yang sesuai dengan skenario Anda sendiri di lingkungan lokal, multicloud, dan tepi. Keluarga layanan database dari Azure menawarkan pilihan database relasional, database NoSQL, dan database dalam memori yang terkelola sepenuhnya, yang mencakup mesin pribadi dan sumber terbuka, agar sesuai dengan kebutuhan pengembang aplikasi modern.

Hemat waktu dan uang dengan manajemen infrastruktur otomatis—termasuk solusi otomatisasi untuk skalabilitas, ketersediaan, dan keamanan.

Produk dan layanan terkait

Azure SQL

Keluarga database cloud SQL yang menyediakan opsi fleksibel untuk migrasi, modernisasi, dan pengembangan aplikasi

Azure Cosmos DB

Database NoSQL cepat dengan API terbuka untuk skala apa pun

Azure PostgreSQL

PostgreSQL terkelola sepenuhnya, yang cerdas dan terukur

Azure SQL Database

SQL cerdas dan terkelola di cloud

Azure SQL Managed Instance

Instans SQL terkelola dan selalu diperbarui di cloud

SQL Server pada Komputer Virtual

Migrasikan beban kerja SQL Server ke cloud dengan TCO terendah

Database Azure untuk MySQL

Database MySQL yang terkelola sepenuhnya dan dapat diskalakan

Azure Maria DB

Layanan database MariaDB terkelola untuk pengembang aplikasi

Azure Cache for Redis

Percepat aplikasi dengan pembuatan cache data latensi rendah dan throughput tinggi

Skalakan tanpa batasan dengan database terkelola

Fokus pada pembuatan aplikasi dan sederhanakan pekerjaan Anda dengan database yang dikelola oleh Microsoft Azure

Siap digunakan—mari siapkan akun gratis Anda