ბიბლიოთეკა
00/07 · ~36 წთ
GUIDEDECK · ნედლი მონაცემების პასუხებად ქცევა

მონაცემთა საწყობი
& მოდელირება — ვაპროექტებთ
საცავს, რომელსაც მთელი კომპანია ეკითხება.

36-წუთიანი სამუშაო სესია მონაცემების ანალიტიკურ მხარეზე: რატომ სჭირდება ანალიტიკას საკუთარი საცავი, საწყობი vs ტბა vs ლეიკჰაუსი, განზომილებრივი მოდელირება და ვარსკვლავური სქემა, რატომ ახდენენ ანალიტიკოსები დენორმალიზაციას განზრახ, და თანამედროვე სტეკი, რომელიც მონაცემებს იღებს, გარდაქმნის და აწვდის.

~36 წთმონაცემები / ანალიტიკაინსტრუმენტ-ნეიტრალური
გადაახვიეთ
01 · ანალიტიკას თავისი საცავი სჭირდება 4 წთ

ბაზა, რომელზეც აპლიკაცია მუშაობს,
მისი ანალიზისთვის ცუდი ადგილია.

თქვენი აპლიკაციის ბაზა მორგებულია იმაზე, რომ სწრაფად წაიკითხოს და ჩაწეროს რამდენიმე სტრიქონი — ერთი კლიენტი, ერთი შეკვეთა. ანალიტიკა საპირისპირო კითხვას სვამს: დაასკანირე მილიონობით სტრიქონი და შეაჯამე. გაუშვით ეს ცოცხალი აპლიკაციის ბაზაზე და რეალურ მომხმარებლებს შეანელებთ, პასუხებსაც ნელა მიიღებთ. გამოსავალი მეორე, სპეციალურად ამისთვის აგებული საცავია.

OLTP vs OLAP — ორი საპირისპირო სამუშაო დატვირთვა ბაზაზე. OLTP (Online Transaction Processing) ემსახურება აპლიკაციის ცოცხალ წაკითხვებსა და ჩაწერებს — მცირე, ხშირი, წერტილოვანი მოთხოვნები. OLAP (Online Analytical Processing) პასუხობს ანალიტიკურ კითხვებს — დიდი სკანირებები და აგრეგაციები ისტორიაზე. მონაცემთა საწყობი სწორედ მეორე სამუშაოსთვის აგებული OLAP საცავია.

სტრიქონულ და სვეტოვან საცავებს შიგნიდან Databases & SQL-ში განვიხილავდით; აქ იმას ვაგრძელებთ. მოკლედ: ანალიტიკური საწყობები სვეტოვანია — თითოეულ სვეტს ერთად ინახავენ, ამიტომ შეკითხვა, რომელიც 200-იდან 3 სვეტს ეხება, მხოლოდ იმ 3-ს კითხულობს და ძლიერად კუმშავს.

ორი საცავი, ორი სამუშაო. პაიპლაინი მონაცემებს აპის ბაზიდან საწყობში აკოპირებს, რომ ანალიტიკა პროდაქშენს არასდროს შეეხოს.

რატომ არ გამოდგება ერთი ბაზა?

  • განსხვავებული წვდომის შაბლონი. OLTP რამდენიმე სტრიქონს კითხულობს; OLAP მილიონებს ასკანირებს. ინდექსების ერთი განლაგება ორივეში კარგი ვერ იქნება.
  • იზოლაცია. მძიმე რეპორტს შეკვეთის გაფორმების შენელება არ უნდა შეეძლოს.
  • ისტორია. აპი მიმდინარე მდგომარეობას ინახავს; საწყობი — მთელ ისტორიას, რომ დროში შეადაროთ.
  • ერთი ადგილი, ბევრი წყარო. საწყობი აერთიანებს აპის ბაზას, CRM-ს, გადახდებსა და რეკლამას — აპის ბაზა მხოლოდ საკუთარ თავს იცნობს.
ანალიტიკა ცოცხალ აპის ბაზაზე
-- run straight against production, row-store SELECT region, SUM(amount) FROM orders -- 5 years, 400M rows GROUP BY region; -- full table scan -- reads every column of every row · locks · slows checkout
იგივე შეკითხვა სვეტოვან საწყობზე
-- run against the warehouse, column-store SELECT region, SUM(amount) FROM fact_sales -- same 400M rows GROUP BY region; -- reads only 2 columns -- scans region + amount · compressed · users untouched

ჰგავს  დატვირთულ სარესტორნო სამზარეულოს (OLTP) ბუღალტრის უკანა ოფისთან (OLAP) შედარებით: წლის ანგარიშს სადილის პიკის დროს სამზარეულოში არ ავსებთ.

02 · საცავის არჩევანი 5 წთ

სამი პასუხი კითხვაზე "სად
ცხოვრობს მონაცემები?"

სანამ რამეს დაამოდელირებთ, ირჩევთ, სად ინახება ანალიტიკური მონაცემები. სამი ვარიანტი ერთმანეთის მოწინააღმდეგე რელიგია არაა — ისინი ერთ ხაზზე დგანან: სტრუქტურირებული & მართული-დან ღია & მოქნილი-მდე, ხოლო ლეიკჰაუსი ორივეს მიღწევის თანამედროვე მცდელობაა.

საწყობი · ტბა · ლეიკჰაუსი — მონაცემთა საწყობი ინახავს სუფთა, სტრუქტურირებულ ცხრილებს, რომლებიც SQL ანალიტიკაზეა მორგებული. მონაცემთა ტბა ინახავს ნებისმიერი ფორმის ნედლ ფაილებს (JSON, CSV, Parquet, სურათები) იაფად, ობიექტურ საცავში. ლეიკჰაუსი ტბის ფაილებზე ამატებს ცხრილების შრეს (ღია ფორმატები, როგორიცაა Apache Iceberg ან Delta Lake), ასე რომ ღია საცავზე საწყობისებრ ცხრილებსა და ტრანზაქციებს იღებთ.
საწყობი
ტბა
{ } json · csv · ლოგი · parquet · img
ლეიკჰაუსი
Iceberg / Delta · parquet ფაილები
ცხრილების შრე
სტრუქტურული ცხრილები
ნედლი ფაილები · იაფი
ცხრილები ღია ფაილებზე

მარცხნიდან მარჯვნივ: სუფთა ცხრილები, რომლებიც უნდა ჩატვირთოთ; ნედლი ფაილები, სადაც ყველაფრის ჩაყრა შეიძლება; და ლეიკჰაუსი — ცხრილების შრე, რომელიც ტბის ღია ფაილებს სტრუქტურასა და ტრანზაქციებს მატებს.

მონაცემთა საწყობი — სტრუქტურირებული, მართული, SQL-first

მონაცემები განსაზღვრულ ცხრილებსა და სვეტებში იტვირთება მანამ, სანამ შეკითხვას დასვამთ (schema-on-write). შენახვის ფორმატს ძრავა ფლობს, ამიტომ SQL სწრაფია და მართვა მარტივი.

ძლიერი მხარეები
სწრაფი SQL, ძლიერი მართვა, ანალიტიკოსებისთვის მარტივი. Snowflake, BigQuery და Redshift აქ ცხოვრობენ.
შეზღუდვები
ძირითადად სტრუქტურირებული მონაცემები; ჯერ ტვირთავთ, მერე ეკითხებით, და შენახვის ფორმატს ვენდორი ფლობს.

გამოიყენეთ, როცა თქვენი ანალიტიკა ძირითადად ცხრილოვანია და ოპერაციული თავსატეხი მინიმალური გინდათ — ჩვეულებრივი საწყისი წერტილი.

მონაცემთა ტბა — ნედლი ფაილები, ნებისმიერი ფორმა, ძალიან იაფი

ჩაყარეთ ნებისმიერი რამ ობიექტურ საცავში (S3, GCS, Azure Blob) და სტრუქტურა მოგვიანებით, წაკითხვისას გადაწყვიტეთ (schema-on-read). შესანიშნავია მოცულობისა და მრავალფეროვნებისთვის; სუსტია ad-hoc SQL-სა და თანმიმდევრულობაში.

ძლიერი მხარეები
ყველაზე იაფი საცავი, იტევს ნებისმიერ ფორმატს (ლოგები, სურათები, JSON), წინასწარი მოდელირება არ სჭირდება. კარგად კვებავს ML-ს.
შეზღუდვები
ცხრილები და ტრანზაქციები ნაგულისხმევად არაა — ადვილია "მონაცემთა ჭაობის" შექმნა, რომელსაც სანდოდ ვერავინ ეკითხება.

გამოიყენეთ, როცა გაქვთ უზარმაზარი ან ნახევრად სტრუქტურირებული მონაცემები (მოვლენები, ფაილები) და ML/კვლევითი დატვირთვები.

ლეიკჰაუსი — ცხრილები ტბის ფაილებზე

ღია ცხრილის ფორმატი — Apache Iceberg ან Delta Lake — დგას ტბაში არსებულ Parquet ფაილებზე და თვალს ადევნებს, რომელი ფაილი რომელ ცხრილს ეკუთვნის, პლუს ტრანზაქციების ლოგს. იღებთ ACID-ის მსგავს ტრანზაქციებს, სქემის ევოლუციასა და დროში მოგზაურობას ღია საცავზე, რომელსაც ბევრი ძრავა კითხულობს.

ძლიერი მხარეები
საწყობის სტილის ცხრილები + ტრანზაქციები იაფ ღია ფაილებზე; მონაცემები ვენდორზე მიბმული არაა; ერთი ასლი BI-სა და ML-ისთვის.
შეზღუდვები
მეტი მოძრავი ნაწილი უნდა მართოთ, ინსტრუმენტები კი კლასიკურ საწყობებზე ახალგაზრდაა.

გამოიყენეთ, როცა გინდათ მონაცემების ერთი ღია ასლი, რომელიც SQL ანალიტიკასაც ემსახურება და ML-საც, დუბლირებაში გადახდის გარეშე.

ტენდენცია — საწყობი და ტბა ერთმანეთს უახლოვდება. საწყობები უკვე კითხულობენ ტბის ღია ფორმატებს, ლეიკჰაუსები კი სწრაფ SQL-ს უშვებენ. 2026 წელს გუნდების უმეტესობისთვის პრაქტიკული პასუხი ასეთია: დაიწყეთ მართული საწყობით და ღია ცხრილის ფორმატი (Iceberg / Delta) მაშინ აიღეთ, როცა მონაცემების ერთი ასლი ბევრ ძრავას სჭირდება.
03 · ფაქტები, განზომილებები და ვარსკვლავი 7 წთ

ანალიტიკა დაამოდელირეთ იმის გარშემო,
რა მოხდა და რის მიხედვით.

აპლიკაციის ბაზები დუბლირების თავიდან ასაცილებლადაა მოდელირებული. ანალიტიკა კი მოდელირდება გასაგებობისა და სისწრაფისთვის: სამყარო გაყავით მოვლენებად, რომლებსაც ზომავთ და იმად, რის მიხედვითაც ჭრით. სწორედ ეს გაყოფაა განზომილებრივი მოდელირება, მისი ფორმა კი ვარსკვლავური სქემაა — Kimball-ის მეთოდი, რომელიც BI-ში დღემდე დომინირებს.

ფაქტი vs განზომილება — ფაქტების ცხრილი აღრიცხავს გაზომვად მოვლენებს, ერთი სტრიქონი ერთ მოვლენაზე, რიცხვითი საზომებით (თანხა, რაოდენობა) და გარე გასაღებებით. განზომილების ცხრილი ინახავს აღწერით კონტექსტს, რომლითაც ფილტრავთ და აჯგუფებთ (პროდუქტი, კლიენტი, მაღაზია, თარიღი). ფაქტები ზმნებია; განზომილებები — არსებითი სახელები.

ეს არის ვარსკვლავი: შუაში ერთი ფაქტების ცხრილი, წვეროებზე — განზომილებების ცხრილები. ყოველი join არის ფაქტი → განზომილება, ერთი ნაბიჯი.

რატომ იგებს ეს ფორმა BI-სთვის

  • მარტივი join-ები. ყოველი შეკითხვა არის ფაქტი, პირდაპირ მიერთებული რამდენიმე განზომილებასთან — გასააზრებელი ღრმა ჯაჭვები არაა.
  • წაკითხვადი. "გაყიდვები რეგიონების მიხედვით, თვეების მიხედვით" პირდაპირ ეხატება განზომილებებს; ანალიტიკოსებს ეს ინტუიციური ეჩვენებათ.
  • სწრაფი. ფაქტის დიდი სკანი + განზომილებების პატარა ძებნები ზუსტად ისაა, რაზეც სვეტოვანი ძრავები ოპტიმიზდება.
  • სტაბილური. მონაცემების დაჭრის ახალი გზა ახალი განზომილების დამატებით ჩნდება — ფაქტების ცხრილი თითქმის არ იცვლება.

გრანულარობა — ჯერ ის განსაზღვრეთ

გრანულარობა არის ის, თუ რას ნიშნავს ფაქტების ცხრილის ერთი სტრიქონი — "ერთი პოზიცია ერთ შეკვეთაში" თუ "ერთი პროდუქტის გაყიდვები ერთ მაღაზიაში ერთ დღეს". აირჩიეთ ის აშკარად და ადრე: დანარჩენი ყველაფერი (რომელი განზომილებები მიება, რომელ საზომებს აქვს აზრი) გრანულარობიდან გამომდინარეობს, სხვადასხვა გრანულარობის ერთ ცხრილში შერევა კი მოდელირების კლასიკური ბაგია.

Kimball-ის ოთხნაბიჯიანი დიზაინი

1
ბიზნეს-პროცესის შერჩევა
რომელ აქტივობას ვზომავთ?
+

დაიწყეთ რეალური პროცესით, რომელიც ბიზნესს აინტერესებს — შეკვეთები, გზავნილები, რეგისტრაციები, მხარდაჭერის თიქეთები. თითოეული პროცესი ცალკე ფაქტების ცხრილად იქცევა. ნუ დაამოდელირებთ "მთელ კომპანიას" ერთბაშად; კარგად დაამოდელირეთ ერთი პროცესი.

2
გრანულარობის არჩევა
რას ნიშნავს ფაქტების ერთი სტრიქონი?
+

გრანულარობა ერთი წინადადებით თქვით: ერთი სტრიქონი შეკვეთის ერთ პოზიციაზე. ჩვეულებრივ ყველაზე წვრილი პრაქტიკული გრანულარობაა საუკეთესო — უფრო მსხვილ ხედამდე ყოველთვის შეგიძლიათ შეაჯამოთ, მაგრამ წინასწარ აგრეგირებული სტრიქონის უკან დაშლა ვეღარასდროს მოახერხებთ.

3
განზომილებების გამოვლენა
როგორ დაჭრიან ადამიანები?
+

ჩამოწერეთ, როგორ აღწერენ და ფილტრავენ ადამიანები მოვლენას: თარიღით, პროდუქტით, კლიენტით, მაღაზიით, არხით. თითოეული ხდება განზომილების ცხრილი, გასაღებით ფაქტში ჩამაგრებული. თუ ის პასუხობს კითხვას "რის მიხედვით?", ეს განზომილებაა.

4
ფაქტების (საზომების) გამოვლენა
რომელ რიცხვებს ვაჯამებთ?
+

ჩამოწერეთ რიცხვითი საზომები იმ გრანულარობაზე — რაოდენობა, თანხა, ფასდაკლება, გადასახადი. კარგი საზომები შეჯამებადია: ისინი სწორად იკრიბება ყველა განზომილების გასწვრივ. შეფარდებები და პროცენტები შეკითხვისას გამოითვლება, არ ინახება.

04 · ფართო ცხრილები, განზრახ 5 წთ

ანალიტიკა დენორმალიზებს
იქ, სადაც აპი ნორმალიზებს.

Databases & SQL-ში ვთქვით: ნორმალიზება ზედმეტობის მოსაკლავად, დენორმალიზება მხოლოდ მაშინ, როცა გაზომილი წაკითხვის პრობლემა გაიძულებთ. ანალიტიკა ამ ნაგულისხმევს აბრუნებს. წაკითხვა აქ მთავარი აზრია, ჩაწერა კი პარტიულად კონტროლდება, ამიტომ ცხრილებს განზრახ ვაფართოებთ, რომ შეკითხვები მარტივი და სწრაფი იყოს.

ვარსკვლავი vs ფანტელი — ვარსკვლავური სქემა თითოეულ განზომილებას ერთ ფართო, დენორმალიზებულ ცხრილად ტოვებს (ყველაფერი პროდუქტზე dim_product-შია). თოვლის ფანტელის სქემა განზომილებებს ქვეცხრილებად ნორმალიზებს (პროდუქტი → კატეგორია → დეპარტამენტი). ვარსკვლავი გარკვეულ ზედმეტობას ნაკლებ join-ებში ცვლის; ანალიტიკაში ეს გარიგება ჩვეულებრივ ღირს.
ფანტელი — ნორმალიზებული

კატეგორიის ტექსტი არსად დუბლირდება — სამაგიეროდ ყოველი შეკითხვა თავიდან აერთებს სამ ცხრილს, რომ ერთი პროდუქტის კატეგორია წაიკითხოს.

ვარსკვლავი — დენორმალიზებული

კატეგორიაც და დეპარტამენტიც პირდაპირ განზომილებაშია. ერთი join, სვეტოვანი შეკუმშვა კი გამეორებას თითქმის უფასოდ აქცევს.

ფართო უკიდურესობა — One Big Table

ზოგი გუნდი კიდევ უფრო შორს მიდის და ფაქტს განზომილებებთან ერთად წინასწარ აერთებს ერთ One Big Table-ად (OBT / "ფართო ცხრილი") — ერთი სტრიქონი ერთ მოვლენაზე, ყველა აღწერითი სვეტით უკვე მიბმული. შეკითხვისას join-ები საერთოდ არაა; BI ინსტრუმენტებს ეს უყვართ. ფასი კი ზედმეტობა და ხელახლა აგებაა განზომილების ცვლილებისას — რაც არაუშავს, რადგან ხელახლა აგებას გარდაქმნის შრე (შემდეგი სექცია) ფლობს.

  • მოძველებული ატრიბუტები. გადარქმეული კატეგორია მილიონობით სტრიქონზე უნდა დაისვას თავიდან, და არა განზომილების ერთ სტრიქონზე.
  • საცავი & ხელახლა აგება. ძალიან ფართო ცხრილების შენახვა და ყოველ გაშვებაზე გადათვლა უფრო ძვირია.
  • დაკარგული ისტორიის ნიუანსი. იმის თვალის დევნება, როგორ იცვლებოდა ატრიბუტი დროში, ნამდვილ განზომილებაში (SCD) უფრო ადვილია, ვიდრე გაბრტყელებულ ლუკმაში.
-- ერთი დიდი ცხრილი: მოვლენა + მთელი მისი კონტექსტი, წინასწარ მიერთებული SELECT * FROM wide_sales WHERE order_date >= '2026-01-01' AND category = 'Footwear' AND region = 'EMEA'; -- join-ები არაა · ყველა ფილტრის სვეტი უკვე აქაა

OBT join-ებს აგების ეტაპზე გადაისვრის, ისე რომ შეკითხვას საერთოდ არ რჩება.

ცერა თითის წესი — ნაგულისხმევად დაამოდელირეთ ვარსკვლავი: დენორმალიზებული განზომილებები, მარტივი join-ები. ფანტელად აქციეთ მხოლოდ ის განზომილებები, რომლებიც უზარმაზარია ან მართლაც საერთოა. გააბრტყელეთ ფართო ცხრილად კონკრეტული BI ამოცანისთვის, სადაც ყოველი join ტკივა. ზედმეტობა, რომლისაც OLTP-ში გეშინიათ, სვეტოვან საწყობში იაფია — და ავტომატურად ხელახლა შენდება, ხელით არ რედაქტირდება.
05 · მიღება → საწყობი → გარდაქმნა → BI 5 წთ

როგორ მიდის მონაცემი წყაროდან
დიაგრამამდე, რომელსაც ენდობიან.

საწყობი ცენტრია, მაგრამ არა მთელი სურათი. მის გარშემო დგას შრეების უკვე სტანდარტული ნაკრები — "თანამედროვე მონაცემთა სტეკი". მონაცემების გადატანის მექანიკა ETL & ELT Pipelines-ში განვიხილეთ; აქ ვნახავთ, როგორ ეწყობა ეს ნაწილები საწყობის ირგვლივ.

თანამედროვე მონაცემთა სტეკი — სპეციალიზებული ინსტრუმენტების შრეებრივი ნაკრები ღრუბლოვანი საწყობის გარშემო: მიღება (კონექტორები წყაროებს შემოაქვთ), შენახვა (საწყობი / ლეიკჰაუსი), გარდაქმნა (dbt ნედლიდან სუფთა მარტებს აშენებს SQL-ით) და მიწოდება (BI ინსტრუმენტები და ML კითხულობენ შედეგს). ეს არის ELT: ჯერ ნედლი ჩატვირთე, მერე ადგილზე დაამოდელირე.

კონექტორები ნედლს შემოიტანენ; dbt საწყობის შიგნით ნედლს → სტეიჯინგად → მარტებად აქცევს; BI და ML მარტებს კითხულობენ. ყველაფერი "ნედლის" შემდეგ არის SQL ვერსიების კონტროლში.

გარდაქმნის შრე (dbt) აკეთებს მოდელირებას

dbt არის ის ადგილი, სადაც მე-3 ნაწილის ვარსკვლავური სქემა რეალურად შენდება. თქვენ წერთ SELECT გამოსახულებებს; dbt მათ ცხრილების/ხედების დამოკიდებულების გრაფად მართავს, ტესტებითა და დოკუმენტაციით. გავრცელებული დაშრევება: staging (წყაროების მსუბუქად გაწმენდილი ასლები) → marts (ფაქტები და განზომილებები, რომლებსაც ანალიტიკოსები ეკითხებიან). ზოგი გუნდი ამ საფეხურებს bronze / silver / gold-ს ეძახის — იგივე აზრია.

  • მოდელები SQL ფაილებია; ref() დამოკიდებულებებს აბამს, ასე რომ dbt-მ იცის აგების რიგი.
  • ტესტები (unique, not-null, relationships) ბილდს ჭიშკართან ამოწმებენ — იხილეთ ხარისხის შემოწმებები პაიპლაინების დეკში.
  • დოკუმენტაცია & lineage გრაფიდან გენერირდება, ამიტომ ყოველი ცხრილი თავის წყაროებამდე მიდევნებადია.
-- dbt მოდელი: staging-ის ref-ები აგებს ვარსკვლავს with p as ( SELECT * FROM {{ ref('stg_products') }} ) SELECT product_id, name, category, -- დენორმალიზებულია dim-ში department FROM p; -- dbt ამას ცხრილად აგებს, stg_products-ის შემდეგ

ref() დამოკიდებულებებს აშკარას ხდის; dbt თვითონ ითვლის აგების რიგს და შედეგის ტესტირებაც შეუძლია.

06 · საწყობები, ძრავები და სტეკი 6 წთ

ინსტრუმენტების ლანდშაფტი —
რაში კარგია და რაში ცუდი თითოეული.

სტეკის ცენტრი საწყობი ან ძრავაა. 2026 წელს ბაზრის დიდ ნაწილს ხუთი სახელი ფარავს, თითოეულს კი მკაფიო ძლიერი ადგილი აქვს. შემდეგ მოდის dbt მოდელირებისთვის და BI ინსტრუმენტი, რომ ეს ყველაფერი ადამიანებს თვალწინ დაუდოს.

ღრუბლის საწყობი

Snowflake

დადებითი — საცავს გამოთვლისგან აცალკევებს, მართვა მარტივია, ძლიერი გაზიარება და მმართველობა; უსაფრთხო ნაგულისხმევი არჩევანი SQL ანალიტიკისთვის.
უარყოფითი — მოხმარებაზე მიბმული ფასი უყურადღებო შეკითხვებთან ერთად იზრდება; ეს მართული სერვისია, რომელსაც თვითონ ვერ დაიჰოსტავთ.

ღრუბლის საწყობი

BigQuery

დადებითი — სრულად სერვერლესი: კლასტერების ზომას არ არჩევთ, მყისიერად მასშტაბირდება, ღრმა ინტეგრაცია Google Cloud-სა და ML-თან.
უარყოფითი — მოთხოვნისამებრ ფასი დასკანირებულ ბაიტზეა, ამიტომ SELECT *-ის ჩვევა ძვირი ჯდება; და GCP-ზეა ორიენტირებული.

ღრუბლის საწყობი

Amazon Redshift

დადებითი — მომწიფებული, მჭიდროდ ინტეგრირებული AWS-თან; კარგია, როცა თქვენი მონაცემები და გუნდი უკვე AWS-ში ცხოვრობს.
უარყოფითი — სერვერლეს ვარიანტებზე მეტ კლასტერის დაყენებას ითხოვს; ისტორიულად მეტი სამართავი პარამეტრი აქვს.

ლეიკჰაუსი

Databricks

დადებითი — ლეიკჰაუსის ლიდერი (Delta Lake + Spark): ერთი პლატფორმა SQL-ის, დიდი მონაცემებისა და ML-ისთვის ღია ფაილებზე.
უარყოფითი — სუფთა საწყობზე უფრო ფართო და რთულია; მხოლოდ SQL-ის გუნდს მეტი ცნების სწავლა მოუწევს.

სვეტოვანი ძრავა

ClickHouse

დადებითი — უკიდურესად სწრაფი ღია კოდის სვეტოვანი ძრავა; შესანიშნავია დიდი მოცულობის, დაბალი შეყოვნების ანალიტიკისა და მომხმარებლისთვის ხილული დაშბორდებისთვის.
უარყოფითი — გარდაქმნებში, join-ებსა და ეკოსისტემაში უფრო მწირია; ის უფრო შეკითხვების ძრავაა, ვიდრე სრული მართული საწყობი.

გარდაქმნა

dbt

დადებითი — საწყობში მოდელირების სტანდარტი: ვერსიაკონტროლირებული SQL ტესტებით, დოკუმენტაციითა და lineage-ით; მას ანალიტიკოსები ფლობენ.
უარყოფითი — მხოლოდ გარდაქმნა — არ იღებს, არ ინახავს და არ განრიგებს; ის საწყობის თავზე დგას.

ხალხის წინაშე გატანა — BI

BI ინსტრუმენტი საწყობის ცხრილებს დაშბორდებად და თვითმომსახურე კვლევად აქცევს. გავრცელებული არჩევანი: Looker (მართული სემანტიკური მოდელი — მეტრიკების ცენტრალური განსაზღვრებები, ძლიერია დიდი ორგანიზაციებისთვის), Metabase (მსუბუქი, ღია კოდის, გუნდებს სწრაფად ამუშავებს თვითმომსახურებაზე) და Tableau / Power BI (მდიდარი ვიზუალური ანალიზი, ფართოდ დანერგილი კორპორაციებში).

  • უკვე ღრუბელში ხართ? ნაგულისხმევად აირჩიეთ მისი მშობლიური საწყობი — BigQuery GCP-ზე, Redshift AWS-ზე — თუ ღრუბელ-ნეიტრალურობა არ გჭირდებათ; თუ გჭირდებათ, აირჩიეთ Snowflake.
  • მძიმე ML + დიდი მონაცემები + ღია ფაილები? გადაიხარეთ Databricks-ისკენ (ლეიკჰაუსი), რომ SQL-მა და ML-მა ერთი ასლი გაიზიარონ.
  • გჭირდებათ წამზე ნაკლები რეაქციის, მაღალკონკურენტული დაშბორდები? ამ მიწოდების შრისთვის დაამატეთ ან გამოიყენეთ ClickHouse.
  • რასაც არ უნდა აირჩევდეთ, დაამოდელირეთ dbt-ით და მიაწოდეთ ერთი BI ინსტრუმენტით — და იმაზე მეტ ინსტრუმენტს ნუ გაუშვებთ, ვიდრე მართვა შეგიძლიათ.
როგორ ავირჩიოთ — გუნდების უმეტესობისთვის გადაწყვეტილება საწყობია, დანარჩენი მას მოჰყვება. დაიწყეთ მართული საწყობით, რომელიც თქვენს ღრუბელს ერგება (ან Snowflake-ით, რომ ნეიტრალური დარჩეთ); ლეიკჰაუსს (Databricks + Iceberg/Delta) მიმართეთ, როცა ML და მონაცემების ერთი ღია ასლი მნიშვნელოვანია; ClickHouse-ს მიმართეთ, როცა შეკითხვის სისწრაფე და კონკურენტულობა თავად პროდუქტია. შემდეგ მოდელირებისთვის dbt და ერთი BI ინსტრუმენტი თავზე.
07 · ვარსკვლავური სქემა და დასკვნები 4 წთ

მიმოფანტული ცხრილებიდან
ერთ ვარსკვლავამდე, რომელიც პასუხობს.

ავაგოთ საცალო გაყიდვების ვარსკვლავი თავიდან ბოლომდე: განვსაზღვროთ ფაქტი, მივაბათ განზომილებები და შემდეგ დავსვათ რეალური ბიზნეს-კითხვა ერთი სუფთა შეკითხვით.

-- გრანულარობა: ერთი სტრიქონი შეკვეთის ერთ პოზიციაზე CREATE TABLE fact_sales ( date_key INT, -- → dim_date product_key INT, -- → dim_product customer_key INT, -- → dim_customer store_key INT, -- → dim_store quantity INT, -- შეჯამებადი საზომი amount DECIMAL -- შეჯამებადი საზომი );
-- "ფეხსაცმლის შემოსავალი რეგიონების მიხედვით, გასული კვარტალი" SELECT s.region, SUM(f.amount) AS revenue FROM fact_sales f JOIN dim_store s ON s.store_key = f.store_key JOIN dim_product p ON p.product_key = f.product_key JOIN dim_date d ON d.date_key = f.date_key WHERE p.category = 'Footwear' AND d.quarter = '2026-Q1' GROUP BY s.region;

ერთი ფაქტი, სამი ერთნაბიჯიანი join, ორი ფილტრი, ერთი group-by. სწორედ ეს წაკითხვადობაა განზომილებრივი მოდელირების მთელი აზრი.

1ანალიტიკას საკუთარი საცავი აქვს. OLAP / სვეტოვანი საწყობი, აპლიკაციის OLTP ბაზისგან ცალკე.
2საწყობი, ტბა, ლეიკჰაუსი ერთ ხაზზე დგანან: სტრუქტურირებული და მართულიდან ღია და მოქნილამდე — ლეიკჰაუსი ორივეს ისახავს მიზნად.
3დაამოდელირეთ განზომილებრივად. ფაქტები (მოვლენები, რომლებსაც ზომავთ) + განზომილებები (როგორ ჭრით), ვარსკვლავად — ჯერ გრანულარობა აირჩიეთ.
4დენორმალიზაცია განზრახ. ფართო განზომილებები და ერთი დიდი ცხრილიც კი იაფ სიჭარბეს ცვლიან მარტივ, სწრაფ კითხვაზე.
5სტეკი ELT-ია. მიიღეთ ნედლი, გარდაქმენით საწყობშივე dbt-ით, მიაწოდეთ BI-ით — ჯერ საწყობი აირჩიეთ; დანარჩენი მოჰყვება.

გააგრძელეთ

  • The Data Warehouse Toolkit — Kimball & Ross (განზომილებრივი მოდელირების საცნობარო წიგნი)
  • Fundamentals of Data Engineering — Reis & Housley
  • dbt-ის დოკუმენტაცია — მოდელირება, ტესტები და lineage პრაქტიკაში
  • მონათესავე დეკები: მონაცემთა ბაზები & SQL · ETL & ELT

ერთი წინადადება დასამახსოვრებლად

"მონაცემები ისე დაამოდელირეთ, როგორც ხალხი სვამს კითხვებს, და არა ისე, როგორც აპლიკაცია ინახავს."

— მთელი მოხსენება, შეკუმშული

ცოდნის შემოწმება

დაგამახსოვრდათ?

ხუთი სწრაფი კითხვა OLAP-ზე, საცავის არჩევანზე, განზომილებრივ მოდელირებასა და თანამედროვე სტეკზე — მყისიერი პასუხი, ავტორიზაციის გარეშე.

შეაფასეთ ეს დასტა
იყავით პირველი

ნავიგაცია ← → ღილაკებით ან სქროლით · უკან ბიბლიოთეკაში