Cara menggunakan postgres json vs mongodb

Seperti pada Versi 9.2, PostgreSQL menambahkan tipe data JSON yang cukup mendasar. Di bawah sampul, jenis data JSON adalah teks, dengan pemeriksaan bahwa mungkin tata letak input JSON benar, mirip dengan XML. Akhirnya, tim menemukan bahwa volume pemrosesan JSON dan pencarian khusus yang diperlukan di PostgreSQL akan sulit atau rasional untuk diterapkan pada jenis data tekstual. Oleh karena itu, mereka membuat representasi biner dari tipe data JSON dengan rangkaian lengkap operator dan metode. Di sinilah tipe data JSONB. Tipe data JSONB memang merupakan tata letak penyimpanan biner serbaguna dengan kemampuan pemrosesan, pengindeksan, dan pencarian yang lengkap. Akibatnya, ini memproses informasi JSON ke tata letak bagian dalam, yang hanya memiliki satu nilai per kunci dan mengabaikan spasi atau depresi tambahan, atau Anda dapat mengatakan lekukan. Di dalam panduan ini,

Jenis data yang kemungkinan besar Anda perlukan dan pilih untuk digunakan adalah JSONB, bukan versi awal JSON, yang hanya digunakan untuk kompatibilitas mundur. Jadi, buka shell perintah PostgreSQL dan berikan nama server, database, port, dan nama user.

Cara menggunakan postgres json vs mongodb

Contoh 01:

Berikut adalah ilustrasi singkat tentang variasi antara kedua tipe data tersebut. Kita harus membuat tabel ‘New’ dengan salah satu kolomnya harus bertipe data ‘JSON’ sebagai berikut:

>> CREATE TABLE New(ID serial PRIMARY KEY, Val JSON);

Cara menggunakan postgres json vs mongodb

Masukkan beberapa nilai ke dalam kolom ‘Val’.

>> INSERT INTO New(Val) VALUES (‘[1, 2, 3, 4]’), (‘[10, 11, 12, 13]’), (‘{“key”: “value”}’);

Cara menggunakan postgres json vs mongodb

Penggunaan ‘@>’ Operator

Setelah kami mencoba mencari entri dengan bilangan bulat di daftar kolom ‘ekstra’, kami selalu mendapatkan pesan error seperti yang ditambahkan di bawah ini.

>> SELECT * FROM New WHERE Val @> ‘11’;

Cara menggunakan postgres json vs mongodb

Ya. JSON hanyalah teks dan tidak terlalu efisien, dan tidak mengandung konfigurasi operator. Biarkan konten diubah menjadi jsonb.

>> ALTER TABLE New ALTER COLUMN Val TYPE JSONB;

Cara menggunakan postgres json vs mongodb

Sekarang jalankan kueri yang sama di shell, dan hasilnya menunjukkan satu baris memiliki nomor ’11’ dalam lariknya seperti yang diberikan di bawah ini.

>> SELECT * FROM New WHERE Val @> ‘11’;

Cara menggunakan postgres json vs mongodb

Contoh 02:

Mari kita buat tabel ‘Tas’ untuk digunakan dalam ilustrasi kita sampai kita mulai berbicara tentang metode dan operator yang dapat digunakan untuk tipe data PostgreSQL JSONB. Salah satu kolomnya, misalnya ‘Brand’ harus berupa datatype ‘JSONB’ sebagai berikut:

>> CREATE TABLE Bag(ID serial PRIMARY KEY, Brand JSONB NOT NULL);

Cara menggunakan postgres json vs mongodb

Kami akan menggunakan deklarasi SQL INSERT beri
kut untuk menambahkan informasi ke dalam tabel PostgreSQL ‘Tas’:

>> INSERT INTO Bag(Brand) VALUES ('{"name": "Gucci", "color": ["red", "black"], "price": 10000,  "sold": true,]}'), ('{"name": "Allure", "color": ["red", "Grey"], "price": 85000,  "sold": false,]}'), ('{"name": "Kidza", "color": ["black", "white"], "price": 75000,  "sold": true,]}');

Anda dapat melihat bahwa data telah ditambahkan dalam bentuk kamus, misalnya, kunci dan nilai.

Cara menggunakan postgres json vs mongodb

Elemen tabel ‘Tas’ ini dapat dilihat dengan menggunakan kalimat SELECT, seperti yang terlihat di bawah ini:

>> SELECT * FROM Bag;

Cara menggunakan postgres json vs mongodb

Penggunaan ‘->’ Operator

Mari kita cari nilai di kolom ‘Merek’ melalui kunci ‘nama’ menggunakan operator ‘->’ dalam kueri kita. Ini akan mengambil semua catatan ‘nama’ kunci dari kolom ‘Merek’. Output akan ditampilkan di kolom baru ‘merek’. Output akhir akan muncul seperti yang ditambahkan di bawah ini. Seperti yang Anda lihat, kami memiliki tiga nilai: ‘Gucci, Allure, kidza’ untuk ‘nama’ kunci.

>> SELECT Brand -> ‘name’ AS brand FROM Bag;

Cara menggunakan postgres json vs mongodb

Penggunaan Operator ‘->’ Menggunakan Klausa WHERE

Mari kita ambil semua baris itu dari tabel ‘Tas’ di mana kolom ‘Merek’ memiliki nilai ‘true’ untuk kuncinya ‘terjual’. Query untuk seleksi ini adalah sebagai berikut:

>> SELECT * FROM Bag WHERE  Brand -> ‘sold’ = ‘true’;

Di sana Anda lihat, kueri mengambil dua baris hanya dari tabel ‘Tas’ karena hanya memiliki dua baris yang memiliki nilai ‘benar’ untuk kunci ‘terjual’.

Cara menggunakan postgres json vs mongodb

Fungsi PostgreSQL JSONB:

Dengan informasi JSONB, tampaknya ada berbagai metode bawaan yang dapat digunakan. Mari kita lihat mereka satu per satu.

JSONB Setiap Fungsi:

JSONB Setiap fungsi mengambil data dan mengubahnya menjadi pasangan nilai_kunci. Pertimbangkan kueri berikut dari metode jsonb_each di mana kami telah memberikan nilai. Data JSON tingkat tertinggi diperluas menjadi serangkaian kombinasi nilai kunci dalam hasil. Kami memiliki dua pasangan nilai kunci, seperti yang ditunjukkan di bawah ini.

>> INSERT INTO New(Val) VALUES (‘[1, 2, 3, 4]’), (‘[10, 11, 12, 13]’), (‘{“key”: “value”}’);
0

Cara menggunakan postgres json vs mongodb

Fungsi Tombol Objek JSONB:

Sekarang, kita akan melihat fungsi Jsonb_object_keys. Fungsi ini mengambil data, dan dengan sendirinya memisahkan dan mengidentifikasi nilai-nilai kunci di dalamnya. Coba kueri SELECT di bawah ini, di mana kami telah menggunakan metode jsonb_object_keys dan memberikan beberapa nilai. Metode ini hanya akan mengembalikan kunci dokumen tingkat tertinggi JSON untuk data tertentu, seperti yang ditunjukkan di bawah ini.

>> INSERT INTO New(Val) VALUES (‘[1, 2, 3, 4]’), (‘[10, 11, 12, 13]’), (‘{“key”: “value”}’);
1

Cara menggunakan postgres json vs mongodb

Fungsi Jalur Ekstrak JSONB:

Fungsi Jalur Ekstrak JSONB mengambil jalur untuk menunjukkan nilai dalam hasil. Coba kueri di bawah ini di shell perintah, di mana kami telah menyediakan ‘merek’ sebagai jalur ke metode jsonb_extrac
t_path JSONB. Dari output yang disajikan pada gambar di bawah, Anda dapat melihat bahwa ‘Gucci’ adalah nilai yang dikembalikan ke jalur ‘nama’.

>> INSERT INTO New(Val) VALUES (‘[1, 2, 3, 4]’), (‘[10, 11, 12, 13]’), (‘{“key”: “value”}’);
2

Cara menggunakan postgres json vs mongodb

Fungsi Cantik JSONB:

Jika Anda ingin menampilkan file JSON Anda dengan tata letak yang mudah dibaca, maka fungsi JSONB Pretty adalah pilihan terbaik. Coba kueri di bawah ini, dan Anda akan mendapatkan output sederhana.

>> INSERT INTO New(Val) VALUES (‘[1, 2, 3, 4]’), (‘[10, 11, 12, 13]’), (‘{“key”: “value”}’);
3

Cara menggunakan postgres json vs mongodb

Kesimpulan:

Saat Anda menyimpan informasi JSONB di database PostgreSQL, Anda mendapatkan hasil terbaik: kesederhanaan dan keandalan database NoSQL yang dikombinasikan dengan keunggulan database relasional. Memanfaatkan banyak operator dan metode, kami mendemonstrasikan cara menggunakan PostgreSQL JSONB. Anda akan mampu bekerja dengan data JSONB menggunakan ilustrasi kami sebagai referensi.

Kenapa harus menggunakan MongoDB?

MongoDB mampu menampung lebih banyak data kompleks karena menggunakan schema table yang dinamis (dynamic schema). Dengan skema data tersebut, database ini bisa menyimpan data yang lebih bervariasi, mulai dari data terstruktur hingga tidak terstruktur.

Kapan harus menggunakan MongoDB?

Kapan Menggunakan MongoDB Misalnya kamu memiliki toko online yang ramai pelanggan yang setiap menitnya terdapat ada 100 data pelanggan yang masuk. Selain itu kamu juga bisa menggunakan MongoDB saat data yang didapatkan berkembang secara cepat dan memiliki struktur data yang kompleks.

Apa yang dimaksud dengan MongoDB?

MongoDB merupakan salah satu jenis database, lebih tepatnya masuk dalam kategori Document-oriented Database. MongoDB dikembangkan sejak Oktober 2007 oleh 10Gen, dirilis publik sejak Februari 2009 dan dilepas dengan lisensi GNU AGPL 3.0 dan Apache License untuk drivernya.