Btrieve

Btrieve  este un sistem de gestionare a bazelor de date pentru organizarea navigației , iar din versiunea Pervasive.SQL - baze de date relaționale , dezvoltat de Pervasive Software . Pe baza metodei de organizare a datelor ISAM . Au existat mai multe versiuni ale acestui produs pentru DOS , Linux , Novell NetWare , versiuni mai vechi de Microsoft Windows ( Windows 98 , Windows NT , Windows 2000 , Windows XP , Windows Server 2003 ).

A fost inițial un manager de înregistrări lansat de SoftCraft cam în același timp cu primele PC-uri IBM . După ce a câștigat popularitate și cotă de piață, a fost achiziționat de Novell pentru integrarea în sistemul său de operare Netware , în timp ce dezvolta o versiune pentru MS-DOS. Acest produs nu a reușit să câștige nicio piață semnificativă și, după o reorganizare în cadrul Novell, a fost separat pentru dezvoltare într-o companie separată, nou creată - Btrieve Technologies, Inc. (B.T.I.).

Începând cu versiunea 6.15, Btrieve a fost împărțit în module separate, iar numele în sine a fost atribuit unuia dintre cei doi accesorii de date conectați la o interfață de programare standard numită Micro-Kernel Database Engine (MKDE). A doua versiune a subsistemului de acces este Scalable SQL, un instrument de bază de date relaționale care utilizează limbajul SQL . După lansarea mai multor versiuni, compania a fost redenumită Pervasive Software și acum livrează produsul sub numele Pervasive PSQL .

Arhitectură

Lansările timpurii ale Btrieve nu se calificau ca DBMS, ci ca „ manager  de înregistrări ”; Pervasive a folosit inițial termenul de bază de date de navigație , ulterior schimbat în bază de date tranzacțională .  Această terminologie se datorează faptului că Btrieve s-a ocupat doar de operațiunile elementare de creare și actualizare a înregistrărilor, extragerea și ștergerea datelor. ISAM este folosit ca mecanism intern pentru stocarea și indexarea datelor .  

Versiunile ulterioare ale Btrieve acceptă două tipuri de tranzacții: sistem și utilizator, primele sunt loturi de operațiuni non-tranzacționale sau tranzacții cu utilizatorul, care, la rândul lor, sunt tranzacții cu date reale din baze de date. Mecanismul de tranzacție a sistemului a fost creat pentru a permite executarea mai multor tranzacții într-un singur lot și pentru a facilita recuperarea datelor.

Fișierele Btrieve sunt alcătuite din pagini, care sunt bucăți de date transferate între RAM și stocare persistentă în timpul operațiunilor I/O efectuate de motorul bazei de date. Versiunile anterioare versiunii 6.0 au folosit numai pagini de date, pagini index și o înregistrare FCR specială (înregistrare de control al fișierelor  ) care conținea informații importante despre fișierul bazei de date (dimensiunea paginii, numărul de pagini utilizate etc.). Un astfel de fișier conținea un index de căutare legat de pagini fizice. Începând cu versiunea 6.0, a fost introdus conceptul de pagină logică și deja aceste pagini erau mapate la pagini fizice care au o poziție fixă ​​în fișierul de pe unitate. Maparea se face prin tabele de alocare a paginilor PAT ( page allocation tables ) . Pentru a preveni încălcările de integritate logică în fișierele bazei de date, Btrieve utilizează două abordări pentru a actualiza dependențele: paginarea pre-imagine în versiunile anterioare 6.0 și paginarea umbră în versiunile ulterioare. Trecerea de la paginarea pre-imagine la paginarea umbră a necesitat o reconstrucție semnificativă, ceea ce a dus la o schimbare fundamentală a formatului fișierului și la pierderea compatibilității între versiunea a 6-a și cele anterioare.  

La accesarea fișierelor, motorul bazei de date poate folosi două strategii, prescurtate ca SEFS și MEFS, din engleză.  Partajarea fișierelor cu un singur motor (SEFS); Partajarea fișierelor cu mai multe motoare (MEFS) . SEFS implică faptul că doar o singură instanță a motorului bazei de date va funcționa cu fișiere, în timp ce MEFS permite mai multor instanțe independente să lucreze cu aceleași fișiere în același timp (fiecare astfel de motor deservind propriii utilizatori).

Istorie

Btrieve a fost deținut și dezvoltat de trei companii diferite pe parcursul dezvoltării sale: SoftCraft, Novell și Btrieve Technologies, Inc. (mai târziu redenumit Pervasive Software ). Toți au avut dezvoltatori loiali și dedicați și, judecând după literatura companiei, au rămas complet dedicați acestui produs. La un moment dat, Pervasive a fondat „Comunitatea Btrieve” pentru a organiza dezvoltatorii existenți [1] .

Sub MS-DOS , până la versiunea 5, Btrieve a fost un program TSR care a funcționat ca o interfață de programare a aplicațiilor (API) pentru motorul bazei de date , oferind programelor de aplicație un set de apeluri de funcție pentru a implementa o bază de date multi-utilizator cu nivel de înregistrare. capacitatea de blocare . Versiunea de rețea a funcționat într-un mod similar.

În perioada de început, versiunile MS-DOS ale SGBD, până la versiunea 5, au fost vândute la un preț relativ mare - aproximativ 1000 USD, cu toate acestea, programul executabil TSR care oferă lucru cu baza de date ar putea fi distribuit cu aplicații gata făcute. fără drepturi de autor.

Perioada SoftCraft

Produsul a fost lansat în februarie 1982 de SoftCraft, cu sediul în Austin, Texas, sub conducerea lui Doug și Nancy Woodward .  Doug a devenit vicepreședinte și a condus dezvoltarea, iar Nancy a devenit președinte al companiei. Au lansat mai multe versiuni în următorii câțiva ani: în februarie 1983, a fost lansat Btrieve 2.x, iar când MS-DOS 2.x a câștigat suport pentru mânerele de fișiere și directoare , a fost lansat Btrieve 3.0. După ce interfețele interne au fost standardizate în MS-DOS 3.1 în martie 1985, Btrieve 3.1 C/S a fost lansat o lună mai târziu, cu suport pentru rețea și arhitectura client/server . În februarie 1986, Btrieve 4.0 a fost lansat și, după actualizare, versiunea 4.1 a adăugat suport pentru tipurile de chei extinse și indecși suplimentari .

Deși Btrieve a fost foarte popular, a rămas doar un motor de bază de date și API-ul său, în timp ce „aplicația ucigașă” dintre bazele de date pentru PC, dBase II și succesorii săi, a fost o bază de date reală care putea fi folosită și ca o aplicație de uz general de sine stătător. , și ca limbaj de programare . Btrieve a fost, de asemenea, semnificativ mai scump decât dBase, deși nu necesita o licență pentru fiecare utilizator individual al aplicației finalizate. Astfel, comunitatea de dezvoltatori Btrieve a ajuns la 5.000 de utilizatori și s-a răspândit pe scară largă în sectorul financiar [2] . După aceea, compania a luat ceva timp pentru a crea o interfață de utilizator pentru produsul lor, cu toate acestea, în 1984 a lansat programul Xtrieve , care are o interfață bazată pe meniu și folosește un dicționar de date sub formă de fișiere .DDF, introducând regulile. inerente bazelor de date relaţionale .

Cumpărare de către Novell

În 1987 , Novell a început să se diversifice și să cumpere diverse companii pentru a-și include produsele în sistemul său de operare NetWare . Una dintre aceste companii a fost SoftCraft. Nancy Woodward a devenit vicepreședinte și director general al operațiunilor din Austin, iar Doug Woodward a devenit vicepreședinte al Advanced Database Technologies . La începutul anului următor, a fost lansat Btrieve 5.0, capabil să ruleze ca o aplicație nativă pentru NetWare (sau VAP, din engleza  Value Added Process ). Potrivit lui Jim Kyle ,   avea un tip de date cu incrementare automată pentru chei, un serviciu de rețea BROUTER, tipuri de fișiere separate pentru date și chei și capacitatea de a comprima datele”. [2] Versiunea 5.1, lansată în 1990, a primit capabilități îmbunătățite pentru gestionarea tranzacțiilor de fișiere, înregistrarea în jurnal și „rularea” ulterioară a acțiunilor întreprinse, toate împreună cu unele API îmbunătățite. Unele versiuni au fost lansate pentru DOS , OS/2 și Microsoft Windows . Versiunea 6.0 a fost lansată în 1992, dar Novell nu a făcut niciun efort să o promoveze pe scară largă și, datorită îmbunătățirilor aduse acesteia, cum ar fi trecerea de la pre-imaging la shadow-paging , s-a dovedit a fi incompatibilă cu versiunile anterioare ale Btrieve. Piața a acceptat cu rece această versiune, nu a existat o creștere a cotei de piață și nici nu a existat o tranziție în masă față de versiunile anterioare (ca urmare a celor de mai sus).

La momentul achiziției de către Novell, SoftCraft lucra la un produs numit provizoriu XQL , care era un interpret de limbaj SQL conceput pentru a îmbunătăți compatibilitatea cu standardul industrial SQL, pe care Xtrieve l- a respectat doar parțial. Acest produs a devenit baza pentru NetWare SQL , a cărui primă versiune a fost lansată în 1989, și a devenit implementarea „scheletică” a interpretului SQL, implementând baza versiunii IBM a limbajului SQL.

Btrieve Technologies, Inc.

Până în 1994, Novell aproape că renunțase să încerce să facă din NetWare un sistem de operare alternativ cu drepturi depline care exista la acea vreme și a început să vândă companiile achiziționate cu doar câțiva ani mai devreme. De asemenea, ei au reușit să finalizeze doar o promovare minimă pe piață a Btrieve, în principal din cauza timpului lung necesar pentru a lansa cea de-a șasea versiune (24 de luni). A fost încheiat un acord între Woodwards și Novell, iar după doi ani, Novell a anunțat (26 ianuarie 1994) că va transfera proprietatea asupra Btrieve către Btrieve Technologies, Incorporated (cunoscută și sub numele de BTI ). La 29 aprilie 1994, transferul a fost finalizat, Nancy Woodward a devenit președinte BTI și Doug Woodward a devenit CTO .  Poziția de director executiv a fost acordată lui Ron Harris , fost angajat al Texas Instruments , unul dintre fondatorii și angajații Citrix Systems, Inc. , în care a fost mai întâi director de planificare strategică, mai târziu - vicepreședinte de marketing și, eventual, vicepreședinte al grupurilor de produse ( ing. Vicepreședinte al grupului de produse ).   

Btrieve a fost complet rescris și Btrieve 6.15 a fost lansat la 1 iulie 1994 pentru DOS, Windows și OS/2. Novell SQL a fost redenumit în Scalable SQL pentru a ține pasul cu schimbările în relațiile juridice dintre companii. În 1995, Btrieve 6.15 a fost lansat pentru Windows NT Server și Windows NT/ 95 , devenind astfel un produs DBMS multiplatform . Conceptul mecanismului de microkernel pentru construirea unui DBMS (MKDE) a apărut în această versiune.

Software pervaziv

În 1996, compania a fost redenumită în Pervasive Software și produsul său în Pervasive.SQL. În 1997, societatea a devenit publică (adică și-a emis acțiunile în liberă circulație). Toate acestea au fost făcute pentru a crește penetrarea pieței RDBMS și a se poziționa ca furnizor de soluții SQL, deși au continuat să dezvolte și să vândă Btrieve. Compania și-a finalizat IPO în septembrie. Versiunea 6.30 a continuat să folosească arhitectura MKDE. În 1997, Pervasive a lansat produsul relațional ScalableSQL 4.0, precum și Btrieve 7.0.

În 2000, Novell a fost criticat după ce a oprit livrarea Pervasive.SQL cu NetWare (începând cu NetWare 5.1). În schimb, a fost furnizată o versiune de probă care a încetat să mai funcționeze după 90 de zile. [3] Cea mai recentă versiune, Pervasive PSQL Summit v10, a fost lansată în octombrie 2007. Pervasive este încă în curs de dezvoltare conform site-ului oficial

Versiuni

Seria Btrieve

Btrieve pentru DOS

A existat o configurație Btrieve bazată pe client pentru DOS, creată în SoftCraft .  Definiția lor proprietară a „clientului” a fost: „Nucleul Btrieve rulează pe o stație de lucru separată”. [4] Adică, nucleul managerului de înregistrări a interacționat cu fișierele de date în mod direct, prin apeluri către sistemul de operare, și a schimbat înregistrările în același mod, indiferent dacă fișierele erau localizate local sau pe o partajare de rețea. Un astfel de nucleu „client” a permis cinci utilizatori concurenți să lucreze simultan cu baza de date. Toate manipulările cu înregistrări au fost efectuate local, pe stația de lucru pe care rula kernelul DBMS. Btrieve pentru DOS ar putea folosi ambele strategii de partajare a fișierelor (SEFS și MEFS).

Btrieve pentru Netware

Btrieve pentru Netware a fost în esență același cu Btrieve pentru DOS, cu unele caracteristici suplimentare disponibile doar pe Netware la momentul respectiv. A fost pornit un proces pe serverul de fișiere BSERVER, iar serverul de fișiere a început să gestioneze operațiunile I/O ale bazei de date, continuând să ofere un sistem de fișiere de rețea. Procesul serverului a fost implementat inițial ca un proces cu valoare adăugată Netware (VAP) sub numele BSERVER.VAP, dar a fost în curând refactorizat într-un Modul încărcat NetWare (NLM). El a fost în principal BSERVERmotorul DBMS responsabil pentru furnizarea accesului la înregistrări, dar în plus a acceptat [și a executat] cereri de transfer de date către alte servere. Aceste cereri au venit printr-un proces separat numit BROUTER.

Pentru a transfera cererile de date I/O de la / către baza de date, stațiile de lucru client au folosit așa-numitele. solicitanți disponibili pentru DOS , OS / 2 , Microsoft Windows și UnixWare .  Programul a primit solicitări prin API-ul Btrieve și le-a redirecționat către serviciu , apoi a procesat răspunsul și l-a redirecționat înapoi către aplicația corespunzătoare. BREQUEST.EXEBSERVERBSERVER

Procesul a BROUTERpermis ca cererile primite să fie redirecționate către un alt server care conține o copie a bazei de date. S-a încărcat pe un server Netware și a gestionat comunicațiile între procesele serverului care rulează pe un server de fișiere, ghidate de două tabele FST ( File Server Tables (FST) în engleză  ). Conform documentației Pervasive, aceste tabele conțin o listă de nume și adrese de server și o tabelă de rutare a serverului Server Routing Table (SRT) . [5] În plus, BROUTER ar putea redirecționa cererile de comunicare către serverul corespunzător prin SPX , prin , și poate coordona blocările și alte mecanisme care controlează accesul la datele din baza de date.  BSPXCOM

Btrieve pentru Netware a folosit aceleași strategii de partajare a fișierelor SEFS și MEFS ca și în DOS, dar pentru că putea funcționa în rețea, putea suporta atât tranzacții exclusive, cât și concurente.

Btrieve pentru Windows

Btrieve pentru Windows a apărut înainte ca compania să rescrie codul de bază DBMS folosind MKDE. A folosit mecanisme de partajare a fișierelor SEFS și MEFS, shadow-paging , blocări exclusive și contention. Fișierele versiunilor 6.x și 6.1 au fost tratate diferit: în fișierele versiunii 6.x a fost posibil să se opereze pe fragmente de înregistrări, în loc să se blocheze întreaga înregistrare; au fost permise înregistrări de peste 64KB; Au fost implementate tabelul de alocare cu coadă variabilă (TVA) , secvența de colare alternativă (ACS) și noi tipuri de date ; au fost permise operațiuni fracționate (operații procentuale ) (  în care înregistrările puteau fi găsite și prelucrate prin locația lor fizică în fișier); au fost permise chei de căutare duplicate. În versiunea 6.x, a devenit posibilă adăugarea și eliminarea oricăror indexuri din mers (până la versiunea 6.0 inclusiv, numai indecșii suplimentari puteau fi eliminați). Fișierele din versiunea 6.1 au suportat tranzacții simultane și de sistem; capacitatea de a renumerota cheile; tabele ACS fără majuscule și operațiuni avansate de blocare.

Btrieve pentru Windows ar putea funcționa ca client de bază de date folosind modurile SEFS sau MEFS sau poate funcționa direct cu un server Btrieve.

Client Btrieve

Pentru clientul Btrieve, toate fișierele bazei de date au fost localizate fie pe computerul local, fie pe o unitate de rețea conectată la acest computer (folosind comanda DOS NET USE).

Aplicația a făcut apeluri la funcțiile bibliotecii WBTRCALL.DLL, care era interfața cu încărcătorul/solicitantul. Modulul de încărcare/solicitant a verificat fișierul BTI.INIde configurare pentru configurația corectă pentru a încărca nucleul clientului Btrieve și, la rândul său, a încărcat interfața locală în nucleul Btrieve, WBTRLOCL.DLL. Dacă este necesar, această interfață locală a încărcat nucleul Btrieve ( ) în RAM WBTR32.EXEși a început să îi trimită interogări către baza de date. Pentru a accesa fișierele bazei de date, nucleul DBMS a folosit apeluri către diferite biblioteci de sistem Win32 [6]

Acces de la clientul Btrieve la serverul Btrieve

Versiunea client a Btrieve pentru Windows ar putea accesa versiunea server printr-un solicitant DOS special. Acest solicitant a necesitat utilizarea DPMI (DOS Protected Mode Interface), care a oferit programelor acces la memorie extinsă , disponibilă numai prin modul protejat al procesoarelor x86 .

Ca și în cazul interfeței client, aplicația Btrieve a efectuat un apel către o bibliotecă WBTRCALL.DLLcare a verificat BTI.INIpentru a determina dacă baza de date se afla pe sistemul local sau pe un server la distanță. Dacă era necesar să lucreze cu un server la distanță, ea a folosit versiunea Windows a DPMI pentru a accesa solicitantul BREQUEST.EXEcare rulează sub DOS, care a stabilit deja o conexiune de rețea cu serverul, procesând cererile bazei de date și returnând un mesaj solicitantului atunci când acestea au fost procesate. .

Btrieve pentru Windows NT/Windows 95

Btrieve pentru Windows NT și Windows 95 a fost lansat în 1995, împreună cu Btrieve pentru Netware și pentru Windows NT Server . Numărul versiunii a ajuns la 6.15 și a început utilizarea arhitecturii microkernel (MKDE). Mecanismele de partajare a fișierelor rămân aceleași (SEFS și MEFS); S-a folosit shadow-paging , au fost acceptate blocările exclusive și de contenție. Această versiune de Btrieve a permis utilizarea null pentru chei, ceea ce a făcut posibilă efectuarea de intrări în baza de date chiar dacă informațiile cheie lipseau. Astfel de chei nu au participat la indexare, ceea ce a redus căutarea inutilă în indexul din baza de date. Aceeași versiune a introdus conceptul de tranzacții de sistem și tranzacții cu utilizatorul . . MKDE a permis pauze între tastele de auto-incrementare. Tabelele de alocare cu coadă variabilă au apărut în versiunea 6.15, așa că au fost incluse în versiunea Btrieve pentru Windows NT/95.

Au existat două configurații Btrieve pentru Windows NT/95: stație de lucru autonomă și client/server .

Stație de lucru autonomă

Când se folosește configurația stației de lucru autonome Btrieve, toate procesările de scriere au fost efectuate pe stația de lucru locală, bazându-se pe mecanismele locale Windows pe care MKDE ( W32MKDE.EXE) le folosea pentru a accesa fișierele bazei de date și pentru a aplica blocări de fișiere pentru a sincroniza operațiunile concurente.

În această configurație, aplicația a făcut apeluri la API-ul Btrieve sau la interfața microkernel ( WBTRV32.DLL), iar această interfață a transmis cereri către MKDE însuși ( W32MKDE.EXE), care deja lucra direct cu fișierele bazei de date folosind sistemul de fișiere (local sau de rețea). [7]

Cu toate acestea, această abordare are efecte secundare nefericite. Dacă Btrieve folosește mecanismul de rețea Windows, iar motorul DBMS deschide fișiere direct dintr-o resursă de rețea și are loc o defecțiune a rețelei locale, în procesul de actualizare a câmpurilor care leagă fișierele Btrieve (sau pur și simplu deconectarea cablului de rețea), poate apărea desincronizarea, legăturile dintre date vor fi întrerupte (pierdute sau vor fi instalate incorect) și fișierele bazei de date vor fi corupte. (Deși acest lucru este mai puțin probabil să se întâmple cu paginarea pre-imagine .)

Client/Server

Atunci când se utilizează configurația client/server ( de exemplu,  „client/server” sau „ediție server” ), procesarea intrărilor se realizează în principal pe serverul de fișiere Windows, prin maparea resurselor rețelei pe discuri (sub Windows, resursele rețelei sunt mapate la unitățile de rețea virtuală prin comandă NET USE). În acest caz, se folosește autorizarea utilizatorului obținută în timpul autentificării , fie la conectarea la sistem, fie la executarea comenzii NET USE. [opt]

Sub Windows 95, interfața MKDE (Windows DLL WBTRV32.DLL ) definește de fapt modul în care este accesată baza de date printr-un fișier de configurare. Dacă detectează că ambele variante ale motorului bazei de date (client/server și stație de lucru autonomă ) sunt instalate pe computer, atunci verifică care dintre ele este prescrisă pentru a fi utilizată. Când rulați sub Windows NT, dacă atât procesul serverului, cât NTMKDE.EXEși procesul stației de lucru autonome ( W32MKDE.EXE) rulează în același timp, trebuie făcută o indicație pentru a utiliza unul sau altul în registry . În ambele cazuri, dacă interfeței MKDE i se spune să folosească modul stație de lucru autonomă , o va folosi W32MKDE.EXEpentru acces direct la fișiere. Dacă se specifică utilizarea modului server, atunci interfața MKDE de pe client va folosi un modul de comunicare separat ( W32BTICM.DLL Windows 95 , NTBTICM.DLLpe Windows NT ) care va comunica cu serverul. Serverul în sine are propriul său modul de comunicare (din nou W32BTICM.DLLsau NTBTICM.DLL) situat pe unitatea de rețea mapată. În continuare, serverul DLL comunică cu serverul MKDE ( NTMKDE.EXE), care actualizează intrările și returnează clientului o confirmare de succes, prin același modul de comunicare. [9]

Avantajul acestei abordări este că, dacă rețeaua locală eșuează, MKDE de pe server este capabil să detecteze acest lucru și să efectueze recuperarea mai precis decât în ​​configurația stației de lucru autonome .

Configurare

Btrieve include un utilitar pentru configurarea setărilor MKDE. Se pot configura următorii parametri:

  • Setări de fișiere: această categorie conține setări legate de fișiere, descriptori de fișiere , blocări de scriere, indexuri și înregistrare. Aici puteți seta numărul maxim de fișiere deschise disponibile pentru sistem și numărul de blocări de înregistrare disponibile pentru un client; setați echilibrarea indexului și setați opțiunea de a crea fișiere în formate pre-6.x; de asemenea, stabilește dacă microkernel-ul va păstra un jurnal al acțiunilor pe fișierele selectate. Această secțiune selectează mecanismul de partajare a fișierelor (MEFS sau SEFS). Elementul „tranzacție de sistem” conține o limită care stabilește numărul de tranzacții de sistem efectuate în timpul unei operațiuni de scriere în fișierele partajate.
  • Organizarea memoriei:  - Această categorie conține setări pentru dimensiunile bufferului rezervate de microkernel pentru diferite nevoi.
  • Tranzacții client/sistem:  - aici sunt setările pentru parametrii tranzacției, inclusiv numărul de tranzacții suportate, unde și cum vor fi scrise în [tranzacții? audit?].
  • Resurse/directoare de sistem:  - conține setări pentru numărul de clienți serviți și firele de execuție suportate, precum și locația diferitelor fișiere de sistem.
  • Operațiuni de urmărire:  - conține setări de urmărire pentru diferite operațiuni efectuate de Btrieve. ( Trace  este o caracteristică avansată, utilă în principal în scopuri de depanare.)

Seria Pervasive.SQL

Pervasive.SQL 7

Pervasive SQL 7 a fost lansat în martie 1998 și includea Scalable SQL 4 și Btrieve 7.0. Btrieve 7.0 a rulat pe aceleași platforme ca și Btrieve 6.x: Windows 95, Windows NT 3.51 & 4, Netware și DOS. Cu toate acestea, compania a schimbat arhitectura componentelor numită SmartComponents pentru a aborda problemele de compatibilitate atunci când trece la o versiune nouă. Acesta a folosit o schemă de identificare a componentelor atât cu un identificator într-un fișier, cât și cu codificare în numele acestuia, împreună cu legarea dinamică a „modulelor lipici” (DLL-uri care sunt încărcate în memorie doar atunci când sunt necesare). Conectarea dinamică a componentelor a fost realizată folosind o nouă abordare, „Abstract OS Services DLL”, prin care cea mai recentă versiune a unei componente necesare a fost selectată prin informațiile codificate în numele fișierului său. Apoi, acest „modul de lipire” a fost încărcat în memorie și a început să fie utilizat. [10] Vechiul format de fișier jurnal de evenimente care exista în Btrieve 6.x a fost înlocuit cu un nou PVSW.LOGfișier jurnal centralizat care are un format îmbunătățit și unificat. Mesajele de eroare în sine și mecanismul de generare a acestora au fost, de asemenea, îmbunătățite.

MKDE a fost păstrat în Pervasive.SQL 7. Cu toate acestea, arhitectura sa internă s-a schimbat datorită noii arhitecturi dinamice de legare a componentelor. O aplicație care folosește Btrieve numit un manager de servicii special, care a căutat în diferite directoare specificate în configurație pentru fișiere cu nume de un anumit format. Iată definiția modelului pentru aceste nume de fișiere BNF :

<nume-fișier> ::= <cod-platformă> „BIF” <nivel-funcțional-major> <nivel-funcțional-minor> <platform-code> ::= „W1” | W2 | W3 | W9 | WT | „NV” | "O3" <nivel-funcțional-major> ::= <număr> <nivel-funcțional-minor> ::= <număr> <număr> <număr> ::= „0” | „1” | „2” | „3” | „4” | „5” | „6” | „7” | „8” | "9" Codurile platformei încorporate în numele fișierelor.
Codul Platformă
W1 Windows 3.1x , incl. Windows pentru grupuri de lucru (Win16)
W2 Windows extins ( Watcom Extender pe 32 de biți )
W3 Windows 95, Windows NT (Win32)
W9 Windows 95
greutate Windows NT
NV Netware 3.x și 4.x
O3 OS/2 (32 de biți)

Modulul de adeziv ( DLL ) este încărcat în memorie și devine o interfață pentru MKDE. Apoi, MKDE determină modul în care este configurat să funcționeze pe o stație de lucru separată sau să interacționeze cu serverul și începe să transmită cereri către serverul bazei de date (prin intermediul unui modul de comunicare special) sau să lucreze direct cu fișierele bazei de date dacă este configurat pentru "stația de lucru". "modul .

Pervasive.SQL 2000/2000i

Pervasive.SQL 2000 și 2000i folosesc în esență aceeași arhitectură ca Pervasive.SQL 7, dar 2000i și includ un server i*Net suplimentar (probabil un server web ). Este utilizat același model de componente, permițând atât mecanismele de acces la date Btrieve, cât și Scalable SQL; arhitectura MKDE continuă să fie utilizată. Această versiune include suport pentru Red Hat Linux , Caldera OpenLinux , SUSE și Solaris . Integrarea cu Terminal Services a fost, de asemenea, îmbunătățită , deși este posibil să rulați o singură instanță a motorului bazei de date pe orice platformă. Adică, nu este posibil să rulați copii separate ale SGBD în două sau mai multe sesiuni de terminal.

Pervasive.SQL V8

Introdus în decembrie 2002, Pervasive.SQL V8 a îmbunătățit performanța aplicațiilor care utilizează oricare dintre mecanismele de acces (Btrieve sau SQL), ceea ce este realizat folosind câteva tehnologii noi:

  • Memorarea în cache a datelor la nivelul clientului îmbunătățește considerabil performanța de citire prin sprijinirea dinamică a fragmentelor de baze de date pe mașina locală a clientului.
  • Mecanismul Turbo Write Acceleration (TWA) grupează operațiunile de scriere în pachete, ceea ce minimizează accesul la disc.
  • Mecanismul de înregistrare a tranzacțiilor oferă o toleranță la erori puțin mai mică decât scrierea garantată pe disc, dar îmbunătățește performanța generală.

Pachetul de caracteristici de securitate V8 (lansat ca o actualizare intermediară la versiunea 8.5) a adus modificări importante modelului de securitate pentru a restricționa accesul la fișierele de date. Înainte de versiunea 8.5, accesul la datele Btrieve era controlat de mecanismele de securitate ale sistemului de operare, ceea ce însemna literal: „Un utilizator care efectuează citirea/scrierea datelor trebuie să aibă acces de citire/scriere la fișierele de date corespunzătoare”. Noua versiune implementează un nou model de securitate care permite administratorului să controleze accesul la datele Btrieve folosind propriul mecanism de control al accesului DBMS. După activarea noului mecanism, utilizatorul nu mai are nevoie de acces la fișierele de date. În plus, configurațiile client/server nu mai sunt necesare pentru a partaja resursele rețelei sau pentru a le mapa ca discuri virtuale. Aplicațiile se pot referi acum la datele Btrieve protejate prin șiruri de conexiune URI .

Seria pervasive PSQL

Pervasive PSQL v9

Pervasive PSQL v9 include o nouă GUI Java , bazată pe Eclipse , disponibilă atât pentru Microsoft Windows , cât și pentru Linux . De asemenea, v9 conține multe actualizări SQL, atât în ​​ceea ce privește performanța, cât și sintaxa, care îmbunătățesc viteza și funcționalitatea tuturor accesoriilor folosind SQL - ADO.Net , JDBC , ODBC și OLE DB . În cele din urmă, PSQL v9 crește dimensiunea maximă a fișierului bazei de date de la 64 GB în 8.x și anterioare. până la 128 GB în 9.0 și 256 GB în 9.5.

Odată cu lansarea PSQL v9, utilitarul DDF Builder a fost relansat și, în plus, a fost adăugat suport pentru căutarea full-text, oferit de programul de completare Full Text Search (FTS) (mai târziu, totuși, exclus din linie de produse). DDF Builder oferă utilizatorilor Btrieve posibilitatea de a specifica metadate pentru fișierele existente în format Btrieve, pentru a le pune la dispoziție utilitarelor SQL.

Toate versiunile MKDE sunt compatibile cu versiunile anterioare ale Btrieve la nivel de citire a datelor. Aceasta include versiunile anterioare MKDE, iar formatul fișierului nu este modificat decât dacă este solicitat în mod specific. Cu toate acestea, fișierele din versiunile 5.x și anterioare trebuie reconstruite în formatul versiunii 6.x sau mai recente pentru a putea fi modificate de motorul bazei de date versiunea 9.0 sau mai recentă. Reconstrucția se face din GUI sau o comandă din consolă Rebuild.

Pervasive PSQL v10 Pervasive PSQL v11 Pervasive PSQL v12 Pervasive PSQL Vx Pervasive PSQL și produse conexe

Pervasive oferă în prezent un set de produse suplimentare care extind funcționalitatea de bază a bazei de date PSQL.

  • Pervasive AuditMaster oferă auditare în timp real a tuturor interacțiunilor cu bazele de date, atât prin Btrieve, cât și prin SQL. Jurnalul de activitate a datelor poate fi vizualizat pentru a urmări modificările aduse datelor sensibile. De asemenea, poate genera evenimente de alertă care informează angajații corespunzători sau demarează procesele asociate cu acest eveniment.
  • Pervasive Backup Agent  - Oferă funcționarea continuă a PSQL, permițând software-ului de backup să copieze o bază de date în funcțiune.
  • Pervasive DataExchange  - Sincronizează și replică datele între două sau mai multe instalări PSQL, asigurându-se că datele critice sunt întotdeauna disponibile.

Note

  1. http://www.btrievesociety.com Arhivat 11 decembrie 2004. (acum lichidat, nota traducătorului, 2010)
  2. 1 2 Kyle, Jim. Btrieve complete : un ghid pentru dezvoltatori și administratorii de sisteme  . - Reading, Massachusetts: Addison-Wesley Publishing Company , 1995. - P. 7. - ISBN 0-201-48326-2 .
  3. Foster, Ed. Auzi sunetul de suge? Acea actualizare Novell poate costa mai mult decât se aștepta (downlink) . Infoworld (2000). Consultat la 12 decembrie 2004. Arhivat din original la 30 noiembrie 2004. 
  4. Copie arhivată (link nu este disponibil) . Data accesului: 25 ianuarie 2010. Arhivat din original la 19 iunie 2004.   Copie arhivată (link indisponibil) . Data accesului: 25 ianuarie 2010. Arhivat din original la 19 iunie 2004. 
  5. Pervaziv. Starea 96 dintr-o aplicație NetWare NLM (ID articol: BTRTT-97070801) (link indisponibil) . Baza de cunoștințe pervazivă (1998). Consultat la 12 decembrie 2004. Arhivat din original la 20 februarie 1999. 
  6. Copie arhivată (link nu este disponibil) . Data accesului: 25 ianuarie 2010. Arhivat din original la 2 octombrie 2005.   Copie arhivată (link indisponibil) . Data accesului: 25 ianuarie 2010. Arhivat din original la 2 octombrie 2005. 
  7. Copie arhivată (link nu este disponibil) . Data accesului: 25 ianuarie 2010. Arhivat din original la 4 iulie 2008.   Copie arhivată (link indisponibil) . Data accesului: 25 ianuarie 2010. Arhivat din original la 4 iulie 2008. 
  8. Instalare și operare Btrieve pentru Windows 95/NT , 2-5
  9. Instalarea și operarea Btrieve pentru Windows 95/NT , 2-4
  10. Pervaziv. Ghidul utilizatorului Pervasive.SQL 7  (neopr.) . - 1998. - S. 22-28.  (link indisponibil)

Link -uri