Zoznam databáz v pamäti

1. Prehľad

Pamäťové databázy sa spoliehajú na systémovú pamäť, na rozdiel od miesta na disku na ukladanie údajov. Pretože prístup do pamäte je rýchlejší ako prístup na disk, sú tieto databázy prirodzene rýchlejšie.

Samozrejme, databázu v pamäti môžeme použiť iba v aplikáciách a scenároch, kde nie je potrebné uchovávať údaje alebo na účely rýchlejšieho vykonania testov. Často sa spúšťajú ako vložené databázy, čo znamená, že sa vytvárajú pri spustení procesu, a zahodia sa po ukončení procesu, čo je mimoriadne pohodlné na testovanie, pretože nemusíte nastavovať externú databázu.

V nasledujúcich častiach pozrieme sa na niektoré z najbežnejšie používaných pamäťových databáz pre prostredie Java a konfiguráciu potrebnú pre každú z nich.

2. Databáza H2

H2 je open source databáza napísaná v prostredí Java, ktorá podporuje štandardné SQL pre vložené aj samostatné databázy. Je veľmi rýchly a obsiahnutý v JAR iba okolo 1,5 MB.

2.1. Maven závislosť

Použit H2 databáz v aplikácii, musíme pridať nasledujúcu závislosť:

 com.h2database h2 1.4.194 

Najnovšia verzia H2 databázu je možné stiahnuť z Maven Central.

2.2. Konfigurácia

Ak sa chcete pripojiť k H2 v pamäti, môžeme použiť spojenie String s protokolom mem, za ktorým nasleduje názov databázy. The driverClassName, URL, užívateľské meno a heslo vlastnosti je možné umiestniť do a .vlastnosti súbor, ktorý si má naša aplikácia prečítať:

driverClassName = org.h2.Driver url = jdbc: h2: mem: myDb; DB_CLOSE_DELAY = -1 username = sa heslo = sa

Tieto vlastnosti zabezpečujú: myDb databáza sa vytvorí automaticky pri štarte aplikácie.

V predvolenom nastavení je uzavreté aj pripojenie k databáze. Ak chceme, aby databáza trvala tak dlho, ako je spustený JVM, môžeme určiť vlastnosť DB_CLOSE_DELAY = -1

Ak používame databázu s režimom dlhodobého spánku, musíme určiť aj dialekt dlhodobého spánku:

hibernate.dialect = org.hibernate.dialect.H2Dialect

H2 databáza je pravidelne udržiavaná a poskytuje podrobnejšiu dokumentáciu na h2database.com.

3. HSQLDB (HyperSQL Databáza)

HSQLDB je projekt otvoreného zdroja, ktorý je napísaný v jazyku Java a predstavuje relačnú databázu. Sleduje štandardy SQL a JDBC a podporuje funkcie SQL, ako sú uložené procedúry a spúšťače.

Môže byť použitý v režime v pamäti alebo môže byť nakonfigurovaný na použitie diskového úložiska.

3.1. Maven závislosť

Vyvinúť aplikáciu pomocou HSQLDB, potrebujeme závislosť Maven:

 org.hsqldb hsqldb 2.3.4 

Nájdete najnovšiu verziu servera HSQLDB na Maven Central.

3.2. Konfigurácia

Vlastnosti pripojenia, ktoré potrebujeme, majú nasledujúci formát:

driverClassName = org.hsqldb.jdbc.JDBCDriver url = jdbc: hsqldb: mem: myDb username = sa heslo = sa

To zaisťuje, že databáza sa vytvorí automaticky pri štarte, zostane v pamäti po celú dobu aplikácie a po ukončení procesu sa vymaže.

The Hibernácia nárečový majetok pre HSQLDB je:

hibernate.dialect = org.hibernate.dialect.HSQLDialect

Súbor JAR obsahuje aj správcu databáz s grafickým rozhraním. Viac informácií nájdete na webovej stránke hsqldb.org.

4. Databáza Apache Derby

Apache Derby je ďalší projekt typu open source obsahujúci systém správy relačných databáz vytvorený spoločnosťou Softvérová nadácia Apache.

Derby je založený na štandardoch SQL a JDBC a používa sa hlavne ako zabudovaná databáza, ale je možné ho spustiť aj v režime klient-server pomocou Derby Network Server rámec.

4.1. Maven závislosť

Ak chcete použiť a Derby databázy v aplikácii, musíme pridať nasledujúcu závislosť Maven:

 org.apache.derby derby 10.13.1.1 

Najnovšia verzia servera Derby databázu nájdete na Maven Central.

4.2. Konfigurácia

Pripojovací reťazec používa Pamäť protokol:

driverClassName = org.apache.derby.jdbc.EmbeddedDriver url = jdbc: derby: pamäť: myDb; create = skutočné používateľské meno = sa heslo = sa

Aby sa databáza mohla vytvárať automaticky pri štarte, musíme špecifikovať create = true v pripojovacom reťazci. Databáza je pri ukončení JVM štandardne zatvorená a zrušená.

Ak používate databázu s Hibernácia, musíme definovať dialekt:

hibernate.dialect = org.hibernate.dialect.DerbyDialect

Môžete si prečítať viac o Derby databáza na db.apache.org/derby.

5. Databáza SQLite

SQLite je databáza SQL, ktorá beží iba v zabudovanom režime, buď v pamäti alebo uložená ako súbor. Je napísaný v jazyku C, ale dá sa použiť aj v prostredí Java.

5.1. Maven závislosť

Ak chcete použiť SQLite databázy, musíme pridať JDBC ovládač JAR:

 org.xerial sqlite-jdbc 3.16.1 

Závislosť sqlite-jdbc je možné stiahnuť z Maven Central.

5.2. Konfigurácia

Vlastnosti pripojenia používajú org.sqlite.JDBC trieda vodiča a Pamäť protokol pre pripojovací reťazec:

driverClassName = org.sqlite.JDBC url = jdbc: sqlite: memory: myDb username = sa heslo = sa

Týmto sa vytvorí myDb databáza automaticky neexistuje, ak neexistuje.

V súčasnosti Hibernácia neposkytuje nárečie pre SQLite, aj keď to v budúcnosti veľmi pravdepodobne bude. Ak chcete použiť SQLite s Hibernácia, musíte vytvoriť svoj HibernateDialect trieda.

Ak sa chcete dozvedieť viac o SQLite, choďte na sqlite.org.

6. Databázy v pamäti v Spring Boot

Vďaka Spring Boot je použitie databázy v pamäti obzvlášť ľahké - pretože pre ňu môže automaticky vytvoriť konfiguráciu H2, HSQLDB, a Derby.

Všetko, čo musíme urobiť, aby sme mohli použiť databázu jedného z troch typov v Spring Boot, je pridať jej závislosť do pom.xml. Keď rámec zistí závislosť od cesty triedy, nakonfiguruje databázu automaticky.

7. Záver

V tomto článku sme sa rýchlo pozreli na najbežnejšie používané databázy v pamäti v ekosystéme Java spolu s ich základnými konfiguráciami. Aj keď sú užitočné na testovanie, nezabudnite, že v mnohých prípadoch neposkytujú úplne rovnakú funkčnosť ako pôvodné samostatné.

Príklady kódov použitých v tomto článku nájdete na serveri Github.


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