Yaddaşdaxili verilənlər bazası

Yaddaşdaxili verilənlər bazası (ing. In-memory database, IMDB) — verilənlərin əsas yaddaşda (ing. RAM) saxlandığı və emal edildiyi verilənlər bazası növüdür.[1] Ənənəvi verilənlər bazalarında verilənlər əsasən disklərdə və ya digər davamlı saxlama qurğularında saxlanılır,[2][3] bu isə verilənlərə çıxış sürətini RAM-dan daha yavaş edir. Yaddaşdaxili verilənlər bazaları isə bu məhdudiyyəti aradan qaldıraraq məlumatların oxuma və yazma əməliyyatlarını mümkün qədər sürətlə həyata keçirmək üçün RAM-dan istifadə edir.[4]

Xüsusiyyətləri

[redaktə | mənbəni redaktə et]
  1. Sürətli çıxış — yaddaşdaxili verilənlər bazası ənənəvi disk əsaslı bazalarla müqayisədə daha sürətli çıxış təmin edir, çünki RAM-a məlumat yazmaq və oxumaq diskdən çox daha sürətlidir.[5]
  2. Aşağı gecikmə (ing. low latency) — yaddaşda məlumatların saxlanılması sorğuların daha sürətli icra edilməsinə imkan verir, bu da real vaxt rejimində işləyən sistemlər üçün vacibdir.[6]
  3. Davamlılıq (ing. durability) — əsasən RAM-dan istifadə etməsinə baxmayaraq, yaddaşdaxili verilənlər bazalarının əksəriyyəti məlumatları diskdə ehtiyat nüsxə (ing. backup) kimi saxlayır. Məlumatlar elektrik kəsilməsi və ya sistem nasazlıqları zamanı itməsin deyə, tez-tez diskə sinxronizasiya olunur.[7]
  4. Verilənlərin sıxılması və optimallaşdırma — yaddaşın daha effektiv istifadəsi üçün məlumatlar sıxıla və optimallaşdırıla bilər ki, bu da böyük həcmli verilənlərin RAM-da saxlanılmasını asanlaşdırır.[8][9]

Üstünlükləri

[redaktə | mənbəni redaktə et]

Yaddaşdaxili bazalar böyük miqyaslı tətbiqlər üçün yüksək performans təmin edir, xüsusən də sorğuların çox sürətlə yerinə yetirilməsi tələb olunduqda.[10] Məlumatların yaddaşda saxlanılması real vaxtda böyük həcmdə məlumatların emalını mümkün edir, bu da tez-tez maliyyə bazarları, onlayn reklam platformaları,[11] oyunlar və digər real-vaxtlı sistemlərdə vacibdir. Diskə yazma əməliyyatlarından qaçındığı üçün yaddaşdaxili verilənlər bazaları daha sadə və yüngül ola bilər.[12]

İstifadə sahələri

[redaktə | mənbəni redaktə et]
  • Real-vaxt analitikası — böyük həcmdə məlumatların real vaxt rejimində təhlil edilməsi, məsələn, maliyyə bazarlarında ticarət əməliyyatları, elektron ticarət, IoT (ing. internet of things) qurğularından gələn məlumatlar.[13]
  • Keş (ing. caching) — verilənlərin sürətlə əldə olunması üçün yaddaşdaxili verilənlər bazaları keş kimi istifadə edilə bilər. Məsələn, Redis və Memcached bu məqsədlə geniş istifadə olunur.
  • Məhsul tövsiyələri — onlayn alış-veriş platformaları istifadəçilərə real vaxt rejimində məhsul tövsiyələri etmək üçün yaddaşdaxili verilənlər bazalarından faydalanır.
  • Oyunlar — multipleyer oyunlar və real vaxt rejimində yüksək performans tələb edən tətbiqlərdə yaddaşdaxili verilənlər bazaları geniş istifadə olunur.

Tanınmış yaddaşdaxili verilənlər bazaları

[redaktə | mənbəni redaktə et]
  • Redis — yaddaşda saxlanılan açar-dəyər verilənlər bazası, əsasən keş kimi istifadə olunur, həmçinin kompleks məlumat strukturlarını dəstəkləyir.
  • Memcached — sürətli və yüngül yaddaşdaxili verilənlər bazası, əsasən, keş məqsədləri üçün istifadə olunur.
  • SAP HANA — yüksək performanslı analitik və əməliyyatlar üçün istifadə olunan yaddaşdaxili verilənlər bazası.
  • VoltDB — real-vaxtlı analitik sorğular üçün optimallaşdırılmış yaddaşdaxili verilənlər bazası.[14]

Məhdudiyyətləri

[redaktə | mənbəni redaktə et]
  • Yaddaş miqdarı — RAM-ın fiziki məhdudiyyəti var, buna görə çox böyük verilənlər bazaları üçün disk əsaslı alternativlər daha uyğundur.
  • Məlumatın davamlılığı — RAM-da saxlanılan məlumatlar elektrik kəsilməsi və ya sistem nasazlığı zamanı itə bilər. Bunun qarşısını almaq üçün yaddaşdaxili bazalarda tez-tez diskə sinxronizasiya və ya ehtiyat nüsxə yaradılır.

Yaddaşdaxili verilənlər bazaları yüksək sürət tələb edən və real vaxt rejimində sorğu icra etmə ehtiyacı olan tətbiqlərdə geniş istifadə olunur, lakin yaddaşın məhdudiyyəti səbəbindən böyük məlumat dəstləri üçün disk əsaslı həllərlə birgə istifadə edilə bilər.[15]

  1. "In-memory computing: what happens when the power goes out?". 18 February 2015. İstifadə tarixi: March 10, 2017.
  2. "Definition: in-memory database". WhatIs.com. İstifadə tarixi: 19 January 2013.
  3. Michael Vizard. "The Rise of In-Memory Databases". Slashdot. 1 February 2013 tarixində orijinalından arxivləşdirilib. İstifadə tarixi: 19 January 2013.
  4. "TeleCommunication Systems Signs up as a Reseller of TimesTen; Mobile Operators and Carriers Gain Real-Time Platform for Location-Based Services". Business Wire. 2002-06-24.
  5. "Falling RAM Prices Drive In-Memory Database Surge". SAP. 4 November 2013 tarixində orijinalından arxivləşdirilib. İstifadə tarixi: 19 January 2013.
  6. "Rise of In-Memory Databases Impacts Wide Range of Jobs". Dice.com. July 13, 2012.
  7. "Teradata enters the in-memory fray, intelligently ZDNet". ZDNet. İstifadə tarixi: July 28, 2017.
  8. Historically, RAM was not used as a persistent data store and therefore data loss in these instances was not an issue.Whole-system Persistence with Non-volatile Memories http://research.microsoft.com/apps/pubs/default.aspx?id=160853
  9. The Bleak Future of NAND Flash Memory http://research.microsoft.com/apps/pubs/default.aspx?id=162804
  10. "Truly these are the GOLDEN YEARS of Storage."
  11. AGIGARAM NVDIMM saves data through system failure https://www.embedded.com/electronics-products/electronic-product-reviews/real-time-and-performance/4422291/AGIGARAM-NVDIMM-saves-data-through-system-failure
  12. "What's the Diff: Hot and Cold Data Storage". İstifadə tarixi: July 28, 2017.
  13. "What is SAP HANA?". SAP (English). İstifadə tarixi: 2024-08-01.
  14. "Oracle TimesTen In-Memory Database".
  15. Jack Belzer. 'Encyclopedia of Computer Science and Technology - Volume 14: Very Large Data Base Systems to Zero-Memory and Markov Information Source. Marcel Dekker Inc. April 1980. ISBN 978-0-8247-2214-2.