PĂ€rast kahte ja pool aastat arendust on vĂ€lja antud relatsiooni andmebaasi Firebird 5.0 versioon. Firebird jĂ€tkab InterBase 6.0 andmebaasisĂŒsteemi arendamist, mille Borland avas 2000. aastal. Firebird jaotatakse tasuta MPL litsentsi all ja toetab ANSI SQL standardeid, sealhulgas selliseid funktsioone nagu kĂ€ivitajad, salvestatud protseduurid ja replikatsioon. Binaarsed kogumikud on saadaval Linuxi, Windowsi, macOS ja Androidi jaoks.
Peamised uuendused:
- Reaalajas on vĂ”imalik teostada operatsioone mitme niidi reĆŸiimis. Mitme niidi kasutamine on kohaldatav indeksite loomisel, prĂŒgi kogumisel (automaatsed ja kĂ€sitsi sweep operatsioonid), varukoopiate loomisel ja nende taastamisel. gfix -sweep -parallel 4 dbname gbak -b -par 4 -user username -pass password dbname backupname
- Ăksikute kirjetega seotud osaliste indeksite tugi, mis sisaldab ainult valikulisi kirjeid, mis vastavad indeksi loomisel mÀÀratud tingimustele. CREATE INDEX IT1_COL ON T1 (COL) WHERE COL < 100;
- SELECT WITH LOCK, UPDATE ja DELETE lausetes on rakendatud sĂŒntaks "SKIP LOCKED", mis vĂ”imaldab vĂ€listada kirjed, millele on kĂŒsimise ajal rakendatud lukustus (nĂ€iteks et mitte oodata lukustuse vabastamist teise tehinguga).
- On lisatud vĂ”imalus uuendada andmebaasi ĂŒlesande praegusele vaheversioonile (ODS â On-Disk-Structure) otse (inline update) ilma varukoopia loomise ja taastamiseta. NĂ€iteks on nĂŒĂŒd vĂ”imalik otse muundada Firebird 4.0 (ODS 13.0) formaadis andmebaas Firebird 5.0 (ODS 13.1) formaati.
- On rakendatud automaatselt hallatav SQL-lauseid sisaldava vahemÀlu, mille aegunud kirjed puhastatakse vajadusel. VahemÀlu suurust mÀÀratakse parameetri MaxStatementCacheSize kaudu failis firebird.conf.
- Lisatud on SQL ja PSQL profileerimise liides, mis vÔimaldab hinnata iga pÀringu tÀitmise aega, koguda statistikat pÀringute arvu kohta ja tuvastada jÔudlusprobleeme.
- MERGE lausesse on lisatud tingimusliku ploki tugi "WHEN NOT MATCHED BY SOURCE", mis aktiveerub, kui algne kirje ei vasta ĂŒhelegi sihtkogumi kirjele. MERGE INTO customers c USING new_customers nc ON (c.id = nc.id) WHEN MATCHED THEN UPDATE SET name = nc.name WHEN NOT MATCHED BY SOURCE THEN DELETE
- Tagatud on vÔimalus RETURNING lausega tagasi anda mitu rida, kui antud DML-lausete komplekt katab mitu rida (varem antud olukordades tekkis viga "multiple rows in singleton select").
- Uued sisseehitatud funktsioonid: UNICODE_CHAR, mis tagastab unicode-mÀrgi vastava koodi, ja UNICODE_VAL, mis tagastab koodi antud mÀrgi jaoks. Funktsioonides EXTRACT, FIRST_DAY ja LAST_DAY on lisatud parameeter QUARTER, et mÀÀrata kvartali number.
- Uus sĂŒsteemipakett RDB$BLOB_UTIL, mis sisaldab BLOB-idega seotud operatsioonide kogumit PSQL-i moodulite jaoks, on lisatud.
- Parandatud on kirjade tihendamise algoritmi, mis rakendab nĂŒĂŒd muutuva pikkusega loenduri, et tĂ”husamalt pakkida korduvaid andmejĂ€rjestusi. Optimeerimine on vĂ”imaldanud oluliselt suurendada tihendustaset mittetĂ€ielikult tĂ€idetud pika VARCHAR-vĂ€lja puhul, millel on UTF-8 kodeering.
- Lisatud on vÔimalus töötada kahepoolselt kursori (scrollable) kaudu kaugandmebaasi juures.
- BLOB-ide kopeerimise jÔudluse optimeerimine on teostatud.
- TĂ€ielik tugi SQL-i standardis kirjeldatud stringide mÀÀratlemise sĂŒntaksile on lisatud. NĂ€iteks vĂ”ivad stringid nĂŒĂŒd olla katkendlikud kommentaaride vĂ”i tĂŒhikutega: select âabâ /* comment */ âcdâ from RDB$DATABASE; select âabâ âcdâ from RDB$DATABASE;
Allikas: opennet.ru
