Google-un BigQuery məlumat təhlilini necə demokratikləşdirdi. 1-ci hissə

Salam, Habr! Yeni kurs axını üçün qeydiyyat hazırda OTUS-da açıqdır Məlumat Mühəndisi. Kursun başlaması ərəfəsində biz ənənəvi olaraq sizin üçün maraqlı materialın tərcüməsini hazırlamışıq.

Dünyada baş verənləri öyrənmək və müzakirə etmək üçün hər gün yüz milyondan çox insan Twitter-ə baş çəkir. Hər bir tvit və hər bir istifadəçi hərəkəti Twitter-in daxili məlumat təhlili üçün mövcud olan hadisə yaradır. Yüzlərlə işçi bu məlumatları təhlil edir və vizuallaşdırır və onların təcrübələrini təkmilləşdirmək Twitter Data Platform komandası üçün əsas prioritetdir.

İnanırıq ki, geniş texniki bacarıqlara malik olan istifadəçilər məlumatları kəşf etməli və yaxşı işləyən SQL-əsaslı analiz və vizuallaşdırma alətlərinə çıxış əldə etməlidirlər. Bu, məlumat analitikləri və məhsul menecerləri də daxil olmaqla, daha az texniki istifadəçilərdən ibarət tamamilə yeni bir qrupa məlumatlardan anlayışlar çıxarmağa imkan verəcək və onlara Twitter-in imkanlarını daha yaxşı başa düşməyə və istifadə etməyə imkan verəcək. Biz Twitter-də məlumat analitikasını belə demokratikləşdiririk.

Alətlərimiz və daxili məlumat analitika imkanlarımız təkmilləşdikcə, biz Twitter-in yaxşılaşdığını gördük. Bununla belə, təkmilləşdirmə üçün hələ də yer var. Scalding kimi cari alətlər proqramlaşdırma təcrübəsi tələb edir. Presto və Vertica kimi SQL-əsaslı analiz alətlərində miqyasda performans problemləri var. Həm də məlumatların daimi girişi olmayan bir çox sistem arasında paylanması problemimiz var.

Keçən il elan etmişdik Google ilə yeni əməkdaşlıq, daxilində bizim hissələri köçürürük məlumat infrastrukturu Google Bulud Platformasında (GCP). Google Cloud alətləri olduğu qənaətinə gəldik Big Data Twitter-də analitika, vizuallaşdırma və maşın öyrənməsini demokratikləşdirmək təşəbbüslərimizdə bizə kömək edə bilər:

  • BigQuery: SQL mühərriki əsasında müəssisə məlumat anbarı Dremelsürəti, sadəliyi ilə məşhur olan və öhdəsindən gələn maşın öyrənməsi.
  • Data Studio: Google Sənədə bənzər əməkdaşlıq xüsusiyyətləri ilə böyük məlumatların vizuallaşdırılması vasitəsi.

Bu yazıda siz bu alətlərlə bağlı təcrübəmiz haqqında öyrənəcəksiniz: nə etdik, nə öyrəndik və bundan sonra nə edəcəyik. İndi biz toplu və interaktiv analitikaya diqqət yetirəcəyik. Növbəti məqalədə real vaxt analitikasını müzakirə edəcəyik.

Twitter Məlumat Mağazalarının tarixi

BigQuery-ə keçməzdən əvvəl Twitter məlumat anbarının tarixini qısaca xatırlamağa dəyər. 2011-ci ildə Vertica və Hadoop-da Twitter məlumatlarının təhlili aparılıb. MapReduce Hadoop işlərini yaratmaq üçün Donuzdan istifadə etdik. 2012-ci ildə biz Pig-i Scalding ilə əvəz etdik, hansı ki, mürəkkəb boru kəmərləri yaratmaq imkanı və sınaq asanlığı kimi üstünlükləri olan Scala API-yə malik idi. Bununla belə, SQL ilə işləmək daha rahat olan bir çox məlumat analitikləri və məhsul menecerləri üçün bu, kifayət qədər dik öyrənmə əyrisi idi. Təxminən 2016-cı ildə biz Presto-dan Hadoop məlumatlarına SQL interfeysi kimi istifadə etməyə başladıq. Spark, Python interfeysini təklif etdi ki, bu da onu ad hoc məlumat elmi və maşın öyrənməsi üçün yaxşı seçim edir.

2018-ci ildən biz məlumatların təhlili və vizuallaşdırılması üçün aşağıdakı vasitələrdən istifadə etmişik:

  • İstehsal konveyerləri üçün yanma
  • Xüsusi məlumatların təhlili və maşın öyrənməsi üçün Scalding və Spark
  • Ad hoc və interaktiv SQL təhlili üçün Vertica və Presto
  • Zaman seriyası ölçülərinə aşağı interaktiv, kəşfiyyat və aşağı gecikmə girişi üçün Druid
  • Məlumatların vizuallaşdırılması üçün Tableau, Zeppelin və Pivot

Biz aşkar etdik ki, bu alətlər çox güclü imkanlar təqdim etsə də, biz bu imkanları Twitter-də daha geniş auditoriyaya təqdim etməkdə çətinlik çəkdik. Google Cloud ilə platformamızı genişləndirməklə, biz bütün Twitter üçün analitik alətlərimizi sadələşdirməyə diqqət yetiririk.

Google-un BigQuery Məlumat Anbarı

Twitter-dəki bir neçə komanda artıq BigQuery-ni bəzi istehsal boru kəmərlərinə daxil edib. Onların təcrübəsindən istifadə edərək, biz BigQuery-nin bütün Twitter istifadə halları üçün imkanlarını qiymətləndirməyə başladıq. Məqsədimiz BigQuery-ni bütün şirkətə təklif etmək və onu Data Platform alətlər dəsti daxilində standartlaşdırmaq və dəstəkləmək idi. Bu, bir çox səbəblərə görə çətin idi. Bizə böyük həcmdə verilənləri etibarlı şəkildə qəbul etmək, şirkət miqyasında məlumatların idarə edilməsini dəstəkləmək, düzgün giriş nəzarətini təmin etmək və müştəri məxfiliyini təmin etmək üçün infrastruktur inkişaf etdirməli idik. Komandaların BigQuery-dən səmərəli istifadə edə bilməsi üçün biz həmçinin resurs bölgüsü, monitorinq və geri ödəmə sistemləri yaratmalı olduq.

2018-ci ilin noyabr ayında BigQuery və Data Studio-nun şirkət miqyasında alfa buraxılışını buraxdıq. Biz Twitter əməkdaşlarına təmizlənmiş şəxsi məlumatlarla ən çox istifadə olunan cədvəllərimizdən bəzilərini təklif etdik. BigQuery mühəndislik, maliyyə və marketinq daxil olmaqla müxtəlif komandalardan 250-dən çox istifadəçi tərəfindən istifadə edilmişdir. Ən son olaraq, onlar planlaşdırılmış sorğuları saymadan ayda təxminən 8 PB emal edərək, təxminən 100k sorğu işlədirdilər. Çox müsbət rəy aldıqdan sonra biz irəliləməyə qərar verdik və BigQuery-ni Twitter-də data ilə qarşılıqlı əlaqə üçün əsas resurs kimi təklif etdik.

Budur, Google BigQuery məlumat anbarımızın arxitekturasının yüksək səviyyəli diaqramı.

Google-un BigQuery məlumat təhlilini necə demokratikləşdirdi. 1-ci hissə
Biz daxili Cloud Replicator alətindən istifadə edərək, yerli Hadoop klasterlərindən məlumatları Google Bulud Yaddaşına (GCS) kopyalayırıq. Daha sonra "Apache Airflow" istifadə edən boru kəmərləri yaratmaq üçün istifadə edirik.bq_load» GCS-dən BigQuery-ə data yükləmək üçün. GCS-də Parket və ya Thrift-LZO məlumat dəstlərini sorğulamaq üçün Presto-dan istifadə edirik. BQ Blaster HDFS Vertica və Thrift-LZO məlumat dəstlərini BigQuery-ə yükləmək üçün daxili Qaynatma vasitəsidir.

Aşağıdakı bölmələrdə biz istifadə rahatlığı, performans, məlumatların idarə edilməsi, sistemin sağlamlığı və qiymət sahələrində yanaşma və təcrübəmizi müzakirə edirik.

Istifadə rahatlığı

Biz aşkar etdik ki, istifadəçilər üçün BigQuery ilə işə başlamaq asan idi, çünki o, proqram təminatının quraşdırılmasını tələb etmir və istifadəçilər ona intuitiv veb interfeysi vasitəsilə daxil ola bilirdilər. Bununla belə, istifadəçilər GCP-nin bəzi xüsusiyyətləri və konsepsiyaları, o cümlədən layihələr, verilənlər toplusu və cədvəllər kimi resurslarla tanış olmalı idilər. Biz istifadəçilərə işə başlamağa kömək etmək üçün təhsil materialları və dərs vəsaitləri hazırlamışıq. Qazanılan əsas anlayışla istifadəçilər Data Studio-da məlumat dəstlərində naviqasiya etməyi, sxem və cədvəl məlumatlarına baxmağı, sadə sorğuları yerinə yetirməyi və nəticələri vizuallaşdırmağı asan tapdılar.

BigQuery-ə məlumat daxil etmək məqsədimiz bir kliklə HDFS və ya GCS məlumat dəstlərinin problemsiz yüklənməsini təmin etmək idi. düşündük Bulud bəstəkarı (Airflow tərəfindən idarə olunur), lakin Domen Məhdud Paylaşım təhlükəsizlik modelimizə görə ondan istifadə edə bilmədik (bu barədə daha ətraflı aşağıdakı Məlumatların İdarə Edilməsi bölməsində). BigQuery iş yüklərini təşkil etmək üçün Google Data Transfer Service (DTS) istifadə edərək təcrübə etdik. DTS tez qurulsa da, asılılıqları olan boru kəmərləri qurmaq üçün çevik deyildi. Alfa buraxılışımız üçün biz GCE-də öz Apache Airflow çərçivəmizi qurmuşuq və onu istehsalda işə salmaq və Vertica kimi daha çox məlumat mənbəyini dəstəkləmək üçün hazırlayırıq.

Məlumatları BigQuery-yə çevirmək üçün istifadəçilər planlaşdırılmış sorğulardan istifadə edərək sadə SQL məlumat kəmərləri yaradırlar. Asılılıqları olan mürəkkəb çoxmərhələli boru kəmərləri üçün biz öz Hava axını çərçivəmizdən və ya Bulud Bəstəkarımızdan istifadə etməyi planlaşdırırıq. Bulud Dataflow.

Məhsuldarlıq

BigQuery böyük həcmdə verilənləri emal edən ümumi təyinatlı SQL sorğuları üçün nəzərdə tutulmuşdur. O, aşağı gecikmə, tranzaksiya verilənlər bazası tərəfindən tələb olunan yüksək ötürmə qabiliyyəti sorğuları və ya həyata keçirilən aşağı gecikmə vaxt sıralarının təhlili üçün nəzərdə tutulmayıb. Apache Druid. İnteraktiv analitik sorğular üçün istifadəçilərimiz bir dəqiqədən az cavab müddəti gözləyirlər. Bu gözləntiləri qarşılamaq üçün BigQuery-dən istifadəmizi dizayn etməli olduq. İstifadəçilərimiz üçün proqnozlaşdırıla bilən performansı təmin etmək üçün biz layihə sahiblərinə öz sorğuları üçün minimum yerlər ayırmağa imkan verən sabit ödəniş əsasında müştərilər üçün əlçatan olan BigQuery funksionallığından istifadə etdik. Yuva BigQuery, SQL sorğularını yerinə yetirmək üçün tələb olunan hesablama gücü vahididir.

Hər biri təxminən 800 TB məlumatı emal edən 1-dən çox sorğunu təhlil etdik və orta icra müddətinin 30 saniyə olduğunu gördük. Biz həmçinin öyrəndik ki, performans müxtəlif layihələrdə və tapşırıqlarda slotumuzun istifadəsindən çox asılıdır. İstehsaldan istifadə halları və onlayn təhlil üçün performansı qorumaq üçün istehsal və xüsusi slot ehtiyatlarımızı aydın şəkildə müəyyənləşdirməli olduq. Bu, slot rezervasiyaları və layihə iyerarxiyası üçün dizaynımıza çox təsir etdi.

Yaxın günlərdə məlumatların idarə edilməsi, funksionallıq və sistemlərin dəyəri haqqında tərcümənin ikinci hissəsində danışacağıq, lakin indi hamını pulsuz canlı vebinar, bu müddət ərzində siz kurs haqqında ətraflı məlumat əldə edə, həmçinin ekspertimiz - Yeqor Mateşuk (MaximaTelecom, Baş Məlumat Mühəndisi) suallarınızı verə biləcəksiniz.

Daha çox oxu:

Mənbə: www.habr.com

Добавить комментарий