- Oh, nullum tectum meteorite hit resistere potest. Sed tu, sicut ceteri, subsidia habe, sic sollicitandum non est.
Stanislav Lem, "Diaria stellarum aiom quietis".
Tergum refertur ad exemplum servandi notitiarum alicubi extra locum suum primarium repositionis.

Praecipuum propositum tergum est ut data restituat postquam amissa est. Hac de re saepe audies, si imaginem database habes, semper datam ab eo restituere posse, nec opus est tergum. Re vera, tergum permittit tibi ut tres saltem difficultates solvas, quae imagini utens solvi non possunt, et replica non potest initialized sine exemplarium tergum.
Primum, tergum permittit tibi datam recuperare post errorem logicum. Exempli gratia, computator delevit coetus negotiorum vel administrator database spatium mensam delevit. Utraeque operationes sunt omnino legales ex parte datorum, et processus replicationis eas in datorum replicatione reddet.
Secundo moderni DBMSs certissimae sunt systemata programmatum, sed interdum damnum in structurarum datorum internis occurrit, postquam accessus ad notitias amittitur. Quod imprimis ingratum est, quod talis violatio solet accidere sub alto onere vel cum aliquo renovationis genere instituendo. Sed tum onus altum ac regulares updates indicant database minime testam datorum esse, et notitia in ea reposita pretiosum est.
Tertium denique negotium, cuius solutio exemplum tergum requirit, datorum exquisitio est, exempli gratia, ad proposita probanda.
Database tergum est uno modo vel alio nititur ex uno duorum principiorum;
- Data sampling et subsequens forma servata in consuetudine;
- Snapshot of database files and savings.
Haec principia et instrumenta quae ea efficiunt propius inspiciamus.
Discas notitia
Copia utilitatum cum quibusvis DBMS includi debet instrumenta ad notitias onerandas et onerandas. Data reponuntur vel in forma textu vel in forma binaria specifica ad DBMS particulari. Mensa infra album instrumentorum talium praebet:
Forma binarii
Textus forma
Oraculum
DataPump Export / DataPump Import
Export/Import
SQL*Plus/SQL*Loader
PostgreSQL
pg_dump, pg_dumpall/pg_restore
pg_dump, pg_dumpall/psql
Microsoft SQL Servo
BCP
BCP
DB2
unload / onus
unload / onus
MySQL
mysqldump, mysqlpump/mysql, mysqlimport
MongoDB
mongodump / mongorestore
mongoexport / mongoimport
Venus
nodetool snapshot / sstableloader
cqlsh
Bonum de forma textus est quod ab exterioribus programmatis edificare vel etiam creari potest, et forma binaria, vicissim, bonum est quia permittit te citius plicare et trahi ad facultates salvas in forma conversionis.
Quamvis simplicitas et manifestatio notae notae deprimantur, haec methodus raro usus est ut oneratas databases industriales reduceret. Hae sunt rationes cur offloading ad plenum tergum apta non sit:
- processus exonerationis notabile onus in fonte systematis creat;
- multum temporis exonerare accipit - by the time the exoning is completed it will not longer relevant;
- Fere impossibile est exonerare totam datorum sub alto onere coordinatam exonerare, cum DBMS snum statui suo tempore exonerationis exonerare cogitur. Plures transactiones ab initio uploading peractae sunt, maiorem magnitudinem snapshots (exemplaria desunt in PostgreSQL, undo spatium in Oraculo, tempdb in Microsoft SQL Server, etc.);
- expositio conservat structuram logicam notitiarum, sed structuram physicam non servat — parametri tabularum, indices, etc.
Sed impositio etiam habet utilitates;
- summa selectivity: tabulas singulas, singulos agros et etiam ordines singulos comprehendere potes;
- notitia receptae in database alia versionis onerari potest, et si download in forma textu fit, deinde in alia datorum.
Ita impositio maxime ad operas adhibetur ut tabulas parvas subventiones (exempli gratia directoria) vel distribuendi notitias ponit cum applicatione emissione proximae.
Communissima ratio database tergum imaginum datorum exscribit.
Frigus repono files database
Idea manifesta est, datorum obsistere ac omnia eius documenta effingere. Hoc tergum "frigus" dicitur tergum. Modus est certissimus et simplex, sed duo vitia manifesta habet;
- Ex tergum "frigus" solum restituere potes statum datorum qui in tempore clausulae erat; transactions factae post sileo database non includi in exemplum tergum "frigus";
- Non omne datorum technologicum fenestram habet cum datorum obstruitur.
Si tergum "frigus" te decet, meminisse debes
- Frigus exemplum interdum ligna includere debet. Methodi ad ligna determinandi quae in "frigus" exemplar ingrediuntur singula sunt pro singulis DBMS. Exempli gratia, in Oraculo necesse est effingo quod dicitur redo online, id est certum numerum tabellarum stipendiorum in directorio speciali, etiam cum recte sistitur datorum. In PostgreSQL, omnia ligna servare debes incipiens ab indice in quo ultimo LAPIS, informationes de quibus in fasciculi potestate continetur.
- Directorium datorum potest continere fasciculos tabulatos temporales satis amplos quae in tergum includi non possunt. Obiter hoc quoque verum est pro calidum tergum.
Calidum file salutaris
Plurimi moderni database tergum exercentur per effingo files database sine intermissione datorum. Plures quaestiones hic sunt:
- Cum exscribere incipit, contenta datorum cum documentorum contentis coincidere non possunt, cum aliqua notitia in cella est et nondum in disco scripta est.
- In scribendo contenta datorum variari possunt. Si structurae datae mutabiles adhibentur, contenta lima mutanda sunt et, cum immutabilia structurae adhibentur, tabulariorum mutationum copia: novi tabulae apparent et vetera deleta sunt.
- Cum scribens notitias datorum et imaginum datorum legendis nullo modo conformetur, progressio tergum paginae falsam legere potest, in qua dimidia pars erit ex veteri paginae versione, altera dimidium ex novo.
Ut tergum ut constet, unumquodque DBMS mandatum habet ut processus tergum inceptum notificet. Syntaxi hoc praeceptum aliud respicere potest;
- in Oracle hoc mandatum separatum est ALTER DATABASE/TABLESPACE INCIPIT BACKUP;
- in PostgreSQL - function pg_start_backup();
- In Microsoft SQL Servo et DB2, praeparatio ad tergum implicatur in executione mandati BACKUP DATABASE;
- in MySQL Inceptio, Cassandra et MongoDB, praeparatio per externam utilitatem implicite exercetur - mysqlbackup, OpsCenter et Opis Procurator, respectively.
Quamvis syntaxis differentiae, processus praeparationis ad tergum eundem spectat.
Haec praeparatio ad tergum spectat sicut in DBMS cum structuris orbis mutabilibus, i.e. in omnibus systematis relativis orbis traditis:
- Momentum tergum inchoatum memoratur; tergum opus est ut trabes database ex hoc puncto deinceps contineant.
- LAPIS conficitur, id est, omnes mutationes quae in paginarum notitia factae sunt antequam momentum memoratum in disco rubent. Hoc efficit ut nulla ligna requirantur ante tergum incipit in recuperatione.
- Peculiaris modus logging potest: si pagina data primum ab orbe levata mutata est, deinde pro pagina mutationes ad stipes scribendarum, datorum totam paginam ibi scribet. Cum apparatum procedendi faciendo, omnes paginae in disco rubescunt, itaque primum mutatum est, totus clausus semper scribetur ad truncum. Quod si pagina in processu tergum denuo ad disci evincitur, altera mutatio ad eam etiam in pleno exemplari paginae apparentis in trunco proveniet. Hoc efficit ut si pagina falsa exscribendi tabellam evadat, stipes applicans eam denuo corriget.
- Mutationes capitis fasciculi notati praecluduntur, id est, ea pars eius cuius mutationes in lignis non reflectuntur. Hoc efficit ut caput recte exscribatur ac deinde tigna recte ad fasciculi tabellam applicantur.
Postquam omnes praedictae rationes peractae sunt, notitias imaginum imitari potes instrumenta systematis operandi - cp, rsync et aliis. Modus tergum datorum faciendis reducit: primo, lignum auget, et secundo, si subito defectio in modum tergum incidit, recuperatio diutius accipiet quia capita tabulariorum notitiarum non renovantur. Quo celerius tergum perficiatur, eo melius datorum est, ita opportunum est talibus instrumentis uti ut snapshot ratio lima vel Speculum fracturae (BCV) in disco ordinata. Aliqui DBMSs (Oraculum, PostgreSQL) administratori facultatem relinquunt ut methodum describendi independenter eligant, alii (Microsoft SQL Servo) interfaciem praebent ad suas tergum utilitates cum systematis fasciculi vel machinarum repositione integrando.
Tergum cum completum est, database ad suum statum normalem reddere debes. In Oraculo hoc fit cum ALTER DATABASE/TABLESPACE FINIS BACKUP mandatum, in PostgreSQL vocando munus pg_stop_backup(), et in aliis databases per consuetudines internas mandatorum respondentium vel servitiorum externorum.
Hic est quod tergum processus timeline similis est:

- Praeparans tergum sumit tempus, interdum aliquantum temporis. Etsi volumina speculativa vel systemata fasciculi snapshot-capaces adhibentur, processus tergum momentaneus non erit.
- Cum schedulis data, necesse est ut ligna serventur ab momento, quo praeparatio ad tergum inceperit, donec momentum datorum ad suum statum normalem redit.
- Hoc tergum restituere potes tunc base redit ad normalem statum. Reddere priori loco non potest.
Cum databases utentibus immutabilibus notitiarum structurarum (memoriae snapshots, LSM arbores), condicio simplicior est. Praeparans tergum consistit in sequentibus gradibus;
- Mauris a risus est, in ornare ante.
- Elenchus imaginum in exemplum tergum inclusum refertur. Donec processus tergum perficiatur, datorum his tabellis delere prohibetur, etsi non amplius opus est.
Sub signo tergum plenum esse, datorum immutabilibus structuris denuo files superfluis delere potest.
Recuperatio ad designandum
Exemplar tergum permittit ut statum datorum restituere ad momentum cum imperio reditus modus ab tergum perfecti. Sed accidens quod requirit recuperationem, quolibet tempore potest contingere. Negotium restitutionis status database momento arbitrario appellatur "punctum temporis recuperationis".
Ut id fieri possit, tabulas datorum a fine tergum, et durante recuperatione processus, servabis, ligna ad exemplar restitutum applica. Postquam database ex exemplari tergum restituitur, quo peracta exemplaria, status datorum (limae et paginarum conditivorum) praestatur ut recte fiat, peculiaris modus logandi non est necessarius. Tigna ad tempus opportunum applicando, statum datorum quovis puncto temporis consequi potes.
Dum celeritas qua tergum restitui potest, solum per orbem bandam limitatur, celeritas ad quam tigna applicari possunt, typice finitur processus effectus. Si mutationes in parallelis in principali datorum occurrunt, tunc in recuperatione omnes mutationes successiue peraguntur - ordine legantur a stipite. Ita tempus recuperationis dependet lineariter quousque punctum recuperationis sit a fine tergum. Propter hoc, necesse est ut semel in hebdomade pro databases cum parvo onere et in cottidianis exemplaribus oneratis databases plenis tergum reddere.
Incremental tergum
Ad recuperationem ad punctum accelerare velim, tergum quam saepissime praestare poteris, sed simul ne spatium orbis extra orbem oneraveris nec datorum tergum muneribus oneratis.
Problematis solutio est tergum incrementale, hoc est, solas notitiarum paginas describentes quae post tergum priorum mutaverunt.
Incrementales tergum tantum sensum faciunt pro DBMSs qui structuris mutabilibus utuntur.
Incrementum numerari potest vel ex pleno tergum (cumulativo) vel ex aliquo exemplari (differentiali exemplari).

Infeliciter, non est uniformis locutio, et artifices diversi diversis vocabulis utuntur;
differentiale
Cumulativus
Oraculum
Diversus
cumulatius
PostgreSQL
incremental
-
Microsoft SQL Servo
-
Diversus
IBM DB2
Delta
incremental
Si exemplaria lineola sunt, processus puncti restituendi hoc modo est;
- postremus plenus tergum factus antequam restituatur restituitur;
- exemplaria lineola super totum exemplum restituta sunt;
- tigna involvuntur ab tergum incipiendi punctum ad punctum recuperationis.
Habens exemplar cumulativum processus recuperationis accelerat. Exempli gratia, statum datorum ad punctum inter T3 et T4 restituendum, necesse est duo exemplaria lineola restitui et punctum post T4 unum tantum restituere.
Videlicet magnitudo exemplarium unius cumulativorum minor est quam magnitudo plurium exemplarium differentialium, quia nonnullae paginae pluries mutatae sunt et quodlibet exemplar incrementum paginae diversam continet.
Tribus modis exemplum incrementalem efficiendi sunt:
- creando plenam copiam et differentiam computandi cum praecedenti pleno exemplari;
- ligna parsing, indicem paginarum mutatarum creans et paginas in indice inclusas adiuvans;
- interrogationes paginas mutatae in database.
Prima methodus spatium disci conservat, sed onus in basi datorum non minuit. Praeterea, si exemplar integrum habemus, eius conversio in exemplar incrementale inutile est, cum exemplar integrum restituere celerius sit quam exemplar integrum priorem et exemplar incrementale restituere. Melius est munus spatii disci conservandi hac ratione componentibus specialibus cum mechanismis deduplicationis inclusis delegare. Haec possunt esse vel systemata repositionis dedicata (EMC DataDomain, HPE StorageWorks VLS, tota linea NetApp) vel producta programmata (ZFS, Veritas NetBackup PureFile,...). Windows Server Deduplicatio Datorum).
Secundus et tertius modi mechanismum differunt ad indicem paginarum mutatarum determinandum. Parsing tigna plus resource intensiva, plus ad efficiendum illud opus est scire structuram tabularum stipendii. Facillima via est ipsum database quaerere quod paginae mutatae sunt, sed ob hoc DBMS nucleus debet habere scandalum mutationis sequi functionalitatis.
Incremental tergum functionality primum in Oracle Recuperatio Procurator (RMAN) programmata introducta in Oraculum 8i emissio introducta est. Oraculum vestigiis mutatorum caudices statim impletur, ut non opus sit lignis parse.
PostgreSQL indagat caudices modificatos non ingreditur, ergo utilitas pg_probackup, a Russica societas Postgres Professionalis evoluta, paginas mutatas analysing truncum determinat. Societas tamen etiam PostgresPro DBMS suppeditat, quae extensionem ptrack continet quae paginae mutationes vestigat. Cum usura pg_probackup cum PostgresPro DBMS, utilitas petitionum paginarum ab ipso datorum mutata est - prorsus eadem ac RMAN.
Microsoft SQL Servo, sicut Oraculum, paginas vestigat mutatas, sed mandatum BACKUP te solum permittit ut tergum plenum et cumulativum reddere.
DB2 paginas mutatas investigare facultatem habet, sed per defaltam debilitata est. Semel enabled, DB2 tergum plenum, differentiale et cumulativum permittet.
Magna differentia instrumentorum in hac sectione descriptorum (praeter pg_probackup) et instrumentorum tergum lima est ut imagines paginas ab datorum petant potius quam ex ipsis disci datas legentes. Incommodum accessionis huius in basi parvum additicium oneris est. Sed hoc incommodum plus compensatur quod pagina legitur semper recta, ideo non opus est ut peculiaris logendi modus in tergum.
Iterum note quaeso praesentiam exemplarium incrementalium non eliminare postulationem ut ligna recipiendi ad punctum temporis arbitrarium praesto sint. Itaque, in databases industriales, tigna constanter ad instrumenta externa rescripta sunt, et tergum, plenum et/vel incrementale, in schedula creantur.
Optima implementatio ideae incrementalis subsidii hodie est Zero Data Loss Recovery Appliance, systema instrumentorum et programmatum (in terminologia Oracle, systema machinatum) – solutio Oracle specializata ad subsidia propriae basis datorum conservanda. Systema est gregis... servers ZDLRA magnas capacitates discorum habet et versionem modificatam programmatis Recovery Manager currit. Cum aliis systematibus apparatuum et programmatum Oracle (Database Appliance, Exadata, SPARC Supercluster) necnon cum databasibus Oracle in infrastructura tradita currentibus operari potest. Dissimilis RMAN "regulari", ZDLRA notionem "incrementalis in perpetuum" implementat. Systema exemplar plenae databasis semel creat, deinde tantum exemplaria incrementalia facit. Moduli RMAN additionales te sinunt exemplaria coniungere, nova exemplaria plena ex incrementalibus creans.
Ad fidem tincidunt Russorum, notandum est pg_probackup posse etiam exemplaria incrementalia mergere.

Dissimiles multae similes quaestiones, quaestio "quae melior methodus tergum" claram responsionem habet - optima optio est utilitas indigena ad usum DBMS, quae facultatem praebet incrementi tergum.
Ad administratorem datorum, multo maiora sunt quaestiones eligendi tergum belli et instrumentorum datorum tergum in corporatum infrastructuram integrandi. Sed praedictae quaestiones sunt extra ambitum huius articuli.
Source: www.habr.com
