Selepas dua setengah tahun pembangunan, Firebird 5.0, sebuah DBMS hubungan, telah dikeluarkan. Firebird terus membangunkan kod DBMS InterBase 6.0, yang telah disumberkan secara terbuka pada tahun 2000 oleh Borland. Firebird diedarkan di bawah lesen MPL percuma dan menyokong piawaian ANSI SQL, termasuk ciri seperti pencetus, prosedur tersimpan dan replikasi. Binaan binari tersedia untuk Linux, Windows, macOS и Android.
Inovasi utama:
- Keupayaan untuk melaksanakan operasi dalam mod berbilang benang telah dilaksanakan. Keselarian merentas berbilang rangkaian boleh digunakan untuk penciptaan indeks, pengumpulan sampah (operasi sapuan automatik dan manual), membuat sandaran dan memulihkan daripadanya. gfix -sweep -parallel 4 dbname gbak -b -par 4 -user username -pass password dbname backupname
- Sokongan tambahan untuk indeks separa yang merangkumi hanya rekod terpilih yang sepadan dengan syarat yang ditentukan semasa membuat indeks. BUAT INDEX IT1_COL PADA T1 (COL) DI MANA COL < 100;
- Pernyataan SELECT WITH LOCK, UPDATE dan DELETE melaksanakan sintaks "SKIP LOCKED", yang membolehkan anda mengecualikan rekod yang dikunci pada masa pertanyaan diserahkan (contohnya, untuk mengelakkan menunggu kunci dikeluarkan apabila bersilang dengan transaksi lain).
- Kami telah menambah keupayaan untuk mengemas kini pangkalan data kepada versi storan perantaraan terkini (ODS — On-Disk-Structure) dengan segera (kemas kini dalam talian), tanpa membuat dan memulihkan sandaran. Sebagai contoh, anda kini boleh menukar pangkalan data dalam format Firebird 4.0 (ODS 13.0) kepada format Firebird 5.0 (ODS 13.1) dengan segera.
- Cache penyata SQL yang disusun telah dilaksanakan, diselenggara secara automatik (entri lapuk dikosongkan mengikut keperluan). Saiz cache dikonfigurasikan melalui parameter MaxStatementCacheSize dalam firebird.conf.
- Menambahkan antara muka untuk pemprofilan SQL dan PSQL, membolehkan anda menilai masa pelaksanaan setiap pertanyaan, mengumpul statistik tentang bilangan pertanyaan dan mengenal pasti isu prestasi.
- Ungkapan MERGE kini menyokong blok bersyarat "WHEN NOT MATCHED BY SOURCE", yang menyala apabila rekod sumber tidak sepadan dengan mana-mana rekod dalam set sasaran. BERGABUNG KEPADA pelanggan c MENGGUNAKAN new_customers nc ON (c.id = nc.id) APABILA DIPADAKAN MAKA KEMASKINI nama SET = nc.name APABILA TIDAK DIPADAKAN DENGAN SUMBER KEMUDIAN PADAMKAN
- Pernyataan RETURNING kini boleh mengembalikan berbilang baris jika pernyataan DML yang ditentukan merangkumi berbilang baris (sebelum ini, situasi sedemikian akan mengakibatkan ralat "berbilang baris dalam pilihan tunggal").
- Fungsi terbina dalam baharu telah ditambah: UNICODE_CHAR untuk mengembalikan aksara Unicode yang sepadan dengan kod yang diberikan dan UNICODE_VAL untuk mengembalikan kod untuk aksara tertentu. Fungsi EXTRACT, FIRST_DAY dan LAST_DAY kini mempunyai parameter QUARTER untuk menentukan nombor suku.
- Menambah pakej sistem baharu RDB$BLOB_UTIL dengan pilihan operasi dengan BLOB untuk modul PSQL.
- Algoritma pemampatan rekod telah dipertingkatkan, kini menggunakan pembilang panjang pembolehubah untuk membungkus jujukan data berulang dengan lebih cekap. Pengoptimuman ini telah meningkatkan dengan ketara nisbah mampatan medan VARCHAR panjang yang terisi separa dengan data berkod UTF-8.
- Menambah keupayaan untuk bekerja dengan kursor dua arah (boleh ditatal) apabila mengakses pangkalan data dari jauh melalui rangkaian.
- Prestasi penyalinan gumpalan telah dioptimumkan.
- Menambah sokongan penuh untuk sintaks definisi baris yang diterangkan dalam standard SQL. Sebagai contoh, baris kini boleh dipecahkan dengan ulasan atau ruang: pilih 'ab' /* komen */ 'cd' daripada RDB$DATABASE; pilih 'ab' 'cd' daripada RDB$DATABASE;
Sumber: opennet.ru
