Wkrótce zostanie wydany HSQLDB 2.0. Zastanawiam się, czy osiągnie lepsze wyniki niż H2, ponieważ o ile wiem, większość użytkowników woli H2 niż HSQLDB. Jestem zainteresowany obsługą MVCC w HSQLDB 2.0. Dowiedziałem się, że MVCC na H2 jest nadal w fazie eksperymentalnej. Jeśli chodzi o wsparcie / dokumentację, współbieżność, wydajność, co jest lepsze między nimi?
85
Odpowiedzi:
Pamiętaj, że udzieliłem tej odpowiedzi w 2011 roku. Może być nieaktualna
Moja firma rozwija bibliotekę abstrakcji baz danych ( jOOQ ), która obsługuje obie bazy danych. Nasze testy integracyjne obejmują wiele funkcjonalności, w tym wywoływanie procedur składowanych i funkcji, tablic, zagnieżdżonych selekcji itp. Wydaje mi się, że
HSQLDB 2.1
są nieco szybsze niż wH2 1.3
przypadku małych baz danych, jeśli chodzi o DML.Jednak HSQLDB znacznie przewyższa H2 w operacjach DDL, a także podczas uruchamiania / zamykania instancji, nawet w przypadku małej bazy danych (z powodu kompilowania przez H2 funkcji zapisanych na nowo za pomocą javaca przy każdym uruchomieniu bazy danych!). Zależy to od sposobu przechowywania przechowywanych funkcji. Najwyraźniej jest to raczej „problem” specyficzny dla jOOQ, patrz także komentarz Thomasa Muellera.Z drugiej strony, zgadzam się z user trashgod, powinieneś przetestować wydajność w rozsądnym schemacie i przypadku użycia dla siebie.
źródło
Obie
HyperSQL
iH2 Database
są dość przejrzyste, więc testowanie może być najlepszym podejściem do określenia, które jest bardziej odpowiednie do określonego zastosowania. Dostępne są porównania między jednym a drugim . Łączy ich wspólne dziedzictwo i oba są open source .źródło