Baza de date în memorie

O bază de date în memorie ( IMDB ) este un sistem de gestionare a bazelor de date , pe care îl utilizează memoria unui computer ca stocare a datelor . Acest lucru diferă de sistemele convenționale de gestionare a bazelor de date care utilizează unități de hard disk în acest scop.

Memoria principală a unui computer oferă viteze de acces mult mai mari decât unitățile de hard disk, iar algoritmii de acces sunt mai simpli. Acesta este motivul pentru care bazele de date în memorie sunt mult mai rapide și timpii lor de acces sunt mai previzibili decât cei ai sistemelor de gestionare a bazelor de date care accesează hard disk-urile. Cu toate acestea, memoria RAM este mult mai scumpă decât spațiul pe hard disk, astfel încât computerul individual are de obicei mult mai puțin. Cu toate acestea, dacă o bază de date necesită o capacitate de stocare ridicată, această barieră pentru bazele de date din memorie poate fi depășită prin intermediul calculării în rețea .

Non-persistență

Deoarece bazele de date din memorie își stochează datele în memoria principală volatilă, pe care le pierd în caz de blocare a sistemului, ele nu îndeplinesc pur și simplu cerința de stocare permanentă (persistență) a tranzacțiilor finalizate cu succes.

Multe baze de date în memorie pot ajuta și atinge o persistență mai mică sau mai mare în stocarea datelor cu următoarele metode:

  • Fișierele instantanee salvează starea bazei de date în anumite momente, de exemplu la intervale programate sau când baza de date este oprită într-un mod controlat. Cu toate acestea, orice modificare de la cel mai recent instantaneu poate fi în continuare pierdută cu această procedură.
  • În fișierele jurnal suplimentare sunt efectuate recent modificări la baza de date, de asemenea, demisionat. Ultima stare validă a bazei de date poate fi restaurată automat din cel mai recent instantaneu și din jurnalul modificărilor făcute între timp.
  • Utilizarea memoriei RAM non-volatile , implementată de obicei ca o combinație a unei memorii RAM volatile convenționale cu un stoc de energie, garantează că datele sunt păstrate chiar și atunci când sistemul este repornit .
  • Bazele de date în memorie foarte disponibile asigură durabilitatea prin replicare și, în caz de eșec, trecerea ( failover ) la o bază de date convențională.

Unele baze de date din memorie pot face părți ale bazei de date mai mult sau mai puțin persistente, dacă se dorește. Vă puteți salva dificultatea de a face copii de siguranță a datelor care este ușor de regenerat sau care este inutilă după un accident de sistem.

Baze de date hibride în memorie

Bazele de date hibride în memorie sunt sisteme de baze de date care pot stoca date atât în ​​memoria principală, cât și pe hard disk-uri. Acestea fac posibilă realizarea unui echilibru adecvat între performanță, costuri, durabilitate și factorul de formă în timpul funcționării.

Produse

Există o serie de implementări comerciale și open source ale bazelor de date în memorie. Acestea includ (în ordine alfabetică):

  • Apache Derby - poate fi configurat ca o bază de date pură în memorie
  • Altibase - SGBD hibrid
  • Berkeley DB - poate fi configurat ca o bază de date pură în memorie
  • Exasol
  • eXtremeDB - bază de date în memorie cu opțiuni pentru disponibilitate ridicată, cluster și SQL.
  • H2 - baza de date Java, un nou proiect de la inițiatorul HSQLDB, poate fi configurat ca o bază de date pură în memorie
  • HSQLDB - poate fi configurat ca o bază de date pură în memorie
  • IBM Informix Warehouse Accelerator
  • IBM solidDB - SGBD relațional în memorie
  • IBM Cognos TM1 - o bază de date OLAP , unul dintre primele produse în acest domeniu, lansată în 1984
  • InfoZoom
  • JetstreamDB - motor de stocare Java Object-Graph și bază de date în memorie
  • LucaNet - software special pentru business intelligence în contabilitate
  • Microsoft SQL Server 2014 ( Hekaton )
  • MySQL - vine cu un server cluster pentru o bază de date distribuită în memorie
  • NexusDB este o bază de date relațională în memorie care este adesea utilizată în mediul Embacadero Delphi
  • NF1DB - bază de date Java în memorie
  • Oracle Times Ten
  • Opțiunea Oracle In-Memory a Oracle Enterprise Edition
  • Raima - Baza de date în memorie cu opțiuni pentru disponibilitate ridicată și SQL.
  • Redis - un sistem cheie-valoare
  • SAP HANA - baza de date de memorie principală a platformei HANA
  • SQLite - poate partaja memoria principală și hard disk-urile
  • Tarantool - În grila de date în memorie
  • TIBCO ActiveSpaces - În baza de date a grilei de memorie
  • RxDB - bază de date JavaScript reactivă

critică

Termenul „bază de date în memorie” nu este foarte clar. Bazele de date convenționale folosesc, de obicei, memoria principală pentru a evita accesul lent la I / O ca pe un hard disk. În funcție de configurația sistemului, întreaga bază de date poate fi păstrată și în memoria principală. Mai mult, structura datelor sau a indexului este de obicei mai importantă pentru viteza unui sistem de baze de date decât viteza de acces a mediului de stocare. Doar optimizarea acestor structuri de date pe memoria principală fără structuri pentru accesul I / O reprezintă o diferență față de bazele de date convenționale.

Viteza mare în „bazele de date în memorie” este atinsă parțial prin restricționarea capacităților de persistență și consistență . Acest lucru este perfect legitim pentru bazele de date care sunt destinate în principal accesului la citire, dar problematic pentru alte cazuri de utilizare. Pentru a compensa aceste probleme, unele produse precum Redis și MySQL sunt, de asemenea, adesea combinate și „bazele de date în memorie” servesc apoi scopului unei cache .

Vezi si

  • Grid computing - posibilitatea de a distribui baze de date în memorie
  • NoSQL - O altă alternativă la sistemele de gestionare a bazelor de date

literatură

  • Jack Belzer: Sisteme de baze de date foarte mari la sursă de informații Zero-Memory și Markov . În: Albert G. Holzman (Ed.): Enciclopedia informaticii și tehnologiei . bandă 14 . Marcel Dekker Inc, 1980, ISBN 978-0-8247-2214-2 (engleză).
  • Hasso Plattner, Alexander Zeier: Gestionarea datelor în memorie: un punct de inflexiune pentru aplicațiile pentru întreprinderi . Prima ediție. Springer, 2011, ISBN 978-3-642-19362-0 (engleză).

Link-uri web

Dovezi individuale

  1. Bernhard Cole: baza de date încorporată hibridă combină gestionarea datelor pe disc și în memorie. Embedded.com, 2 mai 2007, accesat la 6 iulie 2010 .
  2. Steve Graves: Managementul hibrid al datelor primește tracțiune în set-top box-uri. (Nu mai este disponibil online.) Embedded.com, 28 iulie 2008, arhivat din original la 23 mai 2016 ; accesat la 6 iulie 2010 (engleză). Informații: linkul arhivei a fost inserat automat și nu a fost încă verificat. Vă rugăm să verificați linkul original și arhivă conform instrucțiunilor și apoi eliminați această notificare. @ 1@ 2Șablon: Webachiv / IABot / www.embedded.com
  3. ^ IBM Informix Warehouse Accelerator. (Nu mai este disponibil online.) IBM.com, arhivat din original la 8 august 2011 ; Adus la 30 iunie 2012 . Informații: linkul arhivei a fost inserat automat și nu a fost încă verificat. Vă rugăm să verificați linkul original și arhivă conform instrucțiunilor și apoi eliminați această notificare. @ 1@ 2Șablon: Webachiv / IABot / www-01.ibm.com
  4. Dezinvestire IBM solidDB. IBM.com, accesat la 16 august 2014 .
  5. Clasarea motoarelor DB a magazinelor cheie-valoare
  6. RxDB pe Github
  7. ^ Craig S. Mullins: Cum să determinați dacă un SGBD în memorie este potrivit pentru compania dvs. searchdatamanagement.techtarget.com, aprilie 2015, accesat la 18 martie 2019 .
  8. Bryana Knight: mutarea datelor persistente din Redis. github.blog, 10 ianuarie 2017, accesat la 18 martie 2019 .