Кіріспе
Деректерді тазалау немесе деректерді тазарту – деректер жинағында, кестеде немесе деректер базасында бұзылған немесе қателі деректерді анықтау және түзету (немесе жою) процесі. Бұл деректердің толық емес, дұрыс емес, дәл емес немесе қажетсіз бөліктерін анықтау және содан кейін бұзылған немесе дұрыс емес деректерді алмастыру, өзгерту немесе жоюды білдіреді. Деректерді тазалау деректерді өңдеу құралдарымен өзара әрекеттесу арқылы немесе сценарийлер арқылы немесе деректер сапасының қауіпсіздік қабырғасы арқылы жинақтық өңдеу ретінде жүзеге асырылуы мүмкін. Тазалаудан кейін деректер жинағы жүйедегі басқа ұқсас деректер жинақтарымен үйлесімді болуы керек. Анықталған немесе жойылған үйлесімсіздіктер бастапқыда пайдаланушы енгізген қателерден, беру немесе сақтаудағы бұзылулардан немесе әртүрлі сақтау орындарындағы ұқсас объектілердің әртүрлі деректер сөздігінің анықтамаларынан туындауы мүмкін. Деректерді тазалау деректерді тексеруден өзгеше, себебі тексеру деректердің жүйеге енгізілу кезінде қабылдамауын білдіреді және деректерді жинақтық түрде емес, енгізілу кезінде жүзеге асырылады. Деректерді тазалау процесіне типографиялық қателерді жою немесе белгілі объектілер тізімімен салыстырып мәндерді тексеру және түзету кіруі мүмкін. Тексеру қатаң болуы мүмкін (мысалы, жарамды пошталық индексі жоқ кез келген мекенжайды қабылдамау) немесе шамамен немесе жуық сәйкес келетін жолдарды сәйкестендіру (мысалы, бұрыннан белгілі жазбалармен ішінара сәйкес келетін жазбаларды түзету) болуы мүмкін. Кейбір деректерді тазалау шешімдері деректерді тексерілген деректер жинағымен салыстыра отырып тазалайды. Деректерді тазалаудың кең таралған тәжірибесі – деректерді толықтыру, онда деректерге байланысты ақпарат қосылып, деректер толықтырылады. Мысалы, мекенжайларға сол мекенжайға қатысты телефон нөмірлері қосады. Деректерді тазалау деректерді үйлестіруді (немесе нормалауды) қамтуы мүмкін, бұл «әртүрлі файл форматтарының, атау конвенцияларының және бағандардың» деректерін біріктіру және оны біртұтас деректер жинағына айналдыру процесі; қарапайым мысал – аббревиатураларды кеңейту («ст., рд. т.б.» дегенді «көше, жол, т.б.» деп аудару).
Data cleansing or data cleaning is the process of detecting and correcting (or removing) corrupt or inaccurate records from a record set, table, or database and refers to identifying incomplete, incorrect, inaccurate or irrelevant parts of the data and then replacing, modifying, or deleting the dirty or coarse data. Data cleansing may be performed interactively with data wrangling tools, or as batch processing through scripting or a data quality firewall. After cleansing, a data set should be consistent with other similar data sets in the system. The inconsistencies detected or removed may have been originally caused by user entry errors, by corruption in transmission or storage, or by different data dictionary definitions of similar entities in different stores. Data cleaning differs from data validation in that validation almost invariably means data is rejected from the system at entry and is performed at the time of entry, rather than on batches of data. The actual process of data cleansing may involve removing typographical errors or validating and correcting values against a known list of entities. The validation may be strict (such as rejecting any address that does not have a valid postal code), or with fuzzy or approximate string matching (such as correcting records that partially match existing, known records). Some data cleansing solutions will clean data by cross checking with a validated data set. A common data cleansing practice is data enhancement, where data is made more complete by adding related information. For example, appending addresses with any phone numbers related to that address. Data cleansing may also involve harmonization (or normalization) of data, which is the process of bringing together data of "varying file formats, naming conventions, and columns", and transforming it into one cohesive data set; a simple example is the expansion of abbreviations ("st, rd, etc." to "street, road, etcetera").
Мотивация
Әкімшілік тұрғысынан дұрыс емес, үйлесімсіз деректер қате қорытындыларға алып келуі және мемлекеттік де, жеке де инвестицияларды жаңылыстыруы мүмкін. Мысалы, үкімет инфрақұрылым мен қызметтерге қосымша қаржы жұмсау және инвестиция салу қажеттігін анықтау үшін халық санағының деректерін талдауы мүмкін. Осы жағдайда, қате фискалдық шешімдерге жол бермеу үшін сенімді деректерге қол жеткізу маңызды. Бизнес саласында дұрыс емес деректерге қыруар шығын келуі мүмкін. Көптеген компаниялар байланыс ақпараты, мекенжайлар және қалаулар сияқты деректерді тіркеп сақтайтын клиенттер туралы ақпарат базаларын пайдаланады. Мысалы, егер мекенжайлар үйлесімсіз болса, компания поштаны қайта жіберуге шығын келуі немесе тіпті клиенттерді жоғалту қаупіне тап болады.
Деректердің сапасы
Жоғары сапалы деректер сапа критерийлерінің жиынтығынан өтуі керек. Оларға мыналар кіреді:
Дұрысдық: Шаралардың белгілі бизнес ережелеріне немесе шектеулерге сәйкес келу дәрежесі (қараңыз, сондай-ақ Дұрысдық (статистика)). Деректерді жинау жүйелерін жобалау үшін қазіргі заманғы деректер базасы технологиясы қолданылғанда дұрысдықты қамтамасыз ету оңай: жарамсыз деректер көбінесе ескі жүйелерде (шектеулер бағдарламалық құралда жүзеге асырылмаған) немесе тиімсіз деректерді жинау технологиясы қолданылған жағдайларда (мысалы, электрондық кестелер, мұнда пайдаланушының жасушаға енгізетін нәрсені шектеу өте қиын, егер жасушаны тексеру қолданылмаса) пайда болады. Деректер шектеулері келесі санаттарға бөлінеді:
Дерек типі шектеулері: белгілі бір бағандағы мәндер белгілі бір дерек типіне сәйкес болуы керек, мысалы, логикалық, сандық (бүтін немесе нақты), күндік. Диапазон шектеулері: әдетте, сандар немесе күндер белгілі бір диапазон шегінде болуы керек. Яғни, олардың ең төменгі және/немесе ең жоғары рұқсат етілген мәндері бар. Міндетті шектеулер: Кейбір бағандар бос қалмауы керек. Бірегей шектеулер: Бір немесе бірнеше өріс деректер жиынтығында бірегей болуы тиіс. Мысалы, екі адамның әлеуметтік сақтандыру нөмірі бірдей болмауы керек. Мүшелік шектеулері: Бағанның мәндері дискретті мәндер немесе кодтар жиынтығынан алынуы керек. Мысалы, адамның жынысы әйел, ер немесе белгісіз болуы мүмкін. Сыртқы кілт шектеулері: Бұл мүшелік шектеулерінің жалпы жағдайы. Бағандағы мәндер жиынтығы басқа кестедегі бірегей мәндері бар бағанда анықталады. Мысалы, АҚШ салық төлеушілерінің деректер базасында "штат" бағаны АҚШ-тың анықталған штаттарының немесе аумақтарының біріне тиесілі болуы керек: рұқсат етілген штаттар/аумақтар жиынтығы жеке Штаттар кестесінде тіркеледі. Сыртқы кілт термині реляциялық деректер базасы терминологиясынан алынған. Үлгілерді реттеу: Кейде мәтіндік өрістерді осылай тексеру қажет. Мысалы, телефон нөмірлері (999) 999-9999 үлгісіне сәйкес болуы керек. Өрістерді өзара тексеру: Бірнеше өрісті пайдаланатын белгілі бір шарттар орындалуы керек. Мысалы, зертханалық медицинада дифференциалды ақ қан клеткаларының компоненттерінің қосындысы 100-ге тең болуы керек (өйткені олардың барлығы пайызбен берілген). Аурухана деректер базасында науқастың ауруханадан шығу күні ауруханаға түскен күнінен ертерек болмауы керек. Дәлдік: Шараның стандартқа немесе нақты мәнге сәйкес келу дәрежесі (қараңыз, сондай-ақ Дәлдік және нақтылық). Деректерді тазалау арқылы жалпы жағдайда дәлдікке қол жеткізу өте қиын, себебі ол нақты мәнді қамтитын сыртқы деректер көзіне қол жеткізуді талап етеді: мұндай "алтын стандартты" деректер көбінесе қол жетімді емес. Деректерді тазалаудың кейбір контексттерінде, атап айтқанда, клиенттердің байланыс деректерінде, пошталық кодтарды географиялық орналасқан жерлермен (қала және штат) сәйкес келетін сыртқы деректер базаларын пайдалану арқылы дәлдікке қол жеткізілді, сондай-ақ осы пошталық кодтардағы көше мекенжайларының бар екенін тексеруге көмектеседі. Толықтық: Барлық қажетті шаралар белгілі болу дәрежесі. Деректерді тазалау әдістемесімен толық еместікті түзетуге болады, себебі деректер алғашқыда тіркелген кезде назардан тыс қалған фактілерді болжау мүмкін емес. (Кейбір жағдайларда, мысалы, сұхбат деректерінде, бастапқы деректер көзіне қайта оралып, яғни субъектімен қайта сұхбаттасу арқылы толық еместікті түзетуге болады, бірақ бұл да сәттілікке кепілдік бермейді, себебі есте сақтау проблемалары бар. Мысалы, тамақ тұтыну туралы мәліметтерді жинау сұхбатында, алты ай бұрын не жегенін ешкім дәл есте сақтамайды. Кейбір бағандар бос қалмауы керек деп талап ететін жүйелерде "белгісіз" немесе "жоғалған" дегенді білдіретін мәнді тағайындау арқылы мәселені шешуге болады, бірақ әдепкі мәндерді беру деректер толықтырылғанын білдірмейді.) Үнқатысу: Шаралар жиынтығының жүйелердегі сәйкестік дәрежесі (қараңыз, сондай-ақ Үнқатысу). Үнқатысу екі дерек элементі деректер жиынтығында бір-біріне қайшы келгенде пайда болады: мысалы, клиент екі түрлі жүйеде екі түрлі ағымдағы мекенжайы бар деп тіркелген, және олардың тек біреуі ғана дұрыс болуы мүмкін. Үнқатысуды түзету әрқашан мүмкін емес: ол әртүрлі стратегияларды қажет етеді, мысалы, деректердің қашан тіркелгенін анықтау, деректердің қайсысы сенімдірек болуы мүмкін (соңғысы белгілі бір ұйымға тән болуы мүмкін) немесе екі дерек элементін тексеру арқылы шындықты табу (мысалы, клиентке қоңырау шалу). Біртектілік: Деректер шараларының барлық жүйелерде бір өлшем бірлігін пайдалану дәрежесі (қараңыз, сондай-ақ Өлшем бірлігі). Әртүрлі жерлерден алынған деректер жиынтығында салмақ фунттарда немесе килограмдарда тіркелуі мүмкін және оны арифметикалық түрлендіру арқылы бір өлшемге ауыстыру қажет. Тұтастық дәлдік, үнқатысу және дұрысдықтың кейбір аспектілерін қамтиды (қараңыз, сондай-ақ деректер тұтастығы), бірақ деректерді тазалау контекстінде сирек қолданылады, себебі ол жеткілікті емес. (Мысалы, "сыртқы кілт тұтастығы" термині жоғарыдағы сыртқы кілт шектеулерін орындауға қатысты қолданылады.)
Validity: The degree to which the measures conform to defined business rules or constraints (see also Validity (statistics)). When modern database technology is used to design data capture systems, validity is fairly easy to ensure: invalid data arises mainly in legacy contexts (where constraints were not implemented in software) or where inappropriate data capture technology was used (e. g., spreadsheets, where it is very hard to limit what a user chooses to enter into a cell, if cell validation is not used). Data constraints fall into the following categories:
Data Type Constraints: values in a particular column must be of a particular data type, e. g., Boolean, numeric (integer or real), date. Range Constraints: typically, numbers or dates should fall within a certain range. That is, they have minimum and/or maximum permissible values. Mandatory Constraints: Certain columns cannot be empty. Unique Constraints: A field, or a combination of fields, must be unique across a dataset. For example, no two persons can have the same social security number. Set Membership constraints: The values for a column come from a set of discrete values or codes. For example, a person's sex may be Female, Male or Non Binary. Foreign key constraints: This is the more general case of set membership. The set of values in a column is defined in a column of another table that contains unique values. For example, in a US taxpayer database, the "state" column is required to belong to one of the US's defined states or territories: the set of permissible states/territories is recorded in a separate State table. The term foreign key is borrowed from relational database terminology. Regular expression patterns: Occasionally, text fields will have to be validated this way. For example, phone numbers may be required to have the pattern (999) 999–9999. Cross field validation: Certain conditions that utilize multiple fields must hold. For example, in laboratory medicine, the sum of the components of the differential white blood cell count must be equal to 100 (since they are all percentages). In a hospital database, a patient's date of discharge from the hospital cannot be earlier than the date of admission. Accuracy: The degree of conformity of a measure to a standard or a true value see also Accuracy and precision. Accuracy is very hard to achieve through data cleansing in the general case because it requires accessing an external source of data that contains the true value: such "gold standard" data is often unavailable. Accuracy has been achieved in some cleansing contexts, notably customer contact data, by using external databases that match up zip codes to geographical locations (city and state) and also help verify that street addresses within these zip codes actually exist. Completeness: The degree to which all required measures are known. Incompleteness is almost impossible to fix with data cleansing methodology: one cannot infer facts that were not captured when the data in question was initially recorded. (In some contexts, e. g., interview data, it may be possible to fix incompleteness by going back to the original source of data, i. e. re interviewing the subject, but even this does not guarantee success because of problems of recall e. g., in an interview to gather data on food consumption, no one is likely to remember exactly what one ate six months ago. In the case of systems that insist certain columns should not be empty, one may work around the problem by designating a value that indicates "unknown" or "missing", but the supplying of default values does not imply that the data has been made complete.) Consistency: The degree to which a set of measures are equivalent in across systems (see also Consistency). Inconsistency occurs when two data items in the data set contradict each other: e. g., a customer is recorded in two different systems as having two different current addresses, and only one of them can be correct. Fixing inconsistency is not always possible: it requires a variety of strategies e. g., deciding which data were recorded more recently, which data source is likely to be most reliable (the latter knowledge may be specific to a given organization), or simply trying to find the truth by testing both data items (e. g., calling up the customer). Uniformity: The degree to which a set data measures are specified using the same units of measure in all systems ( see also Unit of measure). In datasets pooled from different locales, weight may be recorded either in pounds or kilos and must be converted to a single measure using an arithmetic transformation. The term integrity encompasses accuracy, consistency and some aspects of validation (see also data integrity) but is rarely used by itself in data cleansing contexts because it is insufficiently specific. (For example, "referential integrity" is a term used to refer to the enforcement of foreign key constraints above.)
Жүйе
Бұл жүйенің маңызды міндеті – бұзық деректерді түзету мен деректерді бастапқы өндіріс жүйесінен алынған түпнұсқа деректерге мүмкіндігінше жақын ұстау арасындағы тиімді тепе-теңдікті табу. Бұл Extract, transform, load архитекторы үшін қиындық. Жүйе деректерді тазартатын, сапалық оқиғаларды тіркеп, деректер қоймасындағы деректер сапасын өлшеуге/бақылауға мүмкіндік беретін архитектураны ұсынуы керек. Жақсы бастама – деректерді жан-жақты талдау, ол деректерді тазарту жүйесінің қажетті күрделілігін анықтауға көмектеседі, сондай-ақ бастапқы жүйедегі деректердің қазіргі сапасы туралы ақпарат береді.
Сапалы экрандар
Деректерді тазалау жүйесінің бір бөлігі – сапалық экрандар деп аталатын диагностикалық сүзгілер жиынтығы. Олардың әрқайсысы деректер ағынында тест жүргізеді, егер тест сәтсіз аяқталса, Қате оқиға схемасына қате тіркеледі. Сапалық экрандар үш санатқа бөлінеді: Бағандық экрандар. Жеке бағандарды тексеру, мысалы, күтпеген мәндерді (NULL мәндер сияқты), сандық болуы тиіс сандық емес мәндерді, диапазоннан тыс мәндерді және т.б. тексеру. Құрылымдық экрандар. Бұлар бір немесе әртүрлі кестелердегі бағандар арасындағы қатынастардың (әдетте сыртқы/негізгі кілттер) тұтастығын тексеру үшін қолданылады. Сондай-ақ, бағандар тобының белгілі бір құрылымдық анықтамаға сәйкес келіп-келмейтінін тексеру үшін де қолданылады. Бизнес ережелері экрандары. Бұл үш тесттің ең күрделісі. Олар деректердің, мүмкін бірнеше кестеде, нақты бизнес ережелерін сақтайтынын тексереді. Мысалы, егер клиент белгілі бір типтегі клиент ретінде белгіленсе, осы клиентті анықтайтын бизнес ережелеріне сәйкес болуы керек. Сапалық экран қате тіркегенде, ол деректер ағыны процесін тоқтатуы, қате деректерді мақсатты жүйеден басқа жерге жіберуі немесе деректерді таңбалауы мүмкін. Соңғы нұсқа ең жақсы шешім болып саналады, өйткені бірінші нұсқада әр мәселе туған сайын оны қолмен шешу қажет, ал екіншісі мақсатты жүйеде деректердің жоқ болуын (тұтастығын) білдіреді және мұндай деректермен не істеу керектігі көбінесе белгісіз болады.
Column screens. Testing the individual column, e. g. for unexpected values like NULL values; non numeric values that should be numeric; out of range values; etc. Structure screens. These are used to test for the integrity of different relationships between columns (typically foreign/primary keys) in the same or different tables. They are also used for testing that a group of columns is valid according to some structural definition to which it should adhere. Business rule screens. The most complex of the three tests. They test to see if data, maybe across multiple tables, follow specific business rules. An example could be, that if a customer is marked as a certain type of customer, the business rules that define this kind of customer should be adhered to. When a quality screen records an error, it can either stop the dataflow process, send the faulty data somewhere else than the target system or tag the data. The latter option is considered the best solution because the first option requires, that someone has to manually deal with the issue each time it occurs and the second implies that data are missing from the target system (integrity) and it is often unclear what should happen to these data.
Қате оқиғалар сұлбасы
Қате оқиғалар схемасы сапалық тексерулерде туындаған барлық қате оқиғаларының тізімін сақтайды. Ол қате оқиғасының фактілер кестесінен тұрады, онда уақыт (қашан), партиялық жұмыс (қайда) және экран (қатені кім тудырды) туралы ақпаратты ұсынатын үш өлшемді кестелерге сыртқы кілттер бар. Сондай-ақ, қате қашан болды және оның ауырлық деңгейі туралы мәліметтер де бар. Әрі, қате қай кестеде, жазбада және өрісте болды, сондай-ақ қате жағдайы туралы толық ақпаратты қамтитын негізгі кестеге сыртқы кілті бар қате оқиғасының толық фактілер кестесі де бар.