Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Perl:Bagaimana cara menyalin/mencerminkan tabel MYSQL jarak jauh ke database lain? Mungkin strukturnya juga berbeda?

Dua istilah yang Anda cari adalah "replikasi " atau "ETL".

Pertama, pendekatan replikasi.

Anggap server admin Anda memiliki tabel T1, T2, T3 dan server publik Anda memiliki tabel TP1, TP2.

Jadi, yang ingin Anda lakukan (karena Anda memiliki struktur tabel yang berbeda seperti yang Anda katakan) adalah:

  1. Ambil tabel dari server publik, dan buat salinan persis dari tabel tersebut di server admin (TP1 dan TP2).

  2. Buat pemicu pada tabel asli server admin untuk mengisi data dari T1/T2/T3 ke salinan TP1/TP2 server admin.

  3. Anda juga perlu melakukan populasi data awal dari T1/T2/T3 ke salinan TP1/TP2 server admin. Duh.

  4. Siapkan "replikasi " dari TP1/TP2 server admin ke TP1/TP2 server publik

Pendekatan yang berbeda adalah dengan menulis program (program tersebut disebut ETL - Extract-Transform-Load) yang akan mengekstrak data dari T1/T2/T3 di server admin (bagian "E" dari "ETL"), memilah data ke dalam format yang sesuai untuk dimuat ke dalam tabel TP1/TP2 (bagian "T" dari "ETL"), mentransfer (melalui ftp/scp/yang lainnya) file-file itu ke server publik, dan paruh kedua program ("L") bagian akan memuat file ke dalam tabel TP1/TP2 di server publik. Kedua bagian dari program akan diluncurkan oleh cron atau penjadwal pilihan Anda.

Ada artikel dengan contoh yang sangat bagus tentang cara mulai membangun Perl/MySQL ETL:http://oreilly.com/pub/a/databases/2007/04/12/building-a-data-warehouse -with-mysql-and-perl.html?page=2

Jika Anda memilih untuk tidak membangun sendiri, berikut adalah daftar sistem ETL open source, tidak pernah menggunakan salah satu dari mereka sehingga tidak ada pendapat tentang kegunaan/kualitas mereka:http://www.manageability.org/blog/stuff/open-source-etl



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Peringkat MySQL Dengan Berat

  2. Kueri MySQL cepat ketika dijalankan secara langsung tetapi sangat lambat ketika dijalankan sebagai proc

  3. Urutan Panduan yang salah

  4. Memulai GearHost untuk Pengembangan Database MySQL

  5. mysql fulltext MATCH, MELAWAN mengembalikan 0 hasil