Farklı veritabanına taşıma (heterojen)
Oracle
# Oracle -> PostgreSQL: Ora2Pg (şema + veri + PL/SQL dönüşümü)
ora2pg -c ora2pg.conf -t TABLE -o sema.sql
ora2pg -c ora2pg.conf -t COPY -o veri.sql # veriyi COPY biçiminde
ora2pg -t SHOW_REPORT --estimate_cost # göç maliyet tahmini
# Oracle -> (çok hedef) yönetilen/online: AWS DMS veya Oracle GoldenGateOracle'dan (özellikle PostgreSQL'e) heterojen taşımada en yaygın açık kaynak araç Ora2Pg'dir: tabloları, constraint'leri, PL/SQL'i ve veriyi hedef diyalektine çevirir; --estimate_cost göç eforunu tahmin eder. Online/az kesintili taşımada AWS DMS ya da Oracle GoldenGate (CDC'li) kullanılır.
PostgreSQL
# MySQL -> PostgreSQL: pgloader (tek komutta şema+veri+tip dönüşümü)
pgloader mysql://kullanici:parola@kaynak/magaza \
postgresql://kullanici:parola@hedef/magaza
# SQLite/MSSQL kaynaklarından da: pgloader ./gecis.load betiği ile
# Yönetilen/online hedef PostgreSQL için: AWS DMSPostgreSQL'e başka motorlardan (MySQL, SQLite, MS SQL) taşımada pgloader standart araçtır: bağlantı dizeleriyle tek komutta şemayı yaratır, tipleri eşler ve veriyi hızlıca kopyalar; .load betiğiyle özel dönüşüm/tip eşleme tanımlanır. Kaynak Oracle ise Ora2Pg, online geçişte AWS DMS tercih edilir.
MySQL
# PostgreSQL/Oracle/MSSQL -> MySQL: AWS DMS (yönetilen) en yaygın yol
# veya kaynağa özel dışa aktarımı MySQL'e uyarlama:
# pg_dump --inserts ... | (tip/söz dizimi düzeltmeleri) | mysql magaza
# MySQL <-> MariaDB (uyumlu): mysqldump çıktısı doğrudan yüklenir
mysqldump --single-transaction magaza | mysql -h hedef_mariadb magazaMySQL'e diğer motorlardan taşımada tek egemen açık araç yoktur; en yaygın çözüm AWS DMS (yönetilen, CDC destekli) ya da kaynağın dökümünü söz dizimi/tip açısından uyarlayıp mysql istemcisine yüklemektir. MySQL ile MariaDB büyük ölçüde uyumludur, mysqldump çıktısı çoğunlukla doğrudan taşınır.
SQL Server
# SQL Server -> PostgreSQL: pgloader ile
pgloader mssql://kullanici:parola@kaynak/magaza \
postgresql://kullanici:parola@hedef/magaza
# SQL Server -> PostgreSQL uyumluluk katmanı: Babelfish for Aurora PostgreSQL
# (T-SQL'i ve TDS protokolünü PostgreSQL üstünde çalıştırır)
# Diğer hedeflere: SSMA (SQL Server Migration Assistant) veya AWS DMSSQL Server'dan PostgreSQL'e taşımada pgloader (mssql:// kaynağı) kullanılır; uygulamayı değiştirmeden T-SQL'i sürdürmek istenirse Babelfish for Aurora PostgreSQL bir uyumluluk katmanı sunar. Microsoft'un SSMA aracı ise diğer motorlardan (Oracle, MySQL, DB2) SQL Server'a taşımayı otomatikleştirir. Online geçişte AWS DMS.
MongoDB
# İlişkisel <-> MongoDB dönüşümü şema-eşleme (ETL) gerektirir:
# - Relational Migrator (MongoDB resmi aracı): tabloları belge modeline eşler
# - veya kaynaktan JSON üret -> mongoimport ile yükle
mongoexport --db=magaza --collection=musteri --type=csv --fields=id,ad > c.csv
# (SQL hedefe: mongoexport CSV -> ilişkisel COPY/LOAD DATA)MongoDB ile SQL motorları arasındaki taşıma satır<->belge model dönüşümü (ETL) gerektirir; otomatik tek komut yoktur. SQL'den MongoDB'ye MongoDB Relational Migrator tabloları belge şemasına eşler; basit durumda kaynaktan CSV/JSON üretip mongoimport ile yüklenir. Ters yönde mongoexport çıktısı hedef ilişkisel tabloya COPY/LOAD DATA ile alınır.
Redis
# RIOT (Redis Input/Output Tools) ile başka kaynaklardan Redis'e/Redis'ten:
# İlişkisel -> Redis:
riot db-import --jdbc-url "jdbc:postgresql://host/magaza" \
--sql "SELECT * FROM musteri" hset --keyspace musteri --keys id
# Redis -> başka Redis / dosya: riot replicate / riot file-exportRedis heterojen taşımada hedef/kaynak olarak genelde önbellek katmanıdır; ilişkisel veya dosya kaynaklarından Redis'e veri almak için Redis'in resmi RIOT aracı kullanılır (db-import ile SQL sonucunu HSET/SET yapılarına eşler). Redis'ten Redis'e veya dosyaya için riot replicate / file-export komutları vardır.
Elasticsearch
# İlişkisel/diğer kaynak -> Elasticsearch: Logstash (JDBC girişi)
# logstash.conf: input { jdbc { statement => "SELECT * FROM musteri" } }
# output { elasticsearch { index => "musteri" } }
# ES -> ES (sürüm/küme yükseltme): uzak kaynaktan yeniden indeksleme
POST _reindex
{ "source": { "remote": { "host": "http://eski:9200" }, "index": "musteri" },
"dest": { "index": "musteri" } }Başka veritabanlarından Elasticsearch'e taşımada en yaygın araç Logstash'tir (JDBC/dosya girişi -> elasticsearch çıkışı); Elastic'in kendi bağlayıcıları/Beats de kullanılır. Eski bir Elasticsearch kümesinden yenisine geçişte remote reindex (_reindex kaynağı 'remote') yaygındır; hedefte reindex.remote.whitelist tanımlı olmalıdır.