Rumah > Artikel > pangkalan data > Perkongsian yang sangat disukai: Idea pengoptimuman MySQL yang selaras dengan pengeluaran
Titik permulaan menulis artikel ini adalah untuk merekodkan pengalaman terkumpul saya dalam menangani data di tempat kerja Semasa saya menulis dan menulis, saya mendapati bahawa setiap perkara akan diperolehi. Pengetahuan latar belakang lain harus disediakan, seperti semasa mengoptimumkan indeks, anda perlu mempunyai pemahaman tertentu tentang pertanyaan lambat, Jelaskan dan fungsi lain yang berkaitan Sebagai contoh, apabila memperkenalkan Elasticsearch, anda perlu menyelesaikan masalah data penyegerakan, pelajari pengetahuan Elasticsearch, dsb. Oleh kerana panjang artikel, adalah mustahil untuk merangkumi setiap perkara yang semuanya terperinci seperti tutorial video, dan saya hanya boleh meringkaskannya berdasarkan pengetahuan saya yang terhad dan beberapa perkara umum. Walaupun begitu, kepanjangan artikel itu sudah sangat panjang. Jika anda berminat dengan sesuatu perkara, sila pergi ke Baidu/Google untuk pengetahuan mendalam tentang butiran individu.
Artikel itu agak panjang, jadi jika anda berminat, anda mungkin mahu membacanya sehingga anda tidak membuang masa berpuluh-puluh minit. [Pembelajaran yang disyorkan: "Tutorial Video MySQL"]
Teknologi pangkalan data telah melalui peringkat pengurusan manual dan peringkat sistem fail setakat ini dan peringkat sistem pangkalan data.
Pada zaman awal apabila tiada sistem perisian, operasi dunia sebenar perniagaan tertentu juga boleh direalisasikan melalui peringkat pengurusan manual perakaunan manual dan perjanjian lisan Borang ini telah wujud sejak sekian lama dan adalah agak tidak efisien. Pada peringkat seterusnya, dengan perkembangan teknologi komputer, terdapat peringkat sistem fail yang menggantikan perakaunan manual dengan jadual excel, yang meningkatkan produktiviti ke tahap tertentu. Dalam peringkat sistem perisian, iaitu sistem pangkalan data dengan operasi mudah dan kecekapan tinggi, produktiviti telah dipertingkatkan lagi, masalah khusus dalam dunia nyata disarikan kepada data, dan perniagaan dunia nyata diwakili melalui aliran dan perubahan data. Dalam sistem perisian, storan data secara amnya terdiri daripada pangkalan data hubungan dan beberapa pangkalan data bukan hubungan.
Pangkalan data sangat berkaitan dengan perniagaan sistem Ini memerlukan pengurus produk untuk memahami penyimpanan data dan proses pertanyaan semasa mereka bentuk perniagaan, adalah jelas kesan perubahan perniagaan ada pada pangkalan data dan sama ada Timbunan teknologi baharu perlu dirujuk. Sebagai contoh, perniagaan yang direka oleh pengurus produk adalah untuk melakukan analisis statistik dan ringkasan data pada berbilang jadual MySQL dengan jumlah jadual tunggal berjuta-juta Jika pertanyaan berbilang jadual MySQL digunakan secara langsung, pertanyaan perlahan pasti akan berlaku dan menyebabkan msyql perkhidmatan untuk turun Dalam kes ini, penyelesaiannya ialah Sama ada berkompromi pada bahagian produk atau menukar timbunan teknologi.
Seni bina sistem dan penyelesaian pangkalan data harus dipilih agar lebih sesuai untuk keupayaan pasukan syarikat Pada peringkat awal sistem, pengoptimuman pangkalan data yang mudah digabungkan dengan keupayaan bank akan menjadi penyelesaian yang paling kos efektif. tetapi apabila ia datang kepada keupayaan pangkalan data mysql, tiada apa yang boleh anda lakukan, memperkenalkan perkhidmatan perisian yang menumpukan pada fungsi utama akan menjadi penyelesaian yang paling kos efektif nilai.
Seorang budak lelaki miskin jatuh cinta dengan seorang gadis kaya. Kemanisan jangka pendek tidak sepadan dengan ketidaksamaan kelas yang sebenar. Pengakhiran yang bahagia hanya wujud dalam fantasi si miskin dan siri TV Teacher Qiong Yao.
Cara meningkatkan prestasi storan data pada kos terhad ialah idea utama artikel ini.
Saya percaya anda akan sering bersentuhan dengan kandungan berikut dalam kerja harian anda, jadi saya akan meringkaskannya secara ringkas.
Pangkalan data perhubungan ialah organisasi data yang terdiri daripada jadual dua dimensi dan perkaitan di antaranya, menyediakan ketekalan data transaksi dan Fungsi seperti kegigihan data ialah perkhidmatan storan teras sistem perisian Ia adalah pangkalan data yang paling kerap kami hubungi semasa pembangunan dan temu bual Untuk beberapa projek penyumberan luar kecil, satu MySQL cukup untuk memenuhi semua keperluan perniagaan. Ia adalah sesuatu yang sering kita temui, dan ia sebenarnya penuh dengan rahsia Kita akan membincangkan rahsia secara terperinci dalam bab-bab berikut.
Kelebihan:
Masalah
Pangkalan data MySQL, sebagai perisian penyimpanan data perhubungan, mempunyai kelebihan dan kelemahan yang jelas, apabila jumlah data sistem perisian terus berkembang dan kerumitan perniagaan terus meningkat, Kami tidak boleh mengharapkan untuk menyelesaikan semua masalah dengan meningkatkan keupayaan pangkalan data MySQL Sebaliknya, kami perlu memperkenalkan perisian storan lain dan menggunakan pelbagai jenis NoSQL untuk menyelesaikan masalah volum data sistem perisian yang berkembang dan meningkatkan kerumitan perniagaan.
Pangkalan data hubungan ialah pengoptimuman pangkalan data hubungan dalam senario yang berbeza Ini tidak bermakna semuanya akan baik dengan memperkenalkan beberapa jenis NoSQL, tetapi ini bermakna memahami sepenuhnya jenis dan kesukaran aplikasi NoSQL di pasaran, dan memilih yang. storan yang sesuai dalam senario yang sesuai adalah cara untuk pergi.
Dalam perniagaan, kandungan jadual tertentu sering disoal, tetapi kebanyakan hasil pertanyaan kekal tidak berubah, jadi perisian storan nilai kunci, terutamanya Memcached dan Redis, telah muncul dan digunakan secara meluas dalam modul cache dalam sistem. Redis mempunyai lebih banyak struktur data dan ketekunan daripada Memcached, menjadikannya yang paling banyak digunakan dalam kalangan NoSQL jenis KV.
Dalam senario carian teks penuh, pengoptimuman pertanyaan indeks pepohon MySQLB, pertanyaan seperti tidak boleh memukul indeks, dan setiap pertanyaan kata kunci seperti adalah satu masa Imbasan jadual penuh boleh disokong dalam jadual dengan puluhan ribu data, tetapi pertanyaan perlahan akan berlaku pada penghujung data Jika kod perniagaan tidak ditulis dengan baik dan pertanyaan Suka dipanggil dalam transaksi, kunci baca akan berlaku. ElasticSearch, dengan indeks terbalik sebagai terasnya, boleh memenuhi senario carian teks penuh dengan sempurna Pada masa yang sama, ElasticSearch juga menyokong data besar dengan baik, dan dokumentasi dan ekologi juga sangat bagus menaip.
Jenis dokumen NoSql merujuk kepada jenis NoSql yang menyimpan data separa berstruktur sebagai dokumen NoSql jenis dokumen biasanya menyimpan data dalam format JSON atau XML , jadi NoSql jenis dokumen tidak mempunyai Skema Memandangkan tiada ciri Skema, kita boleh menyimpan dan membaca data sesuka hati Oleh itu, kemunculan NoSql jenis dokumen menyelesaikan masalah pengembangan struktur jadual pangkalan data yang tidak selesa. Pengarang tidak pernah menggunakan
Untuk perusahaan dengan saiz tertentu, perniagaan selalunya melibatkan ringkasan data masa nyata dan fleksibel, yang tidak sesuai untuk jenis ini perniagaan Gunakan penyelesaian pengiraan terlebih dahulu untuk menyelesaikan masalah Walaupun anda boleh menulis perniagaan menggunakan penyelesaian pengiraan dan ringkasan terlebih dahulu, apabila bilangan data ringkasan meningkat, langkah terakhir untuk mengumpul data ringkasan akan beransur-ansur menjadi. sangat lambat. NoSQL berasaskan lajur adalah hasil daripada senario ini Ia adalah salah satu teknologi yang paling mewakili dalam era data besar yang paling biasa ialah HBase, tetapi aplikasi HBase sangat berat dan sering memerlukan set lengkap Ekosistem Hadoop untuk dijalankan Syarikat pengarang Alibaba Cloud's AnalyticDB digunakan, perisian penyimpanan lajur yang serasi dengan pernyataan pertanyaan MySql. Keupayaan pertanyaan kuat perisian storan lajur ringkasan adalah mencukupi untuk menyokong pelbagai perkhidmatan ringkasan data masa nyata dan fleksibel.
Mengambil 2021 sebagai nod masa, kebanyakan sistem bermula dengan pelan berikut pada peringkat awal Seterusnya, saya akan menggunakan kes ini Buat beberapa pelarasan perlahan-lahan.
Faedah yang dibawa oleh peningkatan perkakasan adalah lebih rendah seiring dengan berlalunya masa. Ini adalah penyelesaian pengoptimuman terpantas apabila masa dan kakitangan sempit. Faedah yang dibawa oleh pengoptimuman perisian adalah lebih tinggi pada masa hadapan, tetapi tahap kakitangan teknikal yang diperlukan juga lebih tinggi pada masa hadapan Apabila masa dan kakitangan mengizinkan, ia adalah penyelesaian pengoptimuman yang paling kos efektif. Pengoptimuman perkakasan dan perisian tidak saling eksklusif Apabila diperlukan, kedua-duanya boleh menghampiri had atas prestasi MYSQL pada masa yang sama.
Fasa 1
Fasa 2
Fasa 3
OLTP digunakan terutamanya untuk merekodkan kejadian jenis acara perniagaan tertentu, seperti sebagai tingkah laku pengguna. Apabila tingkah laku berlaku, sistem akan merekodkan Bila dan di mana pengguna melakukan sesuatu, baris (atau berbilang baris) data akan dikemas kini dalam pangkalan data dalam bentuk penambahan, pemadaman dan pengubahsuaian prestasi masa nyata yang tinggi, kestabilan yang kukuh dan memastikan data dikemas kini dengan jayanya tepat pada masanya, semua sistem perniagaan biasa adalah milik OLTP, dan pangkalan data yang digunakan ialah pangkalan data transaksi, seperti MySlq, Oracle, dsb. Untuk OLTP, meningkatkan kelajuan pertanyaan dan kestabilan perkhidmatan adalah teras pengoptimuman
store_id_guide_id
(store_id
,guide_id
) MENGGUNAKAN BTREEstore_id_guide_id
(store_id
,guide_id
) MENGGUNAKAN BTREEKunci
Mengikut butiran, kunci MySQL boleh dibahagikan kepada kunci global, kunci peringkat meja dan kunci baris
Kunci global
Kunci peringkat meja dibahagikan kepada kunci meja (kunci data) dan kunci metadata
Kunci baris akan mengunci baris data, dibahagikan kepada kunci kongsi dan kunci eksklusif
Menyelesaikan kebuntuan
show processlist;SELECT * FROM information_schema.INNODB_TRX; //长事务SELECT * FROM information_schema.INNODB_LOCKs; //查看锁SELECT * FROM information_schema.INNODB_LOCK_waits; //查看阻塞事务
Indeks terbalik Elasticsearch, yang sesuai untuk carian teks penuh, tetapi struktur data mempunyai fleksibiliti yang lemah.
OLAP digunakan untuk analisis membuat keputusan data relatif kepada senario pemprosesan transaksi OLTP Ia adalah idea gudang data luar talian yang digunakan dalam analisis data besar, bukan susunan teknologi tertentu Jika penyelesaian anda boleh merangkumi idea analisis dan pemprosesan penyelesaiannya ialah OLAP.
Pembinaan gudang data awal terutamanya merujuk kepada pemodelan pangkalan data perniagaan perusahaan seperti ERP, CRM, SCM dan data lain mengikut keperluan analisis membuat keputusan dan meringkaskannya ke dalam enjin gudang data terutamanya untuk tujuan pelaporan Ia adalah untuk menyokong pembuatan keputusan kakitangan pengurusan dan perniagaan (keputusan strategik jangka sederhana dan panjang). Apabila teknologi IT bergerak ke arah Internet dan mobiliti, sumber data menjadi lebih banyak dan lebih banyak Data tidak berstruktur muncul berdasarkan pangkalan data perniagaan asal, seperti log tapak web, data peranti IoT, data terbenam APP, dll. Jumlah data ini. Ia adalah beberapa susunan magnitud yang lebih besar daripada data berstruktur sebelumnya.
Tidak kira bagaimana perniagaan yang dihadapi oleh OLAP berubah, ia tidak dapat dipisahkan daripada langkah berikut: Tentukan kawasan analisis -> Segerakkan data perniagaan ke pustaka pengkomputeran -> gudang data - >Terdedah kepada luar
Pangkalan data sumber pengiraan digunakan khas untuk pembersihan data, dan tujuannya adalah untuk mengelak daripada menjejaskan prestasi pangkalan data perniagaan semasa pembersihan data. Dengan membersihkan data dalam pangkalan data sumber pengiraan mengikut perniagaan dan dimensi, kebolehgunaan dan kebolehgunaan semula data meningkat, dan data terperinci masa nyata akhir diperoleh, yang kemudiannya dipindahkan ke gudang data, dan gudang data menyediakan data analisis keputusan akhir.
Pelan DEMO
Pelan pengeluaran
Fungsi yang sama tersedia untuk setiap pautan perisian Jika perisian digantikan dengan penyelesaian pelaksanaan perisian yang paling yakin pasukan, maka penyelesaiannya ialah OLAP.
Pengoptimuman mestilah sederhana, dengan pengumpulan keupayaan langkah demi langkah, berbilang pusingan lelaran dan tidak boleh dicapai dalam sekelip mata. Jalankan berbilang pusingan lelaran berdasarkan asas anda sendiri, senario perniagaan dan jangkaan pembangunan masa hadapan.
Prinsip lelaran adalah untuk terlebih dahulu meningkatkan kecekapan perkhidmatan perisian tunggal melalui pengoptimuman lembut dan pengoptimuman keras Apabila kos pengoptimuman adalah lebih rendah daripada faedah, berdasarkan jangkaan pembangunan masa hadapan, rujuk kepada penyelesaian matang pada pasarkan dan ikuti penyelesaiannya. Perkenalkan perisian baharu seperti yang diperlukan untuk inovasi gabungan, dan elakkan penyalinan buta Hanya dengan menyepadukan secara organik anda boleh mencapai kesan 1 1>2, 2 1>3. Ulangi proses ini apabila perisian yang dirujuk menghadapi masalah .
Terima kasih kerana membaca ini di atas adalah semua kandungan artikel dan penyelesaian yang dicadangkan dalam kandungan tidak semestinya penyelesaian yang optimum pendapat yang berbeza, anda dialu-alukan untuk membincangkannya.
Atas ialah kandungan terperinci Perkongsian yang sangat disukai: Idea pengoptimuman MySQL yang selaras dengan pengeluaran. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!