Famadihana ny angona Firebird 2.5 amin'ny endrika ODS12 (Firebird 3.0)

Ny dikan-tenin'ny Firebird tsirairay dia manana ny endriny manokana amin'ny endrika firafitry ny kapila database, O(n)D(isk)S(tructure). Hatramin'ny version 2.5 inclusive, ny motera Firebird dia afaka miara-miasa amin'ny ODS amin'ny dikan-teny teo aloha, izany hoe ny angon-drakitra avy amin'ny dikan-teny taloha dia nosokafana tamin'ny dikan-teny vaovao ary niasa tamin'ny fomba mifanaraka, fa ny motera Firebird 3.0 dia tsy miasa afa-tsy amin'ny angon-drakitra amin'ny dikan-teny ODS azy manokana. 12.0.

Raha hifindra any amin'ny 3.0, ny angon-drakitra avy amin'ny 2.5 dia tsy maintsy avadika ho endrika vaovao amin'ny alΓ lan'ny backup/restore. Mazava ho azy fa heverinay fa efa nomanina ho an'ny fiovam-po ny tahiry taloha - i.e. Ny metadata sy ny fanontaniana dia nozahana raha mifanaraka amin'ny Firebird 3.0.

Raha manaraka ny fomba fanao mahazatra ianao dia midika izany fa mila manao backup amin'ny version 2.5 ianao, avy eo mametraka 3.0 ary manaova famerenana. Ny fomba fiasa toy izany dia azo ekena raha ampy ny fotoana, fa rehefa mifindra monina angon-drakitra lehibe, na rehefa mifindra monina am-polony maromaro miaraka amin'ny fotoana iray ihany, rehefa lany ny fotoana, dia azonao ampiasaina ny fiovam-po mivantana, izay 30-40% haingana kokoa. Ahoana ny fomba hanaovana izany (eo ambanin'ny Windows sy Linux), vakio eo ambanin'ny tapaka.

Ny hevitra ankapobeny dia hoe hampiasa fantsona izahay hanafainganana ny zavatra:

gbak -b … Π±Π°Π·Π°25 stdout | gbak -c … stdin Π±Π°Π·Π°30

Gbak avy amin'ny 2.5 dia mamorona backup amin'ny endrika linear ary mandefa azy any amin'ny stdout, izay maka avy hatrany ny gbak avy amin'ny 3.0 amin'ny stdin ary mamorona tahiry vaovao.

Ilaina ny mandamina fantsona toy izany miaraka amin'ny fomba fidirana eo an-toerana (rakitra), satria ny fidirana amin'ny tambajotra (na amin'ny alΓ lan'ny localhost aza) dia hampiadana ny dingana.

Mandinika ny antsipiriany momba ny Windows sy Linux eto ambany izahay.

Windows

Raha ny Windows, ny fomba tsotra indrindra dia ny manamboatra Firebird irery. Ho an'ity dia raisintsika embed-archive Firebird 2.5, ovao ny fbemded.dll ho fbclient.dll, ampio gbak.exe ary (tsy voatery) isql.exe utilities avy amin'ny arsiva β€œregular” 2.5.

Mampiasa ny Firebird 3.0 fivoriambe tokana ary tsy mila fanovana.

Ny dikan-teny faran'izay kely indrindra (izay tsy mitaky fametrahana ny tranomboky VS2008/VS2010 runtime amin'ny rafitra kendrena) dia ahitana ireto rakitra manaraka ireto:

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

Ny mpitantana za-draharaha dia mety hahatsikaritra fa ny 2.5 dia tsy ahitana ny rakitra intl/fbintl.dll sy intl/fbintl.conf. Marina izany, satria ny gbak dia tsy mampiasa charset fifandraisana ary tsy mamadika data eo anelanelan'ny charsets, fa eo amin'ny lafiny "mandray" an'ny Firebird 3.0 dia ilaina ireo rakitra ireo rehefa mamorona index.

Ao amin'ny firebird.conf Firebird 3.0 dia asaina manampy:

MaxUnflushedWrites = -1
MaxUnflushedWriteTime = -1

Tsara ihany koa ny mametraka sanda IpcName samihafa ho an'ny 2.5 sy 3.0.

Rehefa misafidy ny soatoavin'ny mari-pamantarana hafa ao amin'ny firebird.conf, dia mandeha amin'ny fiheverana tsotra isika: eo amin'ny dingan'ny fampidiran-drakitra, ny gbak dia mandeha 2.5 amin'ny dingana iray, ary 3.0 amin'ny iray hafa, avy eo 2.5 mivoaka, ary manomboka manangana ny 3.0. indexes.

Mba hanafainganana ny dingana fananganana index ao amin'ny 3.0, dia soso-kevitra ny hampitombo ny haben'ny mari-pamantarana TempCacheLimit ho ~ 40% RAM (raha mpizara voatokana, mazava ho azy).

Ohatra, raha manana 16 GB RAM ny mpizara, dia azonao atao ny mametraka

TempCacheLimit=6G

Mazava ho azy fa ity sanda ity dia azo apetraka ho an'ny 64-bit Firebird 3 ihany, satria ny dingana 32-bit dia tsy afaka manome fahatsiarovana mihoatra ny 2 gigabytes.

Ao amin'ny 2.5, tsy mila ovaina io paramètre io - tsy mety mihoatra ny 2 gigabytes izany, ary tsy misy fiantraikany amin'ny hafainganam-pandeha mandritra ny backup.

Alohan'ny hanaovana ny fandidiana dia mila manamarina ianao fa ny cache pejy ao amin'ny lohatenin'ny database dia napetraka amin'ny 0 (command gstat -h databasename, jereo ny tsipika Pejy buffers).

Raha apetraka mazava ao amin'ny lohatenin'ny database ny cache, dia manafoana ny soatoavina avy amin'ny firebird.conf (sy databases.conf ao amin'ny 3.0), ary raha misy sanda tsy ampy dia mety hitarika amin'ny fanjifana fahatsiarovana be loatra sy fifandimbiasana.

Manaraka, kopia ny rakitra amin'ny rafitra kendrena.

Ny fiovam-po dia natao taorian'ny nampitsaharana ny serivisy "rafitra" Firebird 2.5, amin'ny tsipika baiko miaraka amin'ny zo ambony amin'ny mpitantana eo an-toerana (ohatra):

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

Ity ohatra ity dia mampiasa "slash forward" amin'ny teny nindramina (valid "unix-style"), ary ny "satroka" (ny toetra "^") dia mandositra ny toetran'ny andalana vaovao, izay ilaina rehefa manoratra baiko lava. Ny safidy -st(atus) dia niseho tao amin'ny Firebird 2.5.8 ary ahafahanao mampiditra angona momba ny fotoana nandehanan'ny gbak (raha mila fanazavana fanampiny dia jereo ny antontan-taratasy).

Linux

Amin'ny Linux Firebird 3 dia miankina amin'ny tranomboky tommath. Ao amin'ny CentOS (RHEL) ity tranomboky ity dia hita ao amin'ny tahiry epel, ao amin'ny Ubuntu (Debian) ao amin'ny tahiry rafitra.

Ho an'ny CentOS dia tsy maintsy mampifandray ny tahiry epel aloha ianao ary avy eo vao manao

yum install libtommath

Tsy mila mampiditra tahiry fanampiny i Ubuntu, fa ny Ubuntu 16 sy Ubuntu 18 dia mametraka dikan-teny samihafa amin'ny fonosana - libtommath0 sy libtommath1, tsirairay avy.

Ny Firebird 3.0 dia mitady tommath.so.0 ary ho an'ny Ubuntu 18 dia ilaina koa ny mamorona rohy (symlink) avy amin'ny tommath.so.0 mankany tommath.so.1. Mba hanaovana izany dia mila mitady tommath.so.1 aloha ianao.

Lalana fikarohana ao amin'ny Ubuntu - /usr/lib/x86_64-linux-gnu/, fa ny fizarana hafa mifototra amin'ny Debian dia mety tsy mitovy.

Ny olana faharoa dia mifandraika amin'ny zava-misy fa hatramin'ny Firebird 3.0.1, dia tsy nisy fomba mora hametrahana dikan-teny roa samihafa. Tsy heverinay ny safidy "manangona avy amin'ny loharano miaraka amin'ny prefix ilaina" noho ny fahasarotana mifandraika aminy.

Ho an'ny Firebird 3.0.2 sy ambony kokoa ampiharina manangana miaraka amin'ny --enable-binreloc ary safidy installer misaraka (-lalana lalana).

Raha heverina fa ny tranomboky tommath ary, raha ilaina, ny symlink ho an'ny tommath.so.0 dia nampiana ny rafitra, azonao atao ny mametraka ny ankehitriny (amin'ny fotoana anoratana) Firebird 3.0.4 fizarana amin'ny, ohatra, /opt /fb3:

./install.sh -path /opt/fb3

Aorian'izany dia azonao atao ny manajanona ny serivisy rafitra Firebird ary manomboka ny fiovam-po mivantana.

Rehefa mijanona ny Firebird dia tadidio fa ny fizotry ny Firebid 2.5 amin'ny maody Classic dia matetika manomboka amin'ny xinetd - noho izany dia mila manaisotra ny serivisy firebird ho an'ny xinetd ianao na mijanona tanteraka ny xinetd.

Ao amin'ny firebird.conf ho an'ny 3.0 amin'ny Linux, tsy mila mametraka masontsivana MaxUnflushed ianao (amin'ny Windows ihany no miasa) ary manova ny toe-javatra Firebird 2.5.

Ao amin'ny Linux, ny fidirana Firebird 2.5 eo an-toerana (rakitra) dia tsy mitovy amin'ny dikan-teny tafiditra ao ambanin'ny Windows - ny mpizara 2.5 dia handeha amin'ny dingana gbak (tsy misy ny ampahany amin'ny tambajotra), fa ny zo fidirana dia hojerena amin'ny fototry ny mpampiasa, izay midika fa tsy ny fidirana ihany, fa ny tenimiafina ihany koa dia takiana:

export ISC_USER=username ISC_PASSWORD=password
/opt/firebird/bin/gbak -b … Π±Π°Π·Π°25 stdout
|/opt/fb3/bin/gbak -c … stdin Π±Π°Π·Π°30

Aorian'ny fiovam-po mahomby dia tsy maintsy esorinao aloha ny "fanampiny" Firebird 3.0, avy eo ny "main" Firebird 2.5, ary aorian'izay dia manaova fametrahana madio ny Firebird 2.5 - ary tsara indrindra amin'ny installer tar.gz mahazatra, fa tsy amin'ny alΓ lan'ny repository, satria. ny kinova ao amin'ny repository dia mety hihemotra.

Ary koa, rehefa avy namerina ny angon-drakitra ao amin'ny Linux sy ny fametrahana indray dia mila manamarina ianao fa ny mpampiasa firebird no tompon'ilay angona vaovao.

Raha tsy izany no izy dia mila ahitsy.

chown firebird.firebird database

Ny vokany

Ho fanampin'ny fitahirizana fotoana sy habaka kapila, manana tombony lehibe iray hafa ny fiovam-po amin'ny streaming - ny fiovam-pon'ny database dia atao tsy misy famafana ny Firebird 2.5 efa misy, izay manamora be ny famerenana amin'ny laoniny raha toa ka tsy nahomby ny fiovam-po (matetika noho ny tsy fahampian'ny habaka na ny famerenana tsy nampoizina nandritra ny fifindra-monina. dingana).

Ny fitsitsiana fotoana dia noho ny hoe ny fiovam-po "classic" dia "fotoana backup" miampy "fotoana famerenana". Ny fanarenana dia misy fizarana roa: famakiana angon-drakitra avy amin'ny rakitra backup ary fananganana index.

Miaraka amin'ny fiovam-po amin'ny streaming, ny totalin'ny fotoana dia azo ho "fotoana backup miampy dimy ka hatramin'ny folo isan-jato" sy "fotoana fananganana index".

Ny vokatra manokana dia miankina amin'ny firafitry ny angon-drakitra, fa amin'ny ankapobeny, ny fotoana fanarenana dia eo amin'ny avo roa heny noho ny fotoana backup. Noho izany, raha maka fotoana backup ho vondrona iray isika, dia ny "fiovam-po mahazatra" dia singa telo, ny streaming dia singa roa. Ny fampitomboana ny TempCacheLimit dia manampy amin'ny fampihenana ny fotoana.

Amin'ny ankapobeny, ny fiovam-po mivantana amin'ny fampiharana dia ahafahanao mitahiry 30-40% amin'ny fotoana fanaovana backup sy famerenana amin'ny laoniny.

Fanontaniana?

Azafady, soraty ao amin'ny fanehoan-kevitra ny fanontaniana rehetra, na alefaso any amin'ny mpanoratra ny fomba fiasa sy mpiara-manoratra amin'ity lahatsoratra ity - Vasily Sidorov, iBase Leading System Engineer, ao amin'ny bs at ibase ru.

Ireo mpampiasa voasoratra anarana ihany no afaka mandray anjara amin'ny fanadihadiana. HiditraPlease.

Inona no dikan'ny Firebird ampiasainao?

  • Firebird 3.x

  • Firebird 2.5

  • Firebird 2.1

  • Firebird 2.0, 1.5 na 1.0

Mpampiasa 16 no nifidy. Mpampiasa 1 no nifady.

Source: www.habr.com

Add a comment