Kde ukladá dáta zabudovaná databáza H2?

1. Úvod

V tomto článku sa dozvieme, ako nakonfigurovať aplikáciu Spring Boot na použitie vloženej databázy H2, a potom uvidíme, kam vložená databáza H2 ukladá údaje.

Databáza H2 je ľahká a open-source databáza, ktorá v súčasnosti nemá komerčnú podporu. Môžeme ho použiť v rôznych režimoch:

  • režim servera - pre vzdialené pripojenia pomocou JDBC alebo ODBC cez TCP / IP
  • zabudovaný režim - pre miestne pripojenia, ktoré používajú JDBC
  • zmiešaný režim - to znamená, že môžeme použiť H2 pre miestne aj vzdialené pripojenie

H2 je možné nakonfigurovať tak, aby fungovalo ako databáza v pamäti, ale môže byť aj trvalé, napr. Jeho údaje budú uložené na disku. Na účely tohto tutoriálu budeme pracovať s databázou H2 vo vloženom režime s povolenou perzistenciou, aby sme mali údaje na disku.

2. Vstavaná databáza H2

Ak chceme používať databázu H2, budeme musieť pridať h2 a spring-boot-starter-data-jpa Závislosti závislé od našej pom.xml spis:

 com.h2database h2 1.4.200 runtime org.springframework.boot spring-boot-starter-data-jpa 2.3.4.RELEASE 

3. Režim zabudovanej perzistencie H2

Už sme spomenuli, že H2 mohol na ukladanie údajov databázy používať súborový systém. Najväčšou výhodou tohto prístupu v porovnaní s prístupom v pamäti je, že po reštartovaní aplikácie sa údaje databázy nestratia.

Sme schopní nakonfigurovať režim ukladania cez spring.datasource.url majetok v našom application.properties spis. Týmto spôsobom sme schopní nastaviť databázu H2 tak, aby používala prístup v pamäti, a to pridaním mem parameter v adrese URL zdroja údajov, za ktorým nasleduje názov databázy:

spring.datasource.url = jdbc: h2: mem: demodb

Ak použijeme režim trvalosti založený na súboroch, nastavíme namiesto možnosti jednu z dostupných možností pre umiestnenie diskov mem parameter. V nasledujúcej časti si povieme, čo sú tieto možnosti.

Pozrime sa, ktoré súbory vytvára databáza H2:

  • demodb.mv.db - na rozdiel od ostatných je tento súbor vždy vytvorený a obsahuje údaje, protokol transakcií a indexy
  • demodb.lock.db - je to súbor uzamknutia databázy a H2 ho znovu vytvorí, keď sa databáza používa
  • demodb.trace.db - tento súbor obsahuje informácie o stope
  • demodb.123.temp.db - používa sa na manipuláciu s guľkami alebo s obrovskými výsledkami
  • demodb.newFile - H2 používa tento súbor na zhutnenie databázy a obsahuje nový súbor s databázovým úložiskom
  • demodb.oldFile - H2 tiež používa tento súbor na zhutnenie databázy a obsahuje starý súbor s databázovým úložiskom

4. Umiestnenie úložiska zabudovanej databázy H2

H2 je veľmi flexibilný, pokiaľ ide o ukladanie databázových súborov. V tejto chvíli môžeme nakonfigurovať jeho úložný adresár na:

  • adresár na disku
  • aktuálny adresár používateľov
  • aktuálny adresár projektu alebo pracovný adresár

4.1. Adresár na disku

Môžeme nastaviť konkrétne umiestnenie adresára, kde budú uložené naše databázové súbory:

spring.datasource.url = jdbc: h2: file: C: / data / demodb

Všimnite si, že v tomto pripojovacom reťazci posledný blok odkazuje na názov databázy. Aj keď nám v tejto adrese URL pripojenia zdroja údajov chýba kľúčové slovo súboru, H2 ho spravuje a vytvorí súbory na zadanom mieste.

4.2. Aktuálny adresár používateľov

V prípade, že chceme ukladať databázové súbory do aktuálneho adresára používateľov, použijeme adresu URL zdroja údajov, ktorá obsahuje vlnovku (~) po spis kľúčové slovo:

spring.datasource.url = jdbc: h2: file: ~ / demodb

Napríklad v systémoch Windows bude tento adresár C: / Používatelia /.

Ak chcete uložiť databázové súbory do podadresára aktuálneho adresára používateľov:

spring.datasource.url = jdbc: h2: file: ~ / podadresár / demodb

Všimni si ak podadresár neexistuje, vytvorí sa automaticky.

4.3. Aktuálny pracovný adresár

Aktuálny pracovný adresár je taký, v ktorom je spustená aplikácia. V adrese URL zdroja údajov sa na ňu odkazuje ako bodka (.). Ak tam chceme databázové súbory, nakonfigurujeme ich nasledovne:

spring.datasource.url = jdbc: h2: file: ./ demodb

Ak chcete uložiť databázové súbory do podadresára aktuálneho pracovného adresára:

spring.datasource.url = jdbc: h2: file: ./ podadresar / demodb

Všimnite si, že ak podadresár neexistuje, vytvorí sa automaticky.

5. Záver

V tomto krátkom tutoriáli sme diskutovali o niektorých aspektoch databázy H2 a ukázali sme, kam má zabudovaná databáza H2 dáta. Naučili sme sa tiež, ako konfigurovať umiestnenie databázových súborov.

Kompletná ukážka kódu je k dispozícii na GitHub.


$config[zx-auto] not found$config[zx-overlay] not found