Кіріспе

Деректерді тазалау немесе деректерді тазарту – деректер жинағында, кестеде немесе деректер базасында бұзылған немесе қателі деректерді анықтау және түзету (немесе жою) процесі. Бұл деректердің толық емес, дұрыс емес, дәл емес немесе қажетсіз бөліктерін анықтау және содан кейін бұзылған немесе дұрыс емес деректерді алмастыру, өзгерту немесе жоюды білдіреді. Деректерді тазалау деректерді өңдеу құралдарымен өзара әрекеттесу арқылы немесе сценарийлер арқылы немесе деректер сапасының қауіпсіздік қабырғасы арқылы жинақтық өңдеу ретінде жүзеге асырылуы мүмкін. Тазалаудан кейін деректер жинағы жүйедегі басқа ұқсас деректер жинақтарымен үйлесімді болуы керек. Анықталған немесе жойылған үйлесімсіздіктер бастапқыда пайдаланушы енгізген қателерден, беру немесе сақтаудағы бұзылулардан немесе әртүрлі сақтау орындарындағы ұқсас объектілердің әртүрлі деректер сөздігінің анықтамаларынан туындауы мүмкін. Деректерді тазалау деректерді тексеруден өзгеше, себебі тексеру деректердің жүйеге енгізілу кезінде қабылдамауын білдіреді және деректерді жинақтық түрде емес, енгізілу кезінде жүзеге асырылады. Деректерді тазалау процесіне типографиялық қателерді жою немесе белгілі объектілер тізімімен салыстырып мәндерді тексеру және түзету кіруі мүмкін. Тексеру қатаң болуы мүмкін (мысалы, жарамды пошталық индексі жоқ кез келген мекенжайды қабылдамау) немесе шамамен немесе жуық сәйкес келетін жолдарды сәйкестендіру (мысалы, бұрыннан белгілі жазбалармен ішінара сәйкес келетін жазбаларды түзету) болуы мүмкін. Кейбір деректерді тазалау шешімдері деректерді тексерілген деректер жинағымен салыстыра отырып тазалайды. Деректерді тазалаудың кең таралған тәжірибесі – деректерді толықтыру, онда деректерге байланысты ақпарат қосылып, деректер толықтырылады. Мысалы, мекенжайларға сол мекенжайға қатысты телефон нөмірлері қосады. Деректерді тазалау деректерді үйлестіруді (немесе нормалауды) қамтуы мүмкін, бұл «әртүрлі файл форматтарының, атау конвенцияларының және бағандардың» деректерін біріктіру және оны біртұтас деректер жинағына айналдыру процесі; қарапайым мысал – аббревиатураларды кеңейту («ст., рд. т.б.» дегенді «көше, жол, т.б.» деп аудару).

Мотивация

Әкімшілік тұрғысынан дұрыс емес, үйлесімсіз деректер қате қорытындыларға алып келуі және мемлекеттік де, жеке де инвестицияларды жаңылыстыруы мүмкін. Мысалы, үкімет инфрақұрылым мен қызметтерге қосымша қаржы жұмсау және инвестиция салу қажеттігін анықтау үшін халық санағының деректерін талдауы мүмкін. Осы жағдайда, қате фискалдық шешімдерге жол бермеу үшін сенімді деректерге қол жеткізу маңызды. Бизнес саласында дұрыс емес деректерге қыруар шығын келуі мүмкін. Көптеген компаниялар байланыс ақпараты, мекенжайлар және қалаулар сияқты деректерді тіркеп сақтайтын клиенттер туралы ақпарат базаларын пайдаланады. Мысалы, егер мекенжайлар үйлесімсіз болса, компания поштаны қайта жіберуге шығын келуі немесе тіпті клиенттерді жоғалту қаупіне тап болады.

Деректердің сапасы

Жоғары сапалы деректер сапа критерийлерінің жиынтығынан өтуі керек. Оларға мыналар кіреді:
Дұрысдық: Шаралардың белгілі бизнес ережелеріне немесе шектеулерге сәйкес келу дәрежесі (қараңыз, сондай-ақ Дұрысдық (статистика)). Деректерді жинау жүйелерін жобалау үшін қазіргі заманғы деректер базасы технологиясы қолданылғанда дұрысдықты қамтамасыз ету оңай: жарамсыз деректер көбінесе ескі жүйелерде (шектеулер бағдарламалық құралда жүзеге асырылмаған) немесе тиімсіз деректерді жинау технологиясы қолданылған жағдайларда (мысалы, электрондық кестелер, мұнда пайдаланушының жасушаға енгізетін нәрсені шектеу өте қиын, егер жасушаны тексеру қолданылмаса) пайда болады. Деректер шектеулері келесі санаттарға бөлінеді:
Дерек типі шектеулері: белгілі бір бағандағы мәндер белгілі бір дерек типіне сәйкес болуы керек, мысалы, логикалық, сандық (бүтін немесе нақты), күндік. Диапазон шектеулері: әдетте, сандар немесе күндер белгілі бір диапазон шегінде болуы керек. Яғни, олардың ең төменгі және/немесе ең жоғары рұқсат етілген мәндері бар. Міндетті шектеулер: Кейбір бағандар бос қалмауы керек. Бірегей шектеулер: Бір немесе бірнеше өріс деректер жиынтығында бірегей болуы тиіс. Мысалы, екі адамның әлеуметтік сақтандыру нөмірі бірдей болмауы керек. Мүшелік шектеулері: Бағанның мәндері дискретті мәндер немесе кодтар жиынтығынан алынуы керек. Мысалы, адамның жынысы әйел, ер немесе белгісіз болуы мүмкін. Сыртқы кілт шектеулері: Бұл мүшелік шектеулерінің жалпы жағдайы. Бағандағы мәндер жиынтығы басқа кестедегі бірегей мәндері бар бағанда анықталады. Мысалы, АҚШ салық төлеушілерінің деректер базасында "штат" бағаны АҚШ-тың анықталған штаттарының немесе аумақтарының біріне тиесілі болуы керек: рұқсат етілген штаттар/аумақтар жиынтығы жеке Штаттар кестесінде тіркеледі. Сыртқы кілт термині реляциялық деректер базасы терминологиясынан алынған. Үлгілерді реттеу: Кейде мәтіндік өрістерді осылай тексеру қажет. Мысалы, телефон нөмірлері (999) 999-9999 үлгісіне сәйкес болуы керек. Өрістерді өзара тексеру: Бірнеше өрісті пайдаланатын белгілі бір шарттар орындалуы керек. Мысалы, зертханалық медицинада дифференциалды ақ қан клеткаларының компоненттерінің қосындысы 100-ге тең болуы керек (өйткені олардың барлығы пайызбен берілген). Аурухана деректер базасында науқастың ауруханадан шығу күні ауруханаға түскен күнінен ертерек болмауы керек. Дәлдік: Шараның стандартқа немесе нақты мәнге сәйкес келу дәрежесі (қараңыз, сондай-ақ Дәлдік және нақтылық). Деректерді тазалау арқылы жалпы жағдайда дәлдікке қол жеткізу өте қиын, себебі ол нақты мәнді қамтитын сыртқы деректер көзіне қол жеткізуді талап етеді: мұндай "алтын стандартты" деректер көбінесе қол жетімді емес. Деректерді тазалаудың кейбір контексттерінде, атап айтқанда, клиенттердің байланыс деректерінде, пошталық кодтарды географиялық орналасқан жерлермен (қала және штат) сәйкес келетін сыртқы деректер базаларын пайдалану арқылы дәлдікке қол жеткізілді, сондай-ақ осы пошталық кодтардағы көше мекенжайларының бар екенін тексеруге көмектеседі. Толықтық: Барлық қажетті шаралар белгілі болу дәрежесі. Деректерді тазалау әдістемесімен толық еместікті түзетуге болады, себебі деректер алғашқыда тіркелген кезде назардан тыс қалған фактілерді болжау мүмкін емес. (Кейбір жағдайларда, мысалы, сұхбат деректерінде, бастапқы деректер көзіне қайта оралып, яғни субъектімен қайта сұхбаттасу арқылы толық еместікті түзетуге болады, бірақ бұл да сәттілікке кепілдік бермейді, себебі есте сақтау проблемалары бар. Мысалы, тамақ тұтыну туралы мәліметтерді жинау сұхбатында, алты ай бұрын не жегенін ешкім дәл есте сақтамайды. Кейбір бағандар бос қалмауы керек деп талап ететін жүйелерде "белгісіз" немесе "жоғалған" дегенді білдіретін мәнді тағайындау арқылы мәселені шешуге болады, бірақ әдепкі мәндерді беру деректер толықтырылғанын білдірмейді.) Үнқатысу: Шаралар жиынтығының жүйелердегі сәйкестік дәрежесі (қараңыз, сондай-ақ Үнқатысу). Үнқатысу екі дерек элементі деректер жиынтығында бір-біріне қайшы келгенде пайда болады: мысалы, клиент екі түрлі жүйеде екі түрлі ағымдағы мекенжайы бар деп тіркелген, және олардың тек біреуі ғана дұрыс болуы мүмкін. Үнқатысуды түзету әрқашан мүмкін емес: ол әртүрлі стратегияларды қажет етеді, мысалы, деректердің қашан тіркелгенін анықтау, деректердің қайсысы сенімдірек болуы мүмкін (соңғысы белгілі бір ұйымға тән болуы мүмкін) немесе екі дерек элементін тексеру арқылы шындықты табу (мысалы, клиентке қоңырау шалу). Біртектілік: Деректер шараларының барлық жүйелерде бір өлшем бірлігін пайдалану дәрежесі (қараңыз, сондай-ақ Өлшем бірлігі). Әртүрлі жерлерден алынған деректер жиынтығында салмақ фунттарда немесе килограмдарда тіркелуі мүмкін және оны арифметикалық түрлендіру арқылы бір өлшемге ауыстыру қажет. Тұтастық дәлдік, үнқатысу және дұрысдықтың кейбір аспектілерін қамтиды (қараңыз, сондай-ақ деректер тұтастығы), бірақ деректерді тазалау контекстінде сирек қолданылады, себебі ол жеткілікті емес. (Мысалы, "сыртқы кілт тұтастығы" термині жоғарыдағы сыртқы кілт шектеулерін орындауға қатысты қолданылады.)

Жүйе

Бұл жүйенің маңызды міндеті – бұзық деректерді түзету мен деректерді бастапқы өндіріс жүйесінен алынған түпнұсқа деректерге мүмкіндігінше жақын ұстау арасындағы тиімді тепе-теңдікті табу. Бұл Extract, transform, load архитекторы үшін қиындық. Жүйе деректерді тазартатын, сапалық оқиғаларды тіркеп, деректер қоймасындағы деректер сапасын өлшеуге/бақылауға мүмкіндік беретін архитектураны ұсынуы керек. Жақсы бастама – деректерді жан-жақты талдау, ол деректерді тазарту жүйесінің қажетті күрделілігін анықтауға көмектеседі, сондай-ақ бастапқы жүйедегі деректердің қазіргі сапасы туралы ақпарат береді.

Сапалы экрандар

Деректерді тазалау жүйесінің бір бөлігі – сапалық экрандар деп аталатын диагностикалық сүзгілер жиынтығы. Олардың әрқайсысы деректер ағынында тест жүргізеді, егер тест сәтсіз аяқталса, Қате оқиға схемасына қате тіркеледі. Сапалық экрандар үш санатқа бөлінеді: Бағандық экрандар. Жеке бағандарды тексеру, мысалы, күтпеген мәндерді (NULL мәндер сияқты), сандық болуы тиіс сандық емес мәндерді, диапазоннан тыс мәндерді және т.б. тексеру. Құрылымдық экрандар. Бұлар бір немесе әртүрлі кестелердегі бағандар арасындағы қатынастардың (әдетте сыртқы/негізгі кілттер) тұтастығын тексеру үшін қолданылады. Сондай-ақ, бағандар тобының белгілі бір құрылымдық анықтамаға сәйкес келіп-келмейтінін тексеру үшін де қолданылады. Бизнес ережелері экрандары. Бұл үш тесттің ең күрделісі. Олар деректердің, мүмкін бірнеше кестеде, нақты бизнес ережелерін сақтайтынын тексереді. Мысалы, егер клиент белгілі бір типтегі клиент ретінде белгіленсе, осы клиентті анықтайтын бизнес ережелеріне сәйкес болуы керек. Сапалық экран қате тіркегенде, ол деректер ағыны процесін тоқтатуы, қате деректерді мақсатты жүйеден басқа жерге жіберуі немесе деректерді таңбалауы мүмкін. Соңғы нұсқа ең жақсы шешім болып саналады, өйткені бірінші нұсқада әр мәселе туған сайын оны қолмен шешу қажет, ал екіншісі мақсатты жүйеде деректердің жоқ болуын (тұтастығын) білдіреді және мұндай деректермен не істеу керектігі көбінесе белгісіз болады.

Қате оқиғалар сұлбасы

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