MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Cara Terbaik untuk Menghosting MongoDB di DigitalOcean

MongoDB adalah database open source #3 dan database NoSQL #1 di dunia. Ini adalah database berorientasi dokumen lintas platform yang menggunakan dokumen mirip JSON dengan skema, dan dimanfaatkan secara luas di seluruh aplikasi startup hingga bisnis tingkat perusahaan yang mengembangkan aplikasi modern. Meskipun Anda mungkin menganggap sebagian besar penerapan basis data cloud dijalankan di AWS, Azure, atau Google Cloud Platform, bisnis kecil hingga menengah khususnya condong ke penyedia cloud yang ramah pengembang, DigitalOcean, untuk hosting mereka untuk MongoDB® kebutuhan. Dalam postingan ini, kami akan memandu Anda melalui cara terbaik untuk menghosting MongoDB di DigitalOcean, termasuk jenis instans terbaik untuk digunakan, jenis disk, strategi replikasi, dan penyedia layanan terkelola.

Keuntungan DigitalOcean untuk MongoDB

Jadi, apa yang membuat DigitalOcean menjadi alternatif menarik bagi penyedia hosting MongoDB populer lainnya seperti AWS dan Azure? Seperti disebutkan di atas, DigitalOcean sangat ramah pengembang dengan platformnya yang sederhana dan mudah dipahami – Anda tidak perlu mendapatkan sertifikasi melalui penyedia cloud ini untuk dapat menjalankan dan menjalankan penerapan dengan percaya diri. Mereka menawarkan hosting awan berbasis SSD dengan harga langsung juga mulai dari $5/bulan, yang membuatnya ideal (dan terjangkau) bagi pengembang untuk membangun, menguji, dan menerapkan aplikasi baru mereka dengan mulus di awan. Yang paling mengesankan adalah Anda tidak mengorbankan kinerja demi biaya. Kami menjalankan pengujian kinerja untuk MongoDB pada DigitalOcean vs. AWS vs. Azure dan menemukan bahwa kinerja DigitalOcean sejalan dengan, jika tidak lebih baik, pada throughput tinggi dan latensi rendah dalam penerapan.

Tetesan Laut Digital

DigitalOcean berspesialisasi dalam mesin virtual berbasis SSD yang disebut Droplets yang dipecah menjadi empat kategori sederhana. Droplet paling dasar adalah instans Standar mereka yang menggunakan CPU bersama mulai dari $5/bulan. Meskipun memadai untuk aplikasi dengan lalu lintas rendah, database kecil, dan lingkungan pengembangan/pengujian, kami menyarankan untuk tidak memanfaatkan cluster bersama untuk penerapan produksi MongoDB Anda. Mereka juga menawarkan Droplet yang Dioptimalkan CPU khusus yang cukup untuk beban kerja intensif CPU, tetapi menawarkan memori rendah yang tidak ideal untuk hosting MongoDB.

Jika Anda menerapkan beban kerja MongoDB berukuran sedang, kami akan merekomendasikan Droplet Tujuan Umum mereka yang paling populer yang merupakan instans khusus yang menawarkan memori 4GB untuk setiap vCPU. Ini biasanya lebih dari cukup untuk penerapan produksi dan aplikasi lalu lintas tinggi, dan mulai dari $60/bulan untuk memori 8GB, 2 vCPU, transfer 4TB, dan ruang disk SSD 25GB. DigitalOcean juga baru-baru ini meluncurkan Memory-Optimized Droplet mereka yang merupakan instans khusus yang dirancang untuk aplikasi intensif RAM dan database berkinerja tinggi, menjadikannya solusi menarik untuk aplikasi MongoDB beban kerja berat.

Anda dapat menerapkan MongoDB di DigitalOcean di 12 wilayah pusat data di seluruh dunia, termasuk Amerika Serikat (Kota New York dan San Francisco), Kanada, Belanda, Singapura, Inggris , Jerman, dan India.

Jenis Disk DigitalOcean

Salah satu alasan MongoDB berkinerja sangat baik di DigitalOcean adalah karena disk SSD mereka, yang ideal untuk penerapan basis data cloud. Mereka memberikan throughput hebat yang menawarkan manfaat signifikan untuk menjalankan indeks pada database Anda atau memperbaiki mesin, menghemat banyak waktu dibandingkan penerapan MongoDB standar di AWS. Mereka bahkan menawarkan latensi luar biasa rendah dari Amazon AWS AS-Timur ke pusat data DigitalOcean New York, yang sangat bagus untuk aplikasi yang menjalankan bagian depan mereka di tingkat menengah di AWS, tetapi ingin menggunakan DigitalOcean untuk klaster MongoDB mereka.

Strategi Replikasi MongoDB

Jika Anda menjalankan MongoDB di DigitalOcean dalam produksi, praktik terbaiknya adalah menerapkan menggunakan set replika untuk memastikan ketersediaan tinggi dan redundansi data untuk kluster Anda. DigitalOcean, bersama dengan AWS dan Azure, menawarkan SLA waktu aktif 99,99%, tetapi meskipun kedengarannya hampir sempurna, 0,01% itu setara dengan waktu henti 52,6 menit dalam satu tahun. Itu hampir satu jam ketika database Anda menjadi tidak dapat diakses oleh pelanggan, pengunjung, dan karyawan Anda yang dapat berdampak signifikan pada retensi pelanggan dan reputasi merek Anda.

Set Replika MongoDB

Untungnya, Anda dapat mengurangi risiko penerapan Anda dengan hilangnya pusat data dengan menyiapkan set replika 3-simpul yang didistribusikan secara geografis untuk MongoDB di DigitalOcean. Ada beberapa opsi untuk menyiapkan konfigurasi ini, yang pertama adalah penyiapan Arbiter Primer-Sekunder yang menyediakan 2 node pembawa data dan arbiter yang bertindak sebagai anggota pemungutan suara untuk menentukan replika mana yang harus diambil alih jika replika tidak tersedia . Ini adalah opsi yang paling terjangkau karena arbiter tidak menyimpan data apa pun dan biaya penyebarannya lebih murah, tetapi juga menawarkan 1 node lebih sedikit yang dapat mengambil alih dalam peristiwa failover. Strategi replikasi yang optimal adalah penyiapan Primer-Sekunder-Sekunder yang memanfaatkan 3 node pembawa data dan memungkinkan Anda melakukan failover ke 2 pusat data terpisah jika region utama Anda tidak berfungsi.

Cara Terbaik Menghosting #MongoDB di DigitalOceanKlik Untuk Tweet

Sharding MongoDB

Sharding MongoDB adalah bentuk penerapan lanjutan yang memungkinkan Anda menskalakan data secara horizontal di beberapa mesin. Ini adalah konfigurasi yang sangat kompleks untuk disiapkan dan dikelola, karena setiap pecahan berisi beberapa set replika, dan dapat didistribusikan di berbagai lokasi pusat data untuk ketersediaan tinggi. Sharding sangat ideal untuk kumpulan data yang sangat besar atau penyebaran throughput tinggi yang membutuhkan lebih banyak kapasitas yang bisa Anda dapatkan dengan satu server. Di mana penyebaran tipikal skala vertikal dengan menambahkan lebih banyak kapasitas ke server saat dibutuhkan, sharding memungkinkan Anda untuk menskalakan secara horizontal dengan membagi data Anda dan memuat di beberapa mesin. Setelah Anda menyiapkan lingkungan sharding, Anda dapat menambahkan lebih banyak shard sesuai kebutuhan untuk mendukung pertumbuhan aplikasi Anda.

Di ScaleGrid, kami menawarkan Standalone, 2 Replika + Arbiter, 3 Replika, dan konfigurasi Sharding lanjutan untuk menghosting MongoDB di DigitalOcean di bawah paket Hosting Khusus kami yang dimulai dengan ukuran paket Mikro seharga $35/ bulan hingga paket X4XLarge dengan 16 core, RAM 48GB, dan penyimpanan 950GB. Anda juga dapat menyesuaikan set replika MongoDB Anda dengan jumlah replika yang tidak terbatas untuk kebutuhan aplikasi Anda.

Hosting MongoDB Terkelola di DigitalOcean

Sekarang kita sampai pada pertanyaan terakhir – haruskah Anda mengelola sendiri MongoDB Anda pada penerapan DigitalOcean atau memanfaatkan platform Database-as-a-Service (DBaaS) yang terkelola sepenuhnya? Jawabannya bermuara pada waktu, pengetahuan, dan aksesibilitas Anda sepanjang waktu untuk menangani masalah kritis apa pun yang muncul dengan penerapan Anda.

Tugas Manajemen &Pemeliharaan

Platform MongoDB DBaaS memungkinkan Anda untuk mengotomatisasi semua operasi manajemen dan pemeliharaan yang memakan waktu seperti peningkatan versi, penskalaan, pencadangan gratis, pemulihan, penyediaan, pencabutan akses, replikasi, pemadatan, pengindeksan manajemen, patching OS dan rotasi log. Bergantung pada ukuran penerapan Anda, ini mungkin membutuhkan waktu 1-2 hari per bulan, hingga pasukan ahli MongoDB penuh waktu yang bekerja sepanjang waktu. Manfaat besar dari memanfaatkan platform DBaaS adalah Anda menghilangkan risiko kesalahan manusia karena operasi manajemen otomatis untuk Anda. Ini juga membuat klaster MongoDB Anda di DigitalOcean sepenuhnya aman dan mutakhir sehingga Anda tidak membuka penerapan Anda terhadap potensi bug atau ancaman yang dapat muncul dengan database yang terabaikan.

Memantau Kinerja

Pemantauan juga merupakan komponen besar untuk mengelola penerapan MongoDB. Dengan platform DBaaS, Anda dapat mengotomatiskan peringatan pada semua metrik utama MongoDB Anda sehingga Anda diberi tahu saat ambang batas yang tidak diinginkan terpenuhi, dan mengakses konsol pemantauan lanjutan untuk menganalisis semua metrik MongoDB dan OS Anda di seluruh instans primer dan sekunder Anda dan selama periode waktu apa pun. Selain itu, dengan DBaaS seperti ScaleGrid, Anda dapat memanfaatkan Penganalisis Kueri Lambat yang memungkinkan Anda memvisualisasikan kueri yang berjalan lambat dan mengoptimalkannya sebelum mulai memengaruhi kinerja penerapan Anda.

Dukungan Pemecahan Masalah

Terakhir, namun tidak kalah pentingnya, adalah aksesibilitas untuk mendukung. Jika Anda dibangunkan pada pukul 4:00 pagi oleh panggilan panik dari bos Anda yang bertanya-tanya mengapa aplikasi Anda tidak aktif dan seberapa cepat Anda bisa mendapatkannya kembali, Anda tahu persis apa yang saya bicarakan. Setiap menit waktu henti dapat menyebabkan bisnis Anda ribuan dolar, dan lebih buruk lagi, pelanggaran keamanan dapat menutup bisnis Anda sama sekali dan menodai reputasi Anda selamanya. Dengan memanfaatkan platform DBaaS, Anda dapat mengatasi lebih dari 90% dari masalah kritis ini, dan memiliki tim ahli MongoDB di sisi Anda 24/7 untuk 10% yang tidak dapat dihindari untuk membantu Anda mengidentifikasi dan menyelesaikan masalah dengan cepat untuk mendapatkan penerapan Anda kembali ke kondisi sehat dan berjalan.

Di ScaleGrid, kami mengidentifikasi DigitalOcean sebagai bintang rock yang sedang naik daun untuk hosting MongoDB dan komputasi awan secara umum pada tahun 2013, dan merupakan DBaaS pertama platform untuk meluncurkan dukungan untuk MongoDB DigitalOcean. Hingga saat ini, kami adalah satu-satunya platform DBaaS yang terkelola sepenuhnya yang memungkinkan Anda mengotomatiskan hosting Anda untuk MongoDB di DigitalOcean dan memanfaatkan alat manajemen basis data tingkat perusahaan untuk mengoptimalkan kinerja penerapan, keamanan, dan ketersediaan Anda di cloud. Jika Anda tertarik untuk mencoba beberapa kemampuan lanjutan DBaaS untuk MongoDB di DigitalOcean, Anda dapat memulai uji coba 30 hari gratis tanpa kartu kredit yang diperlukan untuk menjelajahi alat otomatisasi, dan lihat halaman Bandingkan Penyedia MongoDB untuk lihat bagaimana kami menghadapi MongoDB Atlas, mLab, ObjectRocket, dan Compose for MongoDB.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Hindari parser string URL saat ini adalah peringatan yang tidak digunakan lagi dengan menyetel useNewUrlParser ke true

  2. Tidak dapat menemukan dokumen yang dicari dengan ObjectId menggunakan Mongoose

  3. Langkah-langkah untuk Menginstal MongoDB di Amazon Linux

  4. Cara Menyebarkan Database Open edX MongoDB untuk Ketersediaan Tinggi

  5. Performa MongoDB dengan struktur data yang berkembang