Suiga i luga ole laiga ole Firebird 2.5 database ile ODS12 format (Firebird 3.0)

O fa'aaliga ta'itasi a le Firebird e iai lana lava fa'asologa o le fa'atulagaina o fa'amaumauga o fa'amaumauga, O(n)D(isk)S(tructure). E oʻo atu i le version 2.5 e aofia ai, e mafai e le afi Firebird ona galue ma le ODS o lomiga muamua, o lona uiga, o faʻamaumauga mai faʻamaumauga tuai na tatalaina e le fou fou ma galue i le tulaga fetaui, ae o le afi Firebird 3.0 e naʻo le faʻaogaina o faʻamaumauga i lana lava lomiga ODS. 12.0.

Ina ia fesuiai i le 3.0, o le database mai le 2.5 e tatau ona liua i le faatulagaga fou e ala i le faʻamaumauga / toe faʻaleleia. O le mea moni, matou te manatu o le database na saunia muamua mo le liua - i.e. metadata ma fesili ua siakiina mo le fetaui ma le Firebird 3.0.

Afai e te mulimulitai i le faiga masani, o lona uiga e te manaʻomia le faia o se faʻamaumauga i luga o le version 2.5, ona faʻapipiʻi lea o le 3.0 ma toe faʻaleleia. O sea faiga e talia pe afai e lava le taimi, ae pe a faimalaga faʻamaumauga tele, poʻo le faimalaga i le tele o faʻamaumauga i le taimi e tasi, pe a uma le taimi, e mafai ona e faʻaogaina le faʻaliliuina o le liua, lea e 30-40% vave. E faʻafefea ona fai lenei mea (i lalo o Windows ma lalo o Linux), faitau i lalo o le tipi.

O le manatu lautele o le a matou faʻaogaina se paipa e faʻavave ai mea:

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

Gbak mai le 2.5 e maua ai se faʻamaumauga i se laina laina ma tuʻuina atu i le stdout, lea e vave ona pikiina le gbak mai le 3.0 e ala i le stdin ma fatuina se database fou.

E manaʻomia le faʻatulagaina o se paipa faʻatasi ma se auala faʻaoga (faila), talu ai o fesoʻotaʻiga (e oʻo lava ile localhost) o le a faʻagesegese tele le faagasologa.

Matou te suʻeina faʻamatalaga mo Windows ma Linux i lalo.

pupuni

I le tulaga o Windows, o le auala pito sili ona faigofie o le faia lea o se fale tutoʻatasi o Firebird. Mo lenei matou ave embed-archive Firebird 2.5, toe faaigoa le fbemded.dll i le fbclient.dll, faaopoopo le gbak.exe ma (filifiliga) isql.exe utilities mai le "masani" 2.5 archive.

Firebird 3.0 fa'aoga potopotoga tasi ma e le mana'omia se suiga.

O le pito sili ona laʻititi (lea e le manaʻomia ai le faʻapipiʻiina o le VS2008/VS2010 runtime faletusi i luga o le polokalama faʻatulagaina) o loʻo i ai faila nei:

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

E mafai e se pule poto masani ona matauina o le 2.5 e le aofia ai faila intl/fbintl.dll ma intl/fbintl.conf. E moni lenei mea, talu ai e le faʻaogaina e le gbak se fesoʻotaʻiga charset ma e le faʻaliliuina faʻamatalaga i le va o charsets, ae i luga o le "maua" o le Firebird 3.0, o nei faila e manaʻomia pe a fatuina faʻamatalaga.

I firebird.conf Ua fautuaina le Firebird 3.0 e faʻaopoopo:

MaxUnflushedWrites = -1
MaxUnflushedWriteTime = -1

E le gata i lea, e fautuaina e seti tulaga eseese IpcName mo 2.5 ma 3.0.

Pe a filifilia le tau o isi taʻiala o le firebird.conf, matou te faʻagasolo mai se iloiloga faigofie: i le faʻasologa o faʻamatalaga, gbak e 2.5 i le tasi faagasologa, ma le 3.0 i le isi, ona 2.5 alu ese, ma 3.0 amata fausia. faasino igoa.

Ina ia faʻavavevave le faʻasologa o faʻailoga i le 3.0, e fautuaina e faʻateleina le tele o le TempCacheLimit parameter i le ~ 40% RAM (pe a fai o se faʻaumau tuuto, ioe).

Mo se faʻataʻitaʻiga, afai o le server e 16 GB o le RAM, ona mafai lea ona e tuʻuina

TempCacheLimit=6G

Ioe, e na'o le 64-bit Firebird 3 e mafai ona setiina lenei tau, talu ai o so'o se faiga 32-bit e le mafai ona tu'uina atu le sili atu i le 2 gigabytes o le manatua.

I le 2.5, e le manaʻomia ona suia lenei parakalafa - e le mafai ona sili atu i le 2 gigabytes, ma e le afaina ai le saoasaoa i le taimi o le faʻamaumauga.

Aʻo leʻi faia le taʻaloga, e tatau ona e siaki o le itulau cache i le faʻauluuluga o faʻamaumauga ua seti i le 0 (poloaiga gstat -h databasename, va'ai i le itulau pa'u laina).

Afai o le cache o loʻo faʻapipiʻi manino i le ulutala o faʻamaumauga, ona faʻamalo ai lea o tau mai le firebird.conf (ma databases.conf i le 3.0), ma i le tulaga o le le lava le tele o tau, e mafai ona oʻo atu ai i le tele o le mafaufau ma le fesuiaʻi.

Sosoo ai, kopi faila i le faiga fa'atatau.

O le liua e faia pe a uma ona taofi le "faiga" Firebird 2.5 auaunaga, i luga o le laina faʻatonu ma aia tatau maualuga i le pule i le lotoifale (faʻataʻitaʻiga):

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

O lenei faʻataʻitaʻiga e faʻaogaina ai le "faʻailoga i luma" i upusii (aoga "unix-style"), ma le "hat" (le "^" character) e sola ese mai le uiga fou, lea e aoga pe a taina poloaiga uumi. O le -st (atus) filifiliga na faʻaalia i le Firebird 2.5.8 ma faʻatagaina oe e faʻamauina faʻamatalaga e uiga i le taimi na faʻatautaia ai le faagasologa o le gbak (mo faʻamatalaga, vaʻai i faʻamaumauga).

Linux

I luga ole Linux Firebird 3 faʻalagolago ile faletusi tommath. I luga o CentOS (RHEL) o loʻo i ai lenei faletusi i totonu o le faleoloa epel, i luga o le Ubuntu (Debian) i le fale teu oloa.

Mo CentOS, e tatau ona e faʻafesoʻotaʻi muamua le fale teu oloa ma naʻo le faia

yum install libtommath

E le manaʻomia e Ubuntu le faʻaopoopoina o fale teu oloa, ae o le Ubuntu 16 ma le Ubuntu 18 faʻapipiʻi ituaiga eseese o afifi - libtommath0 ma libtommath1, i le faasologa.

O le Firebird 3.0 e suʻe le tommath.so.0 ma le Ubuntu 18 e manaʻomia foʻi le fatuina o se soʻotaga (symlink) mai le tommath.so.0 i le tommath.so.1. Ina ia faia lenei mea, e tatau ona e suʻe muamua le tommath.so.1.

Su'e ala ile Ubuntu - /usr/lib/x86_64-linux-gnu/, ae atonu e ese i isi faʻasalalauga faʻavae Debian.

O le faʻafitauli lona lua e fesoʻotaʻi ma le mea moni e oʻo atu ma aofia ai le Firebird 3.0.1, e leai se auala faigofie e faʻapipiʻi ai ni faʻasalalauga eseese se lua. Matou te le manatu i le filifiliga "faʻapipiʻi mai le puna ma le faʻailoga manaʻomia" ona o lona lavelave.

Mo Firebird 3.0.2 ma maualuga atu ua faʻatinoina fausia i le --enable-binreloc ma se isi mea fa'apipi'i filifiliga (-ala ala).

Faʻapea o le faletusi tommath ma, pe a manaʻomia, o se symlink mo tommath.so.0 ua faʻaopoopoina i le faiga, e mafai ona e faʻapipiʻi le taimi nei (i le taimi o lenei tusitusiga) Firebird 3.0.4 tufatufaina i totonu, mo se faʻataʻitaʻiga, /opt /fb3:

./install.sh -path /opt/fb3

A maeʻa lena, e mafai ona e taofia le Firebird system service ma amata faʻafefe le liua.

Pe a taofi le Firebird, ia manatua o le Firebid 2.5 faiga i le Classic mode e masani lava ona amataina e xinetd - o lea e tatau ai ona e faʻamalo le auaunaga firebird mo xinetd pe taofi atoa le xinetd.

I le firebird.conf mo le 3.0 i luga o Linux, e te le manaʻomia le setiina o MaxUnflushed parameters (naʻo le Windows e galue ai) ma suia le Firebird 2.5 faʻatulagaina.

I Linux, o le Firebird 2.5 local (faila) avanoa e le tutusa ma le faʻapipiʻiina i lalo o Windows - o le 2.5 server o le a tamoʻe i le gbak process (e aunoa ma le vaega o fesoʻotaʻiga), ae o aia tatau o le a siakiina e faasaga i le tagata faʻaoga, o lona uiga e le gata o le saini, ae faapea foi le upu faataga o le a manaomia:

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

A maeʻa le liua manuia, e tatau ona e aveese muamua le "faaopoopo" Firebird 3.0, ona sosoo ai lea ma le "autu" Firebird 2.5, ma a maeʻa ona faia se faʻapipiʻi mama o Firebird 2.5 - ma e sili mai le faʻapipiʻi masani tar.gz, ae le o le fale teu oloa, aua. o le lomiga i totonu o fale teu oloa atonu e tuai.

E le gata i lea, a maeʻa ona toe faʻaleleia le faʻamaumauga i luga o Linux ma toe faʻapipiʻi, e tatau ona e siakiina o le database fou e umia e le tagata faʻaoga firebird.

Afai e le o le tulaga lea, o lona uiga e tatau ona faasaʻo.

chown firebird.firebird database

Le iʻuga

I le faʻaopoopoga i le faʻasaoina o le taimi ma le avanoa o le disk, o le faʻaliliuina o le liua o loʻo i ai se isi avanoa taua - o le faʻaliliuga o faʻamaumauga e faia e aunoa ma le tapeina o le Firebird 2.5 o loʻo i ai nei, lea e matua faafaigofieina ai le toe foʻi i tua i le tulaga o le le manuia o le liua (sili ona tele ona o le leai o se avanoa poʻo le toe faʻafuaseʻi faʻafuaseʻi i le taimi o femalagaiga. faagasologa).

O le fa'asaoina o le taimi e mafua mai i le mea moni e faapea o le liua "malaga" o le "taimi fa'asao" fa'atasi ai ma le "taimi toe fa'afo'isia". Toe fa'aleleia e aofia ai vaega e lua: faitau fa'amaumauga mai se faila faila ma fausia se fa'asino igoa.

Faatasi ai ma le tafe mai o le liua, o le taimi atoa e maua e pei o le "taimi faaleoleo faaopoopo le lima i le sefulu pasene" ma le "taimi o le fausiaina o faasino igoa".

O fa'ai'uga fa'apitoa e fa'alagolago i le fausaga o fa'amaumauga, ae i le averesi, o le taimi e toe fa'aleleia ai e tusa ma le fa'aluaina o le taimi fa'asao. O le mea lea, afai tatou te faʻaaogaina le taimi faʻasao o se iunite, o le "liua masani" o le tolu iunite o le taimi, faʻafefe o le lua iunite o le taimi. Fa'ateleina TempCacheLimit fesoasoani e fa'aitiitia le taimi.

I se tulaga lautele, o le faʻaliliuina i-laina i le faʻataʻitaʻiga e mafai ai ona e faʻasaoina le 30-40% o le taimi e manaʻomia mo le isi faʻamaumauga ma toe faʻaleleia.

Fesili?

Fa'amolemole tusi uma fesili i fa'amatalaga, pe lafo atu i le tusitala o le metotia ma le tusitala-tusitala o lenei tusiga - Vasily Sidorov, iBase Leading System Engineer, i bs i ibase ru.

Na'o tagata fa'aigoaina e mafai ona auai i le su'esu'ega. Saini ese j, faʻamolemole.

O le a le ituaiga o Firebird o loʻo e faʻaaogaina?

  • Firebird 3.x

  • Firebird 2.5

  • Firebird 2.1

  • Firebird 2.0, 1.5 poʻo le 1.0

16 tagata fa'aoga na palota. 1 tagata fa'aoga fa'ate'aina.

puna: www.habr.com

Faaopoopo i ai se faamatalaga