Na twee en 'n half jaar van ontwikkeling is die vrystelling van die relasionele DBMS Firebird 5.0 aangebied. Firebird gaan voort met die ontwikkeling van die InterBase 6.0 DBMS-kode, wat in 2000 deur Borland geopen is. Firebird is gelisensieer onder die gratis MPL en ondersteun ANSI SQL-standaarde, insluitend kenmerke soos snellers, gestoorde prosedures en replikasie. Binêre samestellings word voorberei vir Linux, Windows, macOS en Android.
Sleutel innovasies:
- Die vermoë om bewerkings in multi-threaded-modus uit te voer, is geïmplementeer. Parallellasie in veelvuldige drade is van toepassing wanneer indekse geskep word, vullis versamel (outomatiese en handmatige veegbewerkings), rugsteun skep en daaruit herstel. gfix -sweep -parallel 4 dbname gbak -b -par 4 -gebruiker gebruikersnaam -pass wagwoord dbname rugsteunnaam
- Bygevoeg ondersteuning vir gedeeltelike indekse wat slegs geselekteerde rekords insluit wat voldoen aan die voorwaardes wat gespesifiseer is wanneer die indeks geskep word. SKEP INDEKS IT1_COL OP T1 (COL) WAAR COL < 100;
- Die SELECT WITH LOCK-, UPDATE- en DELETE-stellings implementeer die "SKIP LOCKED"-sintaksis, wat jou toelaat om rekords uit te sluit wat 'n slot het op die tydstip dat die versoek gestuur word (byvoorbeeld om nie te wag vir die slot om vrygestel te word nie) wanneer dit met 'n ander transaksie kruis).
- Bygevoeg die vermoë om die databasis op te dateer na die huidige intermediêre weergawe van die berging (ODS - On-Disk-Structure) op die vlieg (inlyn-opdatering) sonder om te skep en te herstel vanaf 'n rugsteun. Byvoorbeeld, jy kan nou 'n databasis in die Firebird 4.0 (ODS 13.0)-formaat na die Firebird 5.0 (ODS 13.1)-formaat omskakel.
- Implementeer 'n kas van saamgestelde SQL-stellings wat outomaties in stand gehou word (verouderde inskrywings word uitgevee soos nodig). Die kasgrootte word ingestel via die MaxStatementCacheSize-parameter in firebird.conf.
- 'n Koppelvlak is bygevoeg vir die profilering van SQL en PSQL, wat jou toelaat om die uitvoeringstyd van elke navraag te skat, statistieke oor die aantal navrae te versamel en prestasieprobleme te identifiseer.
- Ondersteuning by die MERGE-uitdrukking gevoeg vir die voorwaardelike blok "WAN NIE OOR BRON OORGEWERK NIE", wat brand wanneer die bronrekord nie ooreenstem met enige rekords in die teikenstel nie. SAAMVOEG IN klante c GEBRUIK nuwe_kliënte nc AAN (c.id = nc.id) WANNEER PAS DAN UPDATEER STEL naam = nc.naam WANNEER NIE OOR BRON PAS NIE, SKEP DAN UIT
- Dit is nou moontlik om veelvuldige rye terug te keer deur 'n RETURNING-uitdrukking te gebruik as 'n gegewe DML-uitdrukking oor veelvuldige rye strek (voorheen is die fout "veelvuldige rye in enkelvoudige kies" in sulke situasies vertoon).
- Nuwe ingeboude funksies is bygevoeg: UNICODE_CHAR om die unicode-karakter terug te gee wat ooreenstem met die gegewe kode, en UNICODE_VAL om die kode vir die gegewe karakter terug te gee. Die Kwartparameter is by die UITTREKSEL-, EERSTE_DAY- en LAASTE_DAY-funksies gevoeg om die kwartaalgetal te bepaal.
- 'n Nuwe stelselpakket RDB$BLOB_UTIL is bygevoeg met 'n keuse van BLOB-bewerkings vir PSQL-modules.
- Die rekordkompressie-algoritme is verbeter om 'n veranderlike lengte-teller te gebruik om herhalende datareekse meer doeltreffend te pak. Die optimalisering het die kompressieverhouding van onvolledig gevulde lang VARCHAR-velde met UTF-8-gekodeerde data aansienlik verbeter.
- Bygevoeg die vermoë om te werk met tweerigtingwysers (rolleerbaar) wanneer toegang tot 'n databasis op afstand oor 'n netwerk verkry word.
- Die werkverrigting van blob-kopiering is geoptimaliseer.
- Volle ondersteuning bygevoeg vir die stringdefinisie-sintaksis wat in die SQL-standaard beskryf word. Byvoorbeeld, lyne kan nou deur opmerkings of spasies gebreek word: kies 'ab' /* comment */ 'cd' van RDB$DATABASIS; kies 'ab' 'cd' van RDB$DATABASIS;
Bron: opennet.ru
