Rumah > Soal Jawab > teks badan
在日常开发中,我一般用mysql数据储存数据,memcache储存缓存,但是我不知道如mongodb这一类的nosql数据库到底相比mysql这种数据库有什么优势,在什么场景下我改选择mongodb这种数据库?希望各位能用浅显的语言帮忙解释下。
怪我咯2017-05-02 09:21:43
Berikan contoh:
mysql: Terdapat 5 medan dalam jadual Program anda telah ditulis, dan kemudian anda perlu menambah dua medan di sini, jadi anda mula-mula pergi ke pangkalan data untuk mengubah suai struktur jadual, menambah medan, dan kemudian kembali ke. atur cara untuk mengubah suai kod sql.
mongodb: Objek mempunyai 5 atribut Program anda telah ditulis Kemudian anda perlu menambah dua atribut (medan) di sini.
Dalam pangkalan data hubungan, rekod ialah baris, medan ialah lajur dan data berada di persimpangan baris dan lajur. Berbilang baris dan lajur mesti mengikut struktur dua dimensi yang sama.
Pangkalan data bukan perhubungan, atribut hanya dimiliki oleh objek. Objek adalah bebas antara satu sama lain.
大家讲道理2017-05-02 09:21:43
Gunakan gabungan mysql+memcache untuk perniagaan jangka panjang, dan gabungan mongodb+redis untuk perniagaan log statistik atau transaksi sementara di dahi PM.
Kelebihan mongodb adalah fleksibiliti, kelemahannya juga fleksibiliti, dan kestabilan tidak sebaik mysql
漂亮男人2017-05-02 09:21:43
Berbanding dengan pangkalan data hubungan tradisional, MongoDB ialah salah satu wakil pangkalan data bukan hubungan. Untuk mengetahui masa untuk menggunakan MongoDB, anda harus terlebih dahulu mengetahui ciri yang dimilikinya, perkara yang boleh dan tidak boleh dilakukan, dan kemudian memutuskan sama ada untuk menggunakannya berdasarkan situasi tertentu. Adalah disyorkan untuk membaca bahagian pengenalan dokumen rasmi terlebih dahulu, yang menyenaraikan ciri paling kritikal MongoDB, dan hampir semua fungsi lain berkisar pada ciri ini. Ciri-ciri ini selalunya merupakan faktor utama dalam memutuskan sama ada untuk menerima pakai MongoDB.
Berikut ialah artikel yang secara ringkas dan kasar memperkenalkan cara memilih.
Namun, dengan perkembangan teknologi, sempadan antara apa yang dipanggil "hubungan" dan "tidak berkaitan" telah menjadi semakin kabur Di satu pihak, RDBMS tradisional seperti Postgre dan MySQL telah mula menyokong bukan-. model hubungan seperti JSON Sebaliknya, MongoDB JOIN juga telah mula disokong, malah transaksi akan disokong pada masa hadapan. Sekarang sempadan telah menjadi kabur, ia tidak boleh digeneralisasikan apabila teknologi mana yang harus digunakan. Hasil perbandingan selalunya ini dan itu boleh digunakan. Tetapi anda sememangnya boleh membandingkan apa yang anda akan untung dan rugi jika anda menggunakan teknologi tertentu dalam projek anda, dan kemudian timbang sama ada bahagian yang diperoleh boleh menggantikan bahagian yang hilang, dan akhirnya memutuskan sama ada untuk menggunakan teknologi ini.
ringa_lee2017-05-02 09:21:43
Sebaik-baiknya menggunakan mongodb apabila struktur data tidak pasti Contohnya, dalam pangkalan data sql anda, anda mesti terlebih dahulu menentukan jenis, nama, panjang semua medan, dll. Ini tidak mempunyai fleksibiliti tidak wujud dalam bidang tertentu, Anggap saja dia tidak.
Sebagai contoh, katakan pelayan kami ingin menyimpan peristiwa sistem dalam pangkalan data. Apabila pengguna tertentu melakukan sesuatu, kadangkala anda perlu merekodkan kandungan badan asal siaran yang dihantarnya untuk pertanyaan, dan kadangkala anda tidak perlu merekodkan kandungan siaran, jika anda menentukan rentetan dalam SQL Jika panjangnya 1000, ruang ini sia-sia, tetapi mongodb tidak akan. Dan apabila mengambil rekod ini, pangkalan data SQL akan mengembalikan struktur yang anda tentukan, walaupun jika salah satu medan kosong, dan mongodb tidak memasukkan medan kosong semasa menyimpannya, dan perkara yang sama tidak akan berlaku apabila mengambilnya.
Selain itu, mongodb menyokong pelbagai struktur json dengan baik. Sudah tentu, ini tidak sepatutnya menjadi tujuan utama menggunakan mongodb.