Firebird SQL

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Firebird
software
Siglă
Exemplu de captură de ecran
Tip Sistem de gestionare a bazelor de date relaționale
Dezvoltator Firebird
Data primei versiuni 22 noiembrie 2000
Ultima versiune 4.0 (1 iunie 2021)
Sistem de operare Multiplatform
Limba C ++
Licență Licență publică Interbase sau IDPL, licență publică Mozilla
( licență gratuită )
Site-ul web www.firebirdsql.org/

În informatică Firebird SQL este un DB și sistem de management al bazelor de date relaționale (RDBMS), open source distribuit sub IPL ( Interbase Public License ) sau IDPL (similar cu Licența Mozilla Public ).

Acceptă numeroase sisteme de operare, inclusiv: GNU / Linux , Windows , FreeBSD , macOS și unele sisteme Unix . [1] . Principalele caracteristici sunt nivelul ridicat de conformitate cu standardele SQL , integrarea completă cu multe limbaje de programare și instalarea și întreținerea ușoară a software - ului . Cele mai recente versiuni distribuite aduc îmbunătățiri semnificative în ceea ce privește rezistența software-ului la blocări externe, viteza de execuție a comenzilor SQL și gestionarea și accesul la datele computerului .

În 2003 , o dispută [2] a pus comunitatea Mozilla împotriva Firebird după ce un derivat al browserului Mozilla a fost redenumit Mozilla Firebird . În cele din urmă, cele două părți au fost de acord și browserul a fost redenumit Mozilla Firefox, deoarece a trecut la versiunea 0.8, care a început în 2004 . [3]

Istorie

Firebird s-a născut din codul sursă al InterBase 6.0 și, prin urmare, dobândește toate caracteristicile sale principale. Prin urmare, vorbind despre Firebird, este necesar să spunem puțin despre povestea lui Interbase (strămoșul său). Chiar și atunci când era un produs comercial și închis (înainte de versiunea 6.0) strămoșul Firebird era foarte apreciat și se mândrea cu un număr mare de utilizatori, inclusiv nume mari precum NASA , Banca Națională a Chicagoului, Nokia , Ericsson , Boeing , Philadelphia și Boston Bursa de Valori [4] [5] și multe altele. Ocuparea redusă a memoriei, atât RAM , cât și disc (necesită încă puțin peste 4 MB de RAM și mai puțin de 10 MB pe disc pentru o instalare completă), ușurința instalării, utilizării și gestionării au fost (și sunt) foarte competitive față de alte RDBMS cu aceeași calitate și funcționalitate și mai scăzută. De la început, InterBase a fost conceput, proiectat și construit pentru utilizatorii profesioniști și plătitori de afaceri, cu toate implicațiile cazului. InterBase a fost dezvoltat (în ultima fază a vieții sale) de către un lider mondial în dezvoltarea de software pentru programatori profesioniști: Borland International .

Prima versiune a Firebird nu a fost altceva decât un InterBase revizuit și îmbunătățit după ce Borland a făcut-o open source (codul sursă Interbase 6.0 publicat la 25 iulie 2000). [6] [7] Firebird 1.0 nu reprezintă, de fapt, o revoluție în comparație cu InterBase 6.0, dar elimină unele probleme grave de securitate și unele erori, adăugând câteva îmbunătățiri.

Firebird 1.5, în ciuda faptului că este o versiune de tranziție la noua 2.0, reprezintă un pas semnificativ înainte în comparație cu versiunea anterioară. Întregul motor al serverului de baze de date a fost rescris în C ++ , în timp ce versiunea anterioară a fost scrisă în C. [8] Avantajul acestei rescrieri este o mai mare claritate și lizibilitate a codului. Datorită acestei decizii, pe termen lung, versiunile viitoare vor fi mai ușor de extins și de gestionat.

Firebird 2.0, lansat pe 12 noiembrie 2006, [9] confirmă toate caracteristicile și calitățile anterioare și adaugă multe altele la toate nivelurile. Cele mai interesante sunt cele legate de suport pentru 64 de biți , de extensiile limbajului SQL derivat din SQL 200X [10] și de a deschide calea către Vulcano, care va fi următoarea generație Firebird.

Versiunea anterioară a fost 2.1.4, care a adăugat funcționalități precum declanșatoare procedurale , interogări recursive și suport pentru instrucțiunea SQL: 2003 MERGE . [11]

Firebird 2.5 „versiune stabilă” adaugă noi caracteristici, inclusiv îmbunătățirea multithreading-ului , expresii regulate și posibilitatea de a interoga o bază de date la distanță. [12]

Firebird 3.0 este cea mai recentă „versiune stabilă”. Există suport pentru procedurile stocate în limbi precum Java și C ++ și funcțiile de fereastră SQL (SELECT) care restricționează rezultatele interogării. O a doua versiune alfa a fost lansată în ianuarie 2014. [13] . Principalele obiective ale acestei versiuni sunt unificarea arhitecturilor serverului și îmbunătățirea suportului pentru sisteme simetrice multiprocesor (SMP) și procesoare multi-core . [14] Versiunea 3.0 stabilă a fost lansată pe 19 aprilie 2016.

Descriere

Organizarea proiectului

  • Firebird Foundation - Strânge fonduri, organizează conferințe și promovează utilizarea acestora
  • Grup de dezvoltatori din întreaga lume

Integrare în Libre Office

Odată cu lucrările Google Summer of Code 2013, a început integrarea Firebird ca înlocuitor al HSQLDB în LibreOffice , în modulul de bază . [15] [16]

Libre Office până la versiunea 5.2 ar putea folosi Firebird 2.5; din versiunea Libre Office 5.3, Firebird, versiunea 3.0 poate fi încorporată. sau mai târziu.

Interfețe grafice de administrare

Există multe interfețe grafice de administrare pentru a crea baze de date cu Firebird, cu diferite licențe, descărcabile de pe site [17] Principalele sunt:

Fyracle

Fyracle [18] este o versiune modificată a Firebird SQL care permite utilizarea acestuia ca înlocuitor pentru Oracle . În plus, sintaxa limbajului SQL Oracle poate fi utilizată pentru interogarea bazelor de date Firebird.

Una dintre cele mai utile aplicații ale acestei versiuni este de a permite Firebird să fie utilizat cu Compiere ERP , care este conceput pentru a utiliza Oracle.

Caracteristici

  • Acesta respectă nivelul de intrare SQL-92. Standardul ANSI SQL poate fi utilizat pentru a scrie interogări portabile pe platforme. În plus, Firebird are extensii care anticipează SQL3, cum ar fi procedurile și declanșatoarele stocate, precum și altele din SQL200X. O bază de date Firebird poate fi accesată simultan din mai multe aplicații permițând mai multor clienți să lucreze cu aceleași date în conformitate cu modelul client / server .
  • Implementați specificația ACID ; adică conceptul de atomicitate, consistență, izolare și durabilitate.
  • Integritatea datelor referențiale cu posibilitatea referințării unei chei primare cu una sau mai multe chei străine menținând în același timp legături între atributele diferitelor relații .
  • Arhitectura multigenerationala. Serverul , după cum este necesar, păstrează o copie a înregistrărilor vechi pentru restaurare în cazul în care o tranzacție eșuează.
  • Sprijină tranzacțiile . O caracteristică indispensabilă pentru a asigura corectitudinea și succesul operațiilor de introducere, actualizare sau ștergere a datelor.
  • Gestionarea blocării la nivelul înregistrării unice în locul întregii pagini. În acest fel, celelalte înregistrări pot fi manipulate în mod liber de către alți clienți.
  • Suportă protocolul de rețea TCP / IP pe toate platformele, asigurând utilizarea Firebird ca server SQL atât în ​​aplicații client / server cât și în aplicații web, cu transparență completă.
  • Protocolul XNET utilizat pentru a accesa datele la nivel local.
  • Trei arhitecturi diferite, în funcție de tipul de mașină și de modul în care doriți să utilizați SGBD .
  • OSD (Structură pe disc) 10.1 pentru Firebird 1.5 și OSD 11 pentru Firebird 2.0
  • Optimizarea interogărilor la nivel de server sau manual de către utilizator. Când este scris codul SQL, Firebird, înainte de al executa, încearcă să-l optimizeze datorită optimizatorului său intern.
  • Vizualizări care pot fi actualizate în urma evenimentelor stabilite.
  • Procedură stocată . Acestea sunt aplicații SQL care sunt stocate în baza de date și rulează la nivel de server. Acestea oferă o mare flexibilitate și putere pentru a îndeplini sarcinile cele mai de neimaginat și pentru a echilibra volumul de muncă între client și server.
  • Declanșator . Sunt similare cu procedurile stocate, dar nu sunt niciodată executate în mod explicit; își desfășoară acțiunile în urma modificărilor aduse tabelelor (inserarea, modificarea sau ștergerea unei date). Acestea sunt utile atunci când se încearcă obținerea unui anumit rezultat în urma unei acțiuni specifice.
  • O aplicație poate accesa mai multe baze de date în același timp.
  • Gestionarea tipului de date BLOB cu posibilitatea de a stoca date de orice fel (imagini, sunete, animații, texte ...).
  • Mesaje de alertă care informează o aplicație cu privire la modificările care au avut loc în baza de date și în urma cărora aplicația este necesară pentru a efectua acțiuni specifice.
  • UDF (User Defined Functions), adică funcții definite de utilizator care vă permit să scrieți programe externe care pot fi executate prin cod SQL din baza de date.
  • Conexiunea între diferite relații cu posibilitatea de a executa chiar și interogări foarte complexe asupra acestora. Citirea datelor nu este blocantă. Toți clienții pot citi aceleași înregistrări în același timp.
  • Abilitatea de a apela API-uri Firebird prin cod SQL / DSQL (SQL dinamic) într-un mod complet transparent.
  • Posibilitatea de a gestiona Firebird prin intermediul aplicației grafice Windows IBOConsole. Execuția interogării și operațiunile de backup, restaurare, întreținere și gestionare a securității sunt garantate.
  • isql , sau SQL interactiv, este o linie de comandă, o aplicație multi-platformă și este utilizată pentru gestionarea totală a Firebird.
  • gpre , este un preprocesor pentru conversia codului SQL / DSQL încorporat în formate lizibile de limbi externe. Acest lucru ne permite să scriem aplicații externe în alte limbi, în special în C , în care putem insera cod SQL. În acest fel putem obține o eficiență ridicată și putem adăuga orice altă funcționalitate aplicațiilor noastre.
  • Baza de date numai în citire. Puteți face o bază de date accesibilă numai pentru citire, prevenind orice modificare a datelor. Această caracteristică este foarte utilă la distribuirea programelor CD-ROM cu versiunea încorporată a Firebird.
  • În plus față de aceste caracteristici native ale Firebird, există și altele realizate datorită contribuției programelor externe care permit Firebird să aibă alte avantaje semnificative, cum ar fi căutarea textului complet, capacitatea de a gestiona replicarea sau salvarea automată a bazei de date și suportul pentru clustering .

Structura

Baza de date utilizată de Firebird este în mod normal un fișier cu extensia .fdb. Cu toate acestea, baza de date poate fi împărțită și în mai multe fișiere (întotdeauna .fdb) cu o dimensiune precisă. Acest lucru a fost făcut pentru a aborda limitarea structurală a anumitor sisteme de operare care nu pot gestiona fișiere mai mari decât o anumită dimensiune. Extensia implicită este .fdb, dar firebird este, de asemenea, compatibilă cu bazele de date create anterior de strămoșul său, Interbase și, prin urmare, fișierele cu extensia .gdb

Baza de date fiind în mod normal conținută într-un fișier are avantajul de a fi transportată de la un PC la altul, chiar și cu sisteme de operare diferite, foarte repede și fără a fi necesară restaurarea unor mecanisme speciale. Poate fi adus și cu o copiere-lipire simplă sau prin comprimarea și decomprimarea fișierului. Aceste două operații nu sunt însă recomandate deoarece nu verifică dacă baza de date este coruptă, dimpotrivă ar putea agrava situația. În ceea ce privește backup / restaurare, există un executabil dedicat (gbak) care va fi descris în detaliu mai târziu. Programul de rezervă are numeroase caracteristici: închiderea tranzacțiilor deschise, verificarea și repararea în cazurile în care db-ul este corupt, recreați indexurile și ștergeți înregistrările învechite create de arhitectura multigenerativă (pe care o vom vedea mai târziu). OSD (structura pe disc) a bazei de date s-a schimbat de la 10.0 a firebird 1.0. la 10,1 din firebird 1,5 până la 11,0 din firebird 2.0. Firebird 2.0 desigur. poate citi orice structură a bazei de date înainte de 11.0, de fapt, atunci când este deschisă, este convertită automat la 11.0. (Cu toate acestea, este întotdeauna recomandat să utilizați Gbak pentru a schimba structura db-ului, în acest fel se face și o verificare a erorilor bazei de date). Apropo de compatibilitatea cu versiunile vechi, trebuie să explicăm și subiectul așa-numitelor „dialecte Firebird”.

Specificații

Această secțiune ilustrează limitările structurale ale Firebird (multe dintre ele se datorează hardware - ului și sistemului de operare utilizat):

  • Numărul maxim de clienți conectați la server. Numărul de clienți care se pot conecta simultan la server este teoretic nelimitat. Dar este evident că acest număr depinde strict de sistemul de operare și de hardware-ul utilizat. În principiu, un server bazat pe un Pentium 150 MHz și 64 MiB de RAM ar putea gestiona confortabil accesul simultan a 150 de clienți. Aceste considerații se aplică unei aplicații client mediu care rulează interogări normale în baza de date. Este evident că, dacă aplicația interacționează intens cu baza de date, numărul de accesuri indicate mai sus trebuie, prin urmare, redus.
  • Dimensiunea maximă a unei baze de date. Dimensiunea maximă permisă pentru o bază de date este de 2 GB pe sistemele de operare Windows 95/98 și 4 GB pe sistemele Windows NT / 2000 și unele sisteme Unix. Este necesar să citiți sistemul de operare utilizat și să verificați dimensiunea maximă a unui fișier pe care acest sistem îl poate gestiona. Cu toate acestea, Firebird vă permite să împărțiți o singură bază de date în mai multe fișiere și, prin urmare, va fi posibil să gestionați o bază de date care are o dimensiune limitată doar de capacitatea fizică a hard diskului.
  • Numărul maxim de fișiere pentru o bază de date. Prin proiectare, numărul maxim de fișiere care alcătuiesc o bază de date Firebird este fixat la 65536 (2 16 ) deoarece fișierele sunt identificate printr-un număr întreg de 16 biți. Cu toate acestea, majoritatea sistemelor de operare actuale nu acceptă un număr atât de mare de fișiere deschise. Într-adevăr, numărul real de fișiere păstrate deschise în același timp este mult mai mic decât 65536. Cu toate acestea, este recomandabil să aflați despre sistemul de operare utilizat și numărul maxim de fișiere păstrate deschise în același timp de către sistem și să încercați pentru a crește valoarea respectivă pentru a vă satisface nevoile.
  • Numărul maxim de tabele dintr-o bază de date. Numărul de tabele dintr-o singură bază de date a fost, de asemenea, stabilit prin design la 65536 (2 16 ), deoarece numărul de tabele este identificat printr-un număr întreg de 16 biți.
  • Dimensiunea maximă a unei linii. Acesta a fost setat la 64 KB. Fiecare câmp BLOB sau matrice contribuie cu 8 octeți la această valoare. Tabelele de sistem (tabele care sunt întreținute automat de motorul bazei de date pentru a păstra datele lor) sunt limitate la 128 KB pe linie.
  • Numărul maxim de linii și coloane pe tabel. Prin proiectare, numărul de linii este stabilit la 4.294.967.296. Acest lucru se datorează faptului că numărul unei linii este identificat printr-un număr întreg de 32 de biți. Numărul de coloane depinde strict de numărul de linii. O linie ar putea avea cel mult 64 KB. În acest caz, 16384 coloane de numere întregi (câte 4 octeți fiecare) pot fi definite pentru a constitui un singur tabel de dimensiune maximă.
  • Numărul maxim de indici pe bază de date. Acest număr a fost, de asemenea, stabilit prin proiectare la 65536, deoarece indicii unei baze de date sunt identificați printr-un număr întreg de 16 biți.
  • Numărul maxim de indici pe tabel. Acest număr a fost stabilit la 256 după proiectare. În Interbase existau maximum 64 de indici pe tabel.
  • Dimensiunea maximă a unei chei index. O regulă generală pentru determinarea acestei valori este următoarea: începeți cu 256 de octeți pentru o cheie pentru o singură coloană și cu 200 de octeți pentru o cheie pentru mai multe coloane și scădeți 4 octeți pentru fiecare coloană suplimentară. Exemplu: o cheie CHAR pentru o singură coloană poate ocupa 256 - 4 = 252 octeți; aceeași cheie pentru 3 coloane va ocupa 188 de octeți. Trebuie subliniat faptul că numărul efectiv de octeți și nu de caractere trebuie luat în considerare la numărare.
  • Numărul maxim de evenimente pentru o procedură stocată: programul Firebird nu a stabilit o limită pentru aceste acțiuni, dar trebuie să verificați dimensiunea unei proceduri stocate și declanșatorul.
  • Dimensiunea maximă a procedurilor și a declanșatoarelor stocate: Limita stabilită este de 48 KB pentru BLR (cod bytecompilat al unei proceduri sau declanșatoare stocate).
  • Dimensiunea maximă a unui câmp BLOB. Dimensiunea maximă a unui câmp BLOB depinde de dimensiunea paginii bazei de date:
    • dimensiunea paginii = 1 KB - 64 MB pentru câmpul BLOB
    • dimensiunea paginii = 2 KB - 512 MB pentru câmpul BLOB
    • dimensiunea paginii = 4KB - 4 GB pentru câmpul BLOB
    • dimensiunea paginii = 8 KB - 32 GB pentru câmpul BLOB
Dimensiunea maximă a unui segment pentru câmpul BLOB este de 32K.
  • Număr maxim a tabelelor legate de JOIN. Prin proiectare, nu există nicio limită la această valoare. Volumul de lucru al sistemului crește exponențial pe măsură ce crește numărul de tabele care trebuie conectate cu JOIN. Nu este recomandat să depășiți numărul de 16 tabele într-o singură interogare.
  • Numărul maxim de interogări imbricate. Nu există nicio limită stabilită de proiect, deoarece depinde strict de complexitatea interogărilor și de rezultatul pe care utilizatorul dorește să îl obțină.
  • Numărul maxim de coloane pentru un index compozit: 16.
  • Numărul maxim de proceduri și declanșatoare stocate imbricate: 750 pentru toate sistemele Windows și 1000 pentru sistemele Unix.
  • Dimensiunea maximă a unei chei în operațiunea SORT: 32 KB.
  • Limita unei date. O dată trebuie să varieze între 1 ianuarie 100 d.Hr. și 29 februarie 32768 d.Hr.

NB Caracteristicile mai sus menționate ale Firebird 2.0, care, în anumite circumstanțe, par a fi mari limitări sunt în principal consecințele sistemelor de operare utilizate. Odată cu răspândirea sistemelor de operare pe 64 de biți și cu versiunea anunțată de Firebird pentru aceste sisteme, o versiune care există deja odată cu apariția Firebird 2.0 care poate rula pe sistemele pe 64 de biți) multe dintre aceste limite vor fi depășite definitiv și pe scară largă .

Dialecte

Prima versiune a Firebird (Firebird 1.0) a introdus mai multe funcții noi care au dus la modificarea unor mecanisme interne ale motorului bazei de date. Prin urmare, trebuia introdus un anumit artificiu pentru a putea utiliza în continuare baze de date și aplicații vechi create cu versiunile anterioare. Soluția a fost în introducerea dialectelor care au sarcina de a verifica dacă o extensie aparține sau nu unei anumite versiuni.

  • Dialectul 1: corespunde notațiilor și funcționalității versiunii anterioare InterBase 5.6.
  • Dialectul 2: numai în scopuri de depanare; se semnalează o eroare dacă se folosește o funcție sau o comandă cu implementare diferită de cea anterioară. De exemplu, variabila DATE din noua versiune este de un tip diferit de cea a celei anterioare.
  • Dialect 3: reprezintă noile caracteristici și extensii legate doar de cea mai recentă versiune (de exemplu, o nouă funcție Timestamp, posibilitatea utilizării contoarelor pe 64 de biți și, de asemenea, instrumente speciale, cum ar fi posibilitatea de a reproduce baza de date) și este mai aproape de standard ANSI SQL.

Tipul de dialect este salvat în baza de date și, prin urmare, nu depinde de server.

Caracteristici în versiunea 2.0

  • Revizuirea amănunțită a mecanismelor de indexare pentru a crește performanța și a minimiza blocajele în timpul căutărilor și selecțiilor.
  • Au fost eliminate diferite limitări moștenite din codul original, de ex. limita de 252 de octeți pentru lungimea indexului și limita de 30 GB pentru dimensiunea tabelului.
  • O nouă interfață pentru conectarea seturilor de caractere internaționale, care include suport pentru Unicode .
  • Suport pentru platforme pe 64 de biți datorită binarelor distribuite pentru AMD64 și Intel EM64T . Binarele pentru Windows pe 64 de biți sunt în testare și vor fi distribuite ulterior.
  • Testare intensă a securității serverului, inclusiv criptare mai puternică a parolei și protecție integrată împotriva atacurilor cu forță brută .
  • Suport pentru tabele derivate în SQL200x, care include imbricare pe mai multe niveluri și joning subinterogare.
  • Sintaxa EXECUTE BLOCK pentru suportul procedural SQL (PSQL), care poate fi executat în instrucțiunea SQL.
  • Cursoare explicite în PSQL, disponibile și în instrucțiunile EXECUTE BLOCK.
  • Expirare opțională WAIT pentru rezolvarea conflictelor de blocare, disponibilă ca argument al unei TRANSACȚII SET sau ca parametru al unei tranzacții prin API .
  • Capabilități de backup incrementale complet reproiectate.
  • Redefinirea arhitecturii în modul „fără server” (pentru conexiuni locale) pe Windows, pentru a elimina instabilitatea inerentă a protocolului IPServer original.
  • Implementarea serviciilor API finalizată pe toate platformele.

Arhitecturi

Firebird are 3 tipuri de arhitecturi care funcționează diferit, dar nu una este mai bună sau mai rea decât cealaltă. Motivul acestei diferențieri a fost diversitatea sistemelor de operare, a resurselor hardware și, de asemenea, a posibilelor utilizări ale bazei de date. Toți acești factori vă permit să îl alegeți din când în când pe cel mai potrivit.

Server clasic

Este prima arhitectură folosită de strămoșul Firebird, Interbase, la sfârșitul anilor 1980 și 1990 , la acea vreme resursele serverului erau rare și programele necesitau mai puțină memorie. Această arhitectură este folosită și astăzi pentru sistemele de operare care au o gestionare a firelor foarte limitată. (În celelalte se folosește versiunea SuperServer). În practică, pentru fiecare conexiune client, Firebird, deschide un proces dedicat pe server cu o memorie dedicată unde să proceseze solicitările clientului, memoria cache a fiecărui proces nu este văzută de ceilalți (acest lucru nu permite schimbul de informații deja citite între diferitele procese). În mod normal, cache-ul fiecărui proces este implicit de 75 de pagini. În acest fel, se utilizează mai multe procese în funcție de conexiunile clientului, această arhitectură este indicată dacă serverul nostru are mai multe microprocesoare, de fapt fiecare microprocesor va prelua sarcina unuia sau mai multor procese (Firebird permite o distribuție egală între diferitele procesoare ale proceselor în funcție atât de număr, cât și de mărime). Această arhitectură rămâne cea mai bună opțiune în cazurile în care este nevoie de performanțe ridicate și resursele de sistem sunt adecvate pentru a crește proporțional cu solicitările de noi conexiuni de către clienți, de exemplu, dacă nu există conexiuni pe server, nu există memorie. Această arhitectură este ideală mai ales pentru sistemele care se bazează pe procesări complexe, unde există puține date interactive de utilizator. Este utilizat în mod normal cu sistemele de operare GNU / Linux și Unix, în timp ce pentru Microsoft există o versiune specifică a Firebird, dar nu este recomandată mai ales în prezența mai multor procesoare. Această arhitectură este singura care acceptă SMP (memorie partajată între diferitele procesoare) și Hyper-Threading chiar dacă avantajele depind puternic de sistemul de operare și de caracteristicile tehnice ale computerului însuși, în special de memorie. Din partea clientului, fiecare cerere pentru un nou proces ocupă aproximativ 2 MB de RAM.

Superserver

Din 1996 și mai precis de la lansarea Interbase 4.1, a fost introdusă arhitectura Superserver. Această arhitectură a îndeplinit noile caracteristici tehnice ale Windows, mai precis arhitectura pe 32 de biți utilizată pentru prima dată cu Windows 95. Avantajul versiunii Superserver este că puteți utiliza fire și aloca dinamic memoria cache partajată unde puteți merge să citiți informații în comun; firele pot rula într-un singur proces sau mai multe procese. Memoria partajată (cache) pentru acest tip de arhitectură este în mod implicit 2.048 de pagini. Această caracteristică este cu siguranță un avantaj semnificativ față de versiunea clasică a serverului, unde fiecare proces are propriul spațiu de memorie specific și nepartajat. Această proprietate face ca versiunea Superserver să fie potrivită, mai presus de toate, atât în ​​cazul unui număr foarte mare de operații interactive de scriere și citire, cât și în cazul în care resursele computerului sunt limitate. De fapt, având o memorie partajată, între diferitele fire, există mai puțină risipă de memorie RAM. În mod normal, când Firebird pornește, versiunea de superserver chiar dacă nu există nicio conexiune cu clienții ocupă (spre deosebire de versiunea clasică a serverului) ceva memorie pentru a asculta cereri, aproximativ 2 MB. De la Firebird 1.0. versiunea superserver este disponibilă și pentru alte sisteme de operare, cum ar fi GNU / Linux. Această arhitectură este cea recomandată pentru sistemele Microsoft în care versiunea clasică a serverului deocamdată este doar la un nivel „experimental”, nu este încă de încredere.

Server încorporat

Este cea mai recentă arhitectură, dezvoltată începând cu versiunea 1.5 a Firebird. Acest model nu este altceva decât o versiune compactă a arhitecturii Superserver, spunem compactă, deoarece nu este altceva decât o bibliotecă ( fbembedd.dll ) care face treaba atât ca server, cât și ca parte client. Desigur, permite gestionarea bazelor de date numai local. Acest lucru înseamnă că această arhitectură nu ascultă cererile de la alți clienți, ci doar satisface operațiunile locale. Acest lucru se aplică și acelor servere utilizate ca servere terminale, această arhitectură permite utilizarea unei singure conexiuni la un moment dat. În mod normal, această arhitectură este utilizată pentru acele baze de date care rulează pe un singur PC, cum ar fi laptopurile sau pentru o bază de date numai în citire, de exemplu pe CD-ROM . Resursele necesare acestei arhitecturi sunt minime și, prin urmare, pot fi instalate pe orice client. Interfața pentru gestionarea SGBD este identică cu cea a versiunii SuperServer.

Notă

  1. ^(EN) Platforme acceptate
  2. ^ Rapoarte despre Phoenix / Minotaur Renaming Focus on Firebird Protest Database
  3. ^ Steven Garrity, Markham, Gervase; Goodger, Ben; Decrem, Bart; și colab., Mozilla Firefox - Întrebări frecvente despre nume de marcă , pe mozilla.org , Fundația Mozilla. Adus la 3 aprilie 2011 (arhivat din original la 28 februarie 2012) .
  4. ^ (RO) Charles Babcock, Client / Server PREASAMBLAT , în Computerworld , vol. 28, nr. 9, 28 februarie 1994, p. 6. Adus pe 9 noiembrie 2019 .
  5. ^ Khaldi, Jilani, Firebird SQL , on Google books 1/3/2015 vol. 1 pp 8 . Adus la 12 ianuarie 2017 (arhivat din original la 13 ianuarie 2017) .
  6. ^ Inprise / Borland introduce acum InterBase 6.0 gratuit și open source pe Linux, Windows și Solaris , 16 iulie 2000. Accesat la 29 ianuarie 2009 (arhivat din original la 6 decembrie 2004) .
  7. ^ Borland.com: Inprise / Borland introduce acum Interbase 6.0 gratuit și open source pe Linux , la linuxtoday.com , Linux Today. Adus pe 29 ianuarie 2009 .
  8. ^ Note de lansare Firebird 1.5.5 , la firebirdsql.org . Adus 29-09-2009 . Firebird 1.5.5 Note generale pentru rescrierea acestuia din limbajul C în limbajul C ++
  9. ^ Dmitry Yemanov, lansarea finală a Firebird 2.0 lansează la Praga , la firebirdsql.org . Adus pe 5 februarie 2009 .
  10. ^ Helen Borrie, Firebird 2.0.7 Note de lansare , pe firebirdsql.org , 5 aprilie 2012. Accesat la 10 iunie 2012 .
  11. ^ Helen Borrie, Firebird 2.1 Note de lansare , pe firebirdsql.org , 7 martie 2012. Accesat la 10 iunie 2012 .
  12. ^ Helen Borrie, Firebird 2.5.2 Note de lansare , pe firebirdsql.org , 7 noiembrie 2012. Adus pe 7 noiembrie 2012 .
  13. ^ Firebird Roadmap , pe firebirdsql.org , martie 2014.
  14. ^ Note de lansare Versiunea 3.0 RC 1 . Arhivat la 25 decembrie 2015 la Internet Archive . (PDF) firebirdsql.org; accesat la 9 noiembrie 2015.
  15. ^ mariuz, Firebird Embedded și LibreOffice este combinația ucigașă pentru a scala de la o aplicație cu un singur fișier la o abordare client / server , pe firebirdnews.org . Adus la 8 iulie 2013 .
  16. ^ ahunt, GSOC 2013: LibreOffice Firebird SQL Connector , su ahunt.org , 28 maggio 2013. URL consultato l'8 luglio 2013 .
  17. ^ ( EN ) Sito di Ibphoenix , su ibphoenix.com . URL consultato il 16 maggio 2016 (archiviato dall' url originale il 13 marzo 2016) .
  18. ^ Janus Software , su janus-software.com . URL consultato il 23 giugno 2014 (archiviato dall' url originale il 6 aprile 2010) .

Altri progetti

Collegamenti esterni