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
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

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
Tugas | Deskripsi | Keterampilan 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 | 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 | 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 | 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 |
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Tentukan skema target. | Tentukan berbagai opsi untuk skema MongoDB target. Untuk informasi lebih lanjut, lihat Skema dalam dokumentasi | 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 |
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Siapkan cluster MongoDB Atlas. | Untuk menyiapkan cluster MongoDB di AWS, ikuti petunjuk dalam dokumentasi MongoDB. | Insinyur MongoDB |
Buat pengguna di database target. | 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 | Insinyur MongoDB |
Siapkan Kompas untuk akses MongoDB Atlas. | Siapkan utilitas GUI MongoDB Compass untuk kemudahan navigasi | Insinyur MongoDB |
Tugas | Deskripsi | Keterampilan yang dibutuhkan |
---|---|---|
Instal Generator Data Uji. | Instal PeerIsland Test Data Generator | 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 |
Tugas | Deskripsi | Keterampilan 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 |
Tugas | Deskripsi | Keterampilan 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
GitHub repositori: S3toAtlas
Skema: Desain Skema MongoDB
Video: Generator & Kinerja Data MongoDB
. Analyzer Referensi: Dokumentasi MongoDB
AWS Marketplace: Atlas MongoDB
di AWS Marketplace Solusi Partner AWS: Atlas MongoDB pada Penerapan
Referensi AWS
Sumber daya tambahan: