Кіріспе

Деректерді өңдеу процедурасы
[[File:Conventional ETL Diagram. jpg|alt=Conventional ETL диаграммасы|thumb|Конвенционалды ETL диаграммасы

ЭТЛ процесі көбінесе деректерді жинақтауда қолданылады. ЭТЛ жүйелері әдетте әртүрлі өндірушілер әзірлеген және қолдаған немесе жеке компьютерлік аппараттарда орналастырылған бірнеше қосымшалардан (жүйелер) деректерді біріктіреді. Бастапқы деректерді қамтитын бөлек жүйелерді әртүрлі мүдделі тараптар басқарады. Мысалы, шығындарды есепке алу жүйесі жалақы, сату және сатып алу деректерін біріктіре алады. Деректерді алу біртекті немесе әртүрлі көздерден деректерді алуды қамтиды; деректерді өңдеу деректерді тазарту арқылы және оларды сұрау салу және талдау мақсатында тиісті сақтау форматына/құрылымына айналдырады; соңында, деректерді жүктеу деректерді операциялық деректерді сақтау, деректерді сату орын, деректерді көл немесе деректерді жинақтау сияқты соңғы мақсатты дерекқорға енгізуді сипаттайды.

Шығарылым

ETL өңдеу деректерді бастапқы жүйе(лер)ден алуды қамтиды. Көп жағдайда, бұл ETL-дің ең маңызды аспектісі болып табылады, себебі деректерді дұрыс алу келесі процестердің сәттілігіне негіз салады. Көптеген деректер қоймалау жобалары әртүрлі бастапқы жүйелерден деректерді біріктіреді. Әрбір жеке жүйе әртүрлі деректер ұйымдастыру және/немесе пішімдерді қолдануы мүмкін. Көбінесе қолданылатын дерек көздерінің форматтарына реляциялық деректер базалары, жазық файлдық деректер базалары, XML және JSON жатады, сонымен қатар IBM Ақпараттық басқару жүйесі сияқты реляциялық емес деректер базасы құрылымдары, немесе Виртуалды сақтауға қолжетімділік әдісі (VSAM) және Индекстелген ретті қолжетімділік әдісі (ISAM) сияқты басқа дерек құрылымдары, тіпті веб-шолушылар немесе деректерді скрепингтеу сияқты сыртқы көздерден алынған форматтар да кіруі мүмкін. Алынған дерек көзін тікелей ағыту және оны аралық дерек сақтау қажет болмаған жағдайда мақсатты деректер базасына жүктеу – ETL-ді орындаудың тағы бір тәсілі. Алу процесінің маңызды бөлігі – деректерді тексеру, яғни бастапқы көздерден алынған деректердің белгілі бір сала бойынша дұрыс/күтілетін мәндерге ие екенін растау (мысалы, үлгі/стандартты мән немесе мәндер тізімі). Егер деректер тексеру ережелеріне сәйкес келмесе, олар толығымен немесе ішінара қабылданбайды. Қабылданбаған деректер туралы ақпарат дұрыс емес жазбаларды анықтау және түзету немесе деректерді қайта өңдеу үшін бастапқы жүйеге жіберіледі.

Жүктілік

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

Қиындықтар

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

Қайтару мүмкіндігі, қалпына келтіру мүмкіндігі

Деректер қоймасы процедуралары көбінесе үлкен ETL процесін тізбектей немесе параллель орындалатын кішігірім бөліктерге бөледі. Дерек ағынын қадағалау үшін әрбір дерек қатарын "қатар идентификаторы" арқылы, ал процестің әрбір бөлігін "орындалу идентификаторы" арқылы белгілеген жөн. Егер қателік туындаса, осы идентификаторлар қателікті қалпына келтіріп, қайта іске қосуға көмектеседі. Жақсы тәжірибе ретінде белгілі бір процестің кезеңдері аяқталғандағы күйді көрсететін бақылау нүктелерін де пайдалану қажет. Бақылау нүктесіне жеткеннен кейін, барлық деректерді дискіге жазып, кейбір уақытша файлдарды жойып, күйін журналға тіркегені абзал.

Виртуалды ETL

2010 жылдан бастап деректерді виртуализациялау ETL өңдеуді дамыта бастады. ETL-ге деректерді виртуализациялауды қолдану, бірнеше шашыраңқы дерек көздері үшін деректерді көшіру және қосымшаларды интеграциялау сияқты ең көп кездесетін ETL міндеттерін шешуге мүмкіндік берді. Виртуалды ETL, қатынастық, жартылай құрылымдық және құрылымдық емес дерек көздерінен жиналған нысандар немесе объектілердің абстрактілі бейнесімен жұмыс істейді. ETL құралдары объектіге бағытталған модельдеуді пайдалана алады және орталықтандырылған хаб-спика архитектурасында тұрақты сақталатын объектілердің бейнесімен жұмыс істей алады. ETL өңдеу үшін дерек көздерінен жиналған нысандар немесе объектілердің бейнелерін қамтитын мұндай жиынтық метадеректер репозиторийі деп аталады және ол жадта немесе тұрақты түрде сақталуы мүмкін. Тұрақты метадеректер репозиторийін пайдалану арқылы ETL құралдары бір реттік жобалардан тұрақты аралық бағдарламаларға өтіп, деректерді үйлестіруді және деректерді талдауды тұрақты түрде және дерлік нақты уақыт режимінде жүзеге асыра алады.

Кілттермен жұмыс істеу

Бірегей кілттер барлық реляциялық деректер базасында маңызды рөл атқарады, себебі олар барлық нәрсені байланыстырады. Бірегей кілт – берілген объектіні анықтайтын баған, ал сыртқы кілт – басқа кестедегі, негізгі кілтке сілтеме жасайтын баған. Кілттер бірнеше бағаннан тұруы мүмкін, мұндай жағдайда олар күрделі кілттер деп аталады. Көп жағдайда негізгі кілт – бизнес объектісі үшін мағынасы жоқ, тек реляциялық деректер базасының жұмыс істеуі үшін ғана қажет болатын, әдетте «орнына қойылған кілт» деп аталатын автоматты түрде жасалатын бүтін сан болады. Қоймаға әдетте бірнеше дерек көзі жүктелетіндіктен, кілттерді қарастыру маңызды мәселе болып табылады. Мысалы: клиенттер бірнеше дерек көзінде көрсетілуі мүмкін, олардың әлеуметтік қамсыздандыру нөмірі бір көзде негізгі кілт ретінде, телефон нөмірі екіншісінде, ал үшіншісінде – орнына қойылған кілт ретінде пайдаланылуы мүмкін. Дегенмен, деректер қоймасы барлық клиенттік ақпаратты бір өлшемге біріктіруді қажет етуі мүмкін. Мұндай мәселені шешудің ұсынылатын жолы – дерек кестесінен сыртқы кілт ретінде қолданылатын қойманың орнына қойылған кілтін қосу болып табылады. Әдетте, өлшемнің бастапқы деректеріне өзгерістер енгізіледі, олар деректер қоймасында көрсетілуі керек. Егер бастапқы деректердің негізгі кілті есеп беру үшін қажет болса, өлшем әр қатар үшін осы ақпаратты қамтиды. Егер бастапқы деректер орнына қойылған кілтті пайдаланса, қойма оны сақтауы керек, тіпті егер ол сұраулар мен есептерде қолданылмаса да; бұл қойманың орнына қойылған кілті мен бастапқы кілтті қамтитын іздеу кестесін жасау арқылы іске асырылады. Осылайша өлшем әртүрлі бастапқы жүйелерден алынған орнына қойылған кілттермен «ластанбайды», ал жаңарту мүмкіндігі сақталады. Іздеу кестесі дерек көзінің сипатына байланысты әртүрлі жолдармен қолданылады. Қарастыруға болатын 5 тип бар; Gartner мұндай техникалық емес пайдаланушыларды «Азаматтық интеграторлар» деп атайды.

ETL және ELT

Extract, load, transform (ELT) – бұл ETL-дің бір түрі, онда алынған деректер тікелей мақсатты жүйеге жүктеледі. Аналитикалық құбыржол архитектурасы деректерді тазарту және толықтыру қажеттігін де қарастыруы керек.

Ralph Kimball және Joe Caserta-ның «The Data Warehouse ETL Toolkit» (Wiley, 2004) кітабы, деректерді қоймалаудағы ETL процестерін оқытатын курстарда оқулық ретінде қолданылады, осы мәселеге тоқталады. Amazon Redshift, Google BigQuery, Microsoft Azure Synapse Analytics және Snowflake Inc. сияқты бұлтты деректер қоймалары жоғары деңгейде кеңейтілген есептеу қуатын ұсынуға қабілетті. Бұл бизнеске алдын ала түрлендірулерден бас тартуға және шикі деректерді деректер қоймасына көшіруге мүмкіндік береді, онда оларды қажет болған жағдайда SQL арқылы түрлендіруге болады. ELT қолданғаннан кейін деректерді одан әрі өңдеуге және деректер қоймасында сақтауға болады. Көптеген деректерді интеграциялау құралдары ETL-ге бағытталған, ал ELT деректер қоймасы және деректер қоймасы құрылғыларында танымал. Сонымен қатар, деректерді алдымен блокчейнде түрлендіріп (мысалы, токенді жою арқылы деректердегі өзгерістерді тіркеу үшін), содан кейін басқа деректер қоймасына алуға және жүктеуге болатын TEL (Transform, Extract, Load) орындауға да болады.