Tüm Ürünler
Search
Belge Merkezi

Data Management:Görev düzenleme

Son Güncelleme:Oct 04, 2026

Data Management (DMS) içindeki Task Orchestration özelliğini kullanarak geçmiş verileri otomatik olarak arşivleyen, zamanlanmış ve çok adımlı bir görev akışı oluşturun. Bu öğreticiyi tamamladığınızda aşağıdaki işlemleri yapan çalışan bir görev akışınız olur:

  • Altı aydan eski kayıtlar için aylık bir arşiv tablosu oluşturur

  • Koşulları sağlayan satırları kaynak tablodan arşiv tablosuna kopyalar

  • Geçişi tamamlanan satırları kaynak tablodan siler

  • Her ayın ilk günü saat 01:00'de otomatik olarak çalışır

Bu konudaki adımlar:

  1. Bir görev akışı oluşturun

  2. Zaman değişkenlerini yapılandırın

  3. Düğümler oluşturun ve yapılandırın

  4. Düğümleri bağlayın ve zamanlamayı ayarlayın

  5. Görev akışını çalıştırın ve sonuçları doğrulayın

Ön koşullar

Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:

  • DMS'ye kaydedilmiş bir veritabanı örneği. Ayrıntılar için bkz. Bir Alibaba Cloud veritabanı örneği kaydedin

  • Durumu Normal olan bir örnek. Durumu kontrol etmek için DMS konsol ana sayfasına gidin, sol gezinme bölmesindeki örneğin üzerine gelin ve durum araç ipucunu okuyun

  • Örnek yönetim modu Flexible Management veya Stable Change ise görev akışı için Sahip erişimi. Bu gereksinim Security Collaboration modundaki örnekler için geçerli değildir. Ayrıntılar için bkz. Overview

Desteklenen veritabanları

Task Orchestration aşağıdaki veritabanı türlerini destekler:

İlişkisel veritabanları

  • MySQL: ApsaraDB RDS for MySQL, PolarDB for MySQL, ApsaraDB MyBase for MySQL, PolarDB for Xscale ve diğer kaynaklardan gelen MySQL veritabanları

  • SQL Server: ApsaraDB RDS for SQL Server, ApsaraDB MyBase for SQL Server ve diğer kaynaklardan gelen SQL Server veritabanları

  • PostgreSQL: ApsaraDB RDS for PostgreSQL, PolarDB for PostgreSQL, ApsaraDB MyBase for PostgreSQL ve diğer kaynaklardan gelen PostgreSQL veritabanları

  • OceanBase: MySQL modunda ApsaraDB for OceanBase, Oracle modunda ApsaraDB for OceanBase ve kendi kendine yönetilen OceanBase veritabanları

  • PolarDB for PostgreSQL (Oracle ile uyumlu)

  • Oracle

  • Dameng (DM)

  • Db2

NoSQL veritabanı: Lindorm

Veri ambarları: AnalyticDB for MySQL, AnalyticDB for PostgreSQL, Data Lake Analytics (DLA), MaxCompute, Hologres

Nesne depolama: Object Storage Service (OSS)

Kaynak tabloyu ayarlayın

Bu öğreticide test adlı bir kaynak tablo kullanılır. Tabloyu oluşturmak ve örnek veriler eklemek için aşağıdaki deyimleri çalıştırın:

-- Create the source table
CREATE TABLE test (
    `id` bigint(20) UNSIGNED NOT NULL PRIMARY KEY AUTO_INCREMENT COMMENT 'Primary key',
    `gmt_create` DATETIME NOT NULL COMMENT 'Creation time',
    `gmt_modified` DATETIME NOT NULL COMMENT 'Modification time',
    `content` TEXT COMMENT 'Test data'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='Table for a task orchestration test';

-- Insert sample data
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-01-01 01:00:00', '2020-01-01 01:00:00', 'value1');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-02-01 01:00:00', '2020-02-01 01:00:00', 'value2');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-03-01 01:00:00', '2020-03-01 01:00:00', 'value3');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-04-01 01:00:00', '2020-04-01 01:00:00', 'value4');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-05-01 01:00:00', '2020-05-01 01:00:00', 'value5');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-06-01 01:00:00', '2020-06-01 01:00:00', 'value6');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-07-01 01:00:00', '2020-07-01 01:00:00', 'value7');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-08-01 01:00:00', '2020-08-01 01:00:00', 'value8');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-09-01 01:00:00', '2020-09-01 01:00:00', 'value9');
INSERT INTO test(`gmt_create`, `gmt_modified`, `content`) VALUES ('2020-10-01 01:00:00', '2020-10-01 01:00:00', 'value10');

Bu deyimleri DMS'deki SQLConsole sekmesinde veya bir veri değişikliği bileti göndererek çalıştırabilirsiniz. Ayrıntılar için bkz. SQLConsole sekmesinde bir veritabanını yönetin ve Normal Data Modify.

Adım 1: Bir görev akışı oluşturun

  1. DMS konsolu V5.0 üzerinde oturum açın.

  2. Üst gezinme çubuğunda All Features > Data + AI > Data Development > Task Orchestration seçeneğini belirleyin.

    Normal modda DMS konsolunu kullanıyorsanız sol üst köşedeki simgenin üzerine gelin ve Data + AI > Data Development > Task Orchestration seçeneklerini belirleyin.
  3. Create Task Flow öğesine tıklayın.

  4. New Task Flow iletişim kutusunda bir Task Flow Name ve Description girin, ardından OK öğesine tıklayın.

Adım 2: Zaman değişkenlerini yapılandırın

Görev akışı, arşivleme penceresinin geçerli tarihe göre altı ay geriye otomatik olarak kaymasını sağlamak için SQL filtre koşulları olarak iki zaman değişkeni kullanır. Görev akışındaki tüm düğümler bu değişkenlere ${variable_name} sözdizimini kullanarak başvurabilir.

Sayfanın alt kısmındaki Variable Configuration sekmesinde sol bölmedeki Task Flow Variable öğesine tıklayın ve aşağıdaki iki değişkeni oluşturun:

Değişken Zaman biçimi Ofset Açıklama Örnek (bugün 27 Haziran 2023 ise)
yearmonth6_name yyyy-MM -, 6, Month Altı ay öncesi ay, ay hassasiyetinde 2022-12
yearmonth6_date yyyy-MM-01 -, 6, Month Altı ay öncesi ayın ilk günü, gün hassasiyetinde 2022-12-01
  • yearmonth6_name arşiv tablosu adında son ek olarak kullanılır (örneğin, test_2022-12).

  • yearmonth6_date her iki SQL düğümündeki WHERE yan tümcesinde kesme tarihi olarak kullanılır.

Tam değişken sözdizimi ve seçenekleri için bkz. Değişkenler.

Adım 3: Düğümler oluşturun ve yapılandırın

Görev akışı iki Single Instance SQL düğümü gerektirir: biri verileri arşiv tablosuna geçirmek, diğeri ise geçişi tamamlanan satırları kaynak tablodan silmek içindir.

Migrate Data düğümünü oluşturun

Bu düğüm, aylık bir arşiv tablosu oluşturur (zaten yoksa) ve test tablosundaki altı aydan eski tüm kayıtları bu tabloya kopyalar.

  1. Tuvalin sol tarafındaki Task Type panelinden bir Single Instance SQL düğümünü tuvale sürükleyin.

  2. Düğüme sağ tıklayın ve Rename seçeneğini belirleyin. Düğüm adı olarak Migrate Data girin.

  3. SQL düzenleyicisini açmak için düğüme çift tıklayın.

  4. Veritabanı arama kutusunda veritabanınızı seçin ve aşağıdaki SQL kodunu girin:

    CREATE TABLE IF NOT EXISTS `test_${yearmonth6_name}` LIKE test;
    INSERT INTO `test_${yearmonth6_name}`
    SELECT * FROM `test`
    WHERE gmt_create < '${yearmonth6_date}';

    İlk deyim, test ile aynı şemaya sahip test_${yearmonth6_name} tablosunu oluşturur; tablo zaten varsa oluşturma işlemi atlanır. İkinci deyim, gmt_create tarihi altı aylık kesme noktasından önce olan tüm satırları arşiv tablosuna kopyalar.

  5. SQL deyimlerini doğrulamak için Preview öğesine tıklayın.

Clear Historical Data düğümünü oluşturun

Bu düğüm, arşiv tablosuna kopyalanan tüm satırları test tablosundan siler.

  1. Başka bir Single Instance SQL düğümünü tuvale sürükleyin.

  2. Düğüme sağ tıklayın ve Rename seçeneğini belirleyin. Düğüm adı olarak Clear Historical Data girin.

  3. SQL düzenleyicisini açmak için düğüme çift tıklayın.

  4. Veritabanı arama kutusunda veritabanınızı seçin ve aşağıdaki SQL kodunu girin:

    Uyarı

    DELETE deyimini yoğun olmayan saatlerde çalıştırın. Büyük hacimli verilerin silinmesi tablo kilitlerini uzun süre tutabilir ve diğer işlemleri kesintiye uğratabilir.

    DELETE FROM `test` WHERE gmt_create < '${yearmonth6_date}';

    Bu deyim, arşiv tablosuna zaten kopyalanmış tüm satırları kaldırarak test tablosunun altı aydan eski kayıt içermemesini sağlar.

  5. SQL deyimini doğrulamak için Preview öğesine tıklayın.

Adım 4: Düğümleri bağlayın ve zamanlamayı ayarlayın

Düğümleri bağlayın

Tuvale üzerinde Migrate Data düğümünün üzerine gelin, sağ tarafındaki boş daireye tıklayın ve bağlantı çizgisini Clear Historical Data düğümüne sürükleyin. Bu işlem yürütme sırasını tanımlar: önce Migrate Data çalışır, ardından Clear Historical Data çalışır.

Zamanlamayı yapılandırın

  1. Sayfanın alt kısmında Task Flow Information sekmesine tıklayın.

  2. Scheduling Settings bölümünde aşağıdaki parametreleri yapılandırın:

    Parametre Değer
    Enable scheduling Açık
    Scheduling type Timed Scheduling/Cyclic scheduling
    Effective time 1970-01-01 – 9999-01-01 (varsayılan; zamanlama süresiz çalışır)
    Scheduling cycle Ay
    Specified time Her ayın 1'i
    Specific point in time 01:00
    Time zone Tercih ettiğiniz saat dilimi
    Cron expression Yukarıdaki ayarlara göre otomatik oluşturulur

    Bu örnek, görev akışını her ayın ilk günü saat 01:00'de çalışacak şekilde zamanlar. Gereksinimlerinize uygun olarak ayarları değiştirin. Daha fazla seçenek için bkz. Overview.

Adım 5: Görev akışını çalıştırın ve sonuçları doğrulayın

Test çalıştırması

Tuvalin sol üst köşesindeki Try Run öğesine tıklayın. Günlük çıkışını kontrol edin:

  • Son satırda status SUCCEEDED görürseniz test çalıştırması başarıyla tamamlandı demektir.

  • Son satırda status FAILED görürseniz test çalıştırması başarısız oldu demektir. Hangi düğümün neden başarısız olduğunu belirlemek için günlükleri inceleyin, yapılandırmayı düzeltin ve tekrar deneyin.

Sonuçları doğrulayın

SQLConsole sekmesinde aşağıdakileri onaylamak için sorgular çalıştırın:

  • Altı aylık kesme noktasından önceki gmt_create değerine sahip kayıtlar test_${yearmonth6_name} arşiv tablosuna kopyalandı.

  • Aynı kayıtlar artık test tablosunda bulunmuyor.

Veri sorgulama hakkında ayrıntılı bilgi için bkz. SQLConsole sekmesinde bir veritabanını yönetin.

Sonraki adımlar

Referanslar