Bellek içi veritabanı - In-memory database - Wikipedia

Bir bellek içi veritabanı (IMDB, Ayrıca ana bellek veritabanı sistemi veya MMDB veya bellekte yerleşik veritabanı) bir veritabanı Yönetim sistemi öncelikle dayanır ana hafıza için bilgisayar veri depolama. Kullanan veritabanı yönetim sistemleri ile karşılaştırılmıştır. disk kapasitesi mekanizma. Bellek içi veritabanları disk için optimize edilmiş veritabanlarından daha hızlıdır çünkü disk erişimi bellek erişiminden daha yavaştır, dahili optimizasyon algoritmaları daha basittir ve daha az CPU talimatı yürütür. Bellekteki verilere erişim ortadan kalkar arama süresi verileri sorgularken, diskten daha hızlı ve daha öngörülebilir performans sağlar.[1][2]

Telekomünikasyon ağ ekipmanı çalıştıranlar gibi yanıt süresinin kritik olduğu uygulamalar ve mobil reklamcılık ağlar, genellikle ana bellek veritabanlarını kullanır.[3] IMDB'ler, özellikle Veri analizi boşluktan başlayarak 2000'lerin ortası - temel olarak büyük belleğe hitap edebilen çok çekirdekli işlemciler ve daha ucuz olması nedeniyle Veri deposu.[4][5]

Bellek içi veri depolamayla ilgili olası bir teknik engel, RAM'in uçuculuğudur. Özellikle bir güç kaybı durumunda, kasıtlı veya başka bir şekilde, uçucu RAM kayıp.[6] Girişiyle uçucu olmayan rasgele erişimli bellek teknoloji, bellek içi veritabanları elektrik kesintisi durumunda tam hızda çalışabilecek ve verileri koruyabilecektir.[7][8][9]

ACID desteği

En basit şekliyle, ana bellek veritabanları verileri geçici bellek cihazlar. Bu cihazlar, cihaz gücü kesildiğinde veya sıfırlandığında depolanan tüm bilgileri kaybeder. Bu durumda, IMDB'lerin "dayanıklılık" kısmını desteklemediği söylenebilir. ASİT (atomiklik, tutarlılık, izolasyon, dayanıklılık) özellikleri. Geçici bellek tabanlı IMDB'ler atomiklik, tutarlılık ve izolasyonun diğer üç ACID özelliğini destekleyebilir ve çoğu zaman destekler.

Birçok IMDB, aşağıdaki mekanizmalar aracılığıyla dayanıklılık ekledi:

  • Enstantane fotoğraf dosyalar veya kontrol noktası veri tabanının belirli bir anda durumunu kaydeden görüntüler. Sistem tipik olarak bunları periyodik olarak veya en azından IMDB kontrollü bir kapatma yaptığında üretir. Verilere bir kalıcılık ölçüsü verirken (bir sistem çökmesi durumunda veri tabanı her şeyi kaybetmez) sadece kısmi dayanıklılık sunarlar ('en son' değişiklikler kaybolacağından). Tam dayanıklılık için takviye gerekir. aşağıdakilerden biriyle:
  • İşlem günlüğü, bir günlük dosyasına veritabanındaki değişiklikleri kaydeden ve bellek içi veritabanının otomatik olarak kurtarılmasını kolaylaştıran.
  • Geçici Olmayan DIMM (NVDIMM ), Uçucu Olmayan veri güvenliği için genellikle NAND flash ile birlikte bir DRAM arabirimine sahip bir bellek modülü. İlk NVDIMM çözümleri, süper kapasitörler yedek güç kaynağı için piller yerine. Bu depolama ile IMDB, yeniden başlatmanın ardından güvenli bir şekilde durumundan devam edebilir.
  • Uçucu olmayan rasgele erişimli bellek (NVRAM), genellikle pil gücü (pil RAM) ile yedeklenmiş statik RAM veya elektriksel olarak silinebilir programlanabilir ROM (EEPROM ). Bu depolamayla, yeniden başlatılan IMDB sistemi, veri deposunu son tutarlı durumundan kurtarabilir.
  • Yüksek kullanılabilirlik veritabanına dayanan uygulamalar çoğaltma otomatik yük devretme birincil veritabanı arızası durumunda aynı yedek veritabanına. Tam bir sistem çökmesi durumunda veri kaybına karşı koruma sağlamak için, normalde yukarıda listelenen mekanizmalardan birine veya daha fazlasına ek olarak bir IMDB'nin çoğaltılması kullanılır.

Bazı IMDB'ler, veritabanı şemasının veritabanının seçilen alanları için farklı dayanıklılık gereksinimleri belirlemesine izin verir - bu nedenle, kolayca yeniden oluşturulabilen veya bir sistem kapatıldıktan sonra hiçbir anlamı olmayan daha hızlı değişen verilerin dayanıklılık için günlüğe kaydedilmesi gerekmez (ancak yüksek kullanılabilirlik için çoğaltılması gerekir), oysa konfigürasyon bilgileri koruma gerektiriyor olarak işaretlenir.

Disk üzerinde veritabanları olan hibritler

Verilerin bellekte depolanması performans avantajları sağlarken, pahalı bir veri depolama yöntemidir. Bellek içi depolamanın maliyetlerini sınırlarken avantajlarını gerçekleştirmeye yönelik bir yaklaşım, en sık erişilen verileri bellekte ve geri kalanını diskte depolamaktır. Hangi verilerin bellekte depolanması gerektiği ile hangisinin diskte depolanması gerektiği arasında kesin bir ayrım olmadığından, bazı sistemler verilerin kullanımına bağlı olarak verilerin nerede depolandığını dinamik olarak günceller.[10] Bu yaklaşım, Önbelleğe almak en çok yakın zamanda erişildi veriler çoğunun aksine önbelleğe alınır sık erişilen veriler bellekte saklanıyor.

Hibrit yaklaşımların esnekliği, aşağıdakiler arasında bir denge kurulmasına izin verir:

  • performans (belirtilen verileri diske gitmek yerine tamamen bellekte sıralayarak, depolayarak ve geri getirerek geliştirilmiştir)
  • maliyet, çünkü daha az maliyetli bir sabit disk daha fazla bellekle ikame edilebilir
  • sebat
  • form faktörü, çünkü RAM yongaları yoğunluk küçük bir sabit sürücünün

İçinde Bulut bilişim endüstride "veri sıcaklığı" veya "sıcak veri" ve "soğuk veri" terimleri, verilerin bu açıdan nasıl depolandığını açıklamak için ortaya çıkmıştır.[11] Sıcak veriler, sık erişilmesi gereken görev açısından kritik verileri tanımlamak için kullanılırken, soğuk veriler, arşivleme veya denetim amacıyla tutulan veriler gibi daha az sıklıkta ve daha az acil olarak ihtiyaç duyulan verileri açıklar. Sıcak veriler, genellikle bellek içi depolamayla, ancak her zaman değil, hızlı erişim ve değişiklik sunan şekillerde depolanmalıdır. Öte yandan, soğuk veriler daha uygun maliyetli bir şekilde depolanabilir ve veri erişiminin sıcak verilere göre muhtemelen daha yavaş olacağı kabul edilmektedir. Bu açıklamalar yararlı olmakla birlikte, "sıcak" ve "soğuk" için somut bir tanım yoktur.[11]

Üretim verimliliği, birleşik bir bellek içi / disk üzerinde veritabanı sistemi seçmek için başka bir neden sağlar. Bazı cihaz ürün serileri, özellikle tüketici elektroniği, kalıcı depolamaya sahip bazı birimleri ve depolama için belleğe dayanan diğerlerini içerir (set üstü kutular, Örneğin). Bu tür cihazlar bir veritabanı sistemi gerektiriyorsa, bir üretici daha düşük ve daha düşük seviyede bir hibrit veritabanı sistemi benimseyebilir. üst disksiz ve disk tabanlı ürünler için sırasıyla ayrı bellek içi ve disk üstü veritabanları kullanmak yerine kodun daha az özelleştirilmesiyle ve maliyetle.

İlk veritabanı motoru hem bellek içi hem de disk üzerindeki tabloları tek bir veritabanında desteklemek için, WebDNA, 1995 yılında piyasaya sürüldü.

Depolama hafızası

Diğer bir varyasyon, sunucuda büyük miktarlarda geçici olmayan bellek içerir, örneğin, flash bellek yongaları disk dizileri olarak yapılandırılmak yerine adreslenebilir bellek olarak kullanılır. Bu bellek biçimindeki bir veritabanı, çok hızlı erişim hızı ile yeniden başlatma ve güç kayıpları üzerindeki sürekliliği birleştirir.[12]

Ayrıca bakınız

Notlar

  1. ^ "Tanım: bellek içi veritabanı". WhatIs.com. Alındı 19 Ocak 2013.
  2. ^ Michael Vizard. "Bellek İçi Veritabanlarının Yükselişi". Slashdot. Arşivlenen orijinal 1 Şubat 2013 tarihinde. Alındı 19 Ocak 2013.
  3. ^ "TeleCommunication Systems, TimesTen Bayisi Olarak Kaydoldu; Mobil Operatörler ve Taşıyıcılar Konum Tabanlı Hizmetler için Gerçek Zamanlı Platform Kazanıyor". Business Wire. 2002-06-24.
  4. ^ "Düşen RAM Fiyatları Bellek İçi Veritabanı Dalgalanmasını Sağlıyor". SAP. Alındı 19 Ocak 2013.
  5. ^ "Bellek İçi Veritabanlarının Yükselişi Çok Çeşitli İşleri Etkiler". Dice.com. 13 Temmuz 2012.
  6. ^ "Bellek içi bilgi işlem: güç kesildiğinde ne olur?". Alındı 10 Mart, 2017.
  7. ^ Tarihsel olarak, RAM kalıcı bir veri deposu olarak kullanılmıyordu ve bu nedenle bu örneklerde veri kaybı bir sorun değildi. Uçucu Olmayan Anılar ile Tüm Sistem Kalıcılığı http://research.microsoft.com/apps/pubs/default.aspx?id=160853
  8. ^ NAND Flash Belleğin Kasvetli Geleceği http://research.microsoft.com/apps/pubs/default.aspx?id=162804
  9. ^ AGIGARAM NVDIMM, sistem arızası yoluyla verileri kaydeder https://www.embedded.com/electronics-products/electronic-product-reviews/real-time-and-performance/4422291/AGIGARAM-NVDIMM-saves-data-through-system-failure
  10. ^ "Teradata, akıllı bir şekilde ZDNet olarak bellek içi çatışmaya girer". Alındı 28 Temmuz 2017.
  11. ^ a b "Fark Nedir: Sıcak ve Soğuk Veri Depolama". Alındı 28 Temmuz 2017.
  12. ^ "Gerçekten bunlar ALTIN ​​YILLARDIR Depolama."

Referanslar

  • Jack Belzer. Bilgisayar Bilimi ve Teknolojisi Ansiklopedisi - Cilt 14: Sıfır Belleğe ve Markov Bilgi Kaynağına Çok Büyük Veri Tabanlı Sistemler. Marcel Dekker Inc. ISBN  978-0-8247-2214-2.

Dış bağlantılar