Menilai kinerja kueri untuk memigrasi database SQL Server ke MongoDB Atlas di AWS - AWS Prescriptive Guidance

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Menilai kinerja kueri untuk memigrasi database SQL Server ke MongoDB Atlas di AWS

Battulga Purevragchaa, Amazon Web Services

Krishnakumar Sathyanarayana, AS Inc PeerIslands

Babu Srinivasan, MongoDB

Ringkasan

Pola ini memberikan panduan untuk memuat MongoDB dengan data dekat dunia nyata dan menilai kinerja kueri MongoDB yang sedekat mungkin dengan skenario produksi. Penilaian memberikan masukan untuk membantu Anda merencanakan migrasi ke MongoDB dari database relasional. Pola ini menggunakan PeerIslands Test Data Generator dan Performance Analyzer untuk menguji kinerja kueri.

Pola ini sangat berguna untuk migrasi Microsoft SQL Server ke MongoDB, karena melakukan transformasi skema dan memuat data dari instance SQL Server saat ini ke MongoDB bisa sangat kompleks. Sebagai gantinya, Anda dapat memuat data dekat dunia nyata ke MongoDB, memahami kinerja MongoDB, dan menyempurnakan desain skema sebelum memulai migrasi yang sebenarnya.

Prasyarat dan batasan

Prasyarat

  • Akun AWS yang aktif

  • Keakraban dengan MongoDB Atlas

  • Sasaran skema MongoDB

  • Pola kueri yang khas

Batasan

  • Waktu muat data dan kinerja akan dibatasi oleh ukuran instance cluster MongoDB. Kami menyarankan Anda memilih instans yang direkomendasikan untuk penggunaan produksi guna memahami kinerja dunia nyata.

  • PeerIslands Test Data Generator dan Performance Analyzer saat ini hanya mendukung pemuatan dan kueri data online. Pemrosesan batch offline (misalnya, memuat data ke MongoDB dengan menggunakan konektor Spark) belum didukung.

  • PeerIslands Test Data Generator dan Performance Analyzer mendukung hubungan lapangan dalam koleksi. Itu tidak mendukung hubungan di seluruh koleksi.

Edisi produk

Arsitektur

Tumpukan teknologi target

  • MongoDB Atlas atau MongoDB Enterprise Advanced

Arsitektur

Arsitektur untuk menilai kinerja kueri untuk memigrasi database SQL Server ke MongoDB Atlas di AWS.

PeerIslands Test Data Generator dan Performance Analyzer dibuat dengan menggunakan Java dan Angular, dan menyimpan data yang dihasilkan di Amazon Elastic Block Store (Amazon EBS). Alat ini terdiri dari dua alur kerja: pembuatan data uji dan pengujian kinerja.

  • Dalam pembuatan data pengujian, Anda membuat template, yang merupakan representasi JSON dari model data yang harus dihasilkan. Setelah membuat template, Anda dapat menghasilkan data dalam kumpulan target, seperti yang ditentukan oleh konfigurasi pembuatan beban.

  • Dalam pengujian kinerja, Anda membuat profil. Profil adalah skenario pengujian multi-tahap di mana Anda dapat mengonfigurasi operasi membuat, membaca, memperbarui, dan menghapus (CRUD), jalur agregasi, bobot untuk setiap operasi, dan durasi setiap tahap. Setelah Anda membuat profil, Anda dapat menjalankan pengujian kinerja pada database target berdasarkan konfigurasi.

PeerIslands Test Data Generator dan Performance Analyzer menyimpan datanya di Amazon EBS, sehingga Anda dapat menghubungkan Amazon EBS ke MongoDB dengan menggunakan mekanisme koneksi yang didukung MongoDB, termasuk peering, daftar izin, dan titik akhir pribadi. Secara default, alat ini tidak menyertakan komponen operasional; namun, alat ini dapat dikonfigurasi dengan Amazon Managed Service untuk Prometheus, Amazon Managed Grafana, Amazon, CloudWatch dan AWS Secrets Manager jika diperlukan.

Alat

  • PeerIslands Test Data Generator dan Performance Analyzer mencakup dua komponen. Komponen Test Data Generator membantu Anda menghasilkan data dunia nyata yang sangat spesifik pelanggan berdasarkan skema MongoDB Anda. Alat ini sepenuhnya digerakkan oleh UI dengan pustaka data yang kaya dan dapat digunakan untuk menghasilkan miliaran catatan dengan cepat di MongoDB. Alat ini juga menyediakan kemampuan untuk mengimplementasikan hubungan antar bidang dalam skema MongoDB. Komponen Performance Analyzer membantu Anda menghasilkan kueri dan agregasi yang sangat spesifik pelanggan, dan melakukan pengujian kinerja yang realistis pada MongoDB. Anda dapat menggunakan Performance Analyzer untuk menguji kinerja MongoDB dengan profil beban kaya dan kueri berparameter untuk kasus penggunaan spesifik Anda.

Praktik terbaik

Lihat sumber daya berikut:

Epik

TugasDeskripsiKeterampilan yang dibutuhkan

Memahami jejak basis data dari sumber SQL Server saat ini.

Pahami jejak SQL Server Anda saat ini. Hal ini dapat dicapai dengan menjalankan query terhadap INFORMATION skema database. Tentukan jumlah tabel dan ukuran setiap tabel. Analisis indeks yang terkait dengan setiap tabel. Untuk informasi lebih lanjut tentang analisis SQL, lihat posting blog SQL2Mongo: Perjalanan Migrasi Data di situs web. PeerIslands

DBA

Memahami skema sumber.

Tentukan skema tabel dan representasi bisnis data (misalnya, kode pos, nama, dan mata uang). Gunakan diagram relasi entitas (ER) yang ada atau buat diagram ER dari database yang ada. Untuk informasi lebih lanjut, lihat posting blog SQL2Mongo: Perjalanan Migrasi Data di PeerIslands situs web.

DBA

Memahami pola kueri.

Dokumentasikan 10 kueri SQL teratas yang Anda gunakan. Anda dapat menggunakan tabel performance_schema.events_statements_summary_by_digest yang tersedia dalam database untuk memahami kueri teratas. Untuk informasi lebih lanjut, lihat posting blog SQL2Mongo: Perjalanan Migrasi Data di PeerIslands situs web.

DBA

Memahami komitmen SLA.

Dokumentasikan perjanjian tingkat layanan target (SLAs) untuk operasi database. Ukuran umum termasuk latensi kueri dan kueri per detik. Langkah-langkah dan targetnya biasanya tersedia dalam dokumen persyaratan non-fungsional (NFR).

DBA
TugasDeskripsiKeterampilan yang dibutuhkan

Tentukan skema target.

Tentukan berbagai opsi untuk skema MongoDB target. Untuk informasi lebih lanjut, lihat Skema dalam dokumentasi MongoDB Atlas. Pertimbangkan praktik terbaik dan pola desain berdasarkan hubungan tabel. Lihat Contoh dan Pola Model Data dalam dokumentasi MongoDB untuk detailnya.

Insinyur MongoDB

Tentukan pola kueri target.

Tentukan kueri MongoDB dan jalur agregasi. Kueri ini setara dengan kueri teratas yang Anda ambil untuk beban kerja SQL Server Anda. Untuk memahami cara membuat pipeline agregasi MongoDB, lihat dokumentasi MongoDB.

Insinyur MongoDB

Tentukan jenis instance MongoDB.

Tentukan ukuran instance yang Anda rencanakan untuk digunakan untuk pengujian. Untuk panduan, lihat dokumentasi MongoDB.

Insinyur MongoDB
TugasDeskripsiKeterampilan yang dibutuhkan

Siapkan cluster MongoDB Atlas.

Untuk menyiapkan cluster MongoDB di AWS, ikuti petunjuk dalam dokumentasi MongoDB.

Insinyur MongoDB

Buat pengguna di database target.

Konfigurasikan cluster MongoDB Atlas untuk akses dan keamanan jaringan dengan mengikuti instruksi dalam dokumentasi MongoDB.

Insinyur MongoDB

Buat peran yang sesuai di AWS dan konfigurasikan kontrol akses berbasis peran untuk Atlas.

Jika diperlukan, siapkan pengguna tambahan dengan mengikuti petunjuk dalam dokumentasi MongoDB. Konfigurasikan autentikasi dan otorisasi melalui peran AWS.

Insinyur MongoDB

Siapkan Kompas untuk akses MongoDB Atlas.

Siapkan utilitas GUI MongoDB Compass untuk kemudahan navigasi dan akses.

Insinyur MongoDB
TugasDeskripsiKeterampilan yang dibutuhkan

Instal Generator Data Uji.

Instal PeerIsland Test Data Generator di lingkungan Anda.

Insinyur MongoDB

Konfigurasikan Test Data Generator untuk menghasilkan data yang sesuai.

Buat template dengan menggunakan pustaka data untuk menghasilkan data spesifik untuk setiap bidang dalam skema MongoDB. Untuk informasi lebih lanjut, lihat MongoDB Data Generator & Perf. Video penganalisis.

Insinyur MongoDB

Generator Data Uji skala horizontal untuk menghasilkan beban yang dibutuhkan.

Gunakan template yang Anda buat untuk memulai pembuatan beban terhadap koleksi target dengan mengonfigurasi paralelisme yang diperlukan. Tentukan kerangka waktu dan skala untuk menghasilkan data yang diperlukan.

Insinyur MongoDB

Validasi beban di MongoDB Atlas.

Periksa data yang dimuat ke MongoDB Atlas.

Insinyur MongoDB

Hasilkan indeks yang diperlukan di MongoDB.

Tentukan indeks sesuai kebutuhan, berdasarkan pola kueri. Untuk praktik terbaik, lihat dokumentasi MongoDB.

Insinyur MongoDB
TugasDeskripsiKeterampilan yang dibutuhkan

Siapkan profil beban di Performance Analyzer.

Buat profil pengujian kinerja di Performance Analyzer dengan mengonfigurasi kueri tertentu dan bobot yang sesuai, durasi uji coba, dan tahapannya. Untuk informasi lebih lanjut, lihat MongoDB Data Generator & Perf. Video penganalisis.

Insinyur MongoDB

Jalankan pengujian kinerja.

Gunakan profil pengujian kinerja yang Anda buat untuk memulai pengujian terhadap pengumpulan target dengan mengonfigurasi paralelisme yang diperlukan. Skala alat uji kinerja secara horizontal untuk menjalankan kueri terhadap MongoDB Atlas.

Insinyur MongoDB

Catat hasil tes.

Rekam latensi P95, P99 untuk kueri.

Insinyur MongoDB

Sesuaikan skema dan pola kueri Anda.

Ubah indeks dan pola kueri untuk mengatasi masalah kinerja apa pun.

Insinyur MongoDB
TugasDeskripsiKeterampilan yang dibutuhkan

Matikan sumber daya AWS sementara.

Hapus semua sumber daya sementara yang Anda gunakan untuk Test Data Generator dan Performance Analyzer.

Administrator AWS

Perbarui hasil tes kinerja.

Pahami kinerja kueri MongoDB dan bandingkan dengan Anda. SLAs Jika perlu, sesuaikan skema MongoDB dan jalankan kembali prosesnya.

Insinyur MongoDB

Akhiri proyek.

Tutup proyek dan berikan umpan balik.

Insinyur MongoDB

Sumber daya terkait

Sumber daya tambahan: