Gdje pohranjuje ugrađene baze podataka H2?

1. Uvod

U ovom ćemo članku naučiti kako konfigurirati aplikaciju Spring Boot za upotrebu ugrađene H2 baze podataka, a zatim ćemo vidjeti gdje H2 ugrađena baza podataka pohranjuje podatke.

Baza podataka H2 lagana je baza podataka otvorenog koda koja trenutno nema komercijalnu podršku. Možemo ga koristiti u raznim načinima:

  • način poslužitelja - za udaljene veze pomoću JDBC ili ODBC preko TCP / IP
  • ugrađeni način rada - za lokalne veze koje koriste JDBC
  • mješoviti način rada - to znači da H2 možemo koristiti i za lokalne i za udaljene veze

H2 se može konfigurirati za pokretanje kao baza podataka u memoriji, ali može biti i postojana, npr. Njegovi će se podaci pohraniti na disk. U svrhu ovog vodiča, radit ćemo s H2 bazom podataka u ugrađenom načinu s omogućenim postojanjem, tako da ćemo podatke imati na disku.

2. Ugrađena baza podataka H2

Ako želimo koristiti H2 bazu podataka, morat ćemo dodati h2 i spring-boot-starter-data-jpa Maven ovisnosti o našim pom.xml datoteka:

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

3. Ugrađeni način postojanosti H2

Već smo spomenuli da bi H2 mogao koristiti datotečni sustav za pohranu podataka iz baze podataka. Najveća prednost ovog pristupa u usporedbi s onim u memoriji je što se podaci baze podataka ne gube nakon ponovnog pokretanja aplikacije.

U mogućnosti smo konfigurirati način pohrane putem proljeće.dataizvor.url vlasništvo u našem primjena.svojstva datoteka. Na taj način možemo dodati H2 bazu podataka da koristi pristup u memoriji dodavanjem mem parametar u URL-u izvora podataka, nakon čega slijedi naziv baze podataka:

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

Ako koristimo način trajanja na temelju datoteka, postavit ćemo jednu od dostupnih opcija za mjesta na disku umjesto mem parametar. U sljedećem odjeljku razmotrit ćemo koje su to mogućnosti.

Pogledajmo koje datoteke H2 baza podataka stvara:

  • demodb.mv.db - za razliku od ostalih, ova se datoteka uvijek kreira i sadrži podatke, dnevnik transakcija i indekse
  • demodb.lock.db - to je datoteka zaključavanja baze podataka i H2 je ponovno kreira kad je baza podataka u uporabi
  • demodb.trace.db - ova datoteka sadrži podatke o tragovima
  • demodb.123.temp.db - koristi se za rukovanje mrljama ili ogromnim skupovima rezultata
  • demodb.newFile - H2 koristi ovu datoteku za zbijanje baze podataka i sadrži novu datoteku spremišta baze podataka
  • demodb.oldFile - H2 također koristi ovu datoteku za zbijanje baze podataka i sadrži staru datoteku spremišta baze podataka

4. Mjesto pohrane ugrađene baze podataka H2

H2 je vrlo fleksibilan u pogledu pohrane datoteka baza podataka. Trenutno njegov direktorij za pohranu možemo konfigurirati na:

  • direktorij na disku
  • trenutni direktorij korisnika
  • trenutni direktorij projekta ili radni direktorij

4.1. Direktorij na disku

Možemo postaviti određeno mjesto direktorija na kojem će se čuvati datoteke baze podataka:

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

Primijetite da u ovom nizu veze, posljednji dio odnosi se na ime baze podataka. Također, čak i ako propustimo ključnu riječ datoteke u ovom URL-u veze s izvorom podataka, H2 će njome upravljati i stvarati datoteke na navedenom mjestu.

4.2. Trenutni korisnički imenik

U slučaju da želimo pohraniti datoteke baze podataka u trenutni direktorij korisnika, upotrijebit ćemo URL izvora podataka koji sadrži tildu (~) nakon što datoteka ključna riječ:

opruga.datasource.url = jdbc: h2: datoteka: ~ / demodb

Na primjer, u Windows sustavima ovaj će direktorij biti C: / Korisnici /.

Da biste pohranili datoteke baze podataka u poddirektorij trenutnog korisničkog direktorija:

spring.datasource.url = jdbc: h2: datoteka: ~ / poddirektorij / demodb

Primijeti da ako poddirektorij ne postoji, automatski će se stvoriti.

4.3. Trenutni radni direktorij

Trenutni radni direktorij je onaj u kojem se aplikacija pokreće i na njega se navodi točka (.) U URL-u izvora podataka. Ako tamo želimo datoteke baze podataka, konfigurirat ćemo ih na sljedeći način:

opruga.datasource.url = jdbc: h2: datoteka: ./ demodb

Da biste pohranili datoteke baze podataka u poddirektorij trenutnog radnog direktorija:

spring.datasource.url = jdbc: h2: datoteka: ./ poddirektorij / demodb

Primijetite da ako poddirektorij ne postoji, automatski će se stvoriti.

5. Zaključak

U ovom kratkom vodiču razgovarali smo o nekim aspektima baze podataka H2 i pokazali gdje ugrađena baza podataka H2 pohranjuje podatke. Također smo naučili kako konfigurirati mjesto datoteka baze podataka.

Cjelovit uzorak koda dostupan je na GitHubu.


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