Comhshó bunachair shonraí Firebird 2.5 go formáid ODS12 (Firebird 3.0) á sruthú

Tá a leagan féin de struchtúr diosca an bhunachair shonraí ag gach leagan de Firebird - O(n)D(isk)S(tructure). Go dtí leagan 2.5 san áireamh, d'fhéadfadh inneall Firebird oibriú le ODS de leaganacha roimhe seo, is é sin, d'oscail an leagan nua bunachair shonraí ó sheanleaganacha agus d'oibrigh siad i mód comhoiriúnachta, ach ní oibríonn inneall Firebird 3.0 ach le bunachair shonraí ina leagan ODS féin. 12.0.

Chun athrú go 3.0, ní mór an bunachar sonraí ó 2.5 a thiontú go formáid nua trí chúltaca/athchóiriú. Ar ndóigh, glacaimid leis go bhfuil an bunachar sonraí ullmhaithe roimhe seo le haghaidh comhshó - i.e. seiceáladh meiteashonraí agus fiosruithe maidir le comhoiriúnacht le Firebird 3.0.

Má leanann tú an cur chuige caighdeánach, ciallaíonn sé seo go gcaithfidh tú cúltaca a dhéanamh ar leagan 2.5, ansin 3.0 a shuiteáil agus athchóiriú a dhéanamh. Tá an nós imeachta seo inghlactha má tá go leor ama agat, ach nuair a bhíonn bunachair shonraí mhóra á n-aistriú, nó nuair a bhíonn roinnt dosaen bunachar sonraí á n-imirce ag an am céanna, nuair a bhíonn an t-am ag rith amach, is féidir leat comhshó sruth a úsáid, atá 30-40% níos tapúla. Conas go díreach é seo a dhéanamh (faoi Windows agus Linux), léigh faoin gearrtha.

Is é an smaoineamh ginearálta ná go n-úsáidfimid píblíne chun rudaí a bhrostú:

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

Gineann Gbak ó 2.5 cúltaca i bhformáid líneach agus seolann sé chuig stdout é, a phiocann láithreach gbak ó 3.0 trí stdin agus a chruthaíonn bunachar sonraí nua.

Tá sé ríthábhachtach píblíne den sórt sin a eagrú ag baint úsáide as modh rochtana áitiúil (comhad), mar go gcuirfidh rochtain líonra (fiú trí localhost) moill suntasach ar an bpróiseas.

Anseo thíos féachaimid ar na sonraí le haghaidh Windows agus Linux.

Windows

I gcás Windows, is é an bealach is éasca ná tógáil go hiomlán neamhspleách de Firebird. Chun seo a chur orainn Firebird 2.5 cartlann a leabú, athainmnigh fbemded.dll go fbclient.dll, cuir an fóntais 2.5 gbak.exe “rialta” agus (roghnach) isql.exe ón gcartlann.

Úsáideann Firebird 3.0 tionól aonair agus ní gá aon mhodhnú a dhéanamh air.

Tá na comhaid seo a leanas sa rogha is lú (nach gá leabharlanna ama rite VS2008/VS2010 a shuiteáil ar an spriocchóras):

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

Féadfaidh riarthóir taithí a thabhairt faoi deara nach bhfuil na comhaid intl/fbintl.dll agus intl/fbintl.conf san áireamh i 2.5. Tá sé seo fíor, ós rud é nach n-úsáideann gbak an charchar nasctha agus nach ndéanann sé sonraí a thiontú idir na tacair charbóin, ach ar an taobh “fála” de Firebird 3.0 tá na comhaid seo ag teastáil agus innéacsanna á gcruthú.

In Firebird 3.0 firebird.conf moltar cur leis:

MaxUnflushedWrites = -1
MaxUnflushedWriteTime = -1

Chomh maith leis sin, tá sé inmholta luachanna IpcName éagsúla a shocrú le haghaidh 2.5 agus 3.0.

Agus luachanna paraiméadair firebird.conf eile á roghnú againn, déanaimid dul ar aghaidh ó chomaoin shimplí: ag an gcéim aistrithe sonraí, tá gbak 2.5 ag rith i bpróiseas amháin, agus tá 3.0 ag rith i gceann eile, ansin críochnaíonn 2.5 a chuid oibre, agus tosaíonn 3.0. innéacsanna tógála.

Chun an chéim tógála innéacs a bhrostú i 3.0, moltar méid an pharaiméadar TempCacheLimit a mhéadú go ~ 40% RAM (más freastalaí tiomnaithe é seo, ar ndóigh).

Mar shampla, má tá 16 GB RAM ag an bhfreastalaí, ansin is féidir leat a shocrú

TempCacheLimit=6G

Ar ndóigh, ní féidir an luach seo a shocrú ach le haghaidh 64-giotán Firebird 3, ós rud é nach mbeidh aon phróiseas 32-giotán in ann níos mó ná 2 ghigibheart de chuimhne a leithdháileadh.

Maidir le 2.5, ní gá an paraiméadar seo a athrú - ní fhéadfaidh sé a bheith níos mó ná 2 ghigibheart ar aon nós, agus fiú le linn cúltaca ní chuireann sé isteach ar an luas.

Sula ndéanfaidh tú an oibríocht, ní mór duit a sheiceáil go bhfuil an taisce leathanach i gceanntásc an bhunachair shonraí socraithe ag 0 (ordú gstat -h databasename, féach ar an líne maoláin Leathanach).

Má tá an taisce socraithe go sainráite i gceanntásc an bhunachair sonraí, sáraíonn sé na luachanna ó firebird.conf (agus bunachair shonraí.conf i 3.0), agus i gcás luachanna míchuí móra, is féidir go n-eascróidh tomhaltas cuimhne neamhriachtanach agus stóráil i mbabhtáil.

Ansin, cóipeáil na comhaid chuig an spriocchóras.

Déantar an tiontú tar éis stop a chur leis an tseirbhís “córas” Firebird 2.5, sa líne ordaithe le cearta ardaithe chuig riarthóir áitiúil (mar shampla):

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

Úsáideann an sampla seo "slais ar aghaidh" i comharthaí athfhriotail ("unix-stíl" bailí), agus éalaíonn "hata" (an carachtar "^") an carachtar beathaithe líne, rud atá áisiúil nuair a bhíonn orduithe fada á gclóscríobh. Bhí an rogha -st(atus) le feiceáil in Firebird 2.5.8 agus ligeann sé duit sonraí a logáil faoi am reatha an phróisis gbak (sonraí sa doiciméadú).

Linux

Ar Linux, braitheann Firebird 3 ar an leabharlann Tommath. In CentOS (RHEL) tá an leabharlann seo suite sa stór epel, in Ubuntu (Debian) i stór an chórais.

Maidir le CentOS ní mór duit an stór epel a nascadh ar dtús agus gan ach ansin a dhéanamh

yum install libtommath

Ní gá stórtha breise a nascadh le Ubuntu, ach shuiteáil Ubuntu 16 agus Ubuntu 18 leaganacha éagsúla de na pacáistí - libtommath0 agus libtommath1, faoi seach.

Féachann Firebird 3.0 le haghaidh tommath.so.0 agus le haghaidh Ubuntu 18 tá sé riachtanach freisin nascán a chruthú ó tommath.so.0 go tommath.so.1. Chun seo a dhéanamh, ní mór duit tomath.so.1 a fháil ar dtús.

Is é an cosán atá á lorg agat in Ubuntu ná - /usr/lib/x86_64-linux-gnu/, ach d'fhéadfadh sé a bheith difriúil i ndáiltí eile atá bunaithe ar Debian.

Eascraíonn an dara fadhb as an bhfíric go dtí go Firebird 3.0.1, san áireamh, ní raibh aon bhealach éasca a shuiteáil dhá leagan éagsúla den fhreastalaí. Ní bhreithnímid an rogha “tiomsú ó fhoinsí leis an réimír riachtanach” mar gheall ar a dhéine saothair coibhneasta.

Curtha i bhfeidhm do Firebird 3.0.2 agus níos airde foirgneamh le -enable-binreloc agus rogha suiteálaí ar leith (-cosán cosán).

Ag glacadh leis go bhfuil an leabharlann tommath agus, más gá, nasc simplí do tommath.so.0 curtha leis an gcóras, is féidir leat an dáileadh reatha (tráth scríofa an ailt seo) Firebird 3.0.4 a shuiteáil i, mar shampla, / rogha/fb3:

./install.sh -path /opt/fb3

Tar éis seo, is féidir leat stop a chur le seirbhís chórais Firebird agus tosú ar chomhshó sruthú.

Agus Firebird á stopadh agat, ba chóir duit a chur san áireamh go bhfuil próisis Firebid 2.5 i mód Classic á seoladh ag xinetd de ghnáth - mar sin, ní mór duit an tseirbhís firebird a dhíchumasú le haghaidh xinetd nó stop a chur le xinetd go hiomlán.

I firebird.conf le haghaidh 3.0 ar Linux, ní gá duit paraiméadair MaxUnflushed a shocrú (ní oibríonn siad ach ar Windows) agus socruithe Firebird 2.5 a athrú.

Ar Linux, níl rochtain áitiúil (comhad) de Firebird 2.5 comhionann leis an leagan leabaithe faoi Windows - reáchtálfar freastalaí 2.5 sa phróiseas gbak (gan an chuid líonra), ach déanfar cearta rochtana a sheiceáil i gcoinne an bonn úsáideora, rud a chiallaíonn tú beidh gá ní amháin le logáil isteach, ach freisin pasfhocal :

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

Tar éis an chomhshó rathúil, ní mór duit an Firebird 3.0 “breise” a bhaint ar dtús, ansin an “príomh” Firebird 2.5, agus ina dhiaidh sin suiteáil glan de Firebird 2.5 a dhéanamh - is fearr ar fad ón suiteálaí caighdeánach tar.gz, agus ní trí stórtha, mar Féadfaidh an leagan sna stórtha a bheith moille.

Chomh maith leis sin, tar éis an bunachar sonraí a athchóiriú ar Linux agus é a athshuiteáil, ní mór duit a sheiceáil go bhfuil an bunachar sonraí nua faoi úinéireacht an úsáideora Firebird.

Mura bhfuil sé seo amhlaidh, ansin beidh gá é a cheartú

chown firebird.firebird database

Iomlán na

Chomh maith le ham agus spás diosca a shábháil, tá buntáiste tábhachtach eile ag comhshó sruth - déantar an comhshó bunachar sonraí gan an Firebird 2.5 atá ann cheana a bhaint, rud a fhágann go bhfuil sé i bhfad níos éasca é a rolladh ar ais má theipeann ar an chomhshó (is minic mar gheall ar easpa spáis nó an atosaigh gan choinne le linn an phróisis imirce).

Tá an t-am a shábháil mar gheall ar an bhfíric go bhfuil an "clasaiceach" chomhshó "cúltaca" móide "a chur ar ais am". Tá dhá chuid sa aisghabháil: sonraí a léamh ón gcomhad cúltaca agus innéacs a thógáil.

Le comhshó leanúnach, faightear an t-am iomlán mar "am cúltaca móide cúig go deich faoin gcéad" agus "am tógála innéacs."

Braitheann torthaí sonracha ar struchtúr an bhunachair sonraí, ach ar an meán tá an t-am aisghabhála thart ar cóimhéid leis an am cúltaca a dhúbailt. Dá bhrí sin, má thógaimid am cúltaca mar aonad, is trí aonad ama an "tiontú clasaiceach", agus is dhá aonad ama an chomhshó leanúnach. Cuidíonn méadú TempCacheLimit le ham a laghdú tuilleadh.

Go ginearálta, ceadaíonn comhshó inlíne i gcleachtas leat a shábháil 30-40% den am a theastaíonn le haghaidh cúltaca agus athchóiriú malartach.

Ceisteanna?

Scríobh na ceisteanna go léir sna tuairimí le do thoil, nó seol iad chuig údar na modheolaíochta agus comh-údar an ailt seo - Vasily Sidorov, príomh-innealtóir córais ag iBase, ag bs ag ibase ru.

Ní féidir ach le húsáideoirí cláraithe páirt a ghlacadh sa suirbhé. Sínigh isteach, le do thoil.

Cén leagan de Firebird atá in úsáid agat?

  • Firebird 3.x

  • Cluiche Firebird 2.5

  • Cluiche Firebird 2.1

  • Firebird 2.0, 1.5 nó 1.0

Vótáil 16 úsáideoir. Staon úsáideoir amháin.

Foinse: will.com

Add a comment