Qanday qilib juda katta ma'lumotlarni arzon va tez ko'chirish, yuklash va birlashtirish mumkin? Pastga tushirishni optimallashtirish nima?

Har qanday katta ma'lumotlar bilan ishlash juda ko'p hisoblash quvvatini talab qiladi. Ma'lumotlar bazasidan Hadoopga odatiy ko'chish bir necha hafta davom etishi yoki samolyot qanoti kabi qimmatga tushishi mumkin. Kutib pul sarflashni xohlamaysizmi? Turli platformalarda yukni muvozanatlashtiring. Buning bir usuli - pastga tushirishni optimallashtirish.

Men Informatica mahsulotlarini ishlab chiqish va boshqarish bo'yicha Rossiyaning yetakchi murabbiyi Aleksey Ananyevdan Informatica Big Data Management (BDM) da pastga tushirishni optimallashtirish funksiyasi haqida gapirishni so'radim. Informatica mahsulotlari bilan ishlashni hech o'rganganmisiz? Ehtimol, sizga PowerCenter asoslarini aytib bergan va xaritalarni qanday yaratishni tushuntirgan Aleksey bo'lgan.

Aleksey Ananyev, DIS Group trening boshlig'i

Pushdown nima?

Ko'pchiligingiz Informatica Big Data Management (BDM) bilan allaqachon tanishsiz. Mahsulot turli manbalardan olingan katta ma'lumotlarni birlashtira oladi, uni turli tizimlar o'rtasida ko'chiradi, unga oson kirishni ta'minlaydi, uni profillash imkonini beradi va boshqalar.
To'g'ri qo'llarda BDM mo''jizalar yaratishi mumkin: vazifalar tez va minimal hisoblash resurslari bilan bajariladi.

Siz ham shuni xohlaysizmi? Turli platformalarda hisoblash yukini taqsimlash uchun BDM-da pastga tushirish funksiyasidan foydalanishni o'rganing. Pushdown texnologiyasi xaritalashni skriptga aylantirish va ushbu skript ishlaydigan muhitni tanlash imkonini beradi. Ushbu tanlov turli platformalarning kuchli tomonlarini birlashtirish va ularning maksimal ishlashiga erishish imkonini beradi.

Skriptni bajarish muhitini sozlash uchun pastga surish turini tanlashingiz kerak. Skript to'liq Hadoop-da ishga tushirilishi yoki qisman manba va sink o'rtasida taqsimlanishi mumkin. 4 ta mumkin bo'lgan surish turi mavjud. Xaritani skriptga aylantirish shart emas (mahalliy). Xaritani iloji boricha manbada (manbada) yoki to'liq manbada (to'liq) bajarish mumkin. Xaritalashni Hadoop skriptiga aylantirish ham mumkin (yo'q).

Pastga tushirishni optimallashtirish

Ro'yxatda keltirilgan 4 turni turli yo'llar bilan birlashtirish mumkin - pastga tushirishni tizimning o'ziga xos ehtiyojlari uchun optimallashtirish mumkin. Masalan, ko'pincha ma'lumotlar bazasidan o'z imkoniyatlaridan foydalangan holda ma'lumotlarni ajratib olish maqsadga muvofiqdir. Va ma'lumotlar bazasini haddan tashqari yuklamaslik uchun Hadoop yordamida o'zgartiriladi.

Keling, manba ham, maqsad ham ma'lumotlar bazasida bo'lgan vaziyatni ko'rib chiqaylik va transformatsiyani amalga oshirish platformasi tanlanishi mumkin: sozlamalarga qarab, bu Informatica, ma'lumotlar bazasi serveri yoki Hadoop bo'ladi. Bunday misol sizga ushbu mexanizmning texnik tomonini eng aniq tushunishga imkon beradi. Tabiiyki, haqiqiy hayotda bu holat yuzaga kelmaydi, lekin u funksionallikni namoyish qilish uchun eng mos keladi.

Keling, bitta Oracle ma'lumotlar bazasida ikkita jadvalni o'qish uchun xaritalashni olaylik. Va o'qish natijalari bir xil ma'lumotlar bazasidagi jadvalga yozilsin. Xarita sxemasi quyidagicha bo'ladi:

Qanday qilib juda katta ma'lumotlarni arzon va tez ko'chirish, yuklash va birlashtirish mumkin? Pastga tushirishni optimallashtirish nima?

Informatica BDM 10.2.1 da xaritalash shaklida u quyidagicha ko'rinadi:

Qanday qilib juda katta ma'lumotlarni arzon va tez ko'chirish, yuklash va birlashtirish mumkin? Pastga tushirishni optimallashtirish nima?

Pastga tushirish turi - mahalliy

Agar biz pastga tushirishning mahalliy turini tanlasak, unda xaritalash Informatica serverida amalga oshiriladi. Ma'lumotlar Oracle serveridan o'qiladi, Informatica serveriga o'tkaziladi, u erda o'zgartiriladi va Hadoop-ga o'tkaziladi. Boshqacha qilib aytganda, biz oddiy ETL jarayonini olamiz.

Pastga tushirish turi - manba

Manba turini tanlashda biz jarayonimizni ma'lumotlar bazasi serveri (DB) va Hadoop o'rtasida taqsimlash imkoniyatiga ega bo'lamiz. Jarayon ushbu sozlama bilan bajarilganda, jadvallardan ma'lumotlarni olish uchun so'rovlar ma'lumotlar bazasiga yuboriladi. Qolganlari esa Hadoop-da qadamlar shaklida amalga oshiriladi.
Amalga oshirish diagrammasi quyidagicha ko'rinadi:

Qanday qilib juda katta ma'lumotlarni arzon va tez ko'chirish, yuklash va birlashtirish mumkin? Pastga tushirishni optimallashtirish nima?

Quyida ish vaqti muhitini sozlash misoli keltirilgan.

Qanday qilib juda katta ma'lumotlarni arzon va tez ko'chirish, yuklash va birlashtirish mumkin? Pastga tushirishni optimallashtirish nima?

Bunday holda, xaritalash ikki bosqichda amalga oshiriladi. Uning sozlamalarida biz manbaga yuboriladigan skriptga aylanganini ko'ramiz. Bundan tashqari, jadvallarni birlashtirish va ma'lumotlarni o'zgartirish manbada bekor qilingan so'rov shaklida amalga oshiriladi.
Quyidagi rasmda biz BDM-da optimallashtirilgan xaritalashni va manbada qayta belgilangan so'rovni ko'ramiz.

Qanday qilib juda katta ma'lumotlarni arzon va tez ko'chirish, yuklash va birlashtirish mumkin? Pastga tushirishni optimallashtirish nima?

Hadoop-ning ushbu konfiguratsiyadagi roli ma'lumotlar oqimini boshqarishga - uni tartibga solishga kamayadi. So'rov natijasi Hadoop-ga yuboriladi. O'qish tugagandan so'ng, Hadoop fayli lavaboga yoziladi.

Pastga tushirish turi - to'liq

To'liq turni tanlaganingizda, xaritalash to'liq ma'lumotlar bazasi so'roviga aylanadi. Va so'rov natijasi Hadoop-ga yuboriladi. Bunday jarayonning diagrammasi quyida keltirilgan.

Qanday qilib juda katta ma'lumotlarni arzon va tez ko'chirish, yuklash va birlashtirish mumkin? Pastga tushirishni optimallashtirish nima?

O'rnatish misoli quyida ko'rsatilgan.

Qanday qilib juda katta ma'lumotlarni arzon va tez ko'chirish, yuklash va birlashtirish mumkin? Pastga tushirishni optimallashtirish nima?

Natijada, biz avvalgisiga o'xshash optimallashtirilgan xaritaga ega bo'lamiz. Yagona farq shundaki, barcha mantiq qabul qiluvchiga uning kiritilishini bekor qilish shaklida uzatiladi. Optimallashtirilgan xaritalash misoli quyida keltirilgan.

Qanday qilib juda katta ma'lumotlarni arzon va tez ko'chirish, yuklash va birlashtirish mumkin? Pastga tushirishni optimallashtirish nima?

Bu erda, avvalgi holatda bo'lgani kabi, Hadoop dirijyor rolini o'ynaydi. Ammo bu erda manba to'liq o'qiladi, so'ngra ma'lumotlarni qayta ishlash mantig'i qabul qiluvchi darajasida amalga oshiriladi.

Pastga tushirish turi null

Xo'sh, oxirgi variant - bu pastga tushirish turi bo'lib, unda bizning xaritalashimiz Hadoop skriptiga aylanadi.

Optimallashtirilgan xarita endi quyidagicha ko'rinadi:

Qanday qilib juda katta ma'lumotlarni arzon va tez ko'chirish, yuklash va birlashtirish mumkin? Pastga tushirishni optimallashtirish nima?

Bu erda manba fayllardan olingan ma'lumotlar birinchi navbatda Hadoop-da o'qiladi. Keyin, o'z vositalaridan foydalanib, bu ikki fayl birlashtiriladi. Shundan so'ng, ma'lumotlar konvertatsiya qilinadi va ma'lumotlar bazasiga yuklanadi.

Pastga tushirishni optimallashtirish tamoyillarini tushunib, siz katta ma'lumotlar bilan ishlash uchun ko'plab jarayonlarni juda samarali tashkil qilishingiz mumkin. Shunday qilib, yaqinda bir yirik kompaniya bir necha hafta ichida bir necha yil davomida to'plagan katta ma'lumotlarni saqlashdan Hadoop-ga yuklab oldi.

Manba: www.habr.com

a Izoh qo'shish