Cadangan untuk mengoptimumkan prestasi data

Terpakai kepada cadangan senarai semak Kecekapan Prestasi Well-Architected ini Power Platform :

PE:08 Optimumkan prestasi data. Optimumkan stor data untuk kegunaan yang dimaksudkan dan sebenar dalam beban kerja.

Panduan ini menerangkan cadangan untuk mengoptimumkan prestasi data. Mengoptimumkan prestasi data adalah tentang memperhalusi kecekapan pemprosesan dan penyimpanan data beban kerja. Setiap operasi beban kerja, transaksi atau pengiraan biasanya bergantung pada pengambilan, pemprosesan dan penyimpanan data yang cepat dan tepat. Apabila prestasi data dioptimumkan, beban kerja berjalan lancar. Prestasi data yang terjejas mewujudkan kesan domino kecekapan prestasi yang lemah. Kegagalan untuk mengoptimumkan prestasi data mengakibatkan kelewatan tindak balas, kependaman yang meningkat dan kebolehskalaan yang dikurangkan. Ia menjejaskan kecekapan keseluruhan beban kerja.

Definisi

Istilah Takrif
Simpanan data Sumber yang menyimpan data seperti pangkalan data, stor objek atau perkongsian fail.
Indeks Struktur pangkalan data yang menyediakan akses pantas kepada item.
Pemprosesan analisis dalam talian (OLAP) Teknologi yang mengatur pangkalan data perniagaan yang besar, menyokong analisis kompleks dan melakukan pertanyaan analisis yang kompleks tanpa menjejaskan sistem transaksi secara negatif.
Pemprosesan transaksi dalam talian (OLTP) Teknologi yang merekodkan interaksi perniagaan kerana ia berlaku dalam operasi harian sesebuah organisasi.
Pembahagian Proses membahagikan data secara fizikal kepada stor data yang berasingan.
Penalaan pertanyaan Proses yang mengoptimumkan kelajuan pertanyaan pangkalan data.

Strategi reka bentuk utama

Untuk mengoptimumkan penggunaan data, pastikan stor data dioptimumkan untuk kegunaan yang dimaksudkan dan untuk penggunaan sebenar dalam beban kerja. Penggunaan data yang dioptimumkan boleh meningkatkan prestasi pertanyaan, mengurangkan penggunaan sumber dan meningkatkan kecekapan sistem keseluruhan. Pertimbangkan strategi berikut:

  • Data profil. Fahami data anda dan pastikan model data anda sesuai untuk beban kerja anda. Pertimbangkan faktor seperti normalisasi data dan teknik pembahagian. Untuk mendapatkan semula data yang cekap, pastikan anda memilih jenis data yang sesuai dan mentakrifkan perhubungan antara jadual.

  • Optimumkan prestasi pertanyaan. Menganalisis dan mengoptimumkan pertanyaan yang dijalankan dalam beban kerja. Gunakan teknik seperti pengoptimuman pertanyaan dan caching. Gunakan pandangan bahagian pelayan untuk pratapis data. Untuk mengenal pasti kesesakan, gunakan alat pemantauan prestasi dan kemudian buat penambahbaikan yang diperlukan.

  • Pantau dan talai sistem secara berkala. Pantau prestasi beban kerja anda secara berterusan dan lelaran pada konfigurasi storan data dan pengoptimuman pertanyaan. Berdasarkan amalan terbaik penalaan prestasi, menganalisis metrik sistem, mengenal pasti bidang penambahbaikan dan melaksanakan perubahan. Apabila data berkembang, anda mungkin perlu mengemas kini pertanyaan anda untuk kekal berprestasi.

Data profil

Pemprofilan data melibatkan pemeriksaan data daripada sumber dan mengumpul maklumat mengenainya. Objektifnya adalah untuk memahami kualiti, struktur dan ciri-ciri data beban kerja. Proses ini membolehkan pengenalpastian isu seperti nilai yang hilang, pendua, format yang tidak konsisten dan anomali lain.

Untuk pemprofilan data yang berkesan, pertimbangkan strategi berikut:

  • Fahami struktur data. Periksa struktur data anda, termasuk jadual, lajur dan perhubungan. Tentukan jenis data, panjang dan kekangan yang digunakan pada setiap lajur. Penilaian struktur data membantu anda memahami cara data disusun dan cara ia berkaitan dengan elemen data lain.

  • Analisis volum data. Menilai volum data anda untuk memahami saiz keseluruhan dan corak pertumbuhan. Tentukan bilangan rekod atau dokumen dan saiz jadual atau koleksi individu. Maklumat ini membantu anda menganggarkan keperluan storan dan mengenal pasti isu kebolehskalaan.

  • Kenal pasti hubungan data. Terokai hubungan antara elemen data. Fahami cara data disambungkan, supaya anda boleh menentukan cara perubahan dalam satu jadual atau dokumen mungkin menjejaskan data yang berkaitan.

  • Menilai kualiti data. Menilai kualiti data anda dengan memeriksa faktor seperti kesempurnaan, ketepatan, konsistensi dan keunikan. Kenal pasti anomali data, nilai yang hilang atau rekod pendua yang mungkin menjejaskan integriti data dan prestasi pertanyaan. Langkah ini membantu anda mengenal pasti kawasan untuk pembersihan dan penambahbaikan data.

  • Tangkap pengedaran data. Analisis taburan nilai dalam setiap lajur untuk menentukan corak data. Kenal pasti nilai yang kerap dan jarang berlaku, outlier dan condong data. Untuk mengoptimumkan prestasi pertanyaan, analisis sama ada kekunci alternatif sesuai untuk memberikan prestasi yang lebih baik.

Pantau prestasi data

Pemantauan prestasi data ialah amalan menjejaki kecekapan stor data secara konsisten. Ia melibatkan pengumpulan dan analisis metrik prestasi khusus untuk operasi data, menggunakan alatan yang disesuaikan untuk penyelesaian pemantauan peringkat sistem, khusus pangkalan data atau pihak ketiga. Pemantauan prestasi data yang berkesan membolehkan anda mengenal pasti dan mengurangkan potensi kesesakan secara proaktif, memastikan proses dan tugas berkaitan data cekap.

Untuk memantau prestasi data, pertimbangkan strategi berikut:

  • Kumpulkan metrik khusus data. Kumpulkan metrik utama yang berkaitan secara langsung dengan prestasi data. Metrik ini termasuk masa tindak balas pertanyaan dan pemprosesan data.

  • Sediakanmakluman data. Sediakan makluman khusus untuk metrik data. Gunakan ambang atau anomali yang telah ditetapkan dalam metrik ini untuk mencetuskan makluman. Makluman membolehkan anda menerima pemberitahuan apabila metrik prestasi melebihi julat yang boleh diterima atau menunjukkan tingkah laku yang tidak normal; contohnya, jika pertanyaan pangkalan data mengambil masa lebih lama daripada yang dijangkakan atau jika pemprosesan data menurun dengan ketara. Anda boleh menyediakan makluman ini menggunakan alat pemantauan khusus atau skrip tersuai.

  • Diagnosis isu prestasi data. Semak metrik data yang dikumpul secara berkala untuk mengenal pasti potensi kesesakan prestasi atau kemerosotan dalam operasi data. Alat visualisasi atau papan pemuka boleh menjadi tidak ternilai dalam proses ini, membantu menyerlahkan arah aliran, kesesakan dan outlier dalam prestasi data. Setelah dikenal pasti, siasat punca isu ini dan rancang langkah pemulihan yang sesuai.

Data partition

Pembahagian melibatkan pembahagian set data yang besar atau beban kerja volum tinggi kepada subset yang lebih kecil dan boleh diurus. Pembahagian meningkatkan kecekapan prestasi data dengan mengagihkan beban kerja dan meningkatkan pemprosesan selari. Ia juga memastikan akses data yang lebih berkesan berdasarkan keperluan khusus dan corak pertanyaan. Anda boleh membahagikan data secara menegak atau mendatar (juga dipanggil sharding). Sebagai contoh, jika menggunakan Dataverse jadual Elastik, pertimbangkan apa yang sepatutnya menjadi kunci pembahagian.

Strategi Takrif Contoh Guna kes
Pembahagian menegak Bahagikan jadual kepada jadual yang lebih kecil dengan memilih lajur atau medan tertentu untuk setiap partition. Setiap partition mewakili subset data lengkap. Jika anda mempunyai jadual dengan lajur A, B, C dan D, anda boleh mencipta satu jadual dengan lajur A dan B dan satu lagi dengan lajur C dan D. - Jadual mengandungi banyak lajur, tetapi pertanyaan tidak mengakses semua lajur bersama-sama.
- Sesetengah lajur lebih besar daripada yang lain dan memisahkannya boleh meningkatkan prestasi I/O.
- Bahagian data yang berbeza mempunyai corak akses yang pelbagai.
Pembahagian mendatar Pisahkan data berdasarkan baris atau julat nilai (juga dikenali sebagai sharding). Setiap partition mengandungi subset baris dengan ciri-ciri yang serupa. Jika anda mempunyai jadual dengan baris 1 hingga 1000, anda mungkin mencipta satu partition dengan baris 1 hingga 500 dan satu lagi dengan baris 501 hingga 1000. - Set data terlalu besar untuk satu lokasi atau pelayan.
- Data diakses berdasarkan julat atau penapis tertentu.
- Perlu mengagihkan beban kerja merentas nod atau pelayan fizikal untuk prestasi yang dipertingkatkan.

Untuk membahagikan data anda, pertimbangkan langkah berikut:

  • Menganalisis data dan pertanyaan. Analisis data dan corak pertanyaan untuk mengenal pasti strategi pembahagian atau sharding yang sesuai. Fahami sifat data, corak akses dan keperluan pengedaran.

  • Tentukan kunci. Pilih kunci pembahagian atau sharding untuk mengedarkan data merentas partition atau serpihan. Berhati-hati pilih kunci berdasarkan ciri data dan keperluan pertanyaan.

  • Tentukan logik. Tentukan logik pembahagian atau sharding berdasarkan kunci yang dipilih. Pertimbangkan untuk membahagikan data kepada julat, menggunakan algoritma hashing atau menggunakan teknik pembahagian lain.

Optimumkan pertanyaan

Mengoptimumkan pertanyaan memperhalusi pertanyaan untuk mengurangkan data yang layak dan data yang dikembalikan. Pelarasan ini meningkatkan kecekapan dan kelajuan pengambilan data. Akibatnya, pangkalan data mempunyai beban kerja yang lebih ringan, sumber berfungsi dengan lebih berkesan dan pengguna menikmati interaksi yang lebih lancar.

Untuk mengoptimumkan pertanyaan pangkalan data, pertimbangkan strategi berikut:

  • Tulis semula pertanyaan. Semak dan analisis pertanyaan kompleks untuk mengenal pasti peluang untuk menulis semula. Pertimbangkan penstrukturan semula logik pertanyaan, menghapuskan operasi berlebihan atau memudahkan sintaks pertanyaan.

  • Elakkan masalah pertanyaan N+1. Minimumkan bilangan perjalanan pergi balik ke pangkalan data dengan menggunakan cantuman dan pengambilan kumpulan untuk mendapatkan semula data berkaitan dengan cekap.

  • Susunan semula penyertaan. Menilai dan mempertimbangkan penyusunan semula tertib cantuman untuk meminimumkan bilangan baris dalam setiap operasi cantuman. Tertib anda menyertai jadual boleh menjejaskan prestasi pertanyaan.

  • Pertanyaan cache. Simpan hasil pertanyaan yang kerap dijalankan untuk penggunaan semula yang mudah. Cache pertanyaan menghapuskan keperluan untuk menjalankan pertanyaan yang sama berulang kali dan ia mengurangkan overhed pemprosesan pertanyaan.

  • Pantau dan tala. Pantau metrik prestasi pertanyaan, seperti masa jalan, penggunaan sumber dan pemprosesan pertanyaan. Gunakan alat pemprofilan pangkalan data dan fungsi pemantauan untuk mengenal pasti pertanyaan berprestasi buruk. Gunakan maklumat tersebut untuk mengoptimumkan prestasi pertanyaan.

Arkib dan bersihkan data

Pengarkiban dan pembersihan ialah strategi yang menyelaraskan penyimpanan data. Pengarkiban memindahkan data yang lebih lama dan kurang kerap diakses kepada storan yang lebih kos efektif. Membersihkan data mengalih keluar data berlebihan secara kekal. Kedua-dua kaedah menyumbang kepada kecekapan prestasi dengan mengurangkan volum data, meningkatkan kelajuan akses data dan mengurangkan masa sandaran dan pemulihan.

  • Mengurangkan volum data: Kurang data bermakna masa pemprosesan yang lebih pantas, memastikan respons pantas kepada permintaan pengguna.
  • Meningkatkan kelajuan capaian data: Set data yang dipangkas membolehkan pertanyaan dan pengambilan data yang lebih pantas, mengoptimumkan tindak balas sistem.
  • Mengurangkan masa sandaran dan pemulihan: Set data yang lebih kecil mempercepatkan proses sandaran dan pemulihan, meminimumkan masa henti dan memastikan prestasi yang konsisten.

Pengarkiban dan pembersihan memainkan peranan penting dalam mengekalkan kecekapan prestasi puncak dalam sistem dipacu data.

Optimumkan beban storan

Mengoptimumkan beban storan bermakna menyelaraskan permintaan kepada sistem storan. Ia membantu menghapuskan permintaan yang tidak perlu, meningkatkan pengambilan data dan mengelakkan membebankan sistem storan. Mengoptimumkan beban storan memastikan sistem storan kekal responsif kepada permintaan yang sah dan mengekalkan prestasi puncak. Melaksanakan strategi untuk mengurangkan beban pemprosesan pada stor data. Untuk mengoptimumkan beban stor data, pertimbangkan strategi yang berikut.

Gunakan cache

Caching menyimpan data yang biasa diakses dalam kawasan storan akses pantas, menjadikan pengambilan data lebih cepat daripada menariknya daripada sumber utama. Teknik ini meningkatkan prestasi data dengan mengurangkan masa akses dan mengelakkan pengambilan data berulang. Caching meningkatkan kelajuan membaca dan masa tindak balas pengguna, terutamanya untuk data yang kerap diakses. Kaedah ini paling berkesan pada data statik atau data yang jarang berubah.

Untuk memastikan kecekapan cache yang optimum, pertimbangkan faktor seperti dasar tamat tempoh, strategi pengusiran dan pengurusan saiz cache. Laraskan tetapan, seperti masa untuk hidup (TTL), untuk prestasi optimum. Untuk menggunakan cache untuk mengoptimumkan beban storan, pertimbangkan strategi berikut:

  • Cache dalam memori: Lakukan cache dalam memori untuk menyimpan data yang kerap diakses dalam memori untuk mendapatkan semula pantas. Anda boleh menggunakan teknik ini untuk data aplikasi yang mahal untuk dikira atau diambil daripada pangkalan data. Cache dalam memori berguna untuk data yang anda baca dengan kerap tetapi tidak kerap berubah. Contohnya, anda boleh menggunakan pembolehubah dalam aliran awan atau koleksi dalam aplikasi kanvas untuk cache data.

  • Cache pertanyaan pangkalan data: Gunakan teknik ini untuk cache hasil pertanyaan pangkalan data untuk mengelak daripada menjalankan pertanyaan yang sama berbilang kali. Cache pertanyaan pangkalan data berguna untuk pertanyaan pangkalan data yang kompleks dan memakan masa. Apabila anda cache hasil pertanyaan, permintaan berikutnya untuk pertanyaan yang sama dikembalikan dengan cepat. Pertimbangkan juga untuk menggunakan paparan bahagian pelayan jika boleh untuk pratapis data untuk mengecilkan data yang berkaitan dengan pertanyaan anda.

  • Cache rangkaian penghantaran kandungan: Gunakan teknik ini untuk cache kandungan web pada pelayan rangkaian teragih untuk mengurangkan kependaman dan meningkatkan penghantaran kandungan. Caching rangkaian penghantaran kandungan berkesan untuk kandungan statik, seperti imej, CSS fail dan fail JavaScript. Rangkaian penghantaran kandungan menyimpan salinan kandungan di berbilang lokasi di seluruh dunia, jadi pengguna boleh mengakses kandungan daripada pelayan yang berhampiran mereka secara geografi.

Optimumkan kemas kini data

Mengoptimumkan kemas kini data melibatkan penilaian kemas kini data yang dilakukan untuk memastikan ia berprestasi. Kemas kini boleh menjejaskan prestasi lebih daripada operasi lain kerana ia boleh mencetuskan kerja yang tidak perlu dan menyebabkan konflik penguncian.

Untuk menilai cara mengoptimumkan kemas kini data, pertimbangkan:

  • Perubahan data. Optimumkan automasi untuk menggunakan pra-imej data atau penapis untuk meminimumkan kerja apabila tiada perubahan sebenar telah berlaku. Elakkan mencetuskan automasi untuk data yang tidak diubah suai.

  • Automasi. Menilai bila dan cara kemas kini dicetuskan berdasarkan perubahan data dan optimumkan pencetus untuk menyertakan penapis. Contohnya, untuk mencetuskan automasi hanya apabila medan tertentu dalam sumber data diubah suai. Menilai kemas kini yang mencetuskan automasi secara beransur-ansur beberapa kali. Sebaliknya, pertimbangkan sama ada anda boleh mencipta operasi tersuai untuk mengendalikan semua pemprosesan. Contohnya, jika pesanan dihantar dan tarikh penghantaran serta nombor penjejakan dikemas kini secara berasingan, kedua-duanya boleh dikemas kini pada masa yang sama dalam operasi "ShipOrder" tersuai.

  • Kebuntuan. Menilai operasi kemas kini perlahan yang mungkin menyebabkan isu disebabkan oleh berbilang aliran mengemas kini data yang sama dalam jujukan yang berbeza. Ketidakcekapan ini boleh menyebabkan konflik penguncian atau potensi kebuntuan, mengakibatkan kerja semula yang tidak perlu. Kemas kini sumber yang berbeza dalam urutan yang sama untuk meminimumkan perbalahan.

  • Kemas kini pukal. Jika anda menjalankan operasi pada berbilang baris jadual, pertimbangkan untuk menggunakan operasi pukal.

Optimumkan pergerakan dan pemprosesan data

Mengoptimumkan pergerakan dan pemprosesan data melibatkan peningkatan kecekapan dan prestasi operasi yang berkaitan dengan pengekstrakan, transformasi, pemuatan dan pemprosesan data. Pertimbangkan aspek utama berikut dalam mengoptimumkan pergerakan dan pemprosesan data:

  • Pengoptimuman ekstrak, transformasi dan muatkan (ETL): Optimumkan proses ETL untuk meminimumkan masa pemprosesan. Anda boleh menyelaraskan proses pengekstrakan, melaksanakan algoritma transformasi yang cekap dan mengoptimumkan proses pemuatan. Apabila anda menjadikan setiap langkah cekap, anda mengoptimumkan aliran kerja keseluruhan.

  • Pemprosesan selari: Gunakan teknik pemprosesan selari untuk meningkatkan prestasi. Apabila anda mengedarkan tugas pemprosesan data merentasi berbilang jaluran atau nod, anda boleh membahagikan dan memproses beban kerja secara serentak, yang menghasilkan pemprosesan pantas.

  • Pemprosesan kelompok: Kumpulkan tugas serupa bersama-sama untuk mengurangkan overhed yang disebabkan oleh operasi berulang. Memproses berbilang tugas dalam kumpulan untuk mengurangkan masa pemprosesan keseluruhan.

Reka bentuk untuk kedekatan data

Kedekatan data merujuk kepada penempatan strategik data yang lebih dekat dengan pengguna atau perkhidmatan yang paling kerap mengaksesnya. Mengurangkan jarak fizikal atau logik antara data dan penggunanya memastikan akses data yang lebih pantas dan responsif yang lebih baik. Untuk mengoptimumkan reka bentuk untuk jarak dekat, pertimbangkan strategi ini:

  • Menilai corak capaian data: Menilai corak capaian beban kerja anda dan data yang kerap diakses. Analisis ini boleh membantu menentukan tempat untuk meletakkan data untuk faedah maksimum.

  • Pilih penyelesaian yang menyokong penempatan semula data: Pertimbangkan penyelesaian yang menawarkan penempatan semula data dinamik berdasarkan perubahan corak akses, memastikan kedudukan data yang optimum.

  • Pilih penyelesaian yang menyokong penyegerakan data: Jika anda menyediakan pangkalan pengguna teragih, pilih penyelesaian yang mendayakan penyegerakan data merentas pelbagai rantau untuk memastikan replika data tersedia berdekatan dengan pengguna.

Pertukaran: Jika data asas kerap berubah, laksanakan mekanisme pembatalan cache untuk memastikan data cache kekal dikemas kini.

Power Platform Kemudahan

Pantau prestasi data: Untuk memantau prestasi data, pertimbangkan untuk menggunakan Azure Monitor untuk mengumpul dan menganalisis metrik infrastruktur, log dan data aplikasi. Anda boleh menyepadukan Monitor dengan perkhidmatan lain seperti Application Insights. Application Insights Menyediakan pemantauan prestasi aplikasi dan menyokong banyak platform.

Application Insights mengumpul data penggunaan dan prestasi. Anda boleh menggunakan Analitis Log untuk mengaitkan data tersebut dengan data konfigurasi dan prestasi merentas sumber Azure. Application Insights Strim data for Dataverse pada masa ini menyediakan data prestasi yang berkaitan dengan Dataverse panggilan masuk API, Dataverse panggilan pelaksanaan pemalam dan Dataverse panggilan SDK.

Optimumkan corak data pertanyaan dalam apl kanvas: Ikut panduan dan cadangan yang didokumenkan. Lihat Corak data pertanyaan yang dioptimumkan dalam Power Apps.

Optimumkan cara anda menyesuaikan, memanjangkan atau menyepadukan dengan Dataverse: Ikuti amalan dan panduan terbaik yang didokumenkan. Lihat Amalan terbaik dan panduan semasa menggunakan Microsoft Dataverse.

Optimumkan pertanyaan pangkalan data dan prestasi indeks: Gunakan ciri wawasan prestasi pertanyaan Azure SQL Database untuk mengoptimumkan pertanyaan, jadual dan pangkalan data. Anda juga boleh menggunakan ciri ini untuk mengenal pasti dan menyelesaikan masalah prestasi pertanyaan.

Untuk pangkalan data hubungan, ikut garis panduan reka bentuk indeks, panduan indeks SQL Server danpanduan indeks Azure Cosmos DB . Gunakan SQL Database untuk melakukan penalaan automatik untuk pertanyaan untuk meningkatkan prestasi mereka.

Untuk pangkalan data SQL, anda harus kerap menyusun semula atau membina semula indeks. Kenal pasti pertanyaan perlahan dan alanya untuk meningkatkan prestasi. Banyak enjin pangkalan data mempunyai ciri penalaan pertanyaan. Untuk mendapatkan maklumat lanjut, rujuk amalan terbaik untuk prestasi pertanyaan.

Azure Cosmos DB mempunyai dasar pengindeksan lalai yang mengindeks setiap sifat setiap item dan menguatkuasakan indeks julat untuk sebarang rentetan atau nombor. Dasar ini memberikan anda prestasi pertanyaan yang cekap dan anda tidak perlu mengurus indeks terlebih dahulu.

Optimumkan beban storan: Banyak perkhidmatan pangkalan data Azure menyokong replika baca. Ketersediaan dan konfigurasi replika baca berbeza-beza bergantung pada perkhidmatan pangkalan data Azure. Rujuk dokumentasi rasmi untuk setiap perkhidmatan untuk memahami butiran dan pilihan.

Senarai semak Kecekapan Prestasi

Rujuk set lengkap cadangan.