Alibaba Cloud Data Transmission Service (DTS), gerçek zamanlı veri akışı sağlar ve ilişkisel veritabanları (RDBMS), ilişkisel olmayan veritabanları (NoSQL) ve çevrimiçi analitik işleme (OLAP) sistemleri gibi veri kaynakları arasında veri alışverişini destekler. MySQL veya PostgreSQL veritabanından bir ApsaraDB for SelectDB örneğine veri geçişi yapmak veya verileri senkronize etmek için DTS'i kullanın.
Desteklenen veri kaynakları ve aktarım yöntemleri
DTS, MySQL ve PostgreSQL kaynak veritabanlarını destekler. Desteklenen MySQL kaynakları; kendi yönetiminizdeki bir MySQL, ApsaraDB RDS for MySQL veya PolarDB for MySQL veritabanıdır. Desteklenen PostgreSQL kaynakları ise kendi yönetiminizdeki bir PostgreSQL, ApsaraDB RDS for PostgreSQL veya PolarDB for PostgreSQL veritabanıdır. ApsaraDB for SelectDB üzerinde, alt saniye yanıt süreleriyle devasa veri hacimlerinde sorgu çalıştırabilir, on binlerce eşzamanlı nokta sorgusunu yönetebilir ve yüksek aktarım hızına sahip karmaşık analizler yapabilirsiniz.
Bu konuda, şemaları, tam verileri ve artımlı verileri bir ApsaraDB for SelectDB örneğine nasıl senkronize edeceğinizi açıklamak için ApsaraDB RDS for MySQL örnek olarak kullanılmıştır. Farklı bir kaynak veritabanı motoruna veya aktarım yöntemine ilişkin konu için bkz. Referanslar.
DTS veri senkronizasyonu genellikle mevcut verilerin geçirilmesini ve artımlı verilerin gerçek zamanlı olarak senkronize edilmesini içerir. Aşağıdaki tabloda veri geçişi ile veri senkronizasyonu karşılaştırılmaktadır.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Daha fazla bilgi için bkz. DTS'te veri senkronizasyonu ile veri geçişi arasındaki fark nedir? ve DTS SSS.
Sınırlamalar
ApsaraDB RDS for MySQL'den ApsaraDB for SelectDB'ye veri senkronize etmeden önce aşağıdaki sınırlamaları göz önünde bulundurun:
Kaynak tablo anahtarları — Senkronize etmek istediğiniz tabloların birincil anahtarı veya benzersiz kısıtlaması olmalı ve alanlar benzersiz olmalıdır.
Hedef veri modeli — Verileri yalnızca bir ApsaraDB for SelectDB örneğinde
uniqueveri modelini kullanan tablolara senkronize edebilirsiniz.Veritabanı yükü — Veri senkronizasyonundan önce kaynak ve hedef veritabanlarının performansını değerlendirin. Veri senkronizasyonunu yoğun olmayan saatlerde gerçekleştirin. Aksi takdirde tam veri başlatma işlemi, her iki veritabanının da okuma ve yazma kaynaklarını tüketir ve veritabanı yükünü artırabilir.
Çevrimiçi DDL işlemleri — Veri senkronizasyonu sırasında, kaynak veritabanındaki senkronizasyon nesneleri üzerinde pt-online-schema-change gibi araçlar kullanarak çevrimiçi DDL işlemleri yapmayın. Aksi takdirde senkronizasyon başarısız olur.
-
Diğer kaynaklardan yapılan yazma işlemleri — Senkronizasyon sırasında, DTS dışındaki bir kaynak tarafından hedef veritabanına veri yazılırsa kaynak ve hedef veritabanlarındaki veriler tutarsız hale gelebilir.
Belirli kaynak veritabanı türleri için aşağıdaki sınırlamalar geçerlidir:
-
Kendi yönetiminizdeki bir MySQL kaynak veritabanı için:
Senkronizasyon sırasında kaynak veritabanında birincil/ikincil anahtar değiştirme işlemi gerçekleşirse görev başarısız olur.
-
DTS, son senkronize edilen kaydın zaman damgasını mevcut saatle karşılaştırarak gecikme süresini hesaplar. Kaynak veritabanında uzun süre boyunca herhangi bir DML işlemi çalışmazsa gecikme raporlaması yanlış olabilir. Gecikme süresi çok yüksek görünüyorsa gecikmeyi güncellemek için kaynak veritabanında bir DML işlemi çalıştırın.
NotSenkronizasyon için tam bir veritabanı seçtiyseniz bir kalp atışı tablosu oluşturun. Bu tabloyu her saniye güncelleyin veya üzerine yazın.
DTS, ikili günlük ofsetini ilerletmek için kaynak veritabanında periyodik olarak CREATE DATABASE IF NOT EXISTS
testkomutunu çalıştırır.Kaynak veritabanınız Amazon Aurora MySQL veya başka bir kümelendirilmiş MySQL örneği ise görev yapılandırmasında kullanılan etki alanı adının veya IP adresinin —ve bunun DNS çözümlemesinin— her zaman bir okuma/yazma (RW) düğümünü işaret ettiğinden emin olun. Aksi takdirde senkronizasyon başarısız olabilir.
-
ApsaraDB RDS for MySQL kaynak veritabanı için:
İşlem günlüklerini kaydetmeyen salt okunur örnekler (örneğin ApsaraDB RDS for MySQL 5.6 salt okunur örnekleri) kaynak veritabanı olarak hizmet edemez.
DTS, ikili günlük ofsetini ilerletmek için kaynak veritabanında periyodik olarak CREATE DATABASE IF NOT EXISTS
testkomutunu çalıştırır.
Kendi yönetiminizdeki bir MySQL kaynak veritabanı için:
Senkronizasyon sırasında kaynak veritabanında birincil/ikincil anahtar değiştirme işlemi gerçekleşirse görev başarısız olur.
DTS, son senkronize edilen kaydın zaman damgasını mevcut saatle karşılaştırarak gecikme süresini hesaplar. Kaynak veritabanında uzun süre boyunca herhangi bir DML işlemi çalışmazsa gecikme raporlaması yanlış olabilir. Gecikme süresi çok yüksek görünüyorsa gecikmeyi güncellemek için kaynak veritabanında bir DML işlemi çalıştırın.
DTS, ikili günlük ofsetini ilerletmek için kaynak veritabanında periyodik olarak CREATE DATABASE IF NOT EXISTS
testkomutunu çalıştırır.Kaynak veritabanınız Amazon Aurora MySQL veya başka bir kümelendirilmiş MySQL örneği ise görev yapılandırmasında kullanılan etki alanı adının veya IP adresinin —ve bunun DNS çözümlemesinin— her zaman bir okuma/yazma (RW) düğümünü işaret ettiğinden emin olun. Aksi takdirde senkronizasyon başarısız olabilir.
Senkronizasyon için tam bir veritabanı seçtiyseniz bir kalp atışı tablosu oluşturun. Bu tabloyu her saniye güncelleyin veya üzerine yazın.
ApsaraDB RDS for MySQL kaynak veritabanı için:
İşlem günlüklerini kaydetmeyen salt okunur örnekler (örneğin ApsaraDB RDS for MySQL 5.6 salt okunur örnekleri) kaynak veritabanı olarak hizmet edemez.
DTS, ikili günlük ofsetini ilerletmek için kaynak veritabanında periyodik olarak CREATE DATABASE IF NOT EXISTS
testkomutunu çalıştırır.
Önkoşullar
İzinler
|
|
|
|
|
|
|
|
|
Kullandığınız kaynak veritabanı hesabı ApsaraDB RDS for MySQL konsolunda oluşturulup yetkilendirilmediyse hesabın REPLICATION CLIENT, REPLICATION SLAVE, SHOW VIEW ve SELECT izinlerine sahip olduğundan emin olun.
Kaynak veritabanı hesabının izinlerini görüntülemek için bkz. MySQL izinleri.
Kaynak veritabanı hesabının izinlerini değiştirmek için bkz. Hesap izinlerini değiştirme.
Kaynak veritabanında ikili günlüğe kaydetme
ApsaraDB RDS for MySQL için ikili günlüğe kaydetme varsayılan olarak etkindir. Senkronizasyon görevini yapılandırmadan önce aşağıdaki ayarları doğrulayın:
Satır görüntüsü biçimi —
binlog_row_imageparametresininfullolarak ayarlandığından emin olun. Aksi takdirde ön denetim sırasında bir hata bildirilir ve veri senkronizasyonu görevi başlatılamaz. Parametrenin nasıl yapılandırılacağı hakkında bilgi için bkz. Örnek parametrelerini ayarlama.Kendi yönetiminizdeki MySQL veritabanları — Kaynak örnek kendi yönetiminizdeki bir MySQL veritabanıysa ikili günlüğe kaydetmeyi etkinleştirin,
binlog_formatparametresinirowolarak vebinlog_row_imageparametresinifullolarak ayarlayın.Çift birincil kümeler — Kaynak kendi yönetiminizdeki MySQL örneği, her düğümün diğerinin çoğaltması olduğu çift birincil bir küme ise DTS'in tüm ikili günlükleri alabilmesi için
log_slave_updatesparametresini etkinleştirin. Daha fazla bilgi için bkz. Kendi yönetiminizdeki bir MySQL veritabanı için hesap oluşturma ve ikili günlüğü yapılandırma.Günlük saklama — DTS, kaynak veritabanının yerel ikili günlüklerinin en az yedi gün boyunca saklanmasını gerektirir. Aksi takdirde DTS ikili günlükleri alamayabilir ve görev başarısız olabilir. Aşırı durumlarda veri tutarsızlığı veya veri kaybı meydana gelebilir. İkili günlük saklama süresinin DTS tarafından gereken süreden kısa olmasından kaynaklanan sorunlar DTS Hizmet Seviyesi Sözleşmesi (SLA) kapsamında değildir. Kaynak bir ApsaraDB RDS for MySQL örneği ise bkz. Yerel günlükleri (ikili günlükler) yönetme.
Hedef tablolar
Hedef tabloları DTS'in şemaları senkronize etmesine bırakmak yerine kendiniz oluşturuyorsanız görevi başlatmadan önce hedef ApsaraDB for SelectDB örneğinde unique veri modelini kullanan tablolar oluşturun. Kullanılacak sütun türleri için bkz. Veri türü eşlemeleri. Kararın kendisi için bkz. Senkronizasyon nesnelerini ve gelişmiş ayarları yapılandırma.
Yordam
Kaynak ve hedef veritabanlarını yapılandırma
ApsaraDB for SelectDB konsolunda oturum açın.
Üst gezinme çubuğunda örneğinizin bulunduğu bölgeyi seçin.
Instances sayfasında, Instance Details sayfasına gitmek için örneğin ID değerini tıklayın.
Instance Details sayfasında sol gezinme bölmesinde Data Pipeline seçeneğini tıklayın. Üst menü çubuğunda Data Synchronization sekmesini seçin.
-
Create Synchronization Task seçeneğini tıklayın ve aşağıdaki tabloda açıklandığı gibi kaynak ve hedef veritabanı bilgilerini yapılandırın.
Kategori
Ayar
Açıklama
Görev bilgileri
Task Name
DTS otomatik olarak bir görev adı oluşturur. Kolay tanımlama için açıklayıcı bir ad belirtmenizi öneririz. Adın benzersiz olması gerekmez.
Kaynak veritabanı
Database Type
MySQL seçeneğini belirleyin.
Access Method
Alibaba Cloud Instance seçeneğini belirleyin.
Instance Region
Kaynak ApsaraDB RDS for MySQL örneğinin bölgesini seçin.
RDS Instance ID
Kaynak ApsaraDB RDS for MySQL örneğinin kimliğini seçin.
Database Account
Kaynak ApsaraDB RDS for MySQL örneğinin veritabanı hesabını girin. Gerekli izinler hakkında bilgi için bkz. İzinler.
Database Password
Veritabanı hesabına karşılık gelen parolayı girin.
Encryption
Gereksinimlerinize göre Non-encrypted veya SSL-encrypted seçeneğini belirleyin. SSL-encrypted seçeneğini belirlerseniz RDS for MySQL örneği için SSL şifrelemeyi önceden etkinleştirmeniz gerekir. Daha fazla bilgi için bkz. SSL şifrelemeyi hızlıca etkinleştirmek için cloud sertifikası kullanma.
Hedef veritabanı
Database Type
SelectDB seçeneğini belirleyin.
Access Method
Alibaba Cloud Instance seçeneğini belirleyin.
Instance Region
Hedef ApsaraDB for SelectDB örneğinin bölgesini seçin.
Instance ID
Hedef ApsaraDB for SelectDB örneğinin kimliğini seçin.
Database Account
Hedef ApsaraDB for SelectDB örneğinin veritabanı hesabını girin. Gerekli izinler hakkında bilgi için bkz. İzinler.
Database Password
Veritabanı hesabına karşılık gelen parolayı girin. -
Yapılandırmayı tamamladıktan sonra sayfanın alt kısmındaki Test Connection to Proceed seçeneğini tıklayın.
Kaynak veya hedef veritabanı ApsaraDB for SelectDB, ApsaraDB RDS for MySQL veya ApsaraDB for MongoDB gibi bir Alibaba Cloud veritabanı örneğiyse DTS, ilgili bölgedeki DTS sunucularının IP adreslerini Alibaba Cloud veritabanı örneğinin izin listesine otomatik olarak ekler.
DTS sunucularının genel IP adres aralıklarının DTS tarafından otomatik olarak veya sizin tarafınızdan manuel olarak eklenmesi güvenlik riskleri oluşturabilir. Bu ürünü kullanarak bu potansiyel riskleri kabul ettiğinizi beyan edersiniz. Hesap parolalarını güçlendirmek, her ağ segmentinde açık olan bağlantı noktalarını sınırlamak, dahili API'ler arasındaki iletişim için kimlik doğrulama kullanmak ve gereksiz ağ segmentlerini düzenli olarak gözden geçirip kısıtlamak dahil ancak bunlarla sınırlı olmamak üzere temel güvenlik önlemlerini uygulamanız gerekir. Express Connect, VPN ağ geçidi veya Smart Access Gateway kullanarak dahili ağ üzerinden de bağlanabilirsiniz.
Senkronizasyon nesnelerini ve gelişmiş ayarları yapılandırma
-
Görev nesnelerini ve gelişmiş ayarları yapılandırın. Aşağıdaki tabloda ayarlar açıklanmaktadır.
Ayar
Açıklama
Synchronization Types
Incremental Data Synchronization seçili gelir. Varsayılan olarak Schema Synchronization ve Full Data Synchronization seçeneklerini de belirlemeniz gerekir. Ön denetim tamamlandıktan sonra DTS, seçilen nesnelerin tam veri senkronizasyonunu kaynak örnekten hedef kümeye gerçekleştirir. Bu işlem, sonraki artımlı veri senkronizasyonu için temel veriler olarak hizmet eder.
Schema Synchronization seçip seçmemeniz, hedef örnekte ne hazırlamanız gerektiğini belirler. İki dal için bu tablonun ardından gelen açıklamaya bakın.
Processing Mode of Conflicting Tables
-
Precheck and Report Errors: Hedef veritabanında aynı ada sahip bir tablonun olup olmadığını kontrol eder. Aynı ada sahip bir tablo yoksa ön denetim başarılı olur. Aynı ada sahip bir tablo varsa ön denetim başarısız olur ve veri senkronizasyonu görevi başlamaz.
NotHedef veritabanındaki aynı ada sahip tabloyu silemiyor veya yeniden adlandıramıyorsanız bunu farklı bir tablo adıyla eşleyebilirsiniz. Daha fazla bilgi için bkz. Tablo ve sütun adlarını eşleme.
-
Ignore Errors and Proceed: Hedef veritabanındaki yinelenen tablo adları kontrolünü atlar.
UyarıIgnore Errors and Proceed seçeneğini belirlemek veri tutarsızlığına neden olabilir ve işinizi riske atabilir. Örneğin:
-
Tablo şemaları aynıysa ve hedef veritabanındaki bir kayıt, kaynak veritabanındaki bir kayıtla aynı birincil anahtar veya benzersiz anahtar değerine sahipse:
-
Tam senkronizasyon sırasında DTS, hedef kümedeki kaydı korur. Kaynak veritabanından gelen ilgili kayıt senkronize edilmez.
-
Artımlı senkronizasyon sırasında kaynak veritabanından gelen kayıt, hedef veritabanındaki kaydın üzerine yazar.
-
-
Tablo şemaları farklıysa ilk veri senkronizasyonu başarısız olabilir. Bu durum, yalnızca kısmi sütun verilerinin senkronize edilmesine veya senkronizasyonun tamamen başarısız olmasına neden olabilir. Dikkatli ilerleyin.
-
Capitalization of Object Names in Destination Instance
Hedef örnekteki senkronizasyon nesnelerinin veritabanı, tablo ve sütun adları için büyük/küçük harf ilkesini yapılandırın. Varsayılan olarak DTS Default Policy kullanılır: veritabanı ve tablo adları küçük harfe eşlenir, sütun adlarının büyük/küçük harf durumu ise kaynak veritabanındakiyle aynıdır. Same as Source veya Same as Target Default gibi başka bir ilke de seçebilirsiniz. Daha fazla bilgi için bkz. Hedef veritabanı nesne adları için büyük/küçük harf ilkesi.
Source Objects
Source Objects kutusunda senkronize etmek istediğiniz nesneleri tıklayın ve ardından bunları Selected Objects kutusuna taşımak için
simgesini tıklayın. Senkronizasyon nesnelerini veritabanı, tablo veya sütun düzeyinde seçebilirsiniz. Nesneleri veritabanı düzeyinde seçerseniz daha sonra eklenen tablolar için veri senkronizasyonu desteklenmez. DTS'i kullanırken tablolar eklemeniz gerekebilecekse senkronizasyon nesnelerini tablo düzeyinde seçin. Bunları daha sonra görev listesindeki İşlemler sütunundaki Modify Synchronization Objects seçeneğini kullanarak değiştirebilirsiniz. Nesneleri tablo düzeyinde seçer ve sütun adlarını eşleme gibi düzenlemeler yapmanız gerekirse tek bir senkronizasyon görevi en fazla 1.000 tabloyu destekler. Bu sınırı aşarsanız görevi gönderdikten sonra bir hata döndürülür. Bu durumda tabloları bölün ve birden fazla görevi toplu olarak yapılandırın veya tüm veritabanını senkronize eden bir görev yapılandırın.Selected Objects
-
Hedef örnekte tek bir senkronizasyon nesnesini yeniden adlandırmak için Selected Objects kutusunda nesneye sağ tıklayın. Nesneleri yeniden adlandırma hakkında daha fazla bilgi için bkz. Tek bir veritabanı, tablo veya sütunu eşleme.
-
Hedef örnekte birden çok senkronizasyon nesnesinin adlarını toplu olarak değiştirmek için Selected Objects kutusunun sağ üst köşesindeki Batch Edit seçeneğini tıklayın. Daha fazla bilgi için bkz. Veritabanlarını, tablolarını ve sütunlarını toplu olarak eşleme.
Not: Veritabanı veya tablo düzeyinde senkronize edilecek SQL işlemlerini seçmek için Selected Objects içinde senkronize etmek istediğiniz nesneye sağ tıklayın ve ardından açılan iletişim kutusunda gerekli SQL işlemlerini seçin. Desteklenen işlemler için bkz. Artımlı senkronizasyon için desteklenen SQL işlemleri. Bir
WHEREkoşulu kullanarak verileri filtrelemek için Selected Objects içinde senkronize etmek istediğiniz tabloya sağ tıklayın ve ardından açılan iletişim kutusunda filtre koşulunu ayarlayın. Daha fazla bilgi için bkz. Filtre koşullarını yapılandırma. Nesne adı eşleme özelliğini kullanırsanız eşlenen nesneye bağlı diğer nesnelerin senkronizasyonu başarısız olabilir.Synchronization Types için yaptığınız seçim, hedef tabloları kimin oluşturacağını belirler:
Schema Synchronization seçerseniz — Hedef tablo yapısını bir sonraki aşamada, Hedef tablo şemalarını ve alanlarını yapılandırma aşamasında tanımlayabilirsiniz. Kaynak tablonun birincil anahtarı veya benzersiz kısıtlaması yoksa bu aşamada tabloyu
uniqueveri modelini kullanacak şekilde yapılandırın ve birincil anahtar sütununu manuel olarak belirtin.Schema Synchronization seçmezseniz — Gerekli şemayla
uniqueveri modelini kullanan tabloları hedef ApsaraDB for SelectDB örneğinde önceden oluşturun. Bu durumda hedef tablo şemalarını ve alanlarını yapılandırma aşaması kullanılamaz. Daha fazla bilgi için bkz. Veri türü eşlemeleri ve Veri Modelleri.
-
Sayfanın alt kısmında, isteğe bağlı olarak Advanced seçeneğini genişleterek gelişmiş ayarları yapılandırabilirsiniz. Aşağıdaki tabloda gelişmiş ayarlar açıklanmaktadır.
Ayar | Açıklama |
Dedicated Cluster for Task Scheduling | Varsayılan olarak DTS, görevleri paylaşılan bir küme üzerinde zamanlar ve bir küme seçmeniz gerekmez. Daha kararlı performans için DTS senkronizasyon görevlerini çalıştırmak üzere özel bir küme satın alabilirsiniz. Daha fazla bilgi için bkz. DTS özel kümesi nedir?. |
Retry Time for Failed Connections | Bir senkronizasyon görevi başladıktan sonra kaynak veya hedef veritabanına bağlantı başarısız olursa DTS bir hata bildirir ve hemen bağlantıyı yeniden denemeye başlar. Varsayılan yeniden deneme süresi 720 dakikadır. 10 ile 1.440 dakika arasında özel bir yeniden deneme süresi de belirtebilirsiniz. Süreyi 30 dakika veya daha fazla olarak ayarlamanızı öneririz. DTS, belirtilen süre içinde veritabanına başarıyla yeniden bağlanırsa senkronizasyon görevi otomatik olarak devam eder. Aksi takdirde görev başarısız olur. Not
|
Retry Time for Other Issues | Senkronizasyon görevi başladıktan sonra kaynak veya hedef veritabanında bağlantı dışı diğer sorunlar (DDL veya DML çalıştırma istisnaları gibi) oluşursa DTS bir hata bildirir ve hemen sürekli yeniden deneme işlemlerini başlatır. Varsayılan yeniden deneme süresi 10 dakikadır. 1 ile 1.440 dakika arasında özel bir yeniden deneme süresi de belirtebilirsiniz. Süreyi 10 dakika veya daha fazla olarak ayarlamanızı öneririz. İlgili işlemler belirlenen yeniden deneme süresi içinde başarılı olursa senkronizasyon görevi otomatik olarak devam eder. Aksi takdirde görev başarısız olur. Önemli
Retry Time for Other Issues değeri Retry Time for Failed Connections değerinden düşük olmalıdır. |
Enable Throttling for Full Data Synchronization | Tam senkronizasyon aşamasında DTS, kaynak ve hedef veritabanlarından okuma ve yazma kaynaklarını tüketir; bu durum veritabanı yükünü artırabilir. Kaynak ve hedef veritabanlarındaki yükü azaltmak için Queries per second (QPS) to the source database, RPS of Full Data Migration ve Data migration speed for full migration (MB/s) parametrelerini yapılandırarak tam senkronizasyon görevi için bir hız sınırı ayarlayabilirsiniz. Not
|
Enable Throttling for Incremental Data Synchronization | Artımlı senkronizasyon görevi için de bir hız sınırı ayarlayabilirsiniz. Hedef veritabanındaki baskıyı azaltmak için RPS of Incremental Data Synchronization ve Data synchronization speed for incremental synchronization (MB/s) değerlerini ayarlayın. |
Environment Tag | Gereksinimlerinize göre örneği tanımlamak için bir ortam etiketi seçin. Bu örnekte etiket gerekmez. |
Whether to delete SQL operations on heartbeat tables of forward and reverse tasks | DTS örneği çalışırken kalp atışı SQL bilgilerinin kaynak veritabanına yazılıp yazılmayacağını seçin.
|
Configure ETL | Çıkarma, dönüştürme ve yükleme (ETL) özelliğini etkinleştirip etkinleştirmeyeceğinizi seçin. Daha fazla bilgi için bkz. ETL nedir? Geçerli değerler:
|
Monitoring and Alerting | Uyarıları yapılandırıp yapılandırmayacağınızı belirtin. Senkronizasyon başarısız olursa veya gecikme belirtilen eşiği aşarsa bir uyarı kişisine bildirim gönderilir.
|
Hedef tablo şemalarını ve alanlarını yapılandırma
-
(İsteğe bağlı) Önceki yapılandırmaları tamamladıktan sonra hedef örnekte senkronize etmek istediğiniz tabloların Primary Key Column, Distribution Key ve Engine ayarlarını yapmak için Next: Configure Database and Table Fields seçeneğini tıklayın.
Bu adım, görev nesnelerini yapılandırırken Synchronization Types seçeneği Schema Synchronization içerdiğinde kullanılabilir. Definition Status seçeneğini All olarak ayarlayabilir ve ardından değişiklikler yapabilirsiniz.
Primary Key Column için bileşik birincil anahtar oluşturmak üzere birden çok sütun seçebilirsiniz. Ayrıca Primary Key Column içinden bir veya daha fazla sütunu Distribution Key olarak seçmeniz gerekir. Engine için yalnızca unique seçebilirsiniz.
Görev ayarlarını kaydetme ve ön denetim çalıştırma
DTS, senkronizasyon görevi başlamadan önce bir ön denetim çalıştırır. Görev yalnızca ön denetim başarılı olduktan sonra başlayabilir.
-
Görevi kaydedin ve ön denetimi çalıştırın.
Bu örneği yapılandırmak için bir API işlemi çağırırken kullanılan parametreleri görüntülemek için fare imlecini Next: Save Task Settings and Precheck düğmesinin üzerine getirin. Ardından görüntülenen mesajda Preview OpenAPI parameters seçeneğini tıklayın.
API parametrelerini görüntülemeniz gerekmiyorsa veya görüntülemeyi tamamladıysanız sayfanın alt kısmındaki Next: Save Task Settings and Precheck seçeneğini tıklayın.
-
Ön denetim sonucunu aşağıdaki gibi işleyin:
Başarısız denetim öğeleri — Başarısız denetim öğesinin yanındaki View Details seçeneğini tıklayın, istendiği gibi sorunu giderin ve ardından ön denetimi yeniden çalıştırın.
Yoksayılamayan uyarı denetim öğeleri — Başarısız denetim öğesinin yanındaki View Details seçeneğini tıklayın, istendiği gibi sorunu giderin ve ardından ön denetimi yeniden çalıştırın.
Düzeltmeden yoksayabileceğiniz uyarı denetim öğeleri — Sırasıyla View Alert Details, Confirm Ignore, OK ve Run Pre-check Again seçeneklerini tıklayarak uyarı denetim öğelerini atlayın ve ön denetimi yeniden çalıştırın. Uyarı denetim öğelerini atlarsanız veri tutarsızlığı gibi sorunlar oluşabilir ve işiniz riske girebilir.
Precheck Pass Rate değeri %100 gösterdiğinde Next: Purchase seçeneğini tıklayın.
Örneği satın alma ve görevi başlatma
-
Purchase Instance sayfasında veri senkronizasyonu örneğinin faturalama yöntemini ve senkronizasyon örneği sınıfını seçin. Daha fazla bilgi için aşağıdaki tabloya bakın.
Kategori
Parametre
Açıklama
New Instance Class
Faturalama yöntemi
Abonelik: Örneği oluştururken ödeme yaparsınız. Bu yöntem uzun vadeli kullanım için uygundur. Kullandıkça öde modeline göre daha maliyet etkindir ve abonelik süresi ne kadar uzun olursa indirim o kadar büyük olur. Kullandıkça öde: Saat başına faturalandırılırsınız. Bu yöntem kısa vadeli kullanım için uygundur. Maliyetleri azaltmak için kullanımdan sonra örneği hemen serbest bırakabilirsiniz.
Kaynak grubu ayarları
Örneğin ait olduğu kaynak grubu. Varsayılan değer default resource group şeklindedir. Daha fazla bilgi için bkz. Kaynak Yönetimi nedir.
Senkronizasyon örneği sınıfı
DTS, farklı performans seviyelerine sahip senkronizasyon örneği sınıfları sunar. Örnek sınıfı senkronizasyon hızını etkiler. İş senaryonuzu temel alarak bir örnek sınıfı seçin. Daha fazla bilgi için bkz. Veri senkronizasyonu örneklerinin teknik özellikleri.
Abonelik süresi
Abonelik faturalama yöntemini kullanıyorsanız süreyi ve örnek sayısını seçin. Aylık abonelik için 1 ila 9 ay, yıllık abonelik için 1, 2, 3 veya 5 yıl seçebilirsiniz. Not: Bu seçenek yalnızca faturalama yöntemi Subscription olduğunda görüntülenir. Yapılandırmayı tamamladıktan sonra Data Transmission (Pay-As-You-Go) Terms of Service metnini okuyun ve kabul edin.
-
Buy and Start seçeneğini tıklayın.
Senkronizasyon görevi başlar. Görev ilerlemesini Data Synchronization sayfasında görüntüleyebilirsiniz.
Artımlı senkronizasyon için desteklenen SQL işlemleri
Aşağıdaki tabloda DTS'in artımlı senkronizasyon sırasında senkronize ettiği SQL işlemleri listelenmektedir.
|
|
|
|
|
|
|
|
|
Veri türü eşlemeleri
Veriler MySQL'den ApsaraDB for SelectDB'ye senkronize edilirken veri türleri dönüştürülür. Aşağıdaki tabloda DTS'in uyguladığı eşlemeler listelenmektedir.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Belirli dönüşümler için aşağıdaki kurallar geçerlidir:
DECIMAL —
zerofilldesteklenmez.CHAR ve VARCHAR — Veri kaybını önlemek için
CHARveVARCHAR(n)verileri ApsaraDB for SelectDB'ye senkronize edildikten sonraVARCHAR(3*n)değerine dönüştürülür. Veri uzunluğu belirtilmezse ApsaraDB for SelectDB varsayılan değeri olanVARCHAR(65533)kullanılır. Veri uzunluğu 65.533'ü aşarsa veriler ApsaraDB for SelectDB'ye senkronize edildikten sonraSTRINGdeğerine dönüştürülür.
SSS
S: DTS'te veri senkronizasyonu ile veri geçişi arasındaki fark nedir?
C: İki mod senaryolar, amaç ve faturalama açısından farklılık gösterir. Karşılaştırma için bkz. Desteklenen veri kaynakları ve aktarım yöntemleri.
S: Kaynak tabloya alan ekleyebilir miyim?
C: Alan işlemleri için ADD COLUMN ve DROP COLUMN desteklenir ve DTS bunları otomatik olarak senkronize eder. Artımlı olarak senkronize edilebilen diğer deyimler için bkz. Artımlı senkronizasyon için desteklenen SQL işlemleri.
S: Yeni tabloların (CREATE TABLE) senkronizasyonu destekleniyor mu?
C: Source Objects için seçtiğiniz granülerliğe bağlı olarak aşağıdaki ilkeler uygulanır:
Senkronizasyon nesnelerini veritabanı düzeyinde seçtiyseniz yeni tabloların senkronizasyonu desteklenmez. Ancak ilgili tabloyu ApsaraDB for SelectDB'de manuel olarak oluşturabilirsiniz; DTS daha sonra yeni tablonun verilerini otomatik olarak senkronize eder.
Senkronizasyon nesnelerini tablo düzeyinde seçtiyseniz görev listesindeki İşlemler sütununda Modify Synchronization Objects seçeneğini tıklayarak yeni tabloyu ekleyebilirsiniz.
S: Birincil anahtarı veya benzersiz anahtar kısıtlaması olmayan bir tabloyu nasıl işlerim?
C: Tablo için birincil anahtar tanımlamak üzere şema senkronizasyonunu kullanın: tabloyu unique veri modelini kullanacak şekilde yapılandırın ve birincil anahtar sütununu manuel olarak belirtin. Bu seçimin ait olduğu dal için bkz. Senkronizasyon nesnelerini ve gelişmiş ayarları yapılandırma.
Referanslar
Başka bir kaynak veritabanı motorundan veri senkronize etmek veya geçirmek için kaynak veritabanınıza ve aktarım yönteminize uygun konuya bakın.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|