全部产品
Search
文档中心

Tair (Redis® OSS-Compatible):Instans berbasis DRAM

更新时间:Nov 10, 2025

Tair Instans berbasis DRAM ideal untuk skenario dengan operasi baca dan tulis konkurensi tinggi pada data panas, serta memerlukan performa lebih tinggi daripada yang dapat diberikan oleh instans Redis Edisi Open-Source. Dibandingkan dengan instans Redis Edisi Open-Source, instans berbasis DRAM menawarkan manfaat tambahan seperti peningkatan performa multi-threading dan integrasi beberapa struktur data tambahan.

Manfaat

Item

Deskripsi

Kompatibilitas

Instans berbasis DRAM sepenuhnya kompatibel dengan Redis asli, tidak memerlukan perubahan pada kode bisnis. Mereka menawarkan kompatibilitas dengan Redis 7.0, Redis 6.0, dan Redis 5.0.

Performa

  • Instans berbasis DRAM menggunakan model multi-threading dan memberikan tiga kali lipat performa dari instans Redis Edisi Open-Source dengan spesifikasi yang sama. Ini menghilangkan batasan performa pada permintaan baca dan tulis frekuensi tinggi untuk data panas.

  • Dibandingkan dengan database Redis asli, instans berbasis DRAM dapat memproses banyak permintaan per detik (QPS) dengan performa lebih tinggi pada kecepatan lebih tinggi.

  • Instans berbasis DRAM memastikan performa stabil dalam skenario konkurensi tinggi dan mengurangi masalah koneksi yang disebabkan oleh lonjakan lalu lintas selama jam sibuk.

  • Instans berbasis DRAM menjalankan tugas sinkronisasi data penuh dan tugas sinkronisasi data inkremental di Thread I/O untuk mempercepat sinkronisasi.

Mode sinkronisasi

Mode replikasi semi-sinkron didukung secara tambahan. Dalam mode ini, setelah pembaruan yang dimulai oleh klien dieksekusi pada node master, node master akan mereplikasi log ke node replika. Tanggapan hanya dikirimkan ke klien setelah node replika mengonfirmasi penerimaan log. Ini memastikan tidak ada data yang hilang selama alih bencana dengan ketersediaan tinggi.

Arsitektur Penyebaran

Instans berbasis DRAM mendukung arsitektur standar, kluster, dan pemisahan baca/tulis.

Integrasi Modul Struktur Data

Instans berbasis DRAM mengintegrasikan beberapa modul internal Tair untuk memperluas ruang lingkup yang berlaku dari Tair. Modul-modul ini termasuk exString (termasuk perintah yang meningkatkan fungsionalitas string Redis), exHash, exZset, GIS, Bloom, Doc, TS, Cpc, Roaring, Search, dan Vector. Modul-modul ini menghilangkan kekhawatiran tentang struktur penyimpanan dan ketepatan waktu dan memungkinkan Anda fokus pada pengembangan aplikasi.

Fitur tingkat perusahaan

Instans berbasis DRAM mendukung beberapa fitur tingkat perusahaan, seperti flashback data, cache query proxy, dan Global Distributed Cache. Untuk informasi lebih lanjut, lihat Gunakan flashback data untuk memulihkan data berdasarkan titik waktu, Gunakan cache query proxy untuk menangani masalah yang disebabkan oleh hotkeys, dan Global Distributed Cache.

Keamanan data

Skenario

Instans berbasis DRAM Tair cocok untuk skenario seperti siaran langsung, penjualan kilat, dan pendidikan online. Berikut adalah beberapa skenario tipikal:

  • Skenario 1: Selama penjualan kilat, QPS pada beberapa hotkey yang di-cache mungkin melebihi 200.000. Instans Redis Edisi Open-Source tidak dapat memenuhi persyaratan ini.

    Instans DRAM berbasis standar dapat menangani permintaan selama penjualan kilat secara efisien tanpa masalah performa.

  • Skenario 2: Instans kluster Redis Edisi Open-Source memiliki batasan pada transaksi database dan skrip Lua.

    Instans berbasis DRAM memberikan performa tinggi dan menghilangkan batasan pada penggunaan perintah dalam instans kluster Redis Edisi Open-Source.

  • Skenario 3: Anda telah membuat kluster Redis yang dikelola sendiri yang terdiri dari satu node master dan beberapa node replika. Jumlah node replika dan biaya O&M meningkat seiring dengan meningkatnya beban kerja Anda.

    Instans berbasis DRAM yang menggunakan arsitektur pemisahan baca/tulis dapat menyediakan satu node data dan hingga lima replika baca untuk membantu Anda menangani jutaan QPS.

  • Skenario 4: Anda telah membuat kluster Redis yang dikelola sendiri untuk menangani puluhan juta QPS. Jumlah shard data dan biaya O&M meningkat seiring dengan meningkatnya beban kerja Anda.

    Instans kluster berbasis DRAM dapat mengecilkan kluster hingga dua pertiga dan secara signifikan mengurangi biaya O&M.

Perbandingan antara model threading

Arsitektur Threading

Deskripsi

Gambar 1. Model single-threaded Redis标准性能Redis实例的单线程模型

Redis Edisi Open-Source dan Redis asli menggunakan model single-threaded. Alur pemrosesan data adalah sebagai berikut: membaca permintaan, mengurai permintaan, memproses data, dan mengirimkan tanggapan. Dalam situasi ini, operasi I/O jaringan dan penguraian permintaan mengonsumsi sebagian besar sumber daya yang tersedia.

Gambar 2. Model multi-threading Tair增强性能Redis实例的多线程模型

Tair Instans berbasis DRAM memisahkan tugas pada tahap layanan yang berbeda dan menggunakan beberapa thread dengan pembagian kerja yang jelas untuk memproses tugas secara paralel, sehingga meningkatkan performa.

  • Thread I/O digunakan untuk membaca permintaan, mengirimkan tanggapan, dan mengurai perintah.

  • Thread pekerja digunakan untuk memproses perintah dan acara timer.

  • Thread tambahan digunakan untuk memantau denyut jantung dan status node untuk memastikan ketersediaan tinggi.

Setiap instans berbasis DRAM membaca dan mengurai permintaan di Thread I/O, menempatkan permintaan yang telah diurai sebagai perintah dalam antrian, dan kemudian mengirimkan perintah-perintah ini ke thread pekerja. Kemudian, thread pekerja menjalankan perintah untuk memproses permintaan dan mengirimkan tanggapan ke Thread I/O menggunakan antrian yang berbeda.

Tair Instans berbasis DRAM mendukung hingga empat Thread I/O yang berjalan secara bersamaan. Antrian yang tidak terkunci dan pipeline digunakan untuk mentransmisikan data antara Thread I/O dan thread pekerja untuk meningkatkan performa multi-threading.

Catatan
  • Model multi-threading memberikan peningkatan performa yang signifikan untuk struktur data umum seperti String, List, Set, Hash, Zset, HyperLogLog, dan Geo serta struktur data tambahan.

  • Operasi API seperti pub, sub, dan blocking direplikasi di thread pekerja. Oleh karena itu, operasi API ini dapat dipercepat untuk meningkatkan throughput dan meningkatkan performa sekitar 50%.

  • Transaksi dan skrip Lua harus dieksekusi secara berurutan. Tidak ada percepatan yang dapat dicapai.

Catatan

Berbeda dengan multi-threading Redis 6.0 (yang meningkatkan performa hingga 2 kali lipat tetapi mengonsumsi sumber daya CPU tinggi), Real Multi-IO dari instans berbasis DRAM dapat secara menyeluruh mempercepat I/O dan eksekusi perintah, memberikan resistensi yang lebih besar terhadap dampak koneksi, dan meningkatkan kapasitas throughput secara linear.

Perbandingan Performa

Instans Redis Edisi Open-Source menggunakan model single-threading yang sama dengan database Redis asli. Dalam model single-threading, setiap node data mendukung 80.000 hingga 100.000 QPS. Instans DRAM berbasis Tair menggunakan model multi-threaded, yang memungkinkan thread I/O, pekerja, dan tambahan memproses permintaan secara paralel. Setiap node data dari instans DRAM memberikan performa sekitar tiga kali lipat dari performa yang diberikan oleh setiap node data dari instans Redis Edisi Open-Source. Tabel berikut menggambarkan perbandingan antara instans Redis Edisi Open-Source dan instans DRAM berbasis Tair dengan arsitektur yang berbeda dan kasus penggunaannya.

Arstektur

Instans Redis Edisi Open-Source

Instans Tair berbasis DRAM

Arstektur Standar

Instans ini tidak cocok jika QPS yang diperlukan pada satu node melebihi 100.000.

Instans ini cocok jika QPS yang diperlukan pada satu node melebihi 100.000.

Arstektur Kluster

Sebuah instans kluster terdiri dari beberapa node data. Setiap node data memberikan performa yang serupa dengan instans standar. Jika sebuah node data menyimpan data panas dan menerima sejumlah besar permintaan konkuren untuk data panas tersebut, operasi baca dan tulis pada data lain yang disimpan pada node data tersebut mungkin terpengaruh. Akibatnya, performa node data tersebut menurun.

Instans ini memberikan performa tinggi untuk membaca dan menulis data panas dengan biaya pemeliharaan yang lebih rendah.

Arstektur Pemisahan Baca/Tulis

Instans ini memberikan performa baca tinggi dan cocok untuk skenario di mana jumlah operasi baca lebih besar daripada jumlah operasi tulis. Namun, instans ini tidak dapat mendukung sejumlah besar operasi tulis konkuren.

Instans ini memberikan performa baca tinggi dan dapat mendukung sejumlah besar operasi tulis konkuren. Instans ini cocok untuk skenario di mana sejumlah besar operasi tulis perlu diproses tetapi jumlah operasi baca lebih besar daripada jumlah operasi tulis.

Integrasi Beberapa Modul Redis

Mirip dengan Redis open source, Redis Edisi Open-Source mendukung berbagai struktur data seperti String, List, Hash, Set, Sorted Set, dan Stream. Struktur data ini cukup untuk mendukung beban kerja pengembangan umum tetapi tidak untuk beban kerja yang kompleks. Untuk mengelola beban kerja yang kompleks, Anda harus memodifikasi data aplikasi Anda atau menjalankan skrip Lua.

Instans berbasis DRAM mengintegrasikan beberapa modul internal Tair untuk memperluas ruang lingkup yang berlaku dari Tair. Modul-modul ini termasuk exString (termasuk perintah yang meningkatkan fungsionalitas string Redis), exHash, exZset, GIS, Bloom, Doc, TS, Cpc, Roaring, Search, dan Vector. Modul-modul ini menyederhanakan pengembangan bisnis dalam skenario kompleks dan memungkinkan Anda fokus pada inovasi bisnis Anda.

Catatan
  • Instans berbasis DRAM yang kompatibel dengan Redis 7.0 atau 6.0 mendukung semua struktur data sebelumnya.

  • Instans berbasis DRAM yang kompatibel dengan Redis 5.0 mendukung semua struktur data sebelumnya kecuali TairVector.

Fitur tingkat perusahaan

Fitur tingkat perusahaan

Deskripsi

Flashback data untuk pemulihan data berdasarkan titik waktu

Setelah Anda mengaktifkan fitur flashback data untuk instans Tair, Tair menyimpan data cadangan file append-only (AOF) hingga tujuh hari. Selama periode retensi, Anda dapat menentukan titik waktu yang akurat hingga detik untuk membuat instans dan memulihkan data cadangan pada titik waktu yang ditentukan ke instans baru.

Proxy query cache

Setelah Anda mengaktifkan fitur proxy query cache, node proxy yang dikonfigurasi akan menyimpan permintaan dan tanggapan untuk hotkeys. Jika permintaan yang sama diterima dari klien dalam periode validitas tertentu, Tair mengambil tanggapan untuk permintaan tersebut dari cache dan mengembalikan tanggapan ke klien. Selama proses ini, Tair tidak perlu berinteraksi dengan shard data backend. Untuk informasi lebih lanjut, lihat Gunakan proxy query cache untuk menangani masalah yang disebabkan oleh hotkeys.

Global distributed cache

Global Distributed Cache untuk Tair adalah sistem database redundansi geo-aktif yang dikembangkan berdasarkan Redis Edisi Open-Source. Global Distributed Cache mendukung skenario bisnis di mana beberapa situs di wilayah berbeda memberikan layanan secara bersamaan. Ini membantu perusahaan mereplikasi arsitektur redundansi geo-aktif Alibaba.

Sinkronisasi data dua arah menggunakan DTS

Data Transmission Service (DTS) mendukung sinkronisasi data dua arah antara instans Tair. Solusi sinkronisasi ini cocok untuk skenario seperti redundansi geo-aktif dan pemulihan bencana geo. Untuk informasi lebih lanjut, lihat Konfigurasikan sinkronisasi data dua arah antara instans Tair.

FAQ

T: Apa yang harus saya lakukan jika klien tidak mendukung perintah yang disediakan oleh modul baru?

J: Anda dapat mendefinisikan perintah dari modul data baru dalam kode aplikasi Anda sebelum menggunakan perintah tersebut di klien Anda. Anda juga dapat menggunakan klien yang menyediakan dukungan bawaan untuk perintah-perintah ini. Untuk informasi lebih lanjut, lihat Klien.