მონაცემთა ინჟინერია

კურსის აღწერა
მონაცემთა ინჟინერია არის ფუნდამენტი, რომელზეც თანამედროვე Data ეკოსისტემა დგას. თავისი არსით, მონაცემთა ინჟინერიის მიზანია ისეთი სისტემებისა და ინფრასტრუქტურის დიზაინის შემუშავება და დაპროექტება, რომელიც ავტომატურ რეჟიმში შეაგროვებს, შეინახავს და გააანალიზებს მათ. უპირველეს ყოვლისა, მონაცემთა ინჟინერიის მიზანია, შეიმუშავოს ისეთი მეთოდოლოგიები და ხელსაწყოები, რომელიც პროცესების მაქსიმალურ სრულყოფილებას, ინფორმაციის მდგრადობასა და სანდოობას უზრუნველყოფს.
ფუნდამენტურ ცნებებსა და კონცეფციებთან ერთად, კურსის ფარგლებში სტუდენტები შეისწავლიან მონაცემთა ინჟინერიისთვის ისეთი საკვანძო ტექნოლოგიებისა და ხელსაწყოების გამოყენებას, როგორებიცაა Apache Airflow, Apache Kafka, მონაცემთა დროებითი და მდგრადი სანახი სისტემები (SQL, PostgreSQL, Redis), მონაცემებისთვის ვებ სერვისების დაპროექტება (FastAPI) და Python-ის სხვადასხვა ბიბლიოთეკა. გაიაზრებენ, თუ როგორ ურთიერთქმედებენ ერთმანეთში სხვადასხვა ტექნოლოგია/ხელსაწყოები და როგორ გვეხმარება თეორიული კონცეფტები პრაქტიკის სრულყოფაში.
კურსის გავლის შემდეგ შეგეძლება
-
Python-ის გამოყენება მონაცემთა ტრანსფორმაციისთვისა და მანიპულაციისთვის;
-
Python-ის მონაცემთა ინჟინერიისა და მონაცემთა ბაზების ბიბლიოთეკების პრაქტიკული გამოყენება;
-
მაღალი წარმადობისა და მდგრადობის პროექტების არქიტექტურული დიზაინის დაპროექტება;
-
მაღალი წარმადობის ვებ სერვისების გამართვა (FastAPI) და დაპროექტება;
-
მონაცემთა მდგრადობისა და ხარისხის უზრუნველყოფა;
-
ETL და ELT პროცესების დიფერენციაცია და იმპლემენტაცია სხვადასხვა Data პროექტში;
-
მონაცემთა ტრანსფორმაციის პროცესების გამართვა, ორკესტრაცია, დაპროექტება და ანალიზი;
-
მონაცემთა დროებით და მდგრად სანახ სისტემებთან მუშაობა (Redis and postgres);
-
მონაცემთა ნაკადების ორკესტრაციისა და დაპროექტების სისტემა, Apache Airflow-ს პრაქტიკული გამოყენება;
-
DAG-ებისა და Scheduler-ების ცნებების გააზრება;
-
Data Workflow სისტემების ანალიზი და დაპროექტება;
-
Apache Kafka-ს ფუნდამენტური კონცეფციების გააზრება;
-
პრაქტიკული მუშაობის უნარი Data Stream-ებსა და Message Broker-ებთან;
-
მონაცემთა შორის დამოკიდებულებებისა და კავშირების ანალიზი/დაპროექტება;
-
მონაცემთა სხვადასხვა შენახვის კონცეფციების პრინციპების გააზრება და მათთან მუშაობა (Data Warehousing, Data Marting)
ვისთვის არის კურსი
კურსი განკუთვნილია მათთვის, ვისაც უკვე შესწავლილი აქვს პროგრამირების ენა Python და სურს, თავისი წვლილი შეიტანოს ინფორმაციის მოპოვების, დამუშავებისა და შენახვის პროცესებში. გარდა ამისა, აქვს ანალიტიკური და დეტალებზე ორიენტირებული აზროვნება, კარგად იცის ინგლისური ენა და სურვილი აქვს, შეისწავლოს მონაცემთა ინჟინერია, მასთან დაკავშირებული კონცეფციები, პრაქტიკული ხელსაწყოები და ტექნოლოგიები.
კურსის განმავლობაში სტუდენტმა უნდა უზრუნველყოს წვდომა PyCharm Pro-ზე.
კურსი მოიცავს
კურსი მოიცავს პრაქტიკაზე დაფუძნებულ სწავლებას, რაშიც იგულისხმება დავალებები / სავარჯიშოები და ინდივიდუალური პროექტი.
პროგრამის განმავლობაში მიიღებ რჩევებსა და კონსულტაციებს კარიერული დაგეგმვის კუთხით. მისი წარმატებით დასრულების შემთხვევაში კი გექნება კარიერული მხარდაჭერა Commschool-ის პარტნიორი კომპანიებისგან, რაც გამოიხატება ექსკლუზიურ სამუშაო შემოთავაზებებსა და სტაჟირებაში.
კურსის წარმატებით დასრულების შემდეგ სტუდენტი მიიღებს ორენოვან სერტიფიკატს.
კურსს გაუძღვება:
გუჯა ლომსაძე
დეტალები: მონაცემთა ინჟინერია
|
შეფასებები
შეაფასე პირველმა: “მონაცემთა ინჟინერია” კომენტარის გაუქმება
-
01. Data Engineering – მიმოხილვა
- რა არის მონაცემთა ინჟინერია
- მონაცემთა ინჟინერის პასუხიმსგებლობები
- მონაცემებზე ორიენტირებული აზროვნება
- პერფექციონიზმი
-
02. მონაცემთა ინჟინერიაზე ორიენტირებული Python (ნაწილი 1)
- მონაცემთა კლასები (Dataclasses)
- ფუნქციური პროგრამირება (Functional Programming) და “Sequential code”
- გენერატორები
- Lab სესია / სალექციო და პრაქტიკული დავალება
-
03. მონაცემთა ინჟინერიაზე ორიენტირებული Python (ნაწილი 2)
- კონტექსტუალური მენეჯერები (Context managers)
- Error handling
- მოდულები და პაკეტები
- Higher-order functions
- Lab სესია / სალექციო და პრაქტიკული დავალება
-
04. ასინქრონულობა და პარალელიზმი
- რა არის პარალელიზმი
- როგორ განვსაზღვროთ “დაპარალელებადი” პროცესები
- Multiprocessing
- ნაკადები vs პროცესები
- Multithreading
- Lab სესია / სალექციო და პრაქტიკული დავალება
-
05. ფაილებთან მუშაობა (ნაწილი 1)
- WORM ფაილები (parquet, avro)
- Delimited ფაილები (TSV, CSV)
- JSON / XML / HTML
- ACID და I/O
- ინფორმაციის ჩაწერა, წაკითხვა და რედაქტირება
- Lab სესია / სალექციო და პრაქტიკული დავალება
-
06. ფაილებთან მუშაობა (ნაწილი 2)
- ინფორმაციის მდგრადობა
- ფაილებთან მუშაობის პრინციპები
- ფაილების დაყოფის პრინციპები (Partitioning)
- ალგორითმები ფაილებთან მუშაობისთვის
- პროექტი – ფაილური სისტემები
-
07. ვებ სერვისები (API) და FastAPI (ნაწილი 1)
- API-დან მონაცემების მიღება/დამუშავება (requests)
- API-ის დაპროექტება და შემუშავება
- Design Patterns
- Middlewares და პარალელიზმი FastAPI-ში
- Lab სესია / სალექციო და პრაქტიკული დავალება
-
08. ვებ სერვისები (API) და FastAPI (ნაწილი 2)
- მონაცემთა სერვირება FastAPI-ის გამოყენებით
- Performance Optimization და ხრიკები FastAPI-ში
- FastAPI-ის სერვისის გამართვა და დაპროექტება
- API დოკუმენტაცია (Swagger)
- FastAPI პროექტი
-
09. შესავლები რელაციურ და არარელაციურ მონაცემთა ბაზებში
- რელაციური მონაცემთა ბაზები
- არარელაციური მონაცემთა ბაზები
- განსხვავებები მონაცემთა ბაზებს შორის
- როგორ ავირჩიოთ “სწორი” მონაცემთა ბაზა
- მონაცემთა ბაზისა და მისი სამართავი სისტემის ინსტალაცია (PostgreSQL, PgAdmin)
- Lab სესია / სალექციო და პრაქტიკული დავალება
-
10. SQL
- SELECT, WHERE ოპერაციები
- აგრეგაციის ფუნქციები
- ცხრილების შექმნა
- რელაციები
- მონაცემთა ბაზები და Python (Psycopg, sqlalchemy, TurtoiseORM)
- Lab სესია / სალექციო და პრაქტიკული დავალება
-
11. Advanced SQL
- Window ფუნქციები (SUM, COUNT, AVG, RANK, ROW_NUMBER)
- Nested queries
- ბრძანებების ანალიზი (Explain SQL)
- სენსორები, ფუნქციები, ბაზის პროცედურები
- ცხრილების დაყოფა/დანაწევრება
- Materialized Views
- Lab სესია / სალექციო და პრაქტიკული დავალება
-
12. Data Engineering შესავლები (ნაწილი 1)
- მონაცემთა მოდელირება, სქემები
- მონაცემთა დიზაინი და სისტემური არქიტექტურა (შესავლები)
- Data Workflows – “მონაცემთა ნაკადები”
- Data Ingestion პროექტი
-
13. Data Engineering შესავლები (ნაწილი 2)
- ETL – Extract, Transform, Load
- ELT – Extract, Load, Transform
- განსხვავებები ETL-სა და ELT-ს შორის
- [E]TL – მონაცემთა ექსტრაქცია
- E[T]L – მონაცემთა დამუშავება და მეთოდოლოგიები
- ET[L] – მონაცემთა ჩაწერა/შენახვა და მეთოდოლოგიები
- ETL პროექტი
-
14. Intermediate Data Engineering (ნაწილი 1)
- ELT პროცესები
- Data Persistency – “მონაცემთა მდგრადობა”
- Persistency Staging Areas
- დროებითი მონაცემთა საცავები. Redis (თეორია)
- Lab სესია / სალექციო და პრაქტიკული დავალება
-
15. Intermediate Data Engineering (ნაწილი 2)
- Data Enrichment
- Better Timestamps – მონაცემების დროით განზომილების მენეჯმენტი/კონტროლი
- ELT პროექტი მონაცემთა ბაზის, FastAPI-ის და ფაილური სისტემის გამოყენებით.
-
16. Data Warehousing კონცეფციები
- რა არის Data Warehouse
- რა არის Data Mart
- რა არის Data Lake
- მონაცემთა დამუშავებისა და ნაკადების ორკესტრაცია დანიშნულების წერტილის მიხედვით
- Data Warehouse პროექტი
-
17. Redis
- Redis-ის ინსტალაცია და გამართვა
- რა არის Data Caching და Redis
- მონაცემთა ტიპები
- Redis-ში ინფორმაციის ჩაწერა/გამოტანა
- Lab სესია / სალექციო და პრაქტიკული დავალება
-
18. Intermediate Redis
- Redis ტრანზაქციები
- Pub/Sub – შეტყობინებების სისტემა
- Redis persistence – მონაცემთა მდგრადობა
- Redis-ის დაკავშირება ჩვენს აპლიკაციებში (FastAPI)
- მონაცემთა ქეშირება FastAPI-ში
- Lab სესია / სალექციო და პრაქტიკული დავალება
-
19. Advanced Data Engineering – Data Streaming (ნაწილი 1)
- რა არის მონაცემთა ნაკადი
- მონაცემთა ნაკადების მართვა და მეთოდოლოგიები
- Apache Kafka – შესავლები
- Kafka-ს ფუნქციონალი და უპირატესობები
- Apache Kafka-ს ინსტალაცია
- Lab სესია / სალექციო და პრაქტიკული დავალება
-
20. Advanced Data Engineering – Data Streaming (ნაწილი 2)
- Kafka-ს კომპონენტები: brokers, topics, producers, consumers…
- Kafka producer-ის შექმნა Python-ის გამოყენებით
- Kafka consumer-ის შექმნა Python-ის გამოყენებით
- Lab სესია / სალექციო და პრაქტიკული დავალება
-
21. Advanced Data Engineering – Data Streaming (ნაწილი 3)
- “მესიჯების” სერიალიზაცია
- მონაცემთა ნაკადები – Kafka Streams
- მონაცემთა ნაკადები და FastAPI
- Data Streaming პროექტი
-
22. Advanced Data Engineering – Apache Airflow (ნაწილი 1)
- რა არის Apache Airflow
- რა არის DAG (Directed Acyclic Graph)
- ძირითადი კონცეფციები. თეორია: Operators, Tasks, and Scheduling
- Airflow-ს არქიტექტურა და კომპონენტები
- ინსტალაცია და კონფიგურაცია
- Lab სესია / სალექციო და პრაქტიკული დავალება
-
23. Advanced Data Engineering – Apache Airflow (ნაწილი 2)
- DAGs-ების დაპროექტება Python-ის გამოყენებით
- Airflow-ს ოპერატორებთან და დავალებებთან მუშაობა (Tasks and Operators)
- დამოკიდებულებები და კავშირები DAG-ებს შორის
- Scheduling and backfilling
- Airflow Variables
- Lab სესია / სალექციო და პრაქტიკული დავალება
-
24. Advanced Data Engineering – Apache Airflow (ნაწილი 3)
- პარამეტრირებული DAG-ები
- Airflow-ს API-სა და CLI-ის გამოყენება
- ხარვეზების მენეჯმენტი. Task Failures
- Disaster recovery პროექტი
-
25. Advanced Data Engineering – Apache Airflow (ნაწილი 4)
- Airflow ლოგირება და ლოგების მენეჯმენტი
- DAG-ების წარმადობისა და მდგრადობის ანალიზი
- ლოგირების საუკეთესო პრაქტიკები
- ლოგირების პროექტი Airflow, Redis და FastAPI-ის გამოყენებით.
- Lab სესია / სალექციო და პრაქტიკული დავალება
-
26. Advanced Data Engineering – Apache Airflow (ნაწილი 5)
- სხვადასხვა წყაროებთან მუშაობა Airflow-ში (ფაილები, ბაზები, API)
- ETL pipelines with Airflow
- ELT pipelines with Airflow
- მონაცემთა ვალიდაცია და ხარისხის შემოწმება
- დინამიური DAG-ები
- ELT პროექტის დიზაინი
-
27. პროექტი 1: Distributed Task Queue With Kafka, FastAPI, And Redis (ნაწილი 1)
- პროექტის დიზაინის შემუშავება
- პროექტის ჩონჩხის აწყობა
- PoC-ის იმპლემენტაცია (Proof of Concept)
- ცალკეული კომპონენტების ტესტირება
- Lab სესია / სალექციო და პრაქტიკული დავალება
-
28. პროექტი 1: Distributed Task Queue With Kafka, FastAPI, And Redis (ნაწილი 2)
- FastAPI ასინქრონული Task Manager-ის იმპლემენტაცია
- Kafka message broker-ის იმპლემენტაცია
- პროცესების ტესტირება
- Lab სესია / სალექციო და პრაქტიკული დავალება
-
29. პროექტი 2: Distributed Task Queue With Kafka, FastAPI, And Redis (ნაწილი 3)
- Redis-ის იმპლემენტაცია პროექტში (Caching)
- Postgresql იმპლემენტაცია პროექტში (Metadata storage)
- Lab სესია / სალექციო და პრაქტიკული დავალება
-
30. პროექტი 3: Automated Report Generation With Airflow (ნაწილი 1)
- პროექტის დიზაინის შემუშავება
- პროექტის ჩონჩხის აწყობა
- PoC-ის იმპლემენტაცია (Proof of Concept)
- ცალკეული კომპონენტების ტესტირება
- კავშირი Airflow-სა და პროექტ N2-თან
-
31. პროექტი 3: Automated Report Generation With Airflow (ნაწილი 2)
- რეპორტის გენერაციის DAG-ების შემუშავება
- Metadata storage sensors and triggers
- Cache Checker (Redis, Project N2)
- Data and Task Quality რეპორტის გენერაცია პროექტი N1-დან
- ტესტირება
-
32. Data Engineering Designs And Architecture
- Scalability
- How to avoid Bottlenecks
- Data Engineering სისტემების დიზაინი
- არქიტექტურული აზროვნება
- პესიმიზმი და პერფექციონიზმი
- როგორ მოვძებნოთ სწორი შეკითხვები
- არქიტექტურული დიაგრამების შედგენა
- დოკუმენტაცია
-
33. ფინალური პროექტი
- პროექტის წარდგენა
- კურსის შეჯამება
- რეკომენდაცია

₾2,500
მსგავსი კურსები

ციფრული პროექტების მართვა


ვებპროგრამირება JavaScript


ვებ პროგრამირება Front-End (HTML, CSS)

₾2,500
შეფასებები ჯერ არ არის.