Ukusasaza ukuguqulwa kogcino lwe-Firebird 2.5 kwifomathi ye-ODS12 (i-Firebird 3.0)

Uguqulelo ngalunye lweFirebird lunoguqulelo lwayo lwefomathi yesiseko sediski yesiseko, O(n)D(isk)S(isakhiwo). Ukuza kuthi ga kwi-2.5 yenguqulo edibeneyo, i-injini ye-Firebird inokusebenza kunye ne-ODS yeenguqulelo zangaphambili, oko kukuthi, i-database evela kwiinguqulelo ezindala zavulwa yinguqulelo entsha kwaye yasebenza kwimodi yokuhambelana, kodwa i-injini ye-Firebird 3.0 isebenza kuphela ngogcino-lwazi kwinguqulo yayo ye-ODS. 12.0.

Ukufudukela kwi-3.0, i-database esuka ku-2.5 kufuneka iguqulelwe kwifomathi entsha nge-backup/restore. Ngokuqinisekileyo, sicinga ukuba i-database yayilungiselelwe ngaphambili ukuguqulwa - i.e. imetadata kunye nemibuzo ikhangelwe ukuba iyahambelana neFirebird 3.0.

Ukuba ulandela indlela eqhelekileyo, oku kuthetha ukuba kufuneka wenze i-backup kwi-version 2.5, uze ufake i-3.0 kwaye wenze ukubuyisela. Inkqubo enjalo iyamkeleka ukuba kukho ixesha elaneleyo, kodwa xa ufuduka i-database enkulu, okanye xa ufuduka i-database ezininzi ezininzi ngexesha elinye, xa ixesha liphelile, ungasebenzisa ukuguqulwa kokusasazwa, okuyi-30-40% ngokukhawuleza. Uyenza njani kanye le nto (phantsi kweWindows naphantsi kweLinux), funda phantsi kokusikwa.

Umbono jikelele kukuba siza kusebenzisa umbhobho ukukhawulezisa izinto:

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

I-Gbak esuka kwi-2.5 ivelisa i-backup kwifomathi yomgca kwaye iyithumele kwi-stdout, ngokukhawuleza ithatha i-gbak ukusuka kwi-3.0 nge-stdin kwaye idale i-database entsha.

Kuyimfuneko ukucwangcisa umbhobho onjalo ngendlela yofikelelo (ifayile) yendawo, ekubeni ufikelelo lwenethiwekhi (kwanangehostela yendawo) luyakucothisa kakhulu inkqubo.

Sihamba malunga neenkcukacha zeWindows kunye neLinux ngezantsi.

Windows

Kwimeko yeWindows, eyona ndlela ilula kukwenza ulwakhiwo oluzimeleyo lweFirebird. Kuba oku sithatha indawo yokugcina iFirebird 2.5, ithiya ngokutsha i-fbemded.dll ukuya ku-fbclient.dll, yongeza i-gbak.exe kunye (ngokhetho) kunye nezinto eziluncedo ze-isql.exe ezisuka kwindawo "eqhelekileyo" ye-2.5 yokugcina.

I-Firebird 3.0 isebenzisa indibano enye kwaye ayifuni naluphi na ukuguqulwa.

Olona guqulelo luncinci (olungafuni kufakelwa iilayibrari zexesha lokusetyenziswa kweVS2008/VS2010 kwisistim ekujoliswe kuyo) luqulethe ezi fayile zilandelayo:

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

Umlawuli onamava angaqaphela ukuba i-2.5 ayibandakanyi iifayili ze-intl/fbintl.dll kunye ne-intl/fbintl.conf. Oku kuyinyaniso, ekubeni i-gbak ayisebenzisi i-charset yoqhagamshelwano kwaye ayiguquli idatha phakathi kwee-charsets, kodwa kwicala "lokufumana" le-Firebird 3.0, ezi fayile ziyimfuneko xa usenza izalathisi.

Kwi-firebird.conf I-Firebird 3.0 iyacetyiswa ukuba yongeze:

MaxUnflushedWrites = -1
MaxUnflushedWriteTime = -1

Kwakhona, kuyanqweneleka ukuseta amaxabiso ahlukeneyo e-IpcName ye-2.5 kunye ne-3.0.

Xa sikhetha amaxabiso ezinye iiparameters of firebird.conf, siqhubeka kwingqwalaselo elula: kwinqanaba lokutofelwa kwedatha, i-gbak iqhuba i-2.5 kwinkqubo enye, kunye ne-3.0 kwenye, emva koko i-2.5 iphuma, kwaye i-3.0 iqala ukwakha. izalathisi.

Ukukhawulezisa isigaba sokwakha isalathisi kwi-3.0, kucetyiswa ukuba ukwandise ubungakanani beparamitha yeTempCacheLimit ukuya kwi ~ 40% RAM (ukuba ngumncedisi ozinikeleyo, kunjalo).

Ngokomzekelo, ukuba umncedisi une-16 GB ye-RAM, ngoko unokubeka

TempCacheLimit=6G

Kakade ke, eli xabiso lingamiselwa kuphela i-64-bit ye-Firebird 3, ekubeni nayiphi na inkqubo ye-32-bit ayikwazi ukwaba ngaphezu kwe-2 ye-gigabytes yememori.

Kwi-2.5, le parameter ayifuni ukutshintshwa - ayinakuba ngaphezu kwe-2 gigabytes, kwaye ayichaphazeli isantya ngexesha lokulondoloza.

Phambi kokwenza umsebenzi, kufuneka ujonge ukuba i-cache yephepha kwi-header yedatha imiselwe ku-0 (umyalelo) gstat -h databasename, bona iPage buffers line).

Ukuba i-cache icwangciswe ngokucacileyo kwi-header yedatha, ngoko idlula amaxabiso avela kwi-firebird.conf (kunye ne-databases.conf kwi-3.0), kwaye kwimeko yamaxabiso angonelanga, kunokukhokelela ekusebenziseni imemori ngokugqithisileyo kunye nokutshintshana.

Okulandelayo, khuphela iifayile kwisistim ekujoliswe kuyo.

Ukuguqulwa kuqhutyelwa emva kokumisa "inkqubo" yenkonzo ye-Firebird 2.5, kumgca womyalelo onamalungelo aphakamileyo kumlawuli wendawo (umzekelo):

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

Lo mzekelo usebenzisa u-"forward slash" kwizicatshulwa (ezisebenzayo "unix-style"), kunye "nomnqwazi" (u "^" onobumba) ubaleka unobumba omtsha, oluncedo xa uchwetheza imiyalelo emide. I--st(atus) ukhetho luvele kwi-Firebird 2.5.8 kwaye ikuvumela ukuba uloge idatha malunga nexesha inkqubo ye-gbak yayiqhuba (ukufumana iinkcukacha, bona uxwebhu).

Linux

KwiLinux Firebird 3 ixhomekeke kwithala leencwadi letommath. Kwi-CentOS (RHEL) eli thala leencwadi libekwe kwindawo yokugcina i-epel, ku-Ubuntu (Debian) kwindawo yokugcina inkqubo.

Kwi-CentOS, kufuneka uqale uqhagamshele indawo yokugcina i-epel kwaye emva koko wenze

yum install libtommath

Ubuntu ayidingi kubandakanywa iindawo zokugcina ezongezelelweyo, kodwa Ubuntu 16 kunye no-Ubuntu 18 bafaka iinguqulelo ezahlukeneyo zeepakethi - libtommath0 kunye ne-libtommath1, ngokulandelanayo.

I-Firebird 3.0 ijonga i-tommath.so.0 kwaye ku-Ubuntu 18 iyafuneka ngokungaphezulu ukwenza ikhonkco (symlink) ukusuka kwi-tommath.so.0 ukuya kwi-tommath.so.1. Ukwenza oku, kufuneka uqale ufumane i-tommath.so.1.

Phendla indlela ku-Ubuntu- /usr/lib/x86_64-linux-gnu/, kodwa olunye unikezelo olusekwe kwiDebian lunokwahluka.

Ingxaki yesibini inxulumene nento yokuba ukuya kuthi ga kwi-Firebird 3.0.1, kwakungekho ndlela elula yokufaka iinguqulelo ezimbini ezahlukeneyo zeseva. Asiluthatheli ngqalelo ukhetho "ukuqokelela ukusuka kwimvelaphi kunye nesimaphambili esifunekayo" ngenxa yokuntsokotha kwayo.

Kwi-Firebird 3.0.2 nangaphezulu iphunyezwe yakha nge --enable-binreloc kunye nenketho yomfaki owahlukileyo (-umendo wendlela).

Ukucinga ukuba ilayibrari ye-tommath kwaye, ukuba kuyimfuneko, i-symlink ye-tommath.so.0 yongezwa kwinkqubo, ungayifaka yangoku (ngexesha lokubhala) i-Firebird 3.0.4 yokusabalalisa, umzekelo, / opt /fb3:

./install.sh -path /opt/fb3

Emva koko, unokumisa inkonzo yenkqubo yeFirebird kwaye uqalise uguqulelo lokusasaza.

Xa umisa i-Firebird, khumbula ukuba iinkqubo ze-Firebid 2.5 kwimowudi ye-Classic zidla ngokuqalwa yi-xinetd - ngoko ke kufuneka ucime inkonzo ye-firebird ye-xinetd okanye uyeke ngokupheleleyo i-xinetd.

Kwi-firebird.conf ye-3.0 kwi-Linux, awudingi ukuseta iiparamitha ze-MaxUnflushed (zisebenza kuphela kwi-Windows) kwaye utshintshe useto lwe-Firebird 2.5.

Kwi-Linux, iFirebird 2.5 yendawo (yefayile) ufikelelo ayilingani noguqulelo oluzinzisiweyo phantsi kweWindows - iseva ye-2.5 iya kuqhuba kwinkqubo ye-gbak (ngaphandle kwenxalenye yomsebenzi womnatha), kodwa amalungelo ofikelelo aya kukhangelwa ngokuchasene nesiseko somsebenzisi, okuthetha ukuba hayi ukungena kuphela, kodwa negama lokugqitha liyakufuneka :

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

Emva kokuguqulwa okuyimpumelelo, kufuneka uqale ukhuphe i-Firebird "eyongezelelweyo" 3.0, emva koko i-Firebird "engundoqo" 2.5, kwaye emva koko wenze ufakelo olucocekileyo lwe-Firebird 2.5 - kwaye kungcono kwi-installer ye-tar.gz eqhelekileyo, kwaye kungekhona nge- zokugcina, kuba. uguqulelo koovimba unokusalela ngasemva.

Kwakhona, emva kokubuyisela i-database kwi-Linux kunye nokufaka kwakhona, kufuneka ukhangele ukuba i-database entsha iphethwe ngumsebenzisi we-firebird.

Ukuba oku akunjalo, kuya kufuneka ukuba kulungiswe.

chown firebird.firebird database

Isiphumo

Ukongeza kokugcina ixesha kunye nendawo yediski, ukuguqulwa kokusasaza kunenye inzuzo ebalulekileyo - ukuguqulwa kwedatha kwenziwa ngaphandle kokucima i-Firebird 2.5 ekhoyo, eyenza lula ukubuyisela umva kwimeko yokuguqulwa okungaphumeleli (izihlandlo ezininzi ngenxa yokunqongophala kwendawo okanye ukuqalisa ngokutsha okungalindelekanga ngexesha lokufuduka. inkqubo).

Ukonga ixesha kungenxa yokuba uguqulo lwe-"classic" "lixesha logcino" kunye "nokubuyisela ixesha". Ukubuyiswa kuqulethwe ngamacandelo amabini: ukufunda idatha kwifayile yokugcina kunye nokwakha isalathisi.

Ngoguqulelo lokusasaza, ixesha lilonke lifunyanwa "njengexesha logcino kunye nesihlanu ukuya kwishumi ekhulwini" kunye "nexesha lokwakha isalathisi".

Iziphumo ezithile zixhomekeke kwisakhiwo sesiseko sedatha, kodwa ngokuqhelekileyo, ixesha lokubuyisela liphantse liphindwe kabini ixesha lokugcina. Ke ngoko, ukuba sithatha ixesha logcino njengeyunithi, ke "ukuguqulwa kweklasikhi" ziiyunithi ezintathu zexesha, ukusasaza ziiyunithi ezimbini zexesha. Ukwandisa iTempCacheLimit kunceda ukunciphisa ixesha.

Ngokubanzi, ukuguqulwa kokusasazwa ekusebenzeni kukuvumela ukuba ugcine i-30-40% yexesha lolunye ugcino kunye nokubuyisela.

Imibuzo?

Nceda ubhale yonke imibuzo kumazwana, okanye uyithumele kumbhali wendlela yokusebenza kunye nombhali-mbhali weli nqaku - uVasily Sidorov, i-iBase Leading System Engineer, kwi-bs at ibase ru.

Ngabasebenzisi ababhalisiweyo kuphela abanokuthatha inxaxheba kuphando. Ngena, ndiyacela.

Loluphi uhlobo lweFirebird oyisebenzisayo?

  • I-Firebird 3.x

  • I-Firebird 2.5

  • I-Firebird 2.1

  • Firebird 2.0, 1.5 okanye 1.0

Bali-16 abasebenzisi abavotileyo. Umsebenzisi om-1 akakhange.

umthombo: www.habr.com

Yongeza izimvo