Mengapa Teknologi Basis Data Tradisional Gagal Berkala

Pengarang: Roger Morrison
Tanggal Pembuatan: 22 September 2021
Tanggal Pembaruan: 10 Boleh 2024
Anonim
The Third Industrial Revolution: A Radical New Sharing Economy
Video: The Third Industrial Revolution: A Radical New Sharing Economy

Isi



Sumber: Wavebreakmediamicro / Dreamstime.com

Bawa pulang:

Database load balancing tanpa diragukan lagi adalah cara termudah untuk memastikan waktu kerja dan kinerja tinggi sambil mengurangi biaya layanan dan meningkatkan pengalaman pelanggan.

Apakah Anda mengetahui kelemahan mendasar dalam arsitektur lama dan database SQL tradisional? Apakah Anda tahu bahwa basis data SQL tidak dirancang untuk skala membaca dan menulis? Ingin tahu apakah database SQL tradisional Anda dapat membuat masalah untuk pemrosesan analitik online? Sayangnya, jawabannya pasti ya. Meskipun ada intervensi padat karya dari DBA Anda untuk mengukur basis data di luar kebutuhan perusahaan yang ada, volume dan kecepatan data bisnis yang luar biasa membuatnya sangat sulit untuk beradaptasi dengan tuntutan dinamis sambil menghindari waktu henti dan penundaan. Tantangan-tantangan ini tidak berarti bahwa penskalaan basis data SQL Anda tidak mungkin. Ini hanya berarti bahwa prosesnya penuh dengan tantangan di setiap lini. Mari kita pelajari alasannya. (Untuk lebih lanjut tentang SQL, lihat Bagaimana SQL di Hadoop Bantuan dengan Analisis Data Besar?)


Kekurangan Sistem Manajemen Basis Data Monolitik

Dikandung dalam era yang relatif tersentralisasi ketika perangkat lunak digunakan di lingkungan statis, arsitektur basis data lama gagal mendukung dunia seluler yang semakin meningkat di mana aplikasi diakses kapan saja, di mana saja. Saat ini pengguna perangkat lunak menginginkan peningkatan yang konsisten dalam kegunaan dan mengharapkan vendor SaaS untuk memberikan fitur dan fungsi baru yang diperlukan untuk mencapai tujuan bisnis mereka.

Namun, teknologi basis data lama gagal dalam melayani kebutuhan lingkungan cloud dan didistribusikan saat ini karena alasan berikut:

  • Kemampuan failover yang tidak memadai
  • Masalah latensi
  • Ketidakcukupan ketentuan selama permintaan puncak
  • Kurangnya ketersediaan tinggi setiap saat
  • Meningkatkan biaya operasional
  • Ketidakmampuan untuk memenuhi permintaan pasar global

Untuk semua alasan ini, database tradisional tidak dapat memberikan hasil dalam lingkungan yang berkembang pesat di mana beban kerja didistribusikan secara geografis di seluruh pusat data yang heterogen. Upgrade ke model data yang lebih didistribusikan mahal dan rumit. Tapi DBA Anda tidak bisa hanya duduk dan menyerah pada situasi ini. Berikut adalah tiga solusi yang umum digunakan untuk menyelesaikan masalah skalabilitas bersama dengan keuntungan dan keterbatasan bisnis mereka.


Pro & Kontra Penanganan Masalah Umum

  • Sharding
  • Penskalaan Vertikal
  • Penskalaan Horizontal

Ada dua jenis sharding - horizontal dan vertikal. Sementara sharding horizontal membutuhkan pembagian data sepanjang beberapa instance, sharding vertikal memindahkan semua tabel Anda ke instance lain untuk meminimalkan waktu respons untuk kueri. Sharding memfasilitasi penyimpanan data di beberapa server, tetapi sharding horizontal dan vertikal rumit dan memakan waktu. Kedua proses tersebut membutuhkan perubahan di tingkat aplikasi selain dari data yang berlebihan untuk menghindari permintaan silang.

Sharding memberi Anda kemampuan untuk menyimpan sejumlah besar data, membagikannya di seluruh lokasi, mengakses informasi dengan mudah di perangkat apa pun, menghilangkan duplikasi dan mengurangi ruang penyimpanan tetapi, ini bukan tanpa batasan. Sayangnya, sharding rawan kesalahan, membutuhkan failover manual, dan terbatas dalam hal partisi kapasitas. Bergabung sangat tidak bisa diandalkan dan tidak efisien, dan mengambil cadangan yang konsisten bisa menjadi sangat sulit. Basis data yang terbengkalai tidak dapat selamat dari pemadaman layanan dan tidak mendukung kunci asing. Kurangnya integritas referensial dapat mengundang inkonsistensi dalam data yang pada akhirnya dapat menjadi biaya pengembangan yang signifikan bagi perusahaan.

Pada kenyataannya, sangat sedikit organisasi yang benar-benar perlu sharding. Entitas seperti, dengan petabyte data yang ditambahkan setiap hari, jarang terjadi. Bagi sebagian besar perusahaan, membongkar server tulis utama dengan meningkatkan kapasitas baca akan menyelesaikan tantangan skalabilitas secara keseluruhan.

Meningkatkan skala berarti pindah ke server yang lebih besar dan lebih baik yang memiliki lebih banyak memori, bandwidth, dan I / O. Ketika solusi yang ada mulai melambat, penskalaan membuatnya mudah untuk menangani beban berat. Jadi apa yang salah dengan solusinya?

Tanpa Bug, Tanpa Stres - Panduan Langkah Demi Langkah Anda untuk Membuat Perangkat Lunak yang Mengubah Hidup Tanpa Menghancurkan Kehidupan Anda

Anda tidak dapat meningkatkan keterampilan pemrograman Anda ketika tidak ada yang peduli dengan kualitas perangkat lunak.

Biaya naik dengan perangkat keras yang lebih mahal. Perizinan basis data menjadi lebih mahal dan biaya perawatan juga meningkat. Tidak peduli seberapa besar Anda pergi, pada akhirnya semua server Anda pasti kehabisan tenaga. Pada titik tertentu, peningkatan skala tambahan tidak lagi dimungkinkan.

Menskalakan berarti menambah lebih banyak kapasitas dengan menambahkan lebih banyak server individual yang bekerja sama untuk melayani lalu lintas. Skala seperti ini juga dapat meningkatkan waktu kerja karena setiap kegagalan server tunggal tidak mengganggu ketersediaan sistem secara keseluruhan. Tantangannya adalah bahwa perangkat lunak Anda tidak tahu cara berbicara dengan beberapa server basis data. Untuk mencapai skala basis data secara efisien dan hemat biaya, Anda memerlukan perangkat lunak penyeimbang beban basis data yang menghindari pengerjaan ulang aplikasi yang diperlukan untuk berbicara dengan sekunder yang direplikasi. (Untuk mempelajari lebih lanjut tentang tren basis data, lihat Pusat Data yang Ditentukan Perangkat Lunak: Whats Real dan Whats Not.)

Bagaimana Penyeimbangan Beban Basis Data Mengatasi Kekurangan Skalabilitas dengan Efisien

Perangkat lunak penyeimbang beban basis data melindungi infrastruktur Anda dari gangguan dan keterlambatan dengan secara efisien meningkatkan pembacaan basis data Anda, menurunkan muatan server utama dan karenanya meningkatkan skala penulisan. Perangkat lunak ini memungkinkan aplikasi Anda memanfaatkan basis data yang diperkecil tanpa memerlukan perubahan kode. Ini memastikan ketersediaan tinggi dan kinerja tinggi dengan:

  • Secara otomatis menulis ke server utama dan membaca ke sekunder
  • Menghindari kesalahan aplikasi selama kegagalan database dengan menahan menulis dalam antrian sampai sekunder telah dibuat primer baru
  • Melacak waktu replikasi untuk memastikan bahwa pembacaan tidak dikirim ke server sekunder yang tertinggal dalam replikasi
  • Mendistribusikan bacaan di antara semua server sekunder yang tersedia, dan mengarahkan beban kerja ke server dengan kinerja terbaik
  • Menawarkan visibilitas ujung ke ujung menjadi penyebab utama kemacetan kinerja aplikasi

Database load balancing tanpa diragukan lagi adalah cara termudah untuk memastikan waktu kerja dan kinerja tinggi sambil mengurangi biaya layanan dan meningkatkan pengalaman pelanggan.