Tüm Ürünler
Search
Belge Merkezi

DataWorks:MariaDB

Son Güncelleme:Oct 05, 2026

MariaDB veri kaynağı, DataWorks ile MariaDB arasında çift yönlü çevrimdışı senkronizasyon kurar; bu sayede MariaDB veritabanlarından ve görünümlerinden (view) veri okunabilir ve yazılabilir. Bu sayfada desteklenen sürümler, alan türleri, hesap kurulumu ve çevrimdışı senkronizasyon görevleri için betik parametreleri açıklanmaktadır.

Başlamadan önce

DataWorks'ü bir MariaDB veritabanına bağlamak için aşağıdaki adımları sırayla tamamlayın:

  1. MariaDB sürümünüzün desteklendiğini onaylayın.

  2. Özel bir senkronizasyon hesabı oluşturun ve gerekli izinleri verin.

  3. DataWorks'e MariaDB veri kaynağını ekleyin.

  4. Bir senkronizasyon görevi geliştirin.

Desteklenen MariaDB sürümleri

Desteklenen sürümler: 5,5.x, 10,0.x, 10,1.x, 10,2.x ve 10,3.x.

Çevrimdışı senkronizasyon ayrıca görünümlerden (view) veri okumayı da destekler.

Desteklenen alan türleri

Aşağıdaki tabloda MariaDB 10,3.x için desteklenen alan türleri listelenmiştir. Diğer sürümler için resmi MariaDB belgelerine bakın.

Alan türü Çevrimdışı okuma (MariaDB Reader) Çevrimdışı yazma (MariaDB Writer)
TINYINT Desteklenir Desteklenir
SMALLINT Desteklenir Desteklenir
INTEGER Desteklenir Desteklenir
BIGINT Desteklenir Desteklenir
FLOAT Desteklenir Desteklenir
DOUBLE Desteklenir Desteklenir
DECIMAL/NUMERIC Desteklenir Desteklenir
REAL Desteklenmez Desteklenmez
VARCHAR Desteklenir Desteklenir
JSON Desteklenir Desteklenir
TEXT Desteklenir Desteklenir
MEDIUMTEXT Desteklenir Desteklenir
LONGTEXT Desteklenir Desteklenir
VARBINARY Desteklenir Desteklenir
BINARY Desteklenir Desteklenir
TINYBLOB Desteklenir Desteklenir
MEDIUMBLOB Desteklenir Desteklenir
LONGBLOB Desteklenir Desteklenir
ENUM Desteklenir Desteklenir
SET Desteklenir Desteklenir
BOOLEAN Desteklenir Desteklenir
BIT Desteklenir Desteklenir
DATE Desteklenir Desteklenir
DATETIME Desteklenir Desteklenir
TIMESTAMP Desteklenir Desteklenir
TIME Desteklenir Desteklenir
YEAR Desteklenir Desteklenir
LINESTRING Desteklenmez Desteklenmez
POLYGON Desteklenmez Desteklenmez
MULTIPOINT Desteklenmez Desteklenmez
MULTILINESTRING Desteklenmez Desteklenmez
MULTIPOLYGON Desteklenmez Desteklenmez
GEOMETRYCOLLECTION Desteklenmez Desteklenmez

Hesap izinlerini yapılandırma

DataWorks'ün veri kaynağına erişmesi için özel bir MariaDB hesabı oluşturun.

  1. MariaDB sürümünü kontrol etmek için aşağıdaki deyimi çalıştırın:

    SELECT VERSION();
  2. (İsteğe bağlı) Bir senkronizasyon hesabı oluşturun. Bkz. MariaDB kullanıcısı oluşturma.

  3. Senkronizasyon yönüne göre gerekli izinleri verin:

    • Çevrimdışı okuma: Hesabın, senkronize edilecek tablolar üzerinde SELECT iznine sahip olması gerekir.

    • Çevrimdışı yazma: Hesabın, senkronize edilecek tablolar üzerinde INSERT, DELETE ve UPDATE izinlerine sahip olması gerekir.

  4. İzinleri vermek için aşağıdaki komutu çalıştırın. sync_account ifadesini kendi hesap adınızla değiştirin.

    -- CREATE USER 'sync_account'@'%' IDENTIFIED BY 'password';
    GRANT SELECT, INSERT, DELETE, UPDATE ON *.* TO 'sync_account'@'%';

    Alternatif olarak, doğrudan SUPER izni verebilirsiniz.

Veri kaynağı ekleme

Bir senkronizasyon görevi geliştirmeden önce MariaDB veri kaynağını DataWorks'e ekleyin. Veri kaynağı yönetimi bölümündeki talimatları izleyin. Veri kaynağını eklerken parametre açıklamaları DataWorks konsolunda mevcuttur.

Veri senkronizasyon görevi geliştirme

Tek tablo için çevrimdışı senkronizasyon

Görevi kod düzenleyicide yapılandırmak için bkz. Kod düzenleyicide görev yapılandırma (1695606). Tüm betik parametreleri ve örnekler için Betik parametreleri ve örnekler bölümüne bakın.

Betik parametreleri ve örnekler

Tüm örnekler, "version": "2.0" içeren kod düzenleyici formatını kullanır. Betiği, Kod düzenleyicide görev yapılandırma (1695606) bölümünde açıklanan birleşik format gereksinimlerine göre yapılandırın.

Reader

Betik örneği

{
    "type": "job",
    "version": "2.0",
    "steps": [
        {
            "stepType": "mariadb",
            "parameter": {
                "column": [
                    "id"
                ],
                "connection": [
                    {
                        "querySql": ["select a,b from join1 c join join2 d on c.id = d.id;"],
                        "datasource": "",
                        "table": [
                            "xxx"
                        ]
                    }
                ],
                "where": "",
                "splitPk": "",
                "encoding": "UTF-8"
            },
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "stream",
            "parameter": {},
            "name": "Writer",
            "category": "writer"
        }
    ],
    "setting": {
        "errorLimit": {
            "record": "0"
        },
        "speed": {
            "throttle": true,
            "concurrent": 1,
            "mbps": "12"
        }
    },
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    }
}

Reader parametreleri

Parametre Açıklama Zorunlu Varsayılan
datasource Veri kaynağı adı. DataWorks'e eklenen veri kaynağının adıyla eşleşmelidir. Evet Yok
table Okunacak tablo. Parçalanmış tablolar için aralık sözdizimini destekler; örneğin, table_[0-99] ifadesi table_0 ile table_99 arasındaki tüm tabloları okur. Sabit uzunluklu sayısal son ekler için ["table_00[0-9]", "table_0[10-99]", "table_[100-999]"] formatını kullanın. Görev, eşleşen tüm tablolardan okuma yapar ve bir tablo veya belirtilen sütun yoksa başarısız olur. Evet Yok
column Senkronize edilecek sütunlar, JSON dizisi olarak. Varsayılan olarak tüm sütunlardır (["*"]). MariaDB SQL sözdizimine uygun olarak sütun budama, sütun yeniden sıralama ve sabit değerleri destekler. Boş bırakılmamalıdır. Evet Yok
splitPk Eşzamanlı okumalar için verileri bölmek üzere kullanılan sütun. Dengeli dağıtım için birincil anahtarı kullanın. Yalnızca tamsayı türleri desteklenir; desteklenmeyen türler tek kanallı senkronizasyona geri döner. Tek kanal kullanmak için boş bırakın. Hayır Yok
where Bir SQL WHERE filtre koşulu, örneğin günlük artımlı senkronizasyon için gmt_create>$bizdate gibi. Tüm verileri senkronize etmek için parametreyi atlayın veya boş bırakın. LIMIT yan tümceleri desteklenmez. Hayır Yok
querySql table, column, where ve splitPk parametrelerinin üzerine yazan özel bir SQL sorgusu. Çoklu tablo birleştirmeleri için bunu kullanın, örneğin select a,b from table_a join table_b on table_a.id = table_b.id gibi. Kimlik bilgileri için yine de datasource parametresi kullanılır. Bu parametre büyük/küçük harfe duyarlıdır (querySql, querysql değil) ve kod içermeyen kullanıcı arayüzünde desteklenmez. Hayır Yok

Writer

Betik örneği

{
    "type": "job",
    "version": "2.0",
    "steps": [
        {
            "stepType": "stream",
            "parameter": {},
            "name": "Reader",
            "category": "reader"
        },
        {
            "stepType": "mariadb",
            "parameter": {
                "postSql": [],
                "datasource": "",
                "column": [
                    "id",
                    "value"
                ],
                "writeMode": "insert",
                "batchSize": 1024,
                "table": "",
                "preSql": [
                    "delete from XXX;"
                ]
            },
            "name": "Writer",
            "category": "writer"
        }
    ],
    "setting": {
        "errorLimit": {
            "record": "0"
        },
        "speed": {
            "throttle": true,
            "concurrent": 1,
            "mbps": "12"
        }
    },
    "order": {
        "hops": [
            {
                "from": "Reader",
                "to": "Writer"
            }
        ]
    }
}

Writer parametreleri

Parametre Açıklama Zorunlu Varsayılan
datasource Veri kaynağı adı. DataWorks'e eklenen veri kaynağının adıyla eşleşmelidir. Evet Yok
table Verilerin yazılacağı hedef tablo. Evet Yok
column Verilerin yazılacağı hedef sütunlar, JSON dizisi olarak; örneğin, ["id", "name", "age"] gibi. Tüm sütunlara sırayla yazmak için ["*"] kullanın. Evet Yok
writeMode Yazma modu. Üç mod desteklenir: insert (INSERT INTO—çakışmalar kirli veri olarak işlenir), update (ON DUPLICATE KEY UPDATE—çakışmalar, updateColumn içinde belirtilen alanları günceller) ve replace (REPLACE INTO—çakışmalar mevcut satırı siler ve yeni satırı ekler). Hayır insert into
updateColumn Birincil anahtar veya benzersiz dizin çakışması oluştuğunda güncellenecek sütunlar. Bu parametre, writeMode değeri update olarak ayarlandığında kullanılır. Sütunları virgülle ayırın; örneğin, ["name", "age"] gibi. Hayır Yok
preSql Senkronizasyon görevinden önce çalıştırılacak SQL deyimi. Kod içermeyen kullanıcı arayüzü tek bir deyimi destekler; kod düzenleyici birden çok deyimi destekler. Örnek: truncate table tablename. Birden çok deyim için işlem (transaction) desteği yoktur. Hayır Yok
postSql Senkronizasyon görevinden sonra çalıştırılacak SQL deyimi. Kod içermeyen kullanıcı arayüzü tek bir deyimi destekler; kod düzenleyici birden çok deyimi destekler. Örnek: ALTER TABLE tablename ADD colname TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP. Birden çok deyim için işlem (transaction) desteği yoktur. Hayır Yok
batchSize Her partide gönderilen kayıt sayısı. Daha büyük değerler ağ gidiş-dönüşlerini azaltır ve aktarım hızını artırır, ancak çok büyük değerler bellek yetersizliği (OOM) hatalarına neden olabilir. Hayır 256