Tair kalıcı bellek için optimize edilmiş örnekler, yerleşik veri kalıcılığı sağlayan büyük kapasiteli ve Redis uyumlu bellek içi veritabanları sunmak amacıyla kalıcı belleği (PMEM) kullanır. Her yazma işlemi, geleneksel disk depolamaya başvurmadan komut düzeyinde kalıcı hale getirilir; bu sayede neredeyse aynı aktarım hızı ve gecikme süresi korunurken maliyetler Redis Açık Kaynak Sürümüne kıyasla %30'a kadar düşer.
Arka plan
Alibaba Cloud, 2018 yılında kalıcı bellek araştırmalarına ve uygulamalarına yatırım yapmaya başladı. O yıl Double 11 sırasında e-ticaret ürünlerinin çekirdek kümesinde kalıcı bellek kullanılarak maliyetler önemli ölçüde azaltıldı ve böylece Çin'de kalıcı belleği üretim ortamında resmi olarak devreye alan ilk ürün haline gelindi.
Olgun cloud ortamları ve gelişmiş kalıcı bellek teknolojileri, Alibaba Cloud'un veri kalıcılığı için yeni bir motor geliştirmesine olanak tanıdı. Bu motor, Redis'in geleneksel geçici belleğini PMEM ile değiştirerek veri kaybı riskini önemli ölçüde azaltan Tair kalıcı bellek için optimize edilmiş örnekleri tanıtmak üzere ECS bare metal instances ile entegre edilmiştir.
Çalışma mekanizması
Standart Redis, kalıcılık için yalnızca ekleme yapılan dosya (AOF) yeniden yazma işlemlerine dayanır. Bu işlemler, yüksek bellek yapılandırmalarında yüksek gecikme süresine, ağ dalgalanmasına ve hizmet verilerinin yavaş yüklenmesine neden olabilecek fork() işlemlerini tetikler; bu da performans ve dayanıklılık arasında tercih yapmayı zorunlu kılar.
Kalıcı bellek için optimize edilmiş örnekler, ECS bare metal instances üzerinde değişken DRAM'i PMEM ile değiştirir. PMEM, geleneksel disk depolamaya başvurmadan bellek düzeyinde erişim gecikme süresi ve aktarım hızı sağlar. Her yazma işlemi ana düğümde kalıcı hale geldikten sonra yanıt döndürülür; bu sayede komut düzeyinde dayanıklılık elde edersiniz.
Bu mimari ayrıca veri katmanınızı basitleştirir. Uygulama, önbellek ve kalıcı depolamadan oluşan geleneksel üç katmanlı yığın, iki katmana indirgenir:

Avantajlar
| Avantaj | Açıklama |
|---|---|
| %30'a kadar daha düşük maliyet | PMEM kapasite maliyeti DRAM'den önemli ölçüde daha düşüktür; bu sayede Redis uyumluluğundan ödün vermeden altyapı harcamaları azaltılır. Performans, Redis Açık Kaynak Sürümünün yaklaşık %90'ı kadardır. |
| Komut düzeyinde kalıcılık | Yanıt döndürülmeden önce her yazma işlemi kalıcı hale getirilir. Periyodik anlık görüntülerden kaynaklanan veri kaybı penceresi bulunmaz. |
| fork kaynaklı gecikme yok | AOF yeniden yazma işlemleri artık fork() işlemlerini tetiklemez; bu sayede büyük bellek yapılandırmalarında fork nedeniyle oluşan yüksek gecikme süresi, ağ dalgalanması ve yavaş veri yükleme sorunları ortadan kalkar. |
| Genişletilmiş veri modülleri | exString desteği sunar; CAS ve CAD commands, exHash veri türü ve TairCpc içerir. |
| Redis uyumluluğu | Redis 6.0 veya önceki sürümlerin çoğu veri yapısı ve arabirimiyle uyumludur. Yüksek kullanılabilirlik, otomatik ölçeklendirme, günlük kaydı, akıllı tanılama ve esnek yedekleme ile geri yükleme özelliklerini içerir. |
Kullanım senaryoları
Büyük ölçekli ara veri hesaplama
Redis Açık Kaynak Sürümü performans gereksinimlerini karşılar ancak yüksek maliyetlidir. HBase gibi diğer veritabanları maliyeti düşürür ancak aktarım hızı ve gecikme süresi gereksinimlerini karşılayamaz. Kalıcı bellek için optimize edilmiş örnekler her iki hedefi de vurur: tam veri kalıcılığı ile birlikte önemli ölçüde daha düşük maliyette Redis'e yakın performans sunar.
Çalışma kümeniz büyük olduğunda ve erişim desenleri geniş kapsamlı olduğunda — PMEM'in DRAM'e karşı kapasite avantajının en değerli olduğu koşullarda — bu iş yükü iyi bir uyum sağlar.
Yüksek veri güvenilirliği gerektiren oyun hizmetleri
Oyun arka uçları genellikle düşük gecikme süreli erişim için Redis'i dayanıklılık için MySQL ile birleştirir. Kalıcı bellek için optimize edilmiş örnekler her iki rolü de konsolide eder: komut düzeyinde kalıcılık, Redis'in veri kaybı penceresini ortadan kaldırırken basitleştirilmiş mimari, Redis + MySQL kombinasyonuna kıyasla operasyonel karmaşıklığı ve maliyeti azaltır.