All Products
Search
Document Center

Time Series Database:Strategi\\ migrasi\\ data\\ untuk\\ TSDB\\ for\\ InfluxDB®

Last Updated:Mar 29, 2026

TSDB for InfluxDB® akan dihentikan pada 23 Oktober 2026. Migrasikan data Anda sebelum tanggal tersebut untuk mencegah gangguan layanan. Topik ini menjelaskan solusi migrasi yang tersedia dan memandu Anda melalui setiap jalur migrasi.

Penting

Untuk informasi lebih lanjut mengenai penghentian TSDB for InfluxDB®, lihat pemberitahuan terkait.

Pilih solusi migrasi

Pilih solusi berdasarkan skala data dan database tujuan Anda:

ScenarioRecommended solution
Migrasi like-for-like — tumpukan teknologi yang samaInstans InfluxDB self-hosted
Data berskala besar, beban kerja pemantauan deret waktuLindormTSDB
Skenario deret waktu lainnyaSolusi database deret waktu terdistribusi lainnya
Catatan

LindormTSDB tidak kompatibel dengan bahasa kueri InfluxQL. Migrasi ke LindormTSDB memerlukan modifikasi kode kueri dalam aplikasi Anda.

Migrasi ke instans InfluxDB self-hosted

Jalur ini menggunakan influxd backup dan influxd restore untuk mentransfer data dari instans TSDB for InfluxDB® Anda ke instans InfluxDB self-hosted yang berjalan di Elastic Compute Service (ECS).

Langkah-langkah migrasi:

  1. Verifikasi prasyarat

  2. Aktifkan dual-write

  3. Backup data per shard

  4. Pulihkan data ke instans self-hosted

Prasyarat

Sebelum memulai, pastikan bahwa:

  • Instans TSDB for InfluxDB® Anda telah ditingkatkan ke versi 1.8.14 (versi terbaru).

  • Port backup 8088 telah diaktifkan. Ajukan tiket melalui sistem tiket Alibaba Cloud untuk membuka port tersebut.

  • Instans InfluxDB self-hosted memenuhi semua kondisi berikut:

    • Berada di wilayah, zona, dan virtual private cloud (VPC) yang sama dengan instans TSDB for InfluxDB® Anda

    • Tipe instans yang sama

    • Terhubung ke vSwitch yang sama

Untuk panduan ini, beli instans ECS yang memenuhi kondisi tersebut dan instal InfluxDB V1.8.10 self-hosted. Lihat Cara cepat membeli instans subscription untuk instruksi pembelian ECS.

Untuk ikhtisar konseptual proses backup dan restore, lihat Backup and restore dalam dokumentasi InfluxDB.

Catatan penggunaan

  • Hanya data historis. Proses backup dan restore tidak mendukung migrasi data inkremental. Siapkan dual-write sebelum memigrasikan data historis.

  • Kebutuhan penyimpanan. Ruang penyimpanan yang tersedia pada instans tujuan harus lebih dari dua kali ukuran data Anda.

  • Ambang batas memori. Jika penggunaan memori instans TSDB for InfluxDB® Anda saat ini melebihi 80%, lakukan peningkatan instans sebelum memulai backup.

  • Backup tingkat shard. Backup data satu shard dalam satu waktu. Setiap perintah backup memerlukan nama database, nama kebijakan retensi, dan ID shard.

Aktifkan dual-write

Karena backup dan restore hanya mencakup data historis, mulailah menulis data baru ke kedua instans sebelum migrasi. Hal ini memastikan tidak ada data yang hilang selama jendela migrasi.

Konfigurasikan aplikasi Anda untuk menulis secara simultan ke instans TSDB for InfluxDB® dan instans InfluxDB self-hosted.

Pertahankan dual-write hingga Anda selesai memigrasikan seluruh data historis.

Backup data

Jalankan perintah berikut pada instans ECS tempat InfluxDB self-hosted diinstal.

# Syntax
influxd backup -portable \
  -host <vpc-endpoint>:8088 \
  -db <database-name> \
  -rp <retention-policy-name> \
  -shard <shard-id> \
  <backup-destination-path>

# Example
influxd backup -portable \
  -host ts-xxx.influxdata.tsdb.aliyuncs.com:8088 \
  -db example_db \
  -rp example_rp \
  -shard 123 \
  /root/tmp/influx_backup

Parameter:

ParameterDescriptionRequired
-portableMengaktifkan format backup portable.Yes
-hostTitik akhir VPC dari instans TSDB for InfluxDB®, dengan port 8088. Temukan informasi ini di halaman Instance Details dalam Konsol TSDB.Yes
-dbNama database yang akan di-backup. Temukan nama database di Konsol TSDB pada bagian Instance Database Management > Database Management.Yes
-rpNama kebijakan retensi yang akan di-backup. Di Konsol TSDB, buka Instance Management > Database Management, lalu klik Storage Policy Management di kolom Actions untuk database target.Yes
-shardID shard yang akan di-backup. Jalankan show shards untuk menampilkan daftar ID shard.Yes
<backup-destination-path>Jalur lokal tempat file backup disimpan (misalnya, /root/tmp/influx_backup).Yes

Pulihkan data

Untuk referensi lengkap, lihat Restore data to an existing database dalam dokumentasi InfluxDB.

  1. Pada instans ECS, pulihkan backup ke database temporary.

    # Syntax
    influxd restore -portable \
      -db <backed-up-database-name> \
      -rp <backed-up-retention-policy-name> \
      -shard <backed-up-shard-id> \
      -newdb <temporary-database-name> \
      <backup-source-path>
    
    # Example
    influxd restore -portable \
      -db example_db \
      -rp example_rp \
      -shard 123 \
      -newdb example_tmp_db \
      /root/tmp/influx_backup
    ParameterDescription
    -dbNama database dalam backup.
    -rpNama kebijakan retensi dalam backup.
    -shardID shard dalam backup.
    -newdbNama database temporary tempat data dipulihkan.
    <backup-source-path>Jalur ke folder yang berisi file backup.
  2. Gunakan InfluxQL untuk menyalin data dari database temporary ke database tujuan.

    SELECT * INTO "example_db"."example_rp".:MEASUREMENT FROM "example_tmp_db".autogen./.*/ GROUP BY *
  3. Hapus database temporary.

    DROP DATABASE "example_tmp_db"

Ulangi langkah 1–3 untuk setiap shard hingga seluruh data berhasil dimigrasikan.

Migrasi ke database lain (termasuk LindormTSDB)

Jalur ini mengekspor data dari TSDB for InfluxDB® ke file CSV, lalu mengimpornya ke database tujuan.

Penting

Tambahkan kondisi filter tag dan waktu pada semua kueri. Kueri tanpa filter dapat menghasilkan set hasil yang besar dan menyebabkan instans menjadi tidak stabil.

Ekspor data ke CSV

Gunakan Influx CLI (V1.x) untuk melakukan kueri dan ekspor data.

# Ekspor dengan kolom measurement (diperlukan untuk target InfluxDB)
influx -ssl \
  -host ts-xxx.influxdata.tsdb.aliyuncs.com \
  -port 8086 \
  -username "xxx" \
  -password "xxx" \
  -format "csv" \
  -precision ms \
  -database example_db \
  -execute "select * from sensor" \
  > /root/tmp/ouput.csv

Untuk menghapus kolom measurement (diperlukan untuk LindormTSDB), salurkan output melalui sed:

influx -ssl \
  -host ts-xxx.influxdata.tsdb.aliyuncs.com \
  -port 8086 \
  -username "xxx" \
  -password "xxx" \
  -format "csv" \
  -precision ms \
  -database example_db \
  -execute "select * from sensor" | \
  sed -r 's/^[^,]+,//' \
  > /root/tmp/ouput.csv

Kolom pertama dalam file CSV yang diekspor adalah kolom name, yang merepresentasikan measurement. Perintah sed menghapus kolom ini sebelum menulis ke file.

Impor data ke LindormTSDB

  1. Ekspor data dari TSDB for InfluxDB® menggunakan perintah di atas (dengan sed untuk menghapus kolom measurement). Atur presisi ke ms atau rfc3339.

  2. Di LindormTSDB, buat database dan tabel tujuan dengan semua bidang yang telah didefinisikan sebelumnya.

  3. Impor file CSV menggunakan Lindorm CLI.

    # Syntax
    lindorm-cli -url jdbc:lindorm:tsdb:url=http://<lindorm-endpoint>:8242 \
      -format=csv \
      -input <csv-file-path> \
      -database <database-name> \
      -table <table-name>
    
    # Example
    lindorm-cli -url jdbc:lindorm:tsdb:url=http://ld-xxx-proxy-tsdb-pub.lindorm.rds.aliyuncs.com:8242 \
      -format=csv \
      -input /root/tmp/ouput.csv \
      -database example_db \
      -table example_table

Impor data ke InfluxDB

Semua langkah dalam jalur ini menggunakan alur kerja konversi CSV ke line protocol yang didukung oleh Influx CLI V2.x.

  1. Unduh alat yang diperlukan:

  2. Ekspor data menggunakan Influx CLI V1.x. Jangan tentukan flag presisi, dan pertahankan kolom measurement.

    influx -ssl \
      -host ts-xxx.influxdata.tsdb.aliyuncs.com \
      -port 8086 \
      -username "xxx" \
      -password "xxx" \
      -format "csv" \
      -database example_db \
      -execute "select * from sensor" \
      > /root/tmp/ouput.csv
  3. Gunakan Influx CLI V2.x untuk mengonversi file CSV menjadi file line protocol. Lihat Write CSV data to InfluxDB untuk detail format anotasi.

    # Syntax
    influx write dryrun \
      --format csv \
      --header "<column-name>|<data-type>|<default-value>,..." \
      --skipHeader=1 \
      -f <csv-file-path> \
      > <line-protocol-output-path>
    
    # Example
    influx write dryrun \
      --format csv \
      --header "name|measurement,time|dateTime,device_id|tag,humidity|long|0,region|tag,temperature|double|0.0" \
      --skipHeader=1 \
      -f /root/tmp/ouput.csv \
      > /root/tmp/ouput.line

    Format --header adalah column_name|data_type|default_value. Untuk tipe kolom waktu, lihat Specify the time type.

  4. Tulis file line protocol ke instans InfluxDB V1.x self-hosted Anda.