


Analisis mendalam tentang enjin storan MongoDB (dengan gambarajah skematik)
Artikel ini akan memperkenalkan anda kepada pengetahuan yang berkaitan tentang mongodb dan memperkenalkan enjin storan dalam MongoDB saya harap ia akan membantu anda!
Tinjauan ringkas
Kali terakhir kita bercakap tentang gugusan mongodb, yang dibahagikan kepada gugus tuan-hamba dan gugusan beling Untuk serpihan dalam gugusan beling, di sini adalah keperluan Beri perhatian kepada perkara berikut dan semak bersama-sama:
- Untuk data panas
tertentu kunci serpihan (titik Kunci shard ialah medan indeks atau medan indeks komposit yang wujud dalam setiap dokumen dalam koleksi) akan menyebabkan semua permintaan baca atau tulis beroperasi pada satu blok data atau shard, yang akan menghasilkan pelayan serpihan tunggal Jika beban terlampau beban, kekunci serpihan yang meningkat sendiri akan menyebabkan masalah penulisan dengan mudah [Disyorkan: Tutorial video MongoDB]
- Untuk sekatan data tidak boleh dibahagikan
Untuk kunci serpihan berbutir kasar, mungkin menyebabkan banyak dokumen menggunakan kunci serpihan yang sama
Dalam kes ini, dokumen ini tidak boleh dipecahkan kepada berbilang blok data, ini akan mengehadkan keupayaan mongodb untuk mengagihkan data secara sama rata
- Untuk halangan pertanyaan
kunci pecahan dan pertanyaan Tiada korelasi, yang akan menyebabkan prestasi pertanyaan yang lemah
Untuk perkara di atas, kita harus menyedarinya Jika kita menghadapi masalah yang sama dalam kerja sebenar, kita boleh cuba belajar menanganinya
Hari ini kita melihat secara ringkasApakah enjin storan mongodb
Enjin storan
Bercakap tentang enjin storan mongodb, kita perlu tahu bahawa ia berada dalam mongodb 3.0 Pada masa itu, konsep enjin storan boleh pasang diperkenalkan
Kini terdapat terutamanya enjin ini:
- Storan WiredTiger enjin
- inMemory storan enjin
Apabila enjin storan mula-mula keluar, ia menggunakan enjin storan MMAPV1 secara lalai.
Enjin MMAPV1 , kita mungkin tahu dari namanya Dia menggunakan mmap untuk melakukannya, dan menggunakan prinsip pemetaan memori Linux
Enjin MMAPV1 tidak digunakan sekarang kerana enjin storan WiredTiger lebih baik , sebagai contoh, bandingkan WiredTiger mempunyai kelebihan berikut:
- WiredTiger Prestasi yang lebih baik dalam operasi baca dan tulis
WiredTiger boleh menggunakan lebih baik kuasa pemprosesan sistem berbilang teras
-
WiredTiger Kebutiran kunci lebih kecil
Enjin MMAPV1 menggunakan kunci aras meja apabila ada operasi serentak pada satu jadual, daya pemprosesan akan terjejas
WiredTiger menggunakan kunci peringkat dokumen, yang meningkatkan konkurensi dan daya pemprosesan
- WiredTiger Kaedah mampatan adalah lebih baik
menyediakan algoritma pemampatan , yang boleh mengurangkan kesan ke atas cakera keras dengan ketara
Prinsip penulisan enjin WiredTigerjuga sangat mudah Permintaan aplikasi
- datang ke mongodb, mongodb melakukan pemprosesan dan menyimpan hasilnya dalam cache
- Apabila cache mencapai masa
- 2 G, atau apabila pemasa 60 s tamat tempoh, data dalam cache akan dipadamkan ke cakera Xdm yang berhati-hati akan tahu, kemudian jika ia tepat 59 saat sekarang, 1 Apabila terdapat lebih daripada 1G, data dalam cache tidak disegerakkan ke cakera, dan mongodb menutup telefon secara tidak normal.
Kita semua boleh berfikir dengan jari,
, seperti berikut
Seperti yang ditunjukkan dalam gambar di atas, terdapat tambahan
journaling buffer
journal 文件
- untuk menyimpan penambahan, pemadaman dan pengubahsuaian mongodb Penampan arahan
- fail jurnal
- adalah serupa dengan log transaksi dalam pangkalan data hubungan
Dalam mongodb 2.4, fungsi log Journaling didayakan secara lalai
Apabila kita memulakan tika mongod , perkhidmatan akan menyemak sama ada data perlu dipulihkanJadi tidak akan ada kehilangan data mongodb yang disebutkan di atas
Selain itu, kita perlu tahu di sini bahawa fungsi pengelogan jurnal Apabilamongodb perlu melakukan operasi tulis, iaitu, apabila menambah, memadam atau mengubah suai, penjurnalan akan menulis log, yang akan menjejaskan prestasi<.>
Tetapiapabila mongodb membaca operasi, ia tidak akan direkodkan dalam cache, jadi ia tidak akan direkodkan dalam log jurnal, jadi operasi baca tidak memberi kesan
Itu sahaja untuk hari ini saya telah belajar apa yang telah saya pelajari, sila betulkan saya
Atas ialah kandungan terperinci Analisis mendalam tentang enjin storan MongoDB (dengan gambarajah skematik). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

MongoDB sesuai untuk senario yang memerlukan model data fleksibel dan skalabilitas yang tinggi, sementara pangkalan data relasi lebih sesuai untuk aplikasi yang pertanyaan kompleks dan pemprosesan transaksi. 1) Model dokumen MongoDB menyesuaikan diri dengan pembangunan aplikasi moden yang cepat. 2) Pangkalan data relasi menyokong pertanyaan kompleks dan sistem kewangan melalui struktur jadual dan SQL. 3) MongoDB mencapai skala mendatar melalui sharding, yang sesuai untuk pemprosesan data berskala besar. 4) Pangkalan data relasi bergantung kepada pengembangan menegak dan sesuai untuk senario di mana pertanyaan dan indeks perlu dioptimumkan.

MongoDB melakukan prestasi dan skalabiliti yang sangat baik, sesuai untuk keperluan berskala tinggi dan fleksibiliti; Oracle melakukan yang sangat baik dalam memerlukan kawalan transaksi yang ketat dan pertanyaan yang kompleks. 1.MongoDB mencapai skalabiliti yang tinggi melalui teknologi sharding, sesuai untuk data berskala besar dan senario konvensional yang tinggi. 2. Oracle bergantung kepada pengoptimuman dan pemprosesan selari untuk meningkatkan prestasi, sesuai untuk data berstruktur dan keperluan kawalan transaksi.

MongoDB sesuai untuk mengendalikan data tidak berstruktur berskala besar, dan Oracle sesuai untuk aplikasi peringkat perusahaan yang memerlukan konsistensi transaksi. 1.MongoDB menyediakan fleksibiliti dan prestasi tinggi, sesuai untuk memproses data tingkah laku pengguna. 2. Oracle terkenal dengan kestabilan dan fungsi yang kuat dan sesuai untuk sistem kewangan. 3.MongoDB menggunakan model dokumen, dan Oracle menggunakan model hubungan. 4.MongoDB sesuai untuk aplikasi media sosial, sementara Oracle sesuai untuk aplikasi peringkat perusahaan.

Pertimbangan skalabilitas dan prestasi MongoDB termasuk skala mendatar, skala menegak, dan pengoptimuman prestasi. 1. Pengembangan mendatar dicapai melalui teknologi sharding untuk meningkatkan kapasiti sistem. 2. Pengembangan menegak meningkatkan prestasi dengan meningkatkan sumber perkakasan. 3. Pengoptimuman prestasi dicapai melalui reka bentuk rasional indeks dan strategi pertanyaan yang dioptimumkan.

MongoDB adalah pangkalan data NoSQL kerana fleksibiliti dan skalabilitasnya sangat penting dalam pengurusan data moden. Ia menggunakan penyimpanan dokumen, sesuai untuk memproses data berskala besar, berubah-ubah, dan menyediakan keupayaan pertanyaan dan pengindeksan yang kuat.

Anda boleh menggunakan kaedah berikut untuk memadam dokumen di MongoDB: 1. 2. Ekspresi biasa sepadan dengan dokumen yang memenuhi kriteria; 3. $ Ada pengendali memadam dokumen dengan medan yang ditentukan; 4. Kaedah mencari () dan keluarkan () terlebih dahulu dapatkan dan kemudian padamkan dokumen. Sila ambil perhatian bahawa operasi ini tidak boleh menggunakan transaksi dan boleh memadam semua dokumen yang sepadan, jadi berhati -hati apabila menggunakannya.

Untuk menubuhkan pangkalan data MongoDB, anda boleh menggunakan baris perintah (penggunaan dan db.createCollection ()) atau shell mongo (mongo, penggunaan dan db.createCollection ()). Pilihan tetapan lain termasuk melihat pangkalan data (tunjukkan DBS), koleksi tontonan (tunjukkan koleksi), memadam pangkalan data (db.dropdatabase ()), memadam koleksi (db. & Amp; lt; collection_name & amp; gt;

Menggunakan kluster MongoDB dibahagikan kepada lima langkah: menggunakan nod utama, menggunakan nod sekunder, sambil menambah nod sekunder, mengkonfigurasi replikasi, dan mengesahkan kluster. Termasuk memasang perisian MongoDB, membuat direktori data, memulakan contoh MongoDB, memulakan set replikasi, menambah nod sekunder, membolehkan ciri -ciri set replika, mengkonfigurasi hak mengundi, dan mengesahkan status kluster dan replikasi data.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

PhpStorm versi Mac
Alat pembangunan bersepadu PHP profesional terkini (2018.2.1).

Penyesuai Pelayan SAP NetWeaver untuk Eclipse
Integrasikan Eclipse dengan pelayan aplikasi SAP NetWeaver.

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

Muat turun versi mac editor Atom
Editor sumber terbuka yang paling popular

Dreamweaver Mac版
Alat pembangunan web visual