Кіріспе
Java негізіндегі деректер қоры HSQLDB (Hyper SQL Database) – Java тілінде жазылған реляциялық деректерді басқару жүйесі. Ол JDBC драйверімен жабдықталған және SQL 92, SQL:2008, SQL:2011 және SQL:2016 стандарттарының үлкен бөлігін қолдайды. Бұл жылдам, кішкентай (2.2 нұсқасында шамамен 1300 килобайт) деректер қоры, жадта және дискідегі кестелерді ұсынады. Онда енгізілген және серверлік режимдер бар. Сонымен қатар, минималды веб-сервер, командалық жол және графикалық интерфейсті басқару құралдары (аплеттер ретінде іске қосылуы мүмкін), сондай-ақ көптеген демонстрациялық мысалдар кіреді. HSQLDB Java 1.1 нұсқасынан бастап, Kaffe сияқты ақысыз Java орындалыстарымен қоса, Java ортасында жұмыс істей алады. HSQLDB BSD лицензиясымен таратылады. Ол OpenOffice.org базасының (мысалы, Apache OpenOffice Base, LibreOffice Base және т.б.) және Jitsi VoIP бейнеконференция клиентінің 2.6 нұсқасынан бастап көптеген ашық кодты бағдарламалық жобаларда деректер қоры және деректерді сақтау механизмі ретінде қолданылады. Mathematica және InstallAnywhere (8.0 нұсқасынан бастап) сияқты коммерциялық өнімдерде де пайдаланылады.
HSQLDB (Hyper SQL Database) is a relational database management system written in Java. It has a JDBC driver and supports a large subset of SQL 92, SQL:2008, SQL:2011, and SQL:2016 standards. It offers a fast, small (around 1300 kilobytes in version 2.2) database engine which offers both in memory and disk based tables. Both embedded and server modes are available. Additionally, it includes tools such as a minimal Web server, command line and GUI management tools (can be run as applets), and a number of demonstration examples. It can run on Java runtimes from version 1.1 upwards, including free Java implementations such as Kaffe. HSQLDB is available under a BSD license. It is used as a database and persistence engine in many open source software projects, such as descendants of OpenOffice. org Base (i. e., Apache OpenOffice Base, LibreOffice Base, etc. ), and the Jitsi VoIP and video conference client since version 2.6. It is also used in commercial products, such as Mathematica and InstallAnywhere (starting with version 8.0).
Транзакцияларды қолдау
HSQLDB 2.0 нұсқасында транзакцияларды басқарудың үш режимі бар. Ол кесте деңгейіндегі құлыптаулармен немесе көп нұсқалы бір мезгілде басқару (MVCC), немесе құлыптаулар мен MVCC комбинациясы арқылы оқылатын және серияландырылатын транзакцияларды оқшаулау деңгейлерін қолдайды. 1.8.1 нұсқасы тек транзакцияларды оқшаулау деңгейі 0 (оқылмаған деректер) деңгейін ғана қолдайды.
Деректерді сақтау
HSQLDB тұрақты оқу-жазу деректерін сақтау үшін екі негізгі кесте түрін пайдаланады, яғни транзакция сәтті аяқталса, деректер жүйелік қатеден аман қалады және олардың толықтығы сақталады деп кепілдік беріледі. MEMORY түрі бойынша барлық дерек өзгерістері SQL скрипті түрінде дискіге сақталады. Қозғалтқыш іске қосылғанда, бұл командалар орындалады және деректер жадқа қайта құрастырылады. Тағы бір кесте түрі – CACHED, ол өнімділіктің төмендеуіне баға реті, көбірек деректерді сақтауға мүмкіндік береді. HSQLDB қозғалтқышы оларды тек ішінара жүктейді және транзакция аяқталғанда деректерді дискіге синхрондандырады. Дегенмен, қозғалтқыш жаңарту кезінде әсер еткен барлық қатарларды жадқа жүктейді. Бұл жұмысты кішірек бөліктерге бөлмей, өте үлкен жаңартуларды жүзеге асыру мүмкін емес етеді. Басқа кесте түрлері үтірмен бөлінген мәндері бар (CSV) файлдарға қол жеткізуге мүмкіндік береді. Бұл кестелер, мысалы, JOIN сұраныстарына қатыса алады, электрондық кестелерді өңдеуді жеңілдетеді және жадта уақытша деректерді оқу-жазуға мүмкіндік береді.
SQL ерекшеліктері
HSQLDB 2.0 SQL:2008 стандартының негізгі мүмкіндіктерінің барлығын және көптеген қосымша мүмкіндіктерін қолдайды. Күрделі мүмкіндіктерге пайдаланушы анықтаған SQL процедуралары мен функциялары, схемалар, уақыт аралықтары, жаңартылатын көріністер, массивтер, лобтар, толық және бүйірлік біріктірулер, сондай-ақ жиынтық амалдар кіреді. TO CHAR және DECODE сияқты көптеген стандартты емес функциялар да қолдау көрсетіледі. Стандартты SQL-ге енгізілген кеңейтімдерге пайдаланушы анықтаған жиынтық функциялар жатады.
Шығарылымдар
HSQLDB-нің бірнеше нұсқасы 2001 жылдан бері жарық көрді. Алғашқы нұсқалары қолданыстан тоқтатылған HypersonicSQL дерекқорының қозғалтқышына негізделген. 2010 жылы шыққан 2.0 нұсқасы көбінесе жаңа кодтан тұрады және Стандартты SQL мен JDBC 4 талаптарына сәйкес жазылған. 2.3.2 нұсқасы (2014 жылы шығарылды) толыққанды көп жіпті және жоғары өнімділікті екі кезеңді құлыптау мен MVCC (көп нұсқалы бірмезгілді басқару) транзакциялық басқару модельдерін қолдайды.