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

Panduan untuk Penerapan &Pemeliharaan MongoDB Menggunakan Wayang:Bagian 1

Pengelompokan basis data sering kali melibatkan konfigurasi dan pemeliharaan sejumlah server dan instance, semuanya dengan tujuan kolektif. Maksud kami, Anda dapat memiliki server basis data yang berbeda di host berbeda yang menyajikan data yang sama.

Misalnya, katakanlah Anda memiliki server A, B, C, dan D, Anda memutuskan untuk menginstal MongoDB di masing-masing server tetapi kemudian menyadari bahwa ada versi baru yang seharusnya Anda gunakan. Ketika Anda memiliki banyak server dan Anda perlu memperbarui versi MongoDB, mengonfigurasinya secara manual (satu per satu) memiliki banyak kendala. Kemunduran ini dapat mencakup; terlalu lama untuk mengkonfigurasi ulang (sehingga situs Anda akan memiliki waktu henti yang lama) atau membuat DB Anda rentan terhadap beberapa kesalahan konfigurasi.

Selain itu, selalu ada tugas berulang yang ingin Anda lakukan secara otomatis, alih-alih menjalani langkah yang sama berulang-ulang, setiap kali Anda ingin melakukan perubahan serupa. Pada titik tertentu kami juga perlu mempelajari modul baru sejauh menyangkut kemajuan teknologi yang dapat membantu kami meningkatkan kinerja cluster

Secara sederhana, kita membutuhkan sistem otomasi yang dapat memudahkan semua usaha tersebut. Wayang adalah salah satu sistem perangkat lunak yang paling disukai untuk mencapai hal ini karena:

  • Sangat mudah dan cepat untuk mengonfigurasi dan menerapkan cluster MongoDB.
  • Tugas yang berulang dapat dengan mudah diotomatisasi sehingga dijalankan secara otomatis nanti.
  • Seluruh infrastruktur cluster dapat dikelola secara kolektif dari satu platform.
  • Provisioning mudah untuk node baru di cloud, hybrid, atau lingkungan fisik.
  • Atur perubahan dan peristiwa di seluruh cluster node.
  • Temukan sumber daya dalam hitungan menit yang dapat membantu Anda melakukan berbagai tugas dengan mudah.
  • Menskalakan dengan baik dari 1 hingga 200 ribu node.
  • Didukung oleh sejumlah platform

Apa itu Wayang?

Wayang adalah bahasa yang digunakan untuk membawa mesin ke keadaan yang diinginkan atau lebih tepatnya adalah mesin yang digunakan untuk menafsirkan dan menerapkan beberapa instruksi yang ditentukan ke sistem penyajian. Seperti Ansible, Puppet juga merupakan alat manajemen konfigurasi yang digunakan untuk mengotomatisasi dan menjalankan tugas klaster basis data. Namun, ini lebih maju dan mapan mengingat ini adalah yang tertua sehingga banyak fitur terintegrasi baru yang akan membuatnya lebih canggih daripada yang lain. Salah satu alasan utama saya lebih memilih Wayang secara pribadi adalah kemampuan yang diberikannya kepada saya untuk mengonfigurasi sejumlah besar node yang terhubung bersama dengan penyeimbang beban, perangkat jaringan, atau firewall. Wayang sering digunakan di perusahaan besar dengan lingkungan yang kompleks.

Cara Kerja Boneka

Wayang menggunakan teknik idempotensi yang membantunya mengelola mesin tertentu dari waktu pembuatan dan sepanjang siklus hidupnya bahkan dengan perubahan konfigurasi. Keuntungan inti dengan ini adalah, mesin diperbarui selama beberapa tahun daripada dibangun beberapa kali dari awal. Jika ada pembaruan, Wayang memeriksa status mesin target saat ini dan perubahan akan diterapkan hanya jika ada perubahan khusus dalam konfigurasi.

Idempotensi

Alur kerja idempotensi ditunjukkan di bawah ini:

Master Wayang mengumpulkan detail mengenai status mesin target saat ini dan membandingkannya dengan detail konfigurasi tingkat mesin, lalu mengembalikan detail yang dikirim ke lapisan konversi.

Lapisan konversi membandingkan konfigurasi yang diambil dengan detail konfigurasi yang baru ditentukan dan kemudian membuat katalog yang dikirim ke agen Wayang target, dalam hal ini, node target yang akan diterapkan perubahannya.

Perubahan konfigurasi kemudian diterapkan ke sistem untuk mengubahnya ke keadaan yang diinginkan. Setelah perubahan diimplementasikan, agen Wayang mengirimkan laporan kembali ke master Wayang yang didokumentasikan untuk menentukan status baru sistem sebagai katalog yang disediakan.

Komponen Dasar Wayang

  1. Sumber Daya Boneka

    Ini adalah komponen pemodelan kunci dari mesin tertentu yang deskripsinya akan membawa mesin ke kondisi yang diinginkan.

  2. Penyedia

    Penyedia adalah sumber daya tertentu yang digunakan untuk menambahkan paket ke sistem mis. yum dan apt-get. Ada penyedia default tetapi seseorang dapat menambahkan lebih banyak ketika membutuhkan beberapa paket.

  3. Manifes

    Ini adalah kumpulan sumber daya yang didefinisikan baik dalam fungsi atau kelas yang digabungkan bersama untuk mengonfigurasi sistem target.

    Strukturnya harus

    resource:{‘module’:
    	attribute => value
    }

    Misalnya menginstal mongodb kita dapat memiliki file manifes bernama Mongodb.pp dengan isi sebagai berikut:

    package {‘mongodb’:
    		ensure => installed
         }
  4. Modul

    Ini adalah blok bangunan utama Wayang yang pada dasarnya merupakan kumpulan sumber daya, templat, dan file. Mereka dapat didistribusikan di sistem operasi apa pun sehingga dapat digunakan beberapa kali dengan konfigurasi yang sama.

  5. Templat

    Template digunakan untuk menentukan konten yang disesuaikan dan input variabel. Mereka menggunakan sintaks Ruby, yaitu jika Anda ingin mendefinisikan port untuk mendengarkan:

    Listen <% [email protected]_number %>

    Variabel port_number dalam hal ini didefinisikan dalam manifes yang mereferensikan template ini.

  6. File Statis

    Ini adalah file umum yang mungkin diperlukan untuk melakukan tugas tertentu. Mereka berada di direktori file modul apa pun.

Instalasi Wayang

Untuk tujuan pembelajaran, kita akan menginstal dan mengkonfigurasi boneka di mesin virtual yang akan kita buat di mesin lokal kita. Pertama-tama Anda perlu menginstal virtualbox dan gelandangan. Setelah menginstal, buka terminal baru dan buat direktori Wayang mungkin di desktop Anda dan jalankan perintah $ vagrant init. Ini akan membuat mesin virtual dan memberi label gelandangan. Kemudian kita bisa login ke mesin ini dengan perintah $ vagrant ssh.

Jika Anda mendapatkan layar seperti di bawah ini, berarti mesin Anda sudah aktif dan berjalan.

Jika tidak, jika Anda berada di mesin server, Anda dapat mengabaikan langkah ini dan melanjutkan dengan menambahkan paket boneka seperti di bawah ini.

Tambahkan paket boneka dengan perintah

$ wget https://apt.puppetlabs.com/puppet5-release-xenial.deb

Dan kemudian buka paketnya dan instal dengan

$ sudo dpkg -i puppet5-release-xenial.deb

Kami perlu memperbarui repositori kami agar kami dapat menjalankan

$ sudo apt-get update

Instal agen boneka dengan menjalankan

$ sudo apt-get install puppet-agent

Setelah instalasi selesai, kami dapat mengonfirmasi dengan memeriksa versi. Anda mungkin perlu keluar dari mesin virtual Anda agar jalur Wayang ditambahkan ke lingkungan kemudian jalankan $ wayang --version atau jika Anda belum keluar jalankan $ /opt/puppetlabs/bin/puppet --version. Jika Anda mendapatkan nomor versi seperti 5.5.14 maka instalasi berhasil.

Setelah menginstal MongoDB menggunakan Mongodb.pp yang kita buat di atas, kita cukup menulis beberapa tugas untuk menyiapkan produk database dan juga menambahkan pengguna ke db ini.

‘Mongodb_database’ digunakan untuk membuat dan mengelola database dalam MongoDB

mongodb_database{‘products’:
	ensure => present,
            tries => 10
}

‘Mongodb_user dapat digunakan untuk membuat dan mengelola pengguna dalam database MongoDB.’

Untuk menambahkan pengguna ke database 'produk'

mongodb_user {userprod:
  username => ‘prodUser’,
  ensure => present,
  password_hash => mongodb_password(‘prodUser’, ‘passProdser’),
  database => prodUser,
  roles => [‘readWrite’, ‘dbAdmin’],
  tries  => 10
}

Kesimpulan

Di blog ini kita telah mempelajari apa itu Wayang, manfaat yang terkait dengannya, dan arsitektur kerjanya. Wayang sedikit lebih kompleks dari alat manajemen lainnya (seperti Chef dan Ansible) tetapi memiliki banyak modul yang dapat digunakan untuk menyelesaikan masalah seputar manajemen basis data. Di bagian selanjutnya, kita akan membahas cara menghubungkan mesin jarak jauh sehingga dapat dikonfigurasi ulang menggunakan file manifes yang ditentukan.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Hapus kunci dari dokumen MongoDB menggunakan Mongoose

  2. Pencarian Data Musim Semi MongoDB dengan Agregasi Pipeline

  3. Mongoimport file JSON

  4. Luwak - Bagaimana cara mengelompokkan dan mengisi?

  5. Kueri MongoDB dengan elemMatch untuk data array bersarang