Beddelka qulqulka xogta ee Firebird 2.5 una beddelo qaabka ODS12 (Firebird 3.0)

Nooc kasta oo ka mid ah Firebird wuxuu leeyahay nooc u gaar ah oo ah qaabka qaab-dhismeedka diskka xogta, O(n)D(isk)S (qaab-dhismeed). Ilaa nooca 2.5 lagu daro, matoorka Firebird wuxuu la shaqayn karaa ODS noocyadii hore, taas oo ah, xog-ururinta noocyadii hore waxaa furay nooca cusub oo uu u shaqeeyay qaab la jaan qaadi kara, laakiin matoorka Firebird 3.0 wuxuu la shaqeeyaa kaydka xogta ee nooca ODS u gaar ah. 12.0.

Si aad ugu guurto 3.0, xogta laga soo bilaabo 2.5 waa in loo beddelaa qaabka cusub iyada oo loo marayo kaabta/soo celinta. Dabcan, waxaan u qaadaneynaa in keydka xogta horey loo diyaariyey si loogu beddelo - i.e. Xogta badan iyo weydiimaha ayaa la hubiyay inay waafaqsan yihiin Firebird 3.0.

Haddii aad raacdo habka caadiga ah, tani waxay ka dhigan tahay inaad u baahan tahay inaad ku sameyso nuqul ka mid ah nooca 2.5, ka dibna ku dheji 3.0 oo aad dib u soo celiso. Nidaamka noocan oo kale ah waa la aqbali karaa haddii uu jiro wakhti ku filan, laakiin markaad u guurto xog-ururin waaweyn, ama markaad guurto dhowr darsin database isla waqti isku mid ah, marka wakhtigu kaa dhamaanayo, waxaad isticmaali kartaa beddelka qulqulka, taas oo ah 30-40% dhaqso. Sida saxda ah ee tan loo sameeyo (hoosta Windows iyo Linux), hoos ka akhri gooynta.

Fikradda guud ayaa ah inaan isticmaalno dhuumo si aan wax u dardargelinno:

gbak -b … база25 stdout | gbak -c … stdin база30

Gbak ka 2.5 waxay soo saartaa kayd qaab toosan ah waxayna u dirtaa stdout, kaas oo isla markiiba ka soo qaadaya gbak 3.0 iyada oo loo marayo stdin oo abuuraysa xog cusub.

Waa lagama maarmaan in la habeeyo dhuumaha noocan oo kale ah oo leh hab maxalli ah (faylka) gelitaanka, maadaama gelitaanka shabakada (xitaa iyada oo loo marayo localhost) waxay si weyn hoos u dhigi doontaa habka.

Hoos waxaan ku eegaynaa faahfaahinta Windows iyo Linux.

Windows

Xaaladda Windows, habka ugu fudud waa in la sameeyo dhisme gebi ahaanba taagan oo Firebird ah. Tan waxaan u qaadaneynaa kaydinta kaydka Firebird 2.5, Magaca fbemded.dll u bax fbclient.dll, ku dar gbak.exe iyo (ikhtiyaar) isql.exe utilities ka "caadi ah" 2.5 kaydka.

Firebird 3.0 isticmaal hal shir umana baahna wax ka beddel.

Nooca ugu yar (oo aan u baahnayn rakibaadda maktabadaha runtime ee VS2008/VS2010 ee nidaamka bartilmaameedka) ayaa ka kooban faylasha soo socda:

25/gbak.exe
25/fbclient.dll
25/firebird.conf
25/firebird.log
25/firebird.msg
25/ib_util.dll
25/icudt30.dll
25/icuin30.dll
25/icuuc30.dll
25/Microsoft.VC80.CRT.manifest
25/msvcp80.dll
25/msvcr80.dll

30/fbclient.dll
30/firebird.conf
30/firebird.msg
30/gbak.exe
30/ib_util.dll
30/icudt52.dll
30/icudt52l.dat
30/icuin52.dll
30/icuuc52.dll
30/msvcp100.dll
30/msvcr100.dll
30/intl/fbintl.conf
30/intl/fbintl.dll
30/plugins/engine12.dll

Maamule khibrad leh ayaa laga yaabaa inuu ogaado in 2.5 aysan ku jirin faylasha intl/fbintl.dll iyo intl/fbintl.conf. Tani waa run, maadaama gbak uusan isticmaalin charset xiriiriye oo uusan u beddelin xogta u dhexeysa charsets, laakiin dhinaca "helitaanka" ee Firebird 3.0, faylashani waa lagama maarmaan marka la abuurayo tusmooyinka.

Gudaha firebird.conf Firebird 3.0 ayaa lagula talinayaa in lagu daro:

MaxUnflushedWrites = -1
MaxUnflushedWriteTime = -1

Sidoo kale, waa suurad wacan in la dejiyo qiyamka IpcName kala duwan ee 2.5 iyo 3.0.

Markaad dooranayso qiyamka xuduudaha kale ee firebird.conf, waxaan ka sii soconaa tixgelin fudud: marxaladda gudbinta xogta, gbak wuxuu ku socdaa 2.5 hal hab, iyo 3.0 kan kale, ka dibna 2.5 ayaa ka baxa, iyo 3.0 wuxuu bilaabaa dhismaha. tusmooyinka.

Si loo dedejiyo wejiga dhismaha tusaha ee 3.0, waxaa lagu talinayaa in la kordhiyo cabbirka cabbirka TempCacheLimit ilaa ~ 40% RAM (haddii ay tahay server go'an, dabcan).

Tusaale ahaan, haddii server-ku leeyahay 16 GB oo RAM ah, markaa waxaad ku dhejin kartaa

TempCacheLimit=6G

Dabcan, qiimahan waxaa loo dejin karaa oo keliya 64-bit Firebird 3, sababtoo ah nidaam kasta oo 32-bit ah ma qoondayn karo wax ka badan 2 gigabytes oo xusuusta ah.

2.5, halbeeggani uma baahna in la beddelo - si kastaba ma noqon karto wax ka badan 2 gigabytes, mana saameynayso xawaaraha inta lagu jiro kaydinta.

Kahor intaadan samaynin qalliinka, waxaad u baahan tahay inaad hubiso in khasnadda bogga ku jira madaxa keydka macluumaadka loo dejiyay 0 (amar gstat -h databasename, eeg xariiqda xajinta bogga).

Haddii kaydka si cad loogu dhejiyo madaxa xogta, ka dibna waxay ka takhalustaa qiyamka Firebird.conf (iyo databases.conf ee 3.0), iyo haddii ay dhacdo qiimo aan ku filnayn, waxay u horseedi kartaa isticmaalka xusuusta xad dhaafka ah iyo isdhaafsiga.

Marka xigta, nuqul ka samee faylasha nidaamka bartilmaameedka.

Beddelka waxaa la sameeyaa ka dib marka la joojiyo adeegga "nidaamka" Firebird 2.5, ee khadka taliska oo leh xuquuq sare oo maamulaha maxalliga ah (tusaale):

set ISC_USER=владелец
"25/gbak" -z -b -g -v -st t -y 25.log база25 stdout|^
"30/gbak" -z -c -v -st t -y 30.log stdin база30

Tusaalahani waxa uu isticmaalayaa "slash horudhac" xaga xigashooyinka (oo sax ah "unix-style"), iyo "koofi" ("^" dabeecadda) ayaa ka baxsanaysa xarfaha cusub, kaas oo faa'iido leh marka la qorayo amarrada dhaadheer. Xulashada -st (atus) waxay ka soo muuqatay Firebird 2.5.8 waxayna kuu ogolaaneysaa inaad gasho xogta ku saabsan wakhtiga habka gbak uu socdo (faahfaahinta, fiiri dukumentiyada).

Linux

On Linux Firebird 3 waxay kuxirantahay maktabadda tommath. On CentOS (RHEL) maktabadani waxay ku taal kaydka epel, ee Ubuntu (Debian) ee kaydka nidaamka.

CentOS, waa inaad marka hore ku xidhaa kaydka epel ka dibna kaliya samee

yum install libtommath

Ubuntu uma baahna in lagu daro kaydad dheeri ah, laakiin Ubuntu 16 iyo Ubuntu 18 waxay rakibaan noocyo kala duwan oo xirmooyinka - libtommath0 iyo libtommath1, siday u kala horreeyaan.

Firebird 3.0 waxay eegaysaa tommath.so.0 iyo Ubuntu 18 waxa kale oo looga baahan yahay inay abuurto isku xidhka (symlink) ee tommath.so.0 ilaa tommath.so.1. Si taas loo sameeyo, marka hore waxaad u baahan tahay inaad hesho tommath.so.1.

Waddada laga raadiyay Ubuntu - /usr/lib/x86_64-linux-gnu/, laakiin qaybinta kale ee ku salaysan Debian way ka duwanaan kartaa.

Dhibaatada labaad waxay la xiriirtaa xaqiiqda ah in ilaa iyo ay ku jiraan Firebird 3.0.1, ma jirin hab sahlan oo lagu rakibo laba nooc oo kala duwan oo server ah. Ma tixgalinayno ikhtiyaarka "ka soo ururinta isha oo leh horgale loo baahan yahay" sababtoo ah kakankeeda.

Loogu talagalay Firebird 3.0.2 iyo wixii ka sareeya la fuliyay ku dhis --enable-binreloc iyo ikhtiyaar rakibe gaar ah (-dariiqa).

Haddii loo qaato in maktabadda tommath iyo, haddii loo baahdo, calaamad tommath.so.0 lagu daray nidaamka, waxaad ku rakibi kartaa hadda (waqtiga qoraalkan) Firebird 3.0.4 qaybinta, tusaale ahaan, /opt /fb3:

./install.sh -path /opt/fb3

Taas ka dib, waxaad joojin kartaa adeegga nidaamka Firebird oo aad bilowdo beddelka qulqulka.

Markaad joojinayso Firebird, maskaxda ku hay in hababka Firebid 2.5 ee qaabka Classic ay badanaa ku bilaabmaan xinetd - markaa waxaad u baahan tahay inaad ka joojiso adeegga firebird ee xinetd ama aad joojiso gabi ahaanba xinetd.

In firebird.conf ee 3.0 ee Linux, uma baahnid inaad dejiso xuduudaha MaxUnflushed (waxay kaliya ka shaqeeyaan Windows) oo aad bedesho goobaha Firebird 2.5.

Linux, gelida maxalliga ah (faylka) ee Firebird 2.5 uma dhigna nooca ku dhex jira Windows - server-ka 2.5 wuxuu ka shaqeyn doonaa habka gbak (la'aanteed qaybta shabakadda), laakiin xuquuqaha gelitaanka waxaa lagu eegi doonaa saldhigga isticmaalaha, taas oo macnaheedu yahay ma aha oo kaliya login, laakiin sidoo kale erayga sirta ah ayaa loo baahan doonaa:

export ISC_USER=username ISC_PASSWORD=password
/opt/firebird/bin/gbak -b … база25 stdout
|/opt/fb3/bin/gbak -c … stdin база30

Ka dib beddelaad guul leh, waa inaad marka hore ka saartaa "wax dheeraad ah" Firebird 3.0, ka dibna "Firebird 2.5" ugu weyn, ka dib markaa samee rakibaad nadiif ah oo Firebird 2.5 ah - oo waxa ugu fiican rakibaha tar.gz ee caadiga ah, oo aan la marin kayd, sababtoo ah. nooca kaydadka ayaa laga yaabaa inuu dib u dhaco.

Sidoo kale, ka dib markaad dib u soo celiso xogta Linux oo aad dib u rakibto, waxaad u baahan tahay inaad hubiso in xogta cusubi ay leedahay isticmaalaha firebird.

Haddii taasi aysan dhicin, markaas waxay u baahan doontaa in la saxo.

chown firebird.firebird database

Natiijada

Marka lagu daro kaydinta wakhtiga iyo booska diskka, beddelka qulqulka ayaa leh faa'iido kale oo muhiim ah - beddelka xogta waxaa la sameeyaa iyada oo aan la tirtirin Firebird 2.5 ee jira, taas oo si weyn u fududaysa dib u noqoshada haddii ay dhacdo beddelaad aan lagu guulaysan (inta badan sababtoo ah boos la'aan ama dib u bilaabid lama filaan ah inta lagu jiro socdaalka. habka).

Badbaadinta wakhtiga waxaa ugu wacan xaqiiqada ah in beddelka "classic" uu yahay "waqtiga kaabta" oo lagu daray "waqtiga soo celinta". Soo kabashada waxay ka kooban tahay laba qaybood: akhrinta xogta faylka kaydka ah iyo dhisidda index.

Marka la beddelo qulqulka, wadarta wakhtiga waxaa la helayaa sida "waqtiga kaydinta oo lagu daray shan ilaa toban boqolkiiba" iyo "waqtiga dhismaha index".

Natiijooyinka gaarka ah waxay ku xiran yihiin qaabka xogta xogta, laakiin celcelis ahaan, wakhtiga soo kabashada waa qiyaastii laba jeer wakhtiga kaydinta. Sidaa darteed, haddii aan u qaadanno wakhtiga kaydinta cutub ahaan, markaa "beddelka caadiga ah" waa saddex qaybood oo waqti ah, qulqulku waa laba cutub oo waqti ah. Kordhinta TempCacheLimit waxay gacan ka geysataa dhimista waqtiga.

Guud ahaan, beddelka qulqulka ee ficil ahaan wuxuu kuu ogolaanayaa inaad badbaadiso 30-40% wakhtiga kaydinta beddelka ah iyo soo celinta.

Su'aalo?

Fadlan ku qor dhammaan su'aalaha faallooyinka, ama u dir qoraaga habka iyo qoraaga maqaalkan - Vasily Sidorov, Engineer System Leading iBase, at bs at ibase ru.

Isticmaalayaasha diiwaangashan oo keliya ayaa ka qaybqaadan kara sahanka. Soo gal, soo dhawoow.

Nooca Firebird ee aad isticmaalayso?

  • Firebird 3.x

  • Firebird 2.5

  • Firebird 2.1

  • Firebird 2.0, 1.5 ama 1.0

16 isticmaale ayaa codeeyay. 1 isticmaale waa ka aamusay.

Source: www.habr.com

Add a comment