Sebagian besar aplikasi perangkat lunak saat ini melibatkan beberapa penyimpanan data dinamis untuk referensi ekstensif di masa mendatang dalam aplikasi itu sendiri. Kita semua tahu bahwa data disimpan dalam database yang terbagi dalam dua kategori yaitu:DBMS relasional dan non-relasional.
Pilihan pilihan Anda dari keduanya akan sepenuhnya bergantung pada struktur data Anda, jumlah data yang terlibat, kinerja database, dan skalabilitas.
DBMS relasional menyimpan data dalam tabel dalam bentuk baris sehingga mereka menggunakan Structured Querying Language (SQL) menjadikannya pilihan yang baik untuk aplikasi yang melibatkan beberapa transaksi. Mereka termasuk MySQL, SQLite, dan PostgreSQL.
Di sisi lain, DBMS NoSQL seperti MongoDB berorientasi pada dokumen sehingga data disimpan dalam kumpulan dokumen. Ini memberikan kapasitas penyimpanan yang lebih besar untuk kumpulan data yang besar sehingga keuntungan lebih lanjut dalam skalabilitas.
Di blog ini kami berasumsi Anda memiliki pengetahuan yang lebih baik untuk MongoDB atau MySQL dan karenanya ingin mengetahui korelasi antara keduanya dalam hal kueri dan struktur basis data.
Di bawah ini adalah lembar contekan untuk lebih membiasakan diri Anda dengan query MySQL ke MongoDB.
Lembar Cheat MySQL ke MongoDB - Persyaratan
Persyaratan MySQL | Persyaratan MongoDB | Penjelasan |
---|---|---|
Tabel | Koleksi | Ini adalah wadah penyimpanan data yang cenderung mirip dengan objek yang ditampung. |
Baris | Dokumen | Mendefinisikan entitas objek tunggal dalam tabel untuk MySQL dan koleksi dalam kasus MongoDB. |
Kolom | Bidang | Untuk setiap item yang disimpan, ia memiliki properti yang ditentukan oleh nilai dan tipe data yang berbeda. Di MongoDB, dokumen dalam koleksi yang sama, mungkin memiliki bidang yang berbeda satu sama lain. Di MySQL, setiap baris harus didefinisikan dengan kolom yang sama dari yang sudah ada. |
Kunci utama | Kunci utama | Setiap objek yang disimpan diidentifikasi dengan nilai bidang unik dalam kasus MongoDB kami memiliki bidang _id yang disetel secara otomatis sedangkan di MySQL Anda dapat menentukan kunci utama Anda sendiri yang bersifat inkremental saat Anda membuat baris baru. |
Tabel Bergabung | Menyematkan dan menautkan dokumen | Koneksi yang terkait dengan objek di koleksi/tabel berbeda ke data di koleksi/tabel lain. |
di mana | $match | Memilih data yang sesuai dengan kriteria. |
grup | $group | Mengelompokkan data menurut beberapa kriteria. |
jatuhkan | $tidak disetel | Menghapus kolom/bidang dari baris/dokumen/ |
setel | $set | Menyetel nilai kolom/bidang yang ada ke nilai baru. |
Pernyataan Skema
Pernyataan Tabel MySQL | Pernyataan Koleksi MongoDB | Penjelasan |
---|---|---|
Basis data dan tabel dibuat secara eksplisit melalui panel admin PHP atau ditentukan dalam skrip yaitu Membuat Basis Data Membuat tabel | Basis data dapat dibuat secara implisit atau eksplisit. Secara implisit selama penyisipan dokumen pertama, database dan koleksi dibuat serta bidang _id otomatis ditambahkan ke dokumen ini. Anda juga dapat membuat database secara eksplisit dengan menjalankan komentar ini di Mongo Shell | Di MySQL, Anda harus menentukan kolom dalam tabel yang Anda buat serta menetapkan beberapa aturan validasi seperti dalam contoh ini jenis data dan panjang yang masuk ke kolom tertentu. Dalam kasus MongoDB, bukanlah suatu keharusan untuk mendefinisikan baik field yang harus dimiliki setiap dokumen maupun aturan validasi yang harus dimiliki oleh field yang ditentukan. Namun, di MongoDB untuk integritas dan konsistensi data, Anda dapat mengatur aturan validasi menggunakan JSON SCHEMA VALIDATOR |
Menjatuhkan meja | | Ini adalah pernyataan untuk menghapus tabel untuk MySQL dan koleksi dalam kasus MongoDB. |
Menambahkan kolom baru bernama join_date Menghapus kolom join_date jika sudah ditentukan | Menambahkan bidang baru bernama join_date Ini akan memperbarui semua dokumen dalam koleksi untuk memiliki tanggal bergabung sebagai tanggal saat ini. Menghapus bidang join_date jika sudah ditentukan Ini akan menghapus bidang join_date dari semua dokumen koleksi. | Mengubah struktur skema dengan menambahkan atau menghapus kolom/bidang. Karena arsitektur MongoDB tidak diterapkan secara ketat pada struktur dokumen, dokumen mungkin memiliki bidang yang berbeda satu sama lain. |
Membuat indeks dengan kolom UserId naik dan Usia turun | Membuat indeks yang melibatkan bidang UserId dan Age. | Indeks umumnya dibuat untuk memfasilitasi proses kueri. |
| | Memasukkan catatan baru. |
| | Menghapus record dari tabel/koleksi yang umurnya sama dengan 25. |
| | Menghapus semua record dari tabel/koleksi. |
| | Mengembalikan semua catatan dari tabel/koleksi pengguna dengan semua kolom/bidang. |
| | Mengembalikan semua catatan dari tabel/koleksi pengguna dengan kolom/bidang Usia, Jenis Kelamin, dan kunci utama. |
| | Mengembalikan semua catatan dari tabel/koleksi pengguna dengan kolom/bidang Usia dan Jenis Kelamin. Kunci utama dihilangkan. |
| | Mengembalikan semua catatan dari tabel/koleksi pengguna yang nilai Gendernya diatur ke M. |
| | Mengembalikan semua record dari tabel/koleksi pengguna dengan hanya nilai Gender tetapi nilai Age sama dengan 25. |
| | Mengembalikan semua record dari tabel/koleksi pengguna yang nilai Gendernya diatur ke F dan Age adalah 25. |
| | Mengembalikan semua catatan dari tabel/koleksi pengguna yang nilai Usianya tidak sama dengan 25. |
| | Mengembalikan semua record dari tabel/koleksi pengguna yang nilai Gendernya diatur ke F atau Age adalah 25. |
| | Mengembalikan semua catatan dari tabel/koleksi pengguna yang nilai Usianya lebih besar dari 25. |
| | Mengembalikan semua catatan dari tabel/koleksi pengguna yang nilai Usianya kurang dari atau sama dengan 25. |
| | Mengembalikan semua record dari tabel/koleksi pengguna yang nilai Name-nya kebetulan memiliki huruf He. |
| | Mengembalikan semua catatan dari tabel/koleksi pengguna yang nilai Gendernya diatur ke F dan mengurutkan hasil ini dalam urutan menaik dari kolom id untuk MySQL dan waktu yang dimasukkan dalam kasus MongoDB. |
| | Mengembalikan semua catatan dari tabel/koleksi pengguna yang nilai Gendernya diatur ke F dan mengurutkan hasil ini dalam urutan menurun dari kolom id dalam kasus MySQL dan waktu yang dimasukkan dalam kasus MongoDB. |
| atau | Menghitung semua record di tabel/koleksi pengguna. |
| atau | Menghitung semua record dalam tabel/koleksi pengguna yang kebetulan memiliki nilai untuk properti Name. |
| atau | Mengembalikan record pertama di tabel/koleksi pengguna. |
| | Mengembalikan record pertama dalam tabel/koleksi pengguna yang kebetulan memiliki nilai Gender sama dengan F. |
| | Mengembalikan lima catatan dalam tabel/koleksi pengguna setelah melewatkan lima catatan pertama. |
| | Ini menetapkan usia semua catatan di tabel/koleksi pengguna yang memiliki usia lebih dari 25 hingga 26 tahun. |
| | Ini meningkatkan usia semua catatan di tabel/koleksi pengguna sebesar 1. |
| | Ini mengurangi usia catatan pertama di tabel/koleksi pengguna sebesar 1. |
Untuk mengelola MySQL dan/atau MongoDB secara terpusat dan dari satu titik, kunjungi:https://severalnines.com/product/clustercontrol.