Деректердің қосарлануы - Data deduplication

Жылы есептеу, деректердің қосарлануы қайталанатын деректердің көшірмелерін жою әдістемесі болып табылады. Байланысты және біршама синонимдік термин бір даналы (деректерді) сақтау. Бұл әдіс сақтауды пайдалануды жақсарту үшін қолданылады және жіберілетін байт санын азайту үшін желілік деректерді беру кезінде қолданыла алады. Қосарлау процесінде деректердің бірегей бөліктері немесе байт үлгілері анықталып, талдау процесінде сақталады. Талдау жалғасқан кезде, басқа бөліктер сақталған көшірмемен салыстырылады және сәйкес келген сайын, артық бөлік сақталған бөлікке нұсқайтын кішкене сілтемемен ауыстырылады. Бірдей байт үлгісі ондаған, жүздеген, тіпті мың рет қайталануы мүмкін екенін ескере отырып (сәйкестік жиілігі бөлік өлшеміне байланысты), сақталатын немесе тасымалданатын мәліметтер көлемін айтарлықтай азайтуға болады.[1][2]

Көшіру деректерді сығу алгоритмдерінен өзгеше, мысалы LZ77 және LZ78. Сығымдау алгоритмдері жеке файлдардың ішіндегі артық деректерді анықтап, осы артық деректерді тиімді түрде кодтайды, ал көшірмелеу мақсаты үлкен көлемдегі деректерді тексеріп, үлкен бөлімдерді, мысалы, бірдей файлдарды немесе файлдардың үлкен бөлімдерін анықтап, оларды ауыстыру болып табылады. ортақ көшірмесімен.

Жұмыс істеу принципіМысалы, әдеттегі электрондық пошта жүйесінде бірдей 1 МБ 100 данадан тұруы мүмкін (мегабайт ) файл тіркемесі. Әр уақытта электрондық пошта платформаның сақтық көшірмесі жасалған, тіркеменің барлық 100 даналары сақталады, 100 МБ сақтау орны қажет. Деректердің қосарлануымен тіркеменің тек бір данасы сақталады; кейінгі даналарға 100-ден 1-ге дейін көбейту коэффициенті үшін сақталған көшірмеге сілтеме жасалады. Қосымша сақтауды қосымша сақтау үшін деректерді сығымдау көбінесе жұптастырылады: қайталану алдымен қайталанатын деректердің үлкен бөліктерін жою үшін қолданылады, содан кейін қысу тиімді қолданылады. сақталған бөліктердің әрқайсысын кодтау.[3]

Артықшылықтары

Сақтауға негізделген деректердің қосарлануы берілген файлдар жиынтығына қажет сақтау көлемін азайтады. Бұл өте ұқсас немесе тіпті бірдей деректердің көптеген көшірмелері бір дискіде сақталатын қосымшаларда тиімді - бұл таңқаларлықтай қарапайым сценарий. Әдетте деректердің жоғалуынан қорғану үшін жасалынатын деректердің сақтық көшірмелері жағдайында берілген сақтық көшірмелердегі деректердің көпшілігі алдыңғы сақтық көшірмелерден өзгеріссіз қалады. Кәдімгі сақтық көшірме жүйелері оны пайдаланбауға тырысады (немесе) қатты байланыстыру ) өзгермеген немесе сақталмаған файлдар айырмашылықтар файлдар арасында. Екі тәсіл де барлық артықтықтарды қамтымайды. Қатты сілтеме тек кішігірім жолдармен өзгерген үлкен файлдарға көмектеспейді, мысалы электрондық пошта базасы; айырмашылықтар тек бір файлдың іргелес нұсқаларында резервтеуді табады (жойылған және кейінірек қайтадан қосылған бөлімді немесе көптеген құжаттарға енгізілген логотиптің суретін қарастырыңыз). Желілік желілік деректерді көбейту байт санын азайту үшін қолданылады соңғы нүктелер арасында өткізіледі, бұл қажетті өткізу қабілеттілігін азайтуы мүмкін. Қараңыз WAN оңтайландыру Виртуалды серверлер мен виртуалды жұмыс үстелдері қосарланудан пайда көреді, өйткені бұл әр виртуалды машина үшін жеке жүйелік файлдарды бір сақтау кеңістігінде біріктіруге мүмкіндік береді. Сонымен қатар, егер берілген виртуалды машина файлды теңшейтін болса, қайталану басқа виртуалды машиналардағы файлдарды өзгертпейді - бұл қатты сілтемелер немесе ортақ дискілер сияқты баламалар ұсынбайды. Виртуалды орталардың сақтық көшірмесін жасау немесе олардың қайталанатын көшірмелерін жасау да жақсарады.

Жіктелуі

Процесстен кейінгі желілік қосарлануға қарсы

Көшіру деректер қатарында немесе «жазудан кейін» пайда болуы мүмкін.

Процесстен кейінгі қайталану кезінде жаңа деректер алдымен сақтау құрылғысында сақталады, содан кейін кейінірек процесс қайталануды іздейтін деректерді талдайды. Пайдасы, оны күтудің қажеті жоқ хэш деректерді сақтамас бұрын аяқтайтын есептеулер мен іздеу, осылайша дүкен өнімділігінің нашарлауына кепілдік беру. Саясатқа негізделген әрекеттерді ұсынатын қолданушылар пайдаланушыларға «белсенді» файлдарды оңтайландыруды кейінге қалдыру немесе типі мен орналасуы негізінде файлдарды өңдеу мүмкіндігін бере алады. Потенциалды кемшіліктердің бірі - қайталанатын деректердің қысқа уақыт ішінде қажетсіз сақталуы, егер жүйе толық қуатына жақындаса, проблема туғызуы мүмкін.

Сонымен қатар, қосарланған хэш есептеулерін желіде жасауға болады: деректер мақсатты құрылғыға енген кезде синхрондалады. Егер сақтау жүйесі өзінде сақтаған блокты анықтаса, онда жаңа блокқа емес, бар блокқа сілтеме ғана сақталады.

Желілік дупликацияның процедурадан кейінгі дупликациядан артықшылығы мынада, ол аз сақтауды және желілік трафикті қажет етеді, өйткені қайталанатын мәліметтер ешқашан сақталмайды немесе берілмейді. Теріс жағында, хэш есептеулері есептеу үшін қымбат болуы мүмкін, осылайша сақтау өнімділігін төмендетеді. Алайда, желілік дупликациясы бар белгілі бір сатушылар жоғары ставкалар бойынша желілік дупликацияны орындай алатын жабдықтарын көрсетті.

Процесстен кейінгі және қатардағы қосарландыру әдістері жиі қызу талқыланады.[4][5]

Мәліметтер форматтары

SNIA сөздігі екі әдісті анықтайды:[2]

  • мазмұнды-агностикалық деректерді қайталау - деректерді қосымшалау әдісі, ол қолданбалы деректердің нақты форматтары туралы хабардар болуды қажет етпейді.
  • мәліметтерді қосарлаудың мазмұны - қосымшаның нақты форматтары туралы білімді пайдаланатын деректердің қосарлану әдісі.

Мақсатты қайталауға қарсы көз

Деректерді қайталау әдістерін жіктеудің тағы бір тәсілі - олардың пайда болу орнына байланысты. Деректер жасалатын жерге жақын орналасқан қайталану «дерек көздерін көбейту» деп аталады. Деректер сақталатын жерде пайда болған кезде, оны «мақсатты қайталау» деп атайды.

Дереккөзді көбейту деректер көзіндегі деректердің қосарлануын қамтамасыз етеді. Бұл көбінесе файлдық жүйеде орын алады. Файлдық жүйе хэштер жасайтын жаңа файлдарды мезгіл-мезгіл сканерлейді және оларды бар файлдардың хэштерімен салыстырады. Бірдей хэштері бар файлдар табылған кезде файлдың көшірмесі алынып тасталады және жаңа файл ескі файлға бағытталады. Айырмашылығы жоқ қатты сілтемелер дегенмен, қайталанатын файлдар жеке объект болып саналады, егер қайталанатын файлдардың бірі кейін өзгертілсе, онда деп аталатын жүйені қолданады жазбаға көшіру сол өзгертілген файлдың немесе блоктың көшірмесі жасалады. Қосымша шығару процесі қолданушыларға және қосымшалардың қосалқы көшірмелеріне ашық. Қайталанатын файлдық жүйенің сақтық көшірмесі көбінесе қайталанудың пайда болуына әкеледі, нәтижесінде сақтық көшірмелер бастапқы деректерден үлкен болады.[6][7]

Көшіру операциялары үшін қайнар көздің көшірмесін анық жариялауға болады, өйткені көшірілген деректердің қосымшаны қажет ететіндігін есептеу қажет емес. Бұл файлдық жүйелерде «байланыстырудың» жаңа формасына әкеледі қайта сілтеме (Linux) немесе клонфайл (MacOS), мұнда бір немесе бірнеше инодтар (файл туралы жазбалар) олардың кейбірін немесе барлығын бөлісу үшін жасалады. Ол ұқсас деп аталады қатты сілтемелер, олар инод деңгейінде жұмыс істейді және символдық сілтемелер файл аты деңгейінде жұмыс істейді.[8] Жеке жазбаларда лақап емес жазу кезінде көшіру әрекеті бар, яғни бір дананы кейін өзгерту басқа көшірмелерге әсер етпейді.[9] Microsoft корпорациясының ReFS бұл операцияны қолдайды.[10]

Мақсатты дупликация - бұл деректер сол жерде жасалмаған кезде телнұсқаларды жою процесі. Бұған SAN / NAS-қа қосылған сервер, SAN / NAS серверге арналған мақсат болады (Мақсатты қайталау). Сервер кез-келген қосарлануды білмейді, сонымен қатар сервер деректерді жасау нүктесі болып табылады. Екінші мысал резервтік көшірме болуы мүмкін. Әдетте бұл деректер қоймасы немесе а. Сияқты сақтық көшірме дүкені болады виртуалды таспа кітапханасы.

Көшіру әдістері

Деректерді қосуды жүзеге асырудың кең таралған формаларының бірі қайталануларды табу үшін деректердің бөліктерін салыстыру арқылы жұмыс істейді. Бұл үшін әр дерекке бағдарламалық жасақтамамен есептелген, әдетте криптографиялық хэш функцияларын қолдана отырып, сәйкестендіру тағайындалады. Көптеген іске асыруларда, егер сәйкестендіру бірдей болса, мәліметтер бірдей болады деген болжам жасалады, дегенмен бұл барлық жағдайда шындыққа сәйкес келмейді. көгершін қағазы; басқа енгізулер бірдей идентификаторы бар мәліметтердің екі блогы бірдей деп есептемейді, бірақ іс жүзінде бірдей идентификациясы бар деректердің бірдей екендігін тексереді.[11] Егер бағдарламалық жасақтама берілген сәйкестендіруді қайталау есімдер кеңістігінде бұрыннан бар деп есептесе немесе іске асырылуына байланысты деректердің екі блогының сәйкестілігін растайтын болса, онда ол сол қайталанатын бөлімді сілтемемен ауыстырады.

Деректер көшіріліп алынғаннан кейін, сілтеме қай жерде болса да, файл оқылғаннан кейін, жүйе бұл сілтемені сілтеме жасалған мәліметтермен алмастырады. Қосарландыру процесі соңғы пайдаланушылар мен қосымшалар үшін ашық болуға арналған.

Коммерциялық қосарландыру іске асырылу әдістері мен құрылымымен ерекшеленеді.

  • Бөлшектеу. Кейбір жүйелерде бөліктер физикалық деңгей шектеулерімен анықталады (мысалы, 4KB блок өлшемі WAFL ). Кейбір жүйелерде тек толық файлдар салыстырылады, ол деп аталады бір даналы сақтау немесе СӨЖ. Бөлшектеудің ең ақылды (бірақ процессорлық қарқынды) әдісі, әдетте, жылжымалы блок болып саналады. Сырғымалы блокта файлдың табиғи шекараларын іздейтін терезе файл ағыны бойымен беріледі.
  • Клиенттің резервтік көшірмесін жасау. Бұл бастапқыда (клиенттік) машиналарда қосарланған хэш есептеулері жасалатын процесс. Мақсатты құрылғыдағы файлдарға бірдей хэштері бар файлдар жіберілмейді, мақсатты құрылғы тек қайталанатын деректерге сілтеме жасау үшін тиісті ішкі сілтемелер жасайды. Мұның артықшылығы - бұл деректердің желі арқылы қажетсіз жіберілуіне жол бермейді, осылайша трафик жүктемесін азайтады.
  • Бастапқы сақтау және қайталама сақтау. Анықтама бойынша бастапқы сақтау жүйелері мүмкін болатын ең төменгі шығындар емес, оңтайлы өнімділікке арналған. Бұл жүйелер үшін жобалау критерийлері - басқа ойлар есебінен өнімділікті арттыру. Сонымен қатар, бастапқы сақтау жүйелері өнімділікке кері әсер етуі мүмкін кез-келген әрекетке әлдеқайда аз төзімді. Сондай-ақ, анықтама бойынша қайталама сақтау жүйелері деректердің қайталанатын немесе қайталама көшірмелерінен тұрады. Деректердің бұл көшірмелері, әдетте, нақты өндірістік операциялар үшін пайдаланылмайды және нәтижесінде тиімділіктің жоғарылауының орнына кейбір өнімділіктің нашарлауына төзімді болады.

Бүгінгі күнге дейін деректердің қосарлануы көбіне екінші реттік сақтау жүйелерінде қолданылады. Мұның себептері екі жақты. Біріншіден, деректерді қайталау үшін қайталанатын деректерді табу және жою үшін қосымша шығындар қажет. Бастапқы сақтау жүйелерінде бұл қосымша өнімділікке әсер етуі мүмкін. Қосарланудың екінші ретті деректерге қолданылуының екінші себебі, екінші ретті деректердің қайталанатын мәліметтерге көбірек ұмтылуы. Сақтық көшірме қосымшасы, әдетте, уақыт бойынша қайталанатын деректердің маңызды бөліктерін жасайды.

Деректердің қосарлануы жүйенің дизайны айтарлықтай үстеме шығындарды немесе әсер ету өнімділігін қажет етпейтін кейбір жағдайларда бастапқы жадымен сәтті орналастырылды.

Бір реттік сақтау

Бір даналы жад (СӨЖ) - бұл жүйенің мазмұн объектілерінің бірнеше көшірмесін алып, оларды бірыңғай ортақ көшірмемен ауыстыру мүмкіндігі. Бұл деректердің қайталануын жою және тиімділікті арттыру құралы. СӨЖ жиі жүзеге асырылады файлдық жүйелер, электрондық пошта сервері бағдарламалық жасақтама, деректер сақтық көшірме жадқа қатысты басқа компьютерлік бағдарламалық жасақтама. Бір даналы сақтау - қарапайым нұсқасы деректердің қосарлануы. Деректердің қосарлануы сегментте немесе ішкі блок деңгейінде жұмыс істей алатын болса, бір даналық сақтау объект деңгейінде жұмыс істейді, бұл бүкіл файлдар немесе электрондық пошта хабарламалары сияқты объектілердің артық көшірмелерін жояды.[12]

Кемшіліктер мен алаңдаушылық

Деректерді көшірудің бір әдісі қолдануға негізделген криптографиялық хэш функциялары деректердің қайталанатын сегменттерін анықтау. Егер екі түрлі ақпарат бірдей хэш мәнін тудырса, бұл а деп аталады соқтығысу. Соқтығысу ықтималдығы негізінен хэш ұзындығына байланысты (қараңыз) туған күніне шабуыл ). Осылайша, алаңдаушылық туындайды мәліметтердің бүлінуі болуы мүмкін, егер а хэш соқтығысуы пайда болады және мәліметтердің айырмашылығы бар-жоғын тексеру үшін қосымша тексеру құралдары қолданылмайды. Желілік және процестен кейінгі архитектуралар кепілдендірілген деректердің тұтастығы үшін түпнұсқа деректерді биттік-биттік тексеруді ұсына алады.[13] Пайдаланылатын хэш функциялары сияқты стандарттарды қамтиды SHA-1, SHA-256 және басқалар.

Процестің есептеу ресурстарының қарқындылығы деректерді қосудың кемшілігі болуы мүмкін. Өнімділікті жақсарту үшін кейбір жүйелер әлсіз және күшті хэштерді пайдаланады. Әлсіз хэштерді есептеу жылдамырақ, бірақ хэш соқтығысу қаупі жоғары. Әлсіз хэштерді қолданатын жүйелер кейіннен күшті хэшті есептеп шығарады және оны іс жүзінде бірдей деректер болып табылатындығын анықтайтын фактор ретінде қолданады. Хэш мәндерін есептеу және іздеумен байланысты жүйенің үстеме шығыны, ең алдымен, қосарланған жұмыс процесінің функциясы болып табылады. Файлдарды қалпына келтіру үшін бұл өңдеуді қажет етпейді және деректер бөліктерін қайта жинауға байланысты кез-келген қосымша өнімділік жазасы қолданбаның өнімділігіне әсер етуі мүмкін емес.

Тағы бір алаңдаушылық - бұл қысу мен шифрлаудың өзара әрекеттесуі. Шифрлаудың мақсаты - деректердегі кез-келген анықталған заңдылықтарды жою. Осылайша, шифрланған деректердің көшірмесін жасау мүмкін емес, дегенмен негізгі деректер артық болуы мүмкін.

Деректерді көшірмелеудің кемшілігі болмаса да, қауіпсіздікті қамтамасыз ету және қол жетімділікті тексеру процедуралары жеткіліксіз қайталанатын деректердің үлкен қоймаларымен қолданылған кезде деректердің бұзылуы орын алды. Бұлттық сақтауға тән кейбір жүйелерде[дәйексөз қажет ] шабуылдаушы қалаған деректердің хэш мәнін білу немесе болжау арқылы басқаларға тиесілі деректерді ала алады.[14]

Іске асыру

Көшіру кейбір файлдық жүйелерде жүзеге асырылады, мысалы ZFS[15] немесе Кез-келген жерге жазыңыз және әр түрлі диск массивтері модельдер.

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ «Деректерді қосуды түсіну». Друва. 2009-01-09. Архивтелген түпнұсқа 2019-08-06. Алынған 2019-08-06.
  2. ^ а б SNIA сөздігі »сөздік D
  3. ^ Сығымдау, қайталау және шифрлау: айырмашылығы неде?, Стивен Бигелоу және Пол Крокетти
  4. ^ «Жоспардағы немесе процедурадан кейінгі көшірмелер? (Жаңартылған 6-08)». Сақтық көшірме орталық. Архивтелген түпнұсқа 2009-12-06. Алынған 2009-10-16.
  5. ^ «Кірістірілген және қайта өңдеуден кейінгі қосарланған құрылғылар». Searchdatabackup.techtarget.com. Алынған 2009-10-16.
  6. ^ «Windows Server 2008: Windows Storage Server 2008». Microsoft.com. Архивтелген түпнұсқа 2009-10-04. Алынған 2009-10-16.
  7. ^ «Өнімдер - OS платформасы». NetApp. Алынған 2009-10-16.
  8. ^ «Reflink (2) v5 жүйелік шақыруы». lwn.net.
  9. ^ «ioctl_ficlonerange (2)». Linux қолданбалы беті.
  10. ^ Казуки МАЦУДА. «Windows-қа ReFS қолдауымен клонфайл қосу». GitHub.
  11. ^ Сипаттамада емес, сәйкестілікті тексеретін іске асырудың мысалы «АҚШ патенттік өтінімі № 20090307251».
  12. ^ Клиенттерге қайталану жылдамдығын және бір даналы сақтауды түсіндіру. Джордж Крамп, сақтау Швейцария
  13. ^ Деректерді көшіру - неге, қашан, қайда және қалай, Бағалаушылар тобы, алынды 2011-07-05
  14. ^ Христиандық машина; MATTHIAS SCHUNTER (желтоқсан 2011). «Сенуге болатын бұлт». IEEE спектрі. IEEE. Алынған 2011-12-21.
  15. ^ Автор, Қонақ. «ZFS көшірмесі». блогтар.oracle.com. Алынған 25 қараша 2019.

Сыртқы сілтемелер