Saya ingin mereplikasi konten database MySQL ke database MS SQL Server 2008.
Apakah ini mungkin? Adakah yang bisa menguraikan langkah-langkah yang diperlukan untuk mencapai ini?
Terima kasih.
Saya ingin mereplikasi konten database MySQL ke database MS SQL Server 2008.
Apakah ini mungkin? Adakah yang bisa menguraikan langkah-langkah yang diperlukan untuk mencapai ini?
Terima kasih.
Jawaban:
Secara pribadi saya akan menarik ke metode MS SQL vs dorongan dari metode MySQL. Mengapa? Yah Windows memiliki driver 32bit dan 64bit MySQL ODBC siap untuk pergi dan menyiapkan server yang terhubung adalah sepele. Saya punya banyak server MySQL yang ditautkan dari MS SQL. Juga, menghubungkan ke MS SQL dari linux / unix tidak selalu bagus dan Anda biasanya tidak dapat menggunakan semua fitur. FreeTDS memiliki keterbatasan; Anda mungkin memukul mereka lebih cepat daripada nanti jadi mengapa tidak lewati saja. Ini semua menganggap Anda menjalankan MySQL di * nix. Jika tidak, itu akan menjadi sedikit lebih dekat ke 50/50 tapi saya masih memilih menarik dari MS SQL karena kedengarannya itu bukan database "hidup" sehingga menempatkan beban di atasnya untuk ETL atau pemrosesan lebih ideal. Solusi GoldenGate terdengar menarik, tapi saya yakin itu tidak gratis.
Mengingat saya telah menyiapkan skenario semacam ini dengan database MySQL dan Oracle yang direplikasi ke MS SQL, saya akan memberikan beberapa tips yang paling berhasil bagi saya:
Semoga tipsnya membantu!
Pertanyaan yang sama ditujukan pada StackOverflow di sini: Replikasi dari MySQL ke MSSQL .
Tampaknya ada beberapa solusi, tetapi bukan solusi yang sangat mudah.
Saya percaya bahwa Anda harus mencoba membangun paket SSIS untuk mengimpor data yang diperlukan dari MySQL DB ke MSSQL DB. SSIS memungkinkan seseorang untuk mengimpor data dari berbagai sumber. Maka Anda harus dapat menjadwalkan paket menggunakan windows task scheduler atau sql jobs.
Jika dengan replikasi yang Anda maksud pengiriman log atau sesuatu seperti itu saya yakin Anda kurang beruntung. Namun Anda tentu saja dapat mengatur database MySQL sebagai server yang ditautkan dan memutar skema replikasi Anda sendiri. Sederhana hanya untuk melakukan snapshot berkala dari semua tabel menggunakan pernyataan truncate dan insert. Tambahkan kompleksitas sesuai kebutuhan Anda.
Anda dapat menggunakan GoldenGate untuk MySQL dan MS SQL untuk melakukan ini. Anda cukup menginstal produk GoldenGate di setiap sisi, lalu melanjutkan untuk replikasi yang homogen.
Atau, untuk replikasi "snapshot", Anda dapat menggunakan skrip Python (atau yang serupa) untuk menghubungkan ke kedua sumber data (menggunakan UnixODBC dan FreeTDS untuk terhubung ke MS SQL), loop melalui tabel yang dilakukan SELECT
di satu sisi, untuk setiap baris INSERT
di sisi lain Karena MSSQL melakukan transaksi dan merupakan target Anda, Anda dapat memulai transaksi, DELETE
semuanya dari semua tabel, melakukan penyalinan, lalu COMMIT
dan itu akan muncul secara instan sejauh menyangkut pengguna yang terhubung pada target, tidak akan ada inkonsistensi (kecuali jika ini ada pada sumbernya tentu saja).