YTsaurus — MapReduce үлгісін қолдайтын үлкен деректерге арналған бөлінген сақтау және өңдеу платформасы.
Бірнеше күн бұрын Яндекс ашылды бірі арқылы жарияланды YTsauru платформасының бастапқы кодын ашу, ол MapReduce парадигмасын, SQL сұрау механизмін, таратылған файлдық жүйені және кілт-мән пішіміндегі NoSQL сақтауды пайдалана отырып, деректер манипуляциясын қолдайтын деректердің үлкен көлемін үлестірілген сақтау және өңдеу үшін пайдаланылады.
YTsaurus қолданылған Яндекс инфрақұрылымында суперкомпьютерлердің есептеу қуатын тиімді пайдалану компанияның Платформа миллионға дейін процессорларды және мыңдаған графикалық процессорларды (машинада оқыту тапсырмалары үшін) қамтитын 10 000-нан астам түйіннен тұратын кластерлерге дейін масштабтауға болады.
Физикалық серверлерде жұмыс істейтін оқшауланған контейнерлерді кластерлік бірлік ретінде пайдалануға болады. Жад қатты дискілер, SSD дискілері, NVME және RAM сияқты әртүрлі тасымалдағыштарда орналасқан эксабайттық деректерді қамтуы мүмкін.
Кластер түйіндерді динамикалық қосуды және жоюды, резервтеуді (жалғыз сәтсіздік нүктесі жоқ), автоматты репликацияны, белсенді кластердің бағдарламалық жасақтамасын жаңартуды және түйін сәтсіз болған жағдайда автоматты резервтік қалпына келтіруді қолдайды.
Кластерлердің үш түріне қолдау көрсетіледі: есептеу кластерлері (MapReduce операциялары арқылы үлкен деректерді жаппай параллель өңдеу үшін), жиынтық кестелер мен кілттік мәндерді сақтауға арналған кластерлер және географиялық бөлінген кластерлер.
Платформаға негізделген қызмет ондаған мың пайдаланушылар үшін деректерді сақтау және өңдеу құралдарын ұсына алады. Яндекстегі әдеттегі YTsaurus қолданбаларына жарнама желісінің пайдаланушылары туралы ақпаратты сақтау, машиналық оқыту үлгілерін үйрету, іздеу индексін қалыптастыру және Яндекс Такси, Азық-түлік, Лавка және жеткізу қызметтері үшін деректер қоймасын құру кіреді.
Негізгі қолдану жағдайларынан мыналар атап өтіледі:
- Пакеттік өңдеу: MapReduce және SPYT (Apache Spark YTsaurus деректеріндегі есептеуіш механизм ретінде) құрылымдық және жартылай құрылымдық деректерді өңдеуге арналған: жазбалар немесе қаржылық транзакциялар.
- Арнайы талдау: Деректерді бөлек талдау жүйесіне көшірместен CHYT (YTsaurus есептеу түйіндеріндегі ClickHouse серверлерінің тобы) арқылы жылдам сұраулар. Визуализация үшін BI қосу мүмкіндігі бар ODBC және JDBC.
- OLTP тапсырмалары: Кілт-мәнді сақтаумен нақты уақыттағы транзакциялық жұмыс: мысалы, пайдаланушы профилін сақтау, жарнаманы көрсету немесе ағынды өңдеу.
- Машиналық оқыту: Миллиардтаған параметрлері бар үлгілерді үйрету үшін GPU кластерлерін басқарыңыз.
- Мета ақпарат қоймасы: Метаақпаратты транзакциялық сақтау және таратылған құлыптарға сенімді қызмет көрсету.
- Әдеттегі құралдарды пайдалана отырып, көп деңгейлі деректерді өңдеу үшін деректер қоймалары мен ETL құру: Apache Spark, SQL, MapReduce.
Сәулет өнерінің негізгі элементтері ретінде мыналар атап өтіледі:
- Таратылған файлдық жүйе және Cypress қатеге төзімді ағашқа негізделген метаақпарат қоймасы.
- MapReduce үлгісіне қолдау көрсететін үлестірілген есептеулерге арналған жоспарлаушы, сонымен қатар кеңейтілген негізгі операциялар.
- АТ операцияларының көлденең масштабталуы.
- Есептеу ресурстарын оқшаулау және белгілі бір есептеу ресурстарын (CPU, GPU, RAM) әртүрлі пропорцияларда бөлу мүмкіндігі.
- OLTP жадын жасауға арналған жиынтық кестелер, MVCC негізіндегі жадты қолдау, транзакциялар, жарамдылық мерзімі өткеннен кейін деректерді жою мүмкіндігі және жиынтық кестелер арқылы ағынды деректерді өңдеуге арналған хабарламалар кезегі.
- API және C++, Python, Java, Go бағдарламалау тілдеріне арналған кітапханалар.
- Ағаш тәрізді жад арқылы шарлауды қолдайтын пайдаланушылар мен әкімшілерге арналған веб-интерфейс.
Finalmente егер сіз бұл туралы көбірек білгіңіз келсе, жоба коды C/C++ тілінде жазылғанын және Apache 2.0 лицензиясы бойынша ашық екенін білуіңіз керек. Мәліметтерді бөлімде тексеруге болады келесі сілтеме.
El GitHub репозиторийі YTsaurus сервер кодын, k8s пайдаланатын орналастыру құрылымын, жүйеге веб-интерфейсті және C++, Java, Go және Python сияқты танымал бағдарламалау тілдеріне арналған клиент SDK файлдарын қамтиды.
Бірінші болып пікір айтыңыз