Google BigQuery ma'lumotlar tahlilini qanday demokratlashtirdi. 2-qism

Hey Xabr! Hozirda OTUSda yangi kurs oqimiga ro‘yxatdan o‘tish ochiq Ma'lumotlar muhandisi. Kurs boshlanishini kutib, biz siz bilan foydali materiallarni baham ko'rishda davom etamiz.

Birinchi qismni o'qing

Google BigQuery ma'lumotlar tahlilini qanday demokratlashtirdi. 2-qism

Ma'lumotlarni boshqarish

Kuchli ma'lumotlarni boshqarish Twitter muhandisligining asosiy tamoyilidir. BigQuery-ni platformamizga tatbiq etar ekanmiz, biz maʼlumotlarni aniqlash, kirishni boshqarish, xavfsizlik va maxfiylikka eʼtibor qaratamiz.

Maʼlumotlarni topish va boshqarish uchun biz maʼlumotlarga kirish qatlamini kengaytirdik DAL) foydalanuvchilarimiz uchun yagona interfeys va API taqdim etgan holda mahalliy va Google Cloud ma'lumotlari uchun vositalarni taqdim etish. Google sifatida Ma'lumotlar katalogi umumiy mavjudlik tomon harakatlanmoqda, biz foydalanuvchilarga ustun qidiruvi kabi xususiyatlarni taqdim etish uchun uni loyihalarimizga kiritamiz.

BigQuery maʼlumotlarni almashish va ularga kirishni osonlashtiradi, biroq maʼlumotlar oʻzgarib ketishining oldini olish uchun biz buni nazorat qilishimiz kerak edi. Boshqa vositalar qatorida biz ikkita funktsiyani tanladik:

  • Domen almashish cheklangan: Foydalanuvchilarning BigQuery maʼlumotlar toʻplamini Twitterdan tashqaridagi foydalanuvchilar bilan boʻlishishining oldini olish uchun beta funksiyasi.
  • VPC xizmatini boshqarish: Ma'lumotlar o'tkazilishini oldini oladigan va foydalanuvchilardan ma'lum IP manzillar diapazonlaridan BigQuery-ga kirishni talab qiluvchi boshqaruv.

Biz xavfsizlik uchun autentifikatsiya, avtorizatsiya va audit (AAA) talablarini quyidagi tarzda amalga oshirdik:

  • Autentifikatsiya: Biz maxsus so‘rovlar uchun GCP foydalanuvchi hisoblaridan va ishlab chiqarish so‘rovlari uchun xizmat hisoblaridan foydalandik.
  • Avtorizatsiya: Biz har bir maʼlumotlar toʻplami egasining xizmat hisobi va oʻquvchilar guruhiga ega boʻlishini talab qildik.
  • Tekshiruv: Biz oson tahlil qilish uchun so'rovlarni bajarish bo'yicha batafsil ma'lumotni o'z ichiga olgan BigQuery stackdriver jurnallarini BigQuery ma'lumotlar to'plamiga eksport qildik.

Twitter foydalanuvchilarining shaxsiy maʼlumotlari toʻgʻri ishlanishini taʼminlash uchun barcha BigQuery maʼlumotlar toʻplamini roʻyxatdan oʻtkazishimiz, shaxsiy maʼlumotlarga izoh qoʻyishimiz, toʻgʻri saqlashimiz va foydalanuvchilar tomonidan oʻchirilgan maʼlumotlarni oʻchirishimiz (qirqishimiz) kerak.

Biz Google-ga qaradik Cloud Data Loss Prevention API, bu nozik ma'lumotlarni tasniflash va tahrirlash uchun mashinani o'rganishdan foydalanadi, ammo aniqligi sababli ma'lumotlar to'plamiga qo'lda izoh qo'yish foydasiga qaror qildi. Biz maxsus izohni oshirish uchun Data Loss Prevention API dan foydalanishni rejalashtirmoqdamiz.

Twitter’da biz BigQuery’dagi ma’lumotlar to‘plamlari uchun to‘rtta maxfiylik toifasini yaratdik, bu yerda sezgirlikning kamayishi tartibida keltirilgan:

  • O'ta sezgir ma'lumotlar to'plamlari eng kam imtiyozlar tamoyiliga asoslangan holda kerak bo'lganda taqdim etiladi. Har bir ma'lumotlar to'plamida alohida o'quvchilar guruhi mavjud va biz individual hisoblar bo'yicha foydalanishni kuzatamiz.
  • O'rtacha sezgirlik ma'lumotlar to'plami (tuzlangan xeshing yordamida bir tomonlama taxalluslar) shaxsiy identifikatsiya qilinadigan ma'lumotlarni (PII) o'z ichiga olmaydi va xodimlarning katta guruhi uchun ochiqdir. Bu maxfiylik muammolari va ma'lumotlar yordam dasturi o'rtasidagi yaxshi muvozanatdir. Bu xodimlarga haqiqiy foydalanuvchilar kimligini bilmasdan, biror xususiyatdan foydalangan foydalanuvchilar sonini hisoblash kabi tahliliy vazifalarni bajarishga imkon beradi.
  • Barcha foydalanuvchi identifikatsiya ma'lumotlari bilan past sezgir ma'lumotlar to'plami. Bu maxfiylik nuqtai nazaridan yaxshi yondashuv, lekin foydalanuvchi darajasidagi tahlil uchun foydalanilmaydi.
  • Ommaviy ma'lumotlar to'plami (Twitterdan tashqarida chiqarilgan) barcha Twitter xodimlari uchun mavjud.

Jurnalga kelsak, biz BigQuery ma'lumotlar to'plamini sanash va ularni ma'lumotlarga kirish qatlamida ro'yxatdan o'tkazish uchun rejalashtirilgan vazifalardan foydalandik (DAL), Twitter metama'lumotlar ombori. Foydalanuvchilar maxfiylik ma'lumotlari bilan ma'lumotlar to'plamiga izoh qo'yadi va shuningdek, saqlash muddatini belgilaydi. Tozalashga kelsak, biz ikkita variantning ishlashi va narxini baholaymiz: 1. Scalding kabi vositalar yordamida GCS ma'lumotlar to'plamini tozalash va ularni BigQuery-ga yuklash; 2. BigQuery DML bayonotlaridan foydalanish. Turli guruhlar va ma'lumotlar talablarini qondirish uchun ikkala usulning kombinatsiyasidan foydalanamiz.

Tizim funksionalligi

BigQuery boshqariladigan xizmat boʻlgani uchun Twitter’ning SRE jamoasini tizim boshqaruvi yoki stol vazifalariga jalb qilishning hojati yoʻq edi. Saqlash va hisoblash uchun ko'proq imkoniyatlarni ta'minlash oson edi. Google koʻmagi bilan chipta yaratish orqali oʻrinni band qilishni oʻzgartirishimiz mumkin. Biz oʻz-oʻziga xizmat koʻrsatish joylarini ajratish va monitoring uchun asboblar panelini yaxshilash kabi yaxshilanishi mumkin boʻlgan sohalarni aniqladik va bu soʻrovlarni Google’ga yubordik.

qiymati

Bizning dastlabki tahlilimiz shuni ko'rsatdiki, BigQuery va Presto uchun so'rovlar bir xil darajada edi. uchun slot sotib oldik belgilangan to'lov o'rniga barqaror oylik xarajatga ega bo'lish uchun narx iltimosiga binoan qayta ishlangan ma'lumotlarning bir TB uchun. Ushbu qaror, shuningdek, har bir so'rovni amalga oshirishdan oldin xarajatlar haqida o'ylashni istamagan foydalanuvchilarning fikr-mulohazalariga asoslangan.

BigQuery-da ma'lumotlarni saqlash GCS xarajatlariga qo'shimcha ravishda xarajatlarni keltirib chiqardi. Scalding kabi vositalar GCS maʼlumotlar toʻplamini talab qiladi va BigQuery’ga kirish uchun biz bir xil maʼlumotlar toʻplamini BigQuery formatiga yuklashimiz kerak edi. Kondansatkich. Biz BigQuery maʼlumotlar toʻplamiga Scalding ulanishi ustida ishlayapmiz, bu maʼlumotlar toʻplamini GCS va BigQuery-da saqlash zaruriyatini yoʻq qiladi.

O'nlab petabaytlik kamdan-kam so'rovlarni talab qiladigan kamdan-kam hollarda biz BigQuery-da ma'lumotlar to'plamini saqlash tejamkor emas deb qaror qildik va GCS-dagi ma'lumotlar to'plamlariga bevosita kirish uchun Presto-dan foydalandik. Buning uchun biz BigQuery tashqi ma'lumotlar manbalarini ko'rib chiqamiz.

Keyingi qadamlar

Alfa versiyasi chiqqandan beri biz BigQuery-ga katta qiziqishni ko'rdik. Biz BigQuery’ga qo‘shimcha ma’lumotlar to‘plami va boshqa buyruqlar qo‘shmoqdamiz. Biz BigQuery xotirasiga o‘qish va yozish uchun Scalding kabi ma’lumotlarni tahlil qilish vositalari uchun ulagichlarni ishlab chiqamiz. BigQuery maʼlumotlar toʻplamidan foydalangan holda korporativ sifat hisobotlari va qaydlarni yaratish uchun Looker va Apache Zeppelin kabi vositalarni koʻrib chiqmoqdamiz.

Google bilan hamkorligimiz juda samarali bo'ldi va biz ushbu hamkorlikni davom ettirish va rivojlantirishdan mamnunmiz. Biz o'zimizni amalga oshirish uchun Google bilan ishladik Hamkorlar muammosini kuzatuvchisiso'rovlarni to'g'ridan-to'g'ri Google'ga yuborish uchun. Ulardan ba'zilari, masalan, BigQuery Parket yuklagichi Google tomonidan allaqachon amalga oshirilgan.

Bu yerda Google uchun ustuvor xususiyat soʻrovlarimizdan baʼzilari:

  • Qulay ma'lumotlarni qabul qilish va LZO-Thrift formatini qo'llab-quvvatlash vositalari.
  • Soatlik segmentatsiya
  • Jadval, satr va ustun darajasidagi ruxsatlar kabi kirishni boshqarishni yaxshilash.
  • katta so'rov Tashqi ma'lumotlar manbalari Hive Metastore integratsiyasi va LZO-Thrift formatini qo'llab-quvvatlash bilan.
  • BigQuery foydalanuvchi interfeysida ma'lumotlar katalogi integratsiyasi yaxshilandi
  • Slot ajratish va monitoring qilish uchun o'z-o'ziga xizmat ko'rsatish.

xulosa

Ma'lumotlar tahlili, vizualizatsiya va mashinani o'rganishni xavfsiz tarzda demokratlashtirish Data Platform jamoasi uchun ustuvor vazifadir. Biz Google BigQuery va Data Studio-ni ushbu maqsadga erishishda yordam beradigan vositalar sifatida aniqladik va o'tgan yili BigQuery Alpha-ni kompaniya bo'ylab chiqardik.

Biz BigQuery so'rovlarini sodda va samarali deb topdik. Biz oddiy quvur liniyalari uchun maʼlumotlarni qabul qilish va oʻzgartirish uchun Google vositalaridan foydalanganmiz, ammo murakkab quvurlar uchun biz oʻz Airflow asosimizni yaratishimiz kerak edi. Maʼlumotlarni boshqarish sohasida autentifikatsiya, avtorizatsiya va audit uchun BigQuery xizmatlari bizning ehtiyojlarimizga javob beradi. Meta-ma'lumotlarni boshqarish va maxfiylikni saqlash uchun bizga ko'proq moslashuvchanlik kerak edi va o'z tizimlarimizni yaratishimiz kerak edi. BigQuery, boshqariladigan xizmat bo'lgani uchun foydalanish oson edi. So'rovlar narxi mavjud vositalarga o'xshash edi. BigQuery’da ma’lumotlarni saqlash GCS xarajatlariga qo‘shimcha xarajatlarni talab qiladi.

Umuman olganda, BigQuery umumiy SQL tahlili uchun yaxshi ishlaydi. Biz BigQuery’ga katta qiziqishni ko‘ryapmiz va biz BigQuery yordamida ko‘proq ma’lumotlar to‘plamini ko‘chirish, ko‘proq jamoalarni jalb qilish va ko‘proq quvurlarni qurish ustida ishlamoqdamiz. Twitter Scalding, Spark, Presto va Druid kabi vositalar kombinatsiyasini talab qiladigan turli xil ma'lumotlardan foydalanadi. Biz maʼlumotlar tahlili vositalarini mustahkamlashda davom etish va foydalanuvchilarga takliflarimizdan qanday qilib toʻgʻri foydalanish boʻyicha aniq koʻrsatmalar berish niyatidamiz.

Minnatdorchilik so'zlari

Men hammualliflarim va jamoadoshlarim Anju Ja va Uill Paskuchchiga ushbu loyihada katta hamkorlik va mashaqqatli mehnati uchun minnatdorchilik bildirmoqchiman. Shuningdek, bizga yordam bergan Twitter va Google’ning bir qancha jamoalari muhandislari va menejerlariga va qimmatli fikr-mulohazalarini bildirgan Twitter’dagi BigQuery foydalanuvchilariga minnatdorchilik bildirmoqchiman.

Agar siz ushbu muammolar ustida ishlashga qiziqsangiz, bizning maqolamizga qarang bo'sh ish o'rinlari Data Platform jamoasida.

DWH da ma'lumotlar sifati - ma'lumotlar omborining izchilligi

Manba: www.habr.com

a Izoh qo'shish