Сервис архитектурасы
Data Lakehouse (DLH) әртүрлі көздерден құрылымдалған және құрылымдалмаған деректерді жинайды, оларды Cloud Spark арқылы (ETL немесе ELT) не Cloud Trino арқылы (SQL-сұраулар) өңдейді, S3-қоймасында Cloud Iceberg Metastore ішінде каталогтаумен сақтайды, DataHub-та метадеректерді басқарады және аналитика, BI және ML үшін деректерді Cloud Trino, Cloud Spark немесе Cloud ClickHouse арқылы ұсынады.
-
Операциялық (OLTP) және корпоративтік (CRM, ERP) жүйелерден келетін құрылымдалған деректер күрделі ETL және ELT процестерін орындау үшін Cloud Trino-ға тікелей немесе Cloud Spark арқылы түседі.
-
Жартылай құрылымдалған (JSON, XML, CSV) және құрылымдалмаған (медиафайлдар, құжаттар) деректер S3 қоймасына ағындар немесе блоктар түрінде жіберіледі.
-
Cloud Trino және Cloud Spark S3 қоймасымен деректер алмасу үшін Iceberg Metastore API пайдаланады.
Cloud Trino-да сұрауларды өңдеу процесі координатордың (Coordinator) SQL-сұрауларды қабылдауын (PULL-моделі) және оңтайландыруын қамтиды, содан кейін ол оларды жұмысшы түйіндерге (Workers) таратып, дәстүрлі СУБД-ларға ұқсас функционалдылықты қамтамасыз етеді.
Cloud Spark күрделі ETL және ELT процестерін орындау үшін қолданылады. Бұл сервис деректерді пакеттік те, ағындық та өңдеуді қолдайды:
-
Ағындық өңдеу (Streaming Processing) кезінде деректер үздіксіз, микропартиялармен (mini-batches) немесе оқиға бойынша (event-by-event), нақты уақыт режимінде өңделеді. Ағындық өңдеу PUSH-моделі бойынша жүзеге асырылады.
-
Пакеттік өңдеу (Batch Processing) кезінде деректер партиялармен (файлдар, кестелер) жинақталып, бір уақытта өңделеді. Шығарып алу процесі кесте бойынша немесе қолмен іске қосылады (PULL-моделі).
-
-
Cloud Iceberg Metastore S3 қоймасының объектілерін каталогтайды және оған қол жеткізу үшін API ұсынады.
Деректерді сақтау Cloud Iceberg Metastore сервисі арқылы ACID-транзакцияларды қолдаумен ұйымдастырылған, бұл S3 қоймасының объектілерін ДҚ кестелері ретінде ұсынуға мүмкіндік береді. S3 қоймасын пайдалану сақтау құнын едәуір төмендетеді.
-
Объектілер мен оларды өңдеу ережелерінің жалпы тізімі қолжеткізуді басқару және деректер тарихын қадағалау үшін DataHub негізіндегі деректер каталогында (Data Discovery, Data Quality, Metadata Management, Data Governance, Data Lineage функционалын қолдаумен) жарияланады.
-
Cloud Trino және Cloud Spark-тен өңделген деректерді әртүрлі сыртқы аналитикалық жүйелерде пайдалануға болады: MLflow, Jupyter, ClickHouse. Бұл жүйелер деректерді терең талдауға, егжей-тегжейлі визуализациялар жасауға және машиналық оқыту модельдерінің өмірлік циклін басқаруға мүмкіндік береді.
Міндетке байланысты деректер келесі тәсілдермен өңделуі мүмкін:
-
PULL-моделі — бұл деректер көзден кесте бойынша batch-процестерді орындау арқылы шығарылатын тәсіл, оларды Cloud Airflow-да ыңғайлы басқаруға болады. Бұл тәсіл қарапайым ETL және ELT процестері, S3 қоймасындағы аналитика, BI-интеграция, дерекқорларға SQL-сұраулар үшін және дереккөзге түсетін жүктемені бақылау қажет болғанда қолданылады.
-
PUSH-моделі — бұл деректер көзден автоматты түрде Cloud Spark немесе Cloud Trino-ға жіберілетін тәсіл. Бұл тәсіл деректердің үлкен көлемдерін үздіксіз жеткізу және өңдеу аса маңызды болатын міндеттерде қолданылады: күрделі ETL және ELT процестері, аналитикаға арналған деректерді дайындау, үлкен деректердегі машиналық оқыту.
Data Lakehouse архитектурасын жобалау кезінде қандай деректер түрлері және қандай тәсілмен өңделетінін анықтау маңызды:
Критерий | PULL-моделі | PUSH-моделі |
|---|---|---|
Сервис | Cloud Airflow, Cloud Trino, Cloud Spark (пакеттік өңдеу) | Cloud Spark (ағындық өңдеу, микробатчтар) |
Дереккөздерді қолдау | API, ДҚ, файлдар | Әрбір дереккөз үшін деректерді Producer API арқылы жіберетін компонентті әзірлеу қажет |
Жаңарту жиілігі | Кесте бойынша | Нақты уақыт режимінде |
Деректер кідірісі | 5–60 минут | < 1 секунд |
Дереккөзге түсетін жүктеме | Жоғары (сағатына 50–500 қосылым) | Төмен (1–5 тұрақты қосылым) |
Масштабталу | Шектеулі (секундына 100 параллель операцияға дейін) | Жоғары (секундына 10 000 параллель операцияға дейін) |
Интеграция күрделілігі | Төмен (конфигурацияға 1–2 күн) | Жоғары (Producer әзірлеу қажет) |