A memóriában lévő adatbázisok listája
1. Áttekintés
A memóriában lévő adatbázisok az adatok tárolásához a rendszermemóriára támaszkodnak, szemben a lemezterülettel. Mivel a memória hozzáférés gyorsabb, mint a lemez, ezek az adatbázisok természetesen gyorsabbak.
Természetesen csak a memóriában lévő adatbázist használhatjuk olyan alkalmazásokban és forgatókönyvekben, ahol az adatokat nem kell kitartani, vagy a tesztek gyorsabb végrehajtása céljából. Gyakran beágyazott adatbázisként futnak, ami azt jelenti, hogy a folyamat indulásakor jönnek létre, és a folyamat befejezésekor elvetik, ami rendkívül kényelmes a teszteléshez, mivel nem kell külső adatbázist beállítania.
A következő szakaszokban: megnézzük a Java-környezetben leggyakrabban használt memória-adatbázisokat és az ezekhez szükséges konfigurációt.
2. H2 adatbázis
H2 egy Java-ban írt nyílt forráskódú adatbázis, amely támogatja a standard SQL-t mind a beágyazott, mind az önálló adatbázisokhoz. Nagyon gyors, és csak 1,5 MB körüli JAR-ban található.
2.1. Maven-függőség
Használni H2 egy adatbázisban, hozzá kell adnunk a következő függőséget:
com.h2adatbázis h2 1.4.194
A legújabb verzió a H2 az adatbázis letölthető a Maven Central oldalról.
2.2. Konfiguráció
Csatlakozás egy H2 memória-adatbázisban, használhatunk kapcsolatot Húr a protokollal mem, amelyet az adatbázis neve követ. A driverClassName, URL, felhasználónév és Jelszó tulajdonságok elhelyezhetők a .tulajdonságok fájl, amelyet alkalmazásunk olvashat:
driverClassName = org.h2.Driver url = jdbc: h2: mem: myDb; DB_CLOSE_DELAY = -1 felhasználónév = sa jelszó = sa
Ezek a tulajdonságok biztosítják a myDb az adatbázis automatikusan létrejön az alkalmazás indításakor.
Alapértelmezés szerint, ha az adatbázishoz való kapcsolat megszűnik, az adatbázis is bezáródik. Ha azt akarjuk, hogy az adatbázis addig tartson, amíg a JVM fut, akkor megadhatjuk a tulajdonságot DB_CLOSE_DELAY = -1
Ha az adatbázist hibernált állapotban használjuk, meg kell adnunk a hibernált dialektust is:
hibernate.dialect = org.hibernate.dialect.H2Dialect
H2 az adatbázist rendszeresen karbantartják, és részletesebb dokumentációt nyújt a h2database.com oldalon.
3. HSQLDB (HyperSQL Adatbázis)
HSQLDB egy nyílt forráskódú projekt, szintén Java nyelven írva, relációs adatbázist képviselve. Követi az SQL és a JDBC szabványokat, és támogatja az SQL szolgáltatásait, például a tárolt eljárásokat és a triggereket.
Használható in-memory módban, vagy konfigurálható a lemezes tárolás használatára.
3.1. Maven-függőség
Alkalmazás fejlesztése a HSQLDB, szükségünk van a Maven-függőségre:
org.hsqldb hsqldb 2.3.4
Megtalálja a legújabb verzióját HSQLDB a Maven Central-on.
3.2. Konfiguráció
A szükséges kapcsolat tulajdonságoknak a következő formátumuk van:
driverClassName = org.hsqldb.jdbc.JDBCDriver url = jdbc: hsqldb: mem: myDb felhasználónév = sa jelszó = sa
Ez biztosítja, hogy az adatbázis indításkor automatikusan létrejön, az alkalmazás időtartama alatt a memóriában marad, és a folyamat befejeztével törlődik.
A Hibernálás nyelvjárási tulajdona HSQLDB az:
hibernate.dialect = org.hibernate.dialect.HSQLDialect
A JAR fájl tartalmaz egy GUI-val rendelkező adatbázis-kezelőt is. További információ a hsqldb.org weboldalon található.
4. Apache Derby adatbázis
Apache Derby egy másik nyílt forráskódú projekt, amely a. által létrehozott relációs adatbázis-kezelő rendszert tartalmaz Apache Software Foundation.
Derby SQL és JDBC szabványokon alapul, és főleg beágyazott adatbázisként használják, de kliens-kiszolgáló módban is futtatható a Derby hálózati szerver keretrendszer.
4.1. Maven-függőség
Használni a Derby alkalmazás adatbázisában hozzá kell adnunk a következő Maven-függőséget:
org.apache.derby derbi 10.13.1.1
A legfrissebb verziója Derby adatbázis megtalálható a Maven Central oldalon.
4.2. Konfiguráció
A kapcsolati karakterlánc a memória jegyzőkönyv:
driverClassName = org.apache.derby.jdbc.EmbeddedDriver url = jdbc: derby: memória: myDb; create = true felhasználónév = sa jelszó = sa
Ahhoz, hogy az adatbázis automatikusan elinduljon az indításkor, meg kell adnunk létrehoz = igaz a kapcsolati karakterláncban. Az adatbázis alapértelmezés szerint zárva van, és a JVM kilépéskor eldobásra kerül.
Ha az adatbázist a Hibernálás, meg kell határoznunk a nyelvjárást:
hibernate.dialect = org.hibernate.dialect.DerbyDialect
Tudjon meg többet erről Derby adatbázis a db.apache.org/derby címen.
5. SQLite adatbázis
SQLite egy SQL adatbázis, amely csak beágyazott módban fut, akár a memóriában, akár fájlként mentve. C nyelven íródott, de Java-val is használható.
5.1. Maven-függőség
Használni egy SQLite adatbázishoz hozzá kell adnunk a JDBC illesztőprogram JAR-ját:
org.xerial sqlite-jdbc 3.16.1
Az sqlite-jdbc függőség letölthető a Maven Centralról.
5.2. Konfiguráció
A kapcsolat tulajdonságai a org.sqlite.JDBC vezető osztály és a memória protokoll a kapcsolati karakterlánchoz:
driverClassName = org.sqlite.JDBC url = jdbc: sqlite: memória: myDb felhasználónév = sa jelszó = sa
Ez létrehozza a myDb automatikusan, ha nem létezik.
Jelenleg Hibernálás nyelvjárást nem nyújt SQLite, bár a jövőben nagyon valószínű. Ha használni szeretné SQLite val vel Hibernálás, létre kell hoznia a HibernateDialect osztály.
További információkért SQLite, látogasson el az sqlite.org webhelyre.
6. Memóriában lévő adatbázisok a tavaszi indításkor
A Spring Boot különösen megkönnyíti a memóriában lévő adatbázis használatát - mert ezzel automatikusan létrehozhatja a konfigurációt H2, HSQLDB, és Derby.
Annak érdekében, hogy a Spring Boot három típusának egyikét használjuk, csak annyit kell tennünk, hogy hozzáadjuk a függőségét a pom.xml. Amikor a keretrendszer találkozik az osztályút függőségével, automatikusan beállítja az adatbázist.
7. Következtetés
Ebben a cikkben gyorsan áttekintettük a Java ökoszisztéma leggyakrabban használt memóriában lévő adatbázisait, azok alapvető konfigurációival együtt. Bár hasznosak a teszteléshez, ne feledje, hogy sok esetben nem ugyanolyan funkcionalitást nyújtanak, mint az eredeti önállóak.
Az ebben a cikkben használt kód példákat a Github oldalon találja.