Mateusz Grzechociński - strona domowa
| Nowości |
|---|
| Popularne |
|---|
| H2 - Łatwo, lekko i przyjemnie |
|
|
Część mojej przygody z programowaniem jest związana również z bazami danych. Przez moje ręce przewinął się (w praktyce) nie tylko MySQL, ale przede wszystkim Oracle. Używalem i używam głównie darmowej, acz okrojonej wersji 10g - Express Edition (sid: XE). Mając ją zainstalowaną na swoim komputerze, do nawet małych projektów, z przywyczajenia zaciągałem całą tą wielką machinę. Czas to zmienić...
Z kilku źródeł dowiedziałem się ostatnio o istnieniu projektu H2 - darmowej (również do komercyjnego użytku) bazy danych. Dziś, mając chwilę czasu postanowiłem się jej przyjrzeć.
To, co spodobało mi się już na wstępie to strona całego projektu. Intuicyjnie, krótko, ale treściwie, słowem: tak jak lubię! Szczególnie przypadła mi do gustu AJAX'owa wyszukiwarka :) Po 5 minutach przejrzenia quickstart'a, tutoriala i FAQ, ściągnąłem i zainstalowałem to cudo.
I znowu tak jak lubię, bez zbednej konfiguracji, miliona opcji do wyboru dostałem do ręki bardzo prosty interfejs webowy gdzie mogę o coś zapytać bazę, przejrzeć drzewko tablic/kolumn itd.
Podążając za naprawdę fajną dokumentacją bez problemu przeniosłem swoj aktualny projekt z Oracle'a na H2. Hibernate nie miał z tym żadnych problemów. Co mnie szczególnie zaskoczyło - w H2 istnieje mechanizm sekwencji! Obyło się więc, bez jakichkolwiek zmian w plikach mapujących.
Instancja bazy H2 zakładana jest jedynie na kilku plikach w wyznaczonym przez nas miejcu. Miejsce to określamy w url'u połączeniowym. Domyślny URL - jdbc:h2:~/MyDB powoduje zalożenie bazy MyDB w katalogu domowym użytkwonika (tam będą przechowywane wspomniane pliki). W przypadku Windowsów należy więc ich szukac w C:\Document and Settings\
Istnieje również możliwość uruchomienia bazy H2 w trybie in-memory (poprzez url:
H2 to baza idealna do małych projektów, w których liczy się lekkość, szybkość i mały rozmiar samej bazy. Idealnie nadaje się w miejsca, gdzie potrzebujemy bazy samej w sobie, a nie wielkiego systemu bazodanowego. Można ją dostarczać razem z aplikacją, startować z poziomu aplikacji w dowolnym momencie poprzez udostępnione API. Bardzo fajnie integruje ją sie też z aplikacjami J2EE - autorzy opracowali w tym celu też listener'a, który powoduje start bazy razem z naszą aplikacją. Wystarczy tylko do deskryptora web.xml w naszej aplikacji dodać:
|
|||
