Высокая производительность
-
Хабрахабр
[Перевод] Челлендж по обработке миллиарда строк на Go: от 1 минуты 45 секунд до 4 секунд
Пару недель назад я прочитал о запавшем мне в душу челлендже по обработке миллиарда строк, поэтому захотел решить его на Go. Я немного опоздал, соревнования проводились в январе. И на Java. Меня не особо интересует Java, зато давно интересует оптимизация кода на Go. Этот челлендж был очень прост: обработать текстовый файл названий метеорологических станций и температур, и для каждой станции вывести…
Читать далее » -
Хабрахабр
Введение в Apache Flink: осваиваем фреймворк на реальных примерах
Всем привет, меня зовут Александр Бобряков. Я техлид в команде МТС Аналитики, занимаюсь Real-Time обработкой данных. Недавно мы начали использовать фреймворк Apache Flink. Эту технологию выбрали, так как она (в отличие от Apache Spark) относится к true-стримингу и позволяет строить обработку данных с минимальной задержкой. В качестве DI-фреймворка выбрали привычный нам Spring Framework. Наша команда использует разные виды тестирования: Unit,…
Читать далее » -
Хабрахабр
Бизнес-ключ и суррогатный ключ нужны оба
Схема данных, обеспечивающая связь бизнес-ключей с суррогатным ключом Пару дней назад я агитировал всеми уважаемого эксперта в хранилищах данных за новый стандарт суррогатных ключей UUIDv7 для высоконагруженных систем, и получил от него ответ: "На самом деле, и, по моему скромному мнению, НИКАКОЙ суррогатный ключ не является достаточно хорошим, или его не следует использовать. По моему скромному мнению, настоящие и истинные…
Читать далее » -
Хабрахабр
Большое обновление Propan Framework. Куда дальше?
Пару месяцев назад я рассказал вам о своем фреймворке для работы с различными брокерами сообщений - Propan. Тезисно повторю: это идейный наследник FastAPI, но для написания асинхронных микросервисов (привет, Kombu). Он настолько облегчает взаимодействие с брокерами сообщений, что данный архитектурный паттерн переходит из разряда слишком сложно, это для хайлоад, некогда разбираться в разряд а давай отдадим нашему стажеру сервис, он…
Читать далее » -
Хабрахабр
Всегда ли хорош Index Only Scan?
Среди применяемых в PostgreSQL методов доступа к данным Index Only Scan стоит особняком, считаясь у многих разработчиков "волшебной пилюлей" для ускорения работы запроса - мол, "Index Scan - плохо, Index Only Scan - хорошо, как только получим его в плане - все станет замечательно". Как минимум, это утверждение неверно. Как максимум, при определенных условиях может вызвать проблемы чуть ли не…
Читать далее » -
Хабрахабр
Поиск по произвольным параметрам
кошмар любого разработчика Иногда (часто) во время разработки веб-сайта возникает необходимость реализовать поиск с фильтрацией, и отсортировать результаты по какому-то фиксированному полю: например, поиск товаров в интернет-магазине, поиск туров в турагентстве, показ логов с фильтрацией по содержимому, и т.д. Очень часто бывает так, что фильтрация должна осуществляться чуть ли не по любому полю (а полей десятки), а записей тысячи или…
Читать далее » -
Хабрахабр
Как построить систему, способную выдерживать нагрузку в 5 млн rps
Всем привет! Меня зовут Владимир Олохтонов, я руковожу командой разработки в отделе Message Bus, который является частью платформы Ozon. Мы занимаемся разработкой самых разных систем вокруг Kafka, etcd и Vault. В этой статье я расскажу о том, как мы строили линейно масштабируемую gRPC-прокси перед Kafka, способную обслуживать миллионы запросов в секунду, используя Go. Пруфы 🙂 У нас довольно крупный кластер.…
Читать далее » -
Хабрахабр
Как разбить GPU на несколько частей и поделиться с коллегами: практическое пособие по работе с MIG
Привет, Хабр! Меня зовут Антон, я — DevOps-инженер в отделе Data- и ML-продуктов Selectel. Последние три месяца исследовал интересную проблематику — шеринг GPU между конкурентными процессами и пользователями. В русскоязычном сегменте не смог найти ни одного оригинального материала — только переводы англоязычных статей. После посещения пары докладов понял, что тема особенно актуальна: компании знают о шеринге GPU как о технологии,…
Читать далее » -
Софт
Простое должно быть простым: «Легкий» Load Testing
Ранее мы обсудили grid и flex, а также верстку UI. Для чего вообще создаются разные инструменты? Очевидно же - делать работу легче и помогать в достижении результата! Молотком проще забивать гвозди, чем камнем, а гвоздодером их быстрее доставать чем чем-либо другим. Интуитивно кажется, что программные инструменты тоже должны следовать этой идеологии. Особенно в следствии богатства "инструментов для создания инструментов". Наши…
Читать далее » -
Хабрахабр
Переезд c PostgreSQL на YDB. Кейс сервиса Яндекс Игры
Привет! Меня зовут Александр Смолин. Я бэкенд-разработчик в команде Яндекс Игр. Уже два года мы используем YDB для задач сервиса. В статье расскажу, как мы в Яндекс Играх внедряли YDB, зачем это было нужно, с какими сложностями столкнулись и какие результаты у нас сейчас. Яндекс Игры — это платформа, где можно играть в HTML5 игры в браузере без установки. В…
Читать далее »