Pengalaman saya dengan Postgres dan Mongo setelah bekerja dengan kedua database dalam proyek saya.
Postgres (RDBMS)
Postgres direkomendasikan jika aplikasi masa depan Anda memiliki skema rumit yang membutuhkan banyak gabungan atau semua data memiliki relasi atau jika kami memiliki tulisan yang berat. Postgres adalah open source, lebih cepat, kompatibel dengan ACID dan menggunakan lebih sedikit memori pada disk, dan semuanya berkinerja baik untuk penyimpanan JSON juga dan mencakup serialisasi penuh transaksi dengan 3 tingkat isolasi transaksi.
Keuntungan terbesar tetap bersama Postgres adalah kami memiliki yang terbaik dari kedua dunia. Kita dapat menyimpan data ke dalam JSONB dengan batasan, konsistensi dan kecepatan. Di sisi lain, kita dapat menggunakan semua fitur SQL untuk jenis data lainnya. Mesin yang mendasarinya sangat stabil dan dapat menangani berbagai volume data dengan baik. Ini juga berjalan pada perangkat keras dan sistem operasi pilihan Anda. Postgres menyediakan kemampuan NoSQL bersama dengan dukungan transaksi penuh, menyimpan dokumen JSON dengan batasan pada data lapangan.
Batasan Umum untuk Postgres
Scaling Postgres Horizontal secara signifikan lebih sulit, tetapi bisa dilakukan.
Operasi baca cepat tidak dapat sepenuhnya dicapai dengan Postgres.
TIDAK ADA Basis Data SQL
Mongo DB (Macan Kabel)
MongoDB dapat mengalahkan Postgres dalam dimensi "skala horizontal". Menyimpan JSON adalah hal yang dioptimalkan Mongo. Mongo menyimpan datanya dalam format biner yang disebut BSONb yang (secara kasar) hanyalah representasi biner dari superset JSON. MongoDB menyimpan objek persis seperti yang dirancang. Menurut MongoDB, untuk aplikasi intensif tulis, Mongo mengatakan mesin baru (Wired Tiger) memberi pengguna peningkatan kinerja tulis hingga 10x (saya harus mencobanya), dengan pengurangan penggunaan penyimpanan sebesar 80 persen, membantu menurunkan biaya penyimpanan. , mencapai pemanfaatan perangkat keras yang lebih besar.
Batasan Umum MongoDb
Penggunaan mesin penyimpanan tanpa skema menyebabkan masalah skema implisit. Skema ini tidak ditentukan oleh mesin penyimpanan kami, tetapi ditentukan berdasarkan perilaku dan harapan aplikasi.
Teknologi NoSQL yang berdiri sendiri tidak memenuhi standar ACID karena mengorbankan perlindungan data penting demi kinerja throughput yang tinggi untuk aplikasi tidak terstruktur. Tidak sulit untuk menerapkan ACID pada database NoSQL tetapi akan membuat database menjadi lambat dan tidak fleksibel hingga batas tertentu. “Sebagian besar batasan NoSQL dioptimalkan di versi dan rilis yang lebih baru yang telah mengatasi sebagian besar batasan sebelumnya”.