Tüm Ürünler
Search
Belge Merkezi

DataWorks:HybridDB for MySQL

Son Güncelleme:Oct 05, 2026

DataWorks, HybridDB for MySQL ile diğer veri kaynakları arasında veri senkronizasyonu yapmak için HybridDB for MySQL Reader ve HybridDB for MySQL Writer bileşenlerini sunar.

Sınırlamalar

  • HybridDB for MySQL Reader tabloları ve görünümleri okuyabilir. Bir tabloyu okurken tüm sütunları veya bir alt kümesini seçebilir, sütunların sırasını değiştirebilir, sabit alanlar ekleyebilir ve now() gibi HybridDB for MySQL işlevlerini kullanabilirsiniz.

  • Toplu senkronizasyonda görünümler desteklenir.

Veri türü eşlemeleri

HybridDB for MySQL Reader ve Writer veri türlerini aşağıdaki şekilde eşler.

Kategori HybridDB for MySQL veri türleri Notlar
Tamsayı INT, TINYINT, SMALLINT, MEDIUMINT, BIGINT, YEAR TINYINT(1) tamsayı veri türü olarak değerlendirilir
Kayan nokta FLOAT, DOUBLE, DECIMAL
Dize VARCHAR, CHAR, TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT
Tarih ve saat DATE, DATETIME, TIMESTAMP, TIME
Boole BOOL
İkili TINYBLOB, MEDIUMBLOB, BLOB, LONGBLOB, VARBINARY

Yukarıda listelenmeyen veri türleri desteklenmez.

Veri kaynağı ekleme

Bir senkronizasyon görevi oluşturmadan önce HybridDB for MySQL veri kaynağını DataWorks'e ekleyin. Talimatlar için bkz. Veri kaynağı yönetimi. Veri kaynağını eklerken parametre açıklamalarını DataWorks konsolunda bulabilirsiniz.

Veri senkronizasyonu görevi geliştirme

Tek bir tablodan veri senkronize etme

Aşağıdaki yöntemlerden birini kullanın:

Kod düzenleyici için tam parametre listesi ve örnek kod için bkz. Ek: Kod ve parametreler.

Bir veritabanından tüm verileri senkronize etme

Bkz. Gerçek zamanlı tam veritabanı senkronizasyonu görevini yapılandırma.

Ek: Kod ve parametreler

HybridDB for MySQL Reader

Örnek kod

{
    "type": "job",
    "steps": [
        {
            "parameter": {
                "datasource": "px_aliyun_hymysql",
                "column": [
                    "id",
                    "name",
                    "sex",
                    "salary",
                    "age",
                    "pt"
                ],
                "where": "id=10001",
                "splitPk": "id",
                "table": "person"
            },
            "name": "Reader",
            "category": "reader"
        },
        {
            "parameter": {}
        }
    ],
    "version": "2.0",
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    },
    "setting": {
        "errorLimit": {
            "record": ""
        },
        "speed": {
            "concurrent": 7,
            "throttle": true,
            "mbps": 1
        }
    }
}

Parametreler

Parametre Açıklama Gerekli Varsayılan
datasource Veri kaynağının adı. DataWorks'te yapılandırılan adla eşleşmelidir. Evet Yok
table Kaynak tablonun adı. Her senkronizasyon görevi tek bir tablodan okuma yapar. Evet Yok
column Okunacak sütunlar, JSON dizisi olarak belirtilir. Tüm sütunları okumak için ["*"] kullanın. Sıralama değişikliği, sabit değerler ve ifadeler desteklenir; örneğin, ["id", "table", "1", "'mingya.wmy'", "'null'", "to_char(a+1)", "2.3", "true"]. Evet Yok
splitPk Paralel okumalar için verileri parçalara ayırmada kullanılan sütun. En eşit dağıtım için birincil anahtar sütunu olarak ayarlayın. Yalnızca tamsayı sütunları desteklenir; dize, kayan nokta ve tarih sütunları yoksayılır ve okuyucu tek iş parçacığına geri döner. Hayır Yok
where Satırları filtrelemek için WHERE yan tümcesi; örneğin yalnızca bugünün verilerini okumak için gmt_create > $bizdate. Tüm satırları okumak için boş bırakın. LIMIT yan tümcelerini kullanmayın. Hayır Yok
querySql Gelişmiş filtreleme veya çoklu tablo birleştirmeleri için özel SQL. Ayarlandığında table, column, where ve splitPk parametrelerini geçersiz kılar. Hayır Yok
singleOrMulti Parçalanmış tablolar için gereklidir. multi olarak ayarlayın. Evet (yalnızca parçalanmış tablolar) multi
Önemli

Parçalanmış bir tabloyu doğrudan kod düzenleyicide yapılandırırken (kodsuz arayüzden geçiş yapmadan), "singleOrMulti": "multi" otomatik olarak oluşturulmaz. Bu parametreyi manuel olarak ekleyin. Bu parametre olmadan okuyucu verileri yalnızca ilk parçadan okur.

querySql ayarlandığında okuyucu table, column, where ve splitPk parametrelerini yoksayar. Bağlantı kimlik bilgileri hâlâ datasource parametresinden okunur.

HybridDB for MySQL Writer

Örnek kod

{
    "type": "job",
    "steps": [
        {
            "parameter": {}
        },
        {
            "parameter": {
                "postSql": [],
                "datasource": "px_aliyun_hy***",
                "column": [
                    "id",
                    "name",
                    "sex",
                    "salary",
                    "age",
                    "pt"
                ],
                "writeMode": "insert",
                "batchSize": 256,
                "encoding": "UTF-8",
                "table": "person_copy",
                "preSql": []
            },
            "name": "Writer",
            "category": "writer"
        }
    ],
    "version": "2.0",
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    },
    "setting": {
        "errorLimit": {
            "record": ""
        },
        "speed": {
            "concurrent": 7,
            "throttle": true,
            "mbps": 1
        }
    }
}

Yazma modları

Mod Çakışma olmadığında davranış Birincil anahtar veya benzersiz dizin çakışması olduğunda davranış
insert (varsayılan) Verileri doğrudan yazar Çakışan satırlara yazılamaz; çakışan veriler kirli veri olarak kabul edilir
replace Verileri doğrudan yazar Çakışan satırlardaki belirtilen alanları günceller

Parametreler

Parametre Açıklama Gerekli Varsayılan
datasource Veri kaynağının adı. DataWorks'te yapılandırılan adla eşleşmelidir. Evet Yok
table Hedef tablonun adı. Evet Yok
writeMode Yazma modu. Yukarıdaki Yazma modları bölümüne bakın. Hayır insert
column Yazılacak sütunlar, JSON dizisi olarak belirtilir; örneğin, ["id", "name", "age"]. Tüm sütunlara yazmak için ["*"] kullanın. Evet Yok
preSql Senkronizasyon görevinden önce çalıştırılacak SQL deyimi; örneğin eski verileri silmek için. Kodsuz arayüz tek bir deyim destekler; kod düzenleyici birden fazla deyimi destekler. Hayır Yok
postSql Senkronizasyon görevinden sonra çalıştırılacak SQL deyimi; örneğin zaman damgası eklemek için. Kodsuz arayüz tek bir deyim destekler; kod düzenleyici birden fazla deyimi destekler. Hayır Yok
batchSize Her partide yazılacak kayıt sayısı. İş yükünüze göre ayarlayın. Çok büyük bir değer bellek yetersizliği (OOM) hatalarına neden olabilir. Hayır 1.024