Phetoho ea phallo ea li-database tsa Firebird 2.5 ho sebopeho sa ODS12 (Firebird 3.0)

Mofuta o mong le o mong oa Firebird o na le mofuta oa ona oa sebopeho sa disk sa database, O(n)D(isk)S(tructure). Ho fihlela ho 2.5 e kenyellelitsoeng, enjene ea Firebird e ne e ka sebetsa le ODS ea liphetolelo tse fetileng, ke hore, li-database tse tsoang liphetolelong tsa khale li ile tsa buloa ke phetolelo e ncha 'me ea sebetsa ka mokhoa o lumellanang, empa enjene ea Firebird 3.0 e sebetsa feela le li-database ka phetolelo ea eona ea ODS. 12.0.

Ho fallela ho 3.0, database ho tloha 2.5 e tlameha ho fetoloa ho sebopeho se secha ka ho boloka / ho tsosolosa. Ha e le hantle, re nka hore database e ne e lokiselitsoe pele bakeng sa phetoho - i.e. metadata le lipotso li hlahlobiloe hore na lia lumellana le Firebird 3.0.

Haeba u latela mokhoa o tloaelehileng, sena se bolela hore o hloka ho etsa bekapo ho mofuta oa 2.5, ebe o kenya 3.0 mme o khutlise. Mokhoa o joalo oa amoheleha haeba ho na le nako e lekaneng, empa ha u falla li-database tse kholo, kapa ha u falla li-database tse 'maloa ka nako e le' ngoe, ha nako e ntse e fela, u ka sebelisa phetoho ea phallo, e leng 30-40% ka potlako. Hantle-ntle u ka etsa sena joang (tlas'a Windows le tlas'a Linux), bala tlas'a sehiloeng.

Mohopolo o akaretsang ke hore re tla sebelisa phaephe ho potlakisa lintho:

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

Gbak ho tloha ho 2.5 e hlahisa bekapo ka mokhoa oa linear mme e e romela ho stdout, eo hang-hang e nkang gbak ho tloha 3.0 ka stdin mme e theha database e ncha.

Hoa hlokahala ho hlophisa liphaephe tse joalo ka mokhoa oa ho fumana sebaka (faele), kaha phihlello ea marang-rang (esita le ka localhost) e tla liehisa ts'ebetso haholo.

Re sheba lintlha tsa Windows le Linux ka tlase.

Windows

Tabeng ea Windows, tsela e bonolo ka ho fetisisa ke ho etsa mohaho o ikemetseng oa Firebird. Bakeng sa sena re nka embed-archive Firebird 2.5, reha hape fbemded.dll ho fbclient.dll, eketsa gbak.exe le (ka boikhethelo) lisebelisoa tsa isql.exe ho tsoa "kamehla" 2.5 archive.

Firebird 3.0 e sebelisa kopano e le nngwe mme ha e hloke phetoho efe kapa efe.

Mofuta o fokolang ka ho fetesisa (o sa hlokeng ho kenya lilaebrari tsa nako ea ho sebetsa ea VS2008/VS2010 ho sistimi e shebiloeng) e na le lifaele tse latelang:

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

Mookameli ea nang le phihlelo a ka hlokomela hore 2.5 ha e kenyeletse lifaele tsa intl/fbintl.dll le intl/fbintl.conf. Sena ke 'nete, kaha gbak ha e sebelise charset ea khokahanyo ebile ha e fetole data pakeng tsa li-charset, empa ka lehlakoreng la "ho amohela" Firebird 3.0, lifaele tsena lia hlokahala ha ho etsoa li-index.

Ho firebird.conf Firebird 3.0 e khothaletsoa ho eketsa:

MaxUnflushedWrites = -1
MaxUnflushedWriteTime = -1

Hape, hoa lakatseha ho beha litekanyetso tse fapaneng tsa IpcName bakeng sa 2.5 le 3.0.

Ha re khetha boleng ba liparamente tse ling tsa firebird.conf, re tsoela pele ho nahana ka mokhoa o bonolo: sethaleng sa tšelo ea data, gbak e matha 2.5 ts'ebetsong e le 'ngoe, le 3.0 ho e' ngoe, ebe 2.5 e tsoa, ​​​​'me 3.0 e qala ho haha. indexes.

Ho potlakisa mohato oa mohaho oa index ho 3.0, ho kgothaletswa ho eketsa boholo ba parameter ea TempCacheLimit ho ~ 40% RAM (haeba e le seva se inehetseng, ho hlakile).

Ka mohlala, haeba seva se na le 16 GB ea RAM, joale u ka beha

TempCacheLimit=6G

Ehlile, boleng bona bo ka hlophisoa feela bakeng sa 64-bit Firebird 3, kaha ts'ebetso efe kapa efe ea 32-bit e ke ke ea fana ka mohopolo o fetang 2 gigabytes.

Ka 2.5, parameter ena ha e hloke ho fetoloa - e ke ke ea e-ba li-gigabytes tse fetang 2, 'me ha e ame lebelo nakong ea ho boloka.

Pele o etsa ts'ebetso, o hloka ho hlahloba hore cache ea leqephe ho hlooho ea database e behiloe ho 0 (taelo). gstat -h databasename, sheba leqephe la buffers line).

Haeba cache e behiloe ka ho hlaka ka har'a sehlooho sa database, joale e fetisa litekanyetso tsa firebird.conf (le databases.conf ho 3.0), 'me haeba ho na le litekanyetso tse kholo tse sa lekaneng, e ka lebisa ho sebeliseng mohopolo o feteletseng le ho fapanyetsana.

Ka mor'a moo, kopitsa lifaele ho sisteme eo u e batlang.

Phetoho e etsoa ka mor'a ho emisa tšebeletso ea "system" Firebird 2.5, molaong oa taelo o nang le litokelo tse phahameng ho mookameli oa sebaka (mohlala):

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

Mohlala ona o sebelisa "forward slash" ho mantsoe a qotsitsoeng ("unix-style" e nepahetseng), 'me "katiba" ("^" tlhaku) e baleha tlhaku e ncha, e leng molemo ha u tlanya litaelo tse telele. Khetho ea -st(atus) e hlahile ho Firebird 2.5.8 mme e u lumella ho kenya data mabapi le nako eo ts'ebetso ea gbak e neng e sebetsa (bakeng sa lintlha, bona litokomane).

Linux

Ho Linux Firebird 3 e itšetlehile ka laebrari ea tommath. Ho CentOS (RHEL) laeborari ena e sebakeng sa polokelo ea epel, ho Ubuntu (Debian) sebakeng sa polokelo ea sistimi.

Bakeng sa CentOS, o tlameha ho qala ho hokela polokelo ea epel ebe o etsa joalo

yum install libtommath

Botho ha bo hloke ho kenyelletsa polokelo e eketsehileng, empa Ubuntu 16 le Ubuntu 18 li kenya mefuta e fapaneng ea liphutheloana - libtommath0 le libtommath1, ka ho latellana.

Firebird 3.0 e batla tommath.so.0 mme bakeng sa Ubuntu 18 ho hlokahala hape ho theha sehokelo (symlink) ho tloha tommath.so.0 ho tommath.so.1. Ho etsa sena, pele o hloka ho fumana tommath.so.1.

Tsela e batlisisitsoeng ho Ubuntu - /usr/lib/x86_64-linux-gnu/, empa likhatiso tse ling tse thehiloeng ho Debian li kanna tsa fapana.

Bothata ba bobeli bo amana le taba ea hore ho fihlela le ho kenyelletsa Firebird 3.0.1, ho ne ho se na tsela e bonolo ea ho kenya liphetolelo tse peli tse fapaneng tsa seva. Ha re nahane ka khetho ea "kopanya ho tsoa mohloling ka sehlomathiso se hlokahalang" ka lebaka la ho rarahana ha eona.

Bakeng sa Firebird 3.0.2 le holimo ho kenngwa tshebetsong haha ka --enable-binreloc le khetho e fapaneng ea ho kenya (-path path).

Ho nka hore laebrari ea tommath le, haeba ho hlokahala, symlink bakeng sa tommath.so.0 e kenyelelitsoe tsamaisong, u ka kenya ea hona joale (nakong ea ho ngola sena) kabo ea Firebird 3.0.4 ka mohlala, / opt /fb3:

./install.sh -path /opt/fb3

Ka mor'a moo, u ka emisa tšebeletso ea tsamaiso ea Firebird 'me u qale ho fetola ho phallela.

Ha u emisa Firebird, hopola hore lits'ebetso tsa Firebid 2.5 ka mokhoa oa Classic hangata li qalisoa ke xinetd - kahoo o hloka ho tima tšebeletso ea firebird bakeng sa xinetd kapa ho emisa xinetd ka botlalo.

Ho firebird.conf bakeng sa 3.0 ho Linux, ha ho hlokahale hore u behe litekanyetso tsa MaxUnflushed (li sebetsa feela ho Windows) le ho fetola litlhophiso tsa Firebird 2.5.

Ho Linux, phihlello ea lehae (file) ea Firebird 2.5 ha e lekane le mofuta o kentsoeng tlas'a Windows - seva sa 2.5 se tla sebetsa ts'ebetsong ea gbak (ntle le karolo ea marang-rang), empa litokelo tsa phihlello li tla hlahlojoa khahlano le mosebelisi, ho bolelang. hore eseng feela ho kena, empa hape le password e tla hlokahala:

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

Ka mor'a ho sokoloha ka katleho, u tlameha ho qala ka ho tlosa "e eketsehileng" ea Firebird 3.0, ebe "ka sehloohong" Firebird 2.5, 'me ka mor'a moo u etse ts'ebetso e hloekileng ea Firebird 2.5 - 'me e molemo ka ho fetisisa ho tloha mochine o tloaelehileng oa tar.gz, eseng ka polokelong, hobane. phetolelo e ka polokelong ka 'na salla morao.

Hape, ka mor'a ho tsosolosa database ho Linux le ho kenya hape, u lokela ho hlahloba hore na database e ncha ke ea mosebedisi oa firebird.

Haeba sena ha se joalo, joale se tla hloka ho lokisoa.

chown firebird.firebird database

Phello

Ntle le ho boloka nako le sebaka sa disk, phetoho ea ho phallela e na le molemo o mong oa bohlokoa - phetoho ea database e etsoa ntle le ho hlakola Firebird 2.5 e teng, e nolofatsang haholo ha ho ka ba le phetoho e sa atleheng (hangata ka lebaka la khaello ea sebaka kapa ho qala bocha ho sa lebelloa nakong ea ho falla. ts'ebetso).

Ho boloka nako ho bakoa ke taba ea hore phetoho ea "classic" ke "nako ea ho boloka" le "nako ea ho khutlisa". Ho hlaphoheloa ho na le likarolo tse peli: ho bala data ho tsoa faeleng ea "backup" le ho theha index.

Ka phetoho ea ho phallela, nako eohle e fumanoa e le "nako ea bekapo hammoho le liphesente tse hlano ho isa ho tse leshome" le "nako ea ho haha ​​​​index".

Liphetho tse ikhethileng li ipapisitse le sebopeho sa database, empa ka karolelano, nako ea ho hlaphoheloa e batla e le habeli nako ea ho boloka. Ka hona, haeba re nka nako ea ho boloka nako e le yuniti, joale "phetoho ea khale" ke likarolo tse tharo tsa nako, ho phallela ke likarolo tse peli tsa nako. Ho eketsa TempCacheLimit ho thusa ho fokotsa nako le ho feta.

Ka kakaretso, ts'ebetso ea ho phallela e u lumella ho boloka 30-40% ea nako ea ho boloka le ho tsosolosa.

Lipotso?

Ka kopo, ngolla lipotso tsohle ho maikutlo, kapa u li romelle ho mongoli oa mokhoa le mongoli-'moho le eena oa sehlooho sena - Vasily Sidorov, IBase Leading System Engineer, ho bs at ibase ru.

Ke basebelisi ba ngolisitsoeng feela ba ka kenyang letsoho phuputsong. kenaka kopo.

U sebelisa mofuta ofe oa Firebird?

  • Firebird 3.x

  • Firebird 2.5

  • Firebird 2.1

  • Firebird 2.0, 1.5 kapa 1.0

Basebelisi ba 16 ba ile ba khetha. Mosebedisi a le 1 o hanne.

Source: www.habr.com

Eketsa ka tlhaloso