关于MongoDB使用场景的疑问
滿天的星座
滿天的星座 2017-05-02 09:25:47
0
4
758

目前网站的数据库是MYSQL,里面存储了很多歌曲信息记录。

我在想如果把歌曲查询部分做成从MongoDB里查询,速度是不是会快一些?

以后对歌曲信息的增删写的时候,同时要跟MongoDB同步一下,是这样吧?没有NOSQL的经验,请各位指点下,谢谢。

滿天的星座
滿天的星座

membalas semua(4)
给我你的怀抱

Banyak masalah tidak mempunyai hanya satu penyelesaian, bermakna anda boleh menggunakan teknik ini atau teknik itu. Tujuan pembelajaran boleh menjadi apa sahaja yang anda mahukan, tetapi dalam persekitaran pengeluaran sebenar adalah sangat disyorkan untuk memudahkan kerumitan anda dan menyelesaikan masalah dengan cara paling mudah yang paling anda kenali. Fikirkan sama ada perlu menggunakan 2 pangkalan data untuk menyelesaikan masalah yang sama.

Saya tertanya-tanya adakah lebih pantas jika bahagian pertanyaan lagu disoal daripada MongoDB?

Mungkin, mungkin tidak. Ia bergantung pada jumlah data yang anda miliki, sama ada reka bentuk model data menggunakan MongoDB adalah munasabah, dan... berapa banyak sumber perkakasan yang anda rancang untuk melabur di dalamnya. NoSQL lebih memfokuskan pada pengembangan mendatar, yang bermaksud bahawa ia masih boleh mengekalkan kelajuan pertanyaan pada tahap tertentu walaupun jumlah data terus meningkat. Dari pengalaman peribadi, jika terdapat berpuluh-puluh juta atau ratusan juta data, MongoDB mungkin benar-benar menunjukkan kelebihannya. Sebelum data mencapai tahap ini, saya rasa tidak banyak keperluan untuk memperkenalkan pangkalan data tambahan jika ia hanya untuk kelajuan. Berbanding dengan faedah yang dibawanya kepada anda dan kerumitan yang ditimbulkannya, hanya boleh dikatakan ia tidak kos efektif.

Apabila anda menambah atau memadam maklumat lagu pada masa hadapan, anda perlu menyegerakkannya dengan MongoDB pada masa yang sama, bukan?

Masalah penyegerakan data bergantung pada seberapa tinggi keperluan anda untuk "konsistensi". Dalam kes konsistensi yang kukuh, ini adalah transaksi yang diedarkan, yang mungkin bukan perkara yang baik untuk prestasi dan bertentangan dengan niat asal anda untuk mempercepatkan transaksi. Jika anda mempertimbangkan konsistensi akhirnya, anda boleh melihat pelbagai alatan MySQL ke MongoDB ETL, seperti Pentaho. Sudah tentu, adalah mungkin untuk melaksanakannya melalui kod sendiri, tetapi tidak mudah untuk mempertimbangkan pelbagai isu toleransi kesalahan.

世界只因有你

Pertama sekali, anda perlu tahu dengan jelas bahawa MongoDB ialah pelaksanaan khusus NoSQL Tidak seperti Redis, struktur data yang disimpannya adalah berasaskan dokumen.

Kedua, kelajuan pertanyaan sukar untuk membuat keputusan sewenang-wenangnya berdasarkan perbezaan antara produk atau enjin Ia perlu ditimbang berdasarkan penggunaan sebenar, bukan itu sahaja, maklumat apa yang disimpan dan cara menyimpannya juga memerlukan sedikit analisis ( Jika anda hanya berlatih, prosesnya boleh menjadi lebih mudah).


Saya hanya belajar MySQL sebelum ini Kerana ketidakpastian atau kerumitan struktur beberapa data yang disimpan, jika saya ingin menggunakan MySQL sahaja untuk menyimpannya, saya perlu menggunakan banyak jadual dan menyediakan kunci asing, jadi saya juga belajar MongoDB untuk menyelesaikan keperluan .

Apa yang saya lakukan ialah latihan buku, yang agak serupa dengan lagu dari perspektif tertentu. Sebagai contoh, mungkin terdapat lebih daripada satu pengarang buku Jika anda menggunakan MySQL, kaedah yang mudah adalah dengan menggunakan pembatas untuk menyimpan berbilang pengarang dalam satu bidang akan ada masalah tertentu dalam pertanyaan kemudian (kerumitan syarat penghakiman dan juga prestasi ), dan lagu A juga mungkin mempunyai lebih daripada seorang penyanyi.

Amalan saya ialah MySQL + MongoDB Sudah tentu, ia juga boleh dicapai hanya menggunakan MongoDB, tetapi saya fikir keperluan khusus harus dianalisis dengan sewajarnya. Amalan komprehensif saya masih diteruskan dan saya boleh berkomunikasi pada bila-bila masa, salah satu idea yang disediakan di atas.

世界只因有你

Elasticsearch melakukan pertanyaan dengan lebih pantas tanpa menjejaskan prestasi mysql

世界只因有你

Saya rasa anda mungkin memerlukan fungsi seperti mencari lagu berdasarkan lirik. Elasticsearch yang disebutkan di atas adalah sangat baik, dan terdapat satu lagi pilihan, sphinx, yang juga sangat baik untuk carian teks penuh.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan