Хэрхэн маш том өгөгдлийг хямд, хурдан зөөх, байршуулах, нэгтгэх вэ? Дамжуулах оновчлол гэж юу вэ?

Аливаа том өгөгдлийн үйл ажиллагаа нь маш их тооцоолох хүч шаарддаг. Мэдээллийн сангаас Hadoop руу ердийн өгөгдөл шилжүүлэхэд хэдэн долоо хоног шаардагдах эсвэл онгоцны далавч шиг үнэтэй байж болно. Хүлээж, мөнгө үрэхийг хүсэхгүй байна уу? Өөр өөр платформ дээрх ачааллыг тэнцвэржүүлэх. Нэг арга зам бол түлхэх оновчлол юм.

Би Informatica бүтээгдэхүүний хөгжүүлэлт, удирдлагын чиглэлээр Оросын тэргүүлэх сургагч багш Алексей Ананьеваас Informatica Big Data Management (BDM) дахь түлхэлтийг оновчтой болгох функцийн талаар ярихыг хүссэн. Та Informatica бүтээгдэхүүнтэй ажиллаж сурсан уу? PowerCenter-ийн үндсийг хэлж, зураглалыг хэрхэн бүтээх талаар тайлбарласан хүн бол Алексей байсан байх.

DIS группын сургалтын албаны дарга Алексей Ананьев

Pushdown гэж юу вэ?

Та нарын олонхи нь Informatica Big Data Management (BDM) программыг аль хэдийн мэддэг болсон. Бүтээгдэхүүн нь өөр өөр эх сурвалжаас авсан том өгөгдлийг нэгтгэх, өөр өөр системүүдийн хооронд шилжүүлэх, түүнд хялбар хандах, профайл үүсгэх гэх мэт олон зүйлийг хийх боломжтой.
Зөв гарт BDM гайхамшгуудыг бүтээж чадна: даалгавруудыг хурдан бөгөөд хамгийн бага тооцоолох нөөцөөр гүйцэтгэх болно.

Та ч бас үүнийг хүсч байна уу? Төрөл бүрийн платформ дээр тооцоолох ачааллыг хуваарилахын тулд BDM-ийн түлхэх функцийг ашиглаж сур. Pushdown технологи нь зураглалыг скрипт болгон хувиргаж, энэ скрипт ажиллах орчныг сонгох боломжийг олгодог. Энэ сонголт нь янз бүрийн платформуудын давуу талыг нэгтгэж, хамгийн их гүйцэтгэлд хүрэх боломжийг олгодог.

Скриптийг гүйцэтгэх орчныг тохируулахын тулд та доош буулгах төрлийг сонгох хэрэгтэй. Скриптийг бүхэлд нь Hadoop дээр ажиллуулах эсвэл эх үүсвэр болон угаалтуур хооронд хэсэгчлэн тарааж болно. 4 боломжит түлхэх төрөл байдаг. Газрын зураглалыг скрипт (уугуул) болгон хувиргах шаардлагагүй. Зураглалыг аль болох эх сурвалж (эх сурвалж) дээр эсвэл бүрэн эх сурвалж дээр (бүрэн) хийж болно. Газрын зураглалыг Hadoop скрипт болгон хувиргаж болно (байхгүй).

Доош татах оновчлол

Жагсаалтад орсон 4 төрлийг янз бүрийн аргаар нэгтгэж болно - түлхэлтийг системийн тодорхой хэрэгцээнд тохируулан оновчтой болгож болно. Жишээлбэл, мэдээллийн сангаас өөрийн боломжуудыг ашиглан өгөгдлийг гаргаж авах нь илүү тохиромжтой байдаг. Мэдээллийн санг хэт ачаалахгүйн тулд өгөгдлийг Hadoop ашиглан хөрвүүлэх болно.

Эх сурвалж болон очих газар хоёулаа мэдээллийн санд байгаа бөгөөд хувиргалтыг гүйцэтгэх платформыг сонгож болох тохиолдлыг авч үзье: тохиргооноос хамааран энэ нь Informatica, мэдээллийн сангийн сервер эсвэл Hadoop байх болно. Ийм жишээ нь энэ механизмын үйл ажиллагааны техникийн талыг хамгийн зөв ойлгох боломжийг танд олгоно. Мэдээжийн хэрэг, бодит амьдрал дээр ийм нөхцөл байдал үүсдэггүй, гэхдээ энэ нь функциональ байдлыг харуулахад хамгийн тохиромжтой.

Нэг Oracle мэдээллийн сан дахь хоёр хүснэгтийг уншихын тулд зураглалыг авч үзье. Уншсан үр дүнг ижил мэдээллийн сан дахь хүснэгтэд бичнэ үү. Газрын зургийн схем нь дараах байдалтай байна.

Хэрхэн маш том өгөгдлийг хямд, хурдан зөөх, байршуулах, нэгтгэх вэ? Дамжуулах оновчлол гэж юу вэ?

Informatica BDM 10.2.1 дээрх зураглалын хэлбэрээр дараах байдалтай байна.

Хэрхэн маш том өгөгдлийг хямд, хурдан зөөх, байршуулах, нэгтгэх вэ? Дамжуулах оновчлол гэж юу вэ?

Дарах төрөл - эх

Хэрэв бид түлхэх унаган төрлийг сонговол зураглал нь Informatica сервер дээр хийгдэнэ. Өгөгдлийг Oracle серверээс уншиж, Informatica сервер рүү шилжүүлж, тэнд хувиргаж, Hadoop руу шилжүүлнэ. Өөрөөр хэлбэл, бид ердийн ETL процессыг авах болно.

Дамжуулах төрөл - эх сурвалж

Эх сурвалжийн төрлийг сонгохдоо бид өгөгдлийн сангийн сервер (DB) болон Hadoop хооронд процессоо түгээх боломжийг олж авдаг. Энэ тохиргоог ашиглан процессыг гүйцэтгэх үед хүснэгтээс өгөгдөл авах хүсэлтийг мэдээллийн сан руу илгээнэ. Үлдсэнийг нь Hadoop дээр алхам хэлбэрээр хийх болно.
Гүйцэтгэлийн диаграм нь дараах байдлаар харагдах болно.

Хэрхэн маш том өгөгдлийг хямд, хурдан зөөх, байршуулах, нэгтгэх вэ? Дамжуулах оновчлол гэж юу вэ?

Ажиллах орчныг тохируулах жишээг доор харуулав.

Хэрхэн маш том өгөгдлийг хямд, хурдан зөөх, байршуулах, нэгтгэх вэ? Дамжуулах оновчлол гэж юу вэ?

Энэ тохиолдолд зураглалыг хоёр үе шаттайгаар гүйцэтгэнэ. Тохиргооноос бид энэ нь эх сурвалж руу илгээгдэх скрипт болж хувирсныг харах болно. Түүнчлэн, хүснэгтүүдийг нэгтгэх, өгөгдлийг хувиргах нь эх сурвалж дээр дарагдсан асуулга хэлбэрээр хийгдэнэ.
Доорх зурган дээр бид BDM дээрх оновчтой зураглал, эх сурвалж дээр дахин тодорхойлсон хайлтыг харж байна.

Хэрхэн маш том өгөгдлийг хямд, хурдан зөөх, байршуулах, нэгтгэх вэ? Дамжуулах оновчлол гэж юу вэ?

Энэ тохиргоонд Hadoop-ийн үүрэг нь өгөгдлийн урсгалыг удирдах, түүнийг зохион байгуулахад багасах болно. Асуулгын үр дүнг Hadoop руу илгээнэ. Уншиж дууссаны дараа Hadoop-ийн файл угаалтуур руу бичигдэх болно.

Дамжуулах төрөл - бүрэн

Бүрэн төрлийг сонгоход зураглал нь мэдээллийн сангийн хайлт болон хувирна. Мөн хүсэлтийн үр дүнг Hadoop руу илгээнэ. Ийм үйл явцын диаграммыг доор үзүүлэв.

Хэрхэн маш том өгөгдлийг хямд, хурдан зөөх, байршуулах, нэгтгэх вэ? Дамжуулах оновчлол гэж юу вэ?

Тохиргооны жишээг доор үзүүлэв.

Хэрхэн маш том өгөгдлийг хямд, хурдан зөөх, байршуулах, нэгтгэх вэ? Дамжуулах оновчлол гэж юу вэ?

Үүний үр дүнд бид өмнөхтэй төстэй оновчтой зураглалыг авах болно. Цорын ганц ялгаа нь бүх логик нь түүний оруулгыг давах хэлбэрээр хүлээн авагч руу шилждэг. Оновчтой зураглалын жишээг доор үзүүлэв.

Хэрхэн маш том өгөгдлийг хямд, хурдан зөөх, байршуулах, нэгтгэх вэ? Дамжуулах оновчлол гэж юу вэ?

Энд өмнөх тохиолдлын нэгэн адил Hadoop удирдаачийн үүргийг гүйцэтгэдэг. Гэхдээ энд эх сурвалжийг бүхэлд нь уншиж, дараа нь өгөгдөл боловсруулах логикийг хүлээн авагчийн түвшинд гүйцэтгэдэг.

Дарах төрөл null байна

Сүүлчийн сонголт бол доош буулгах төрөл бөгөөд бидний зураглал нь Hadoop скрипт болж хувирах болно.

Оновчтой зураглал одоо иймэрхүү харагдах болно:

Хэрхэн маш том өгөгдлийг хямд, хурдан зөөх, байршуулах, нэгтгэх вэ? Дамжуулах оновчлол гэж юу вэ?

Энд эх файлуудын өгөгдлийг эхлээд Hadoop дээр унших болно. Дараа нь өөрийн арга хэрэгслийг ашиглан энэ хоёр файлыг нэгтгэнэ. Үүний дараа өгөгдлийг хөрвүүлж, мэдээллийн санд байршуулах болно.

Түлхэх оновчлолын зарчмуудыг ойлгосноор та том өгөгдөлтэй ажиллах олон процессыг маш үр дүнтэй зохион байгуулж чадна. Тиймээс саяхан нэг томоохон компани хэдхэн долоо хоногийн дотор хадгалалтаас том өгөгдлийг Hadoop руу татаж авсан бөгөөд өмнө нь хэдэн жилийн турш цуглуулсан.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх