
Привет! Меня зовут Дима Кривопальцев, я тимлид бэкенд‑команды Яндекс Диска (Яндекс 360). Уже больше семи лет я занимаюсь разработкой высоконагруженных распределённых систем — и в статье расскажу об одной из них.

Привет! Меня зовут Дима Кривопальцев, я тимлид бэкенд‑команды Яндекс Диска (Яндекс 360). Уже больше семи лет я занимаюсь разработкой высоконагруженных распределённых систем — и в статье расскажу об одной из них.
Сколько я пользуюсь SQL, столько же он меня бесит (спасает только то, что сейчас его можно генерить с помощью LLM). Сегодня хочу рассказать про свой прототип языка для создания больших и сложных аналитических запросов, который компилируется в SQL.
Перед тем как начать восхвалять своё детище, нужно основательно поругать SQL. Итак, что же мне в нём не нравится:
Нет функций и циклов (некоторые БД реализуют, но в стандарте нет). А это явно необходимо, если мы хотим писать большие запросы и переиспользовать код
Переусложнённый синтаксисЧитать полностью »
Привет! Хочу рассказать о своей новой библиотеке context-async-sqlalchemy, которая помогает очень просто работать с sqlalchemy в async python приложениях. Минимум кода для простых сценариев, но и максимум свободы для сложных.
Сначала кратко пройдемся по теории из чего состоит sqlalchemy и как ее происходит интеграция в python приложение. Посмотрим какие есть нюансы и как context-async-sqlalchemy помогает вам удобно работать. Важно что речь идет только об async python.
sqlalchemy предоставляет EngineЧитать полностью »
Привет! Меня зовут Сергей Сорокин, я .NET-разработчик с 12-летним стажем. Занимаюсь бэкендом, архитектурой и высокими нагрузками.
Знаю, о чем вы подумали, прочитав заголовок: "О боже, еще одна ORM? В 2025 году? Зачем, если есть Dapper и EF Core?".
Я тоже так думал. Но когда ты работаешь в Enterprise-системах, где производительность критична, а база данных — это не просто хранилище, а мощный инструмент обработки данных, стандартные решения начинают показывать свои слабые места.
Сегодня я хочу рассказать о VisorЧитать полностью »
Зачем вообще делать что-то своё?
Я знаю, что вы можете подумать: «Почему бы просто не использовать Elasticsearch?» или «А что насчёт Algolia?» Это вполне рабочие решения, но у них есть нюансы. Нужно разбираться с их API, поддерживать инфраструктуру под них и учитывать все тонкости их работы.
Но иногда хочется чего-то более простого — такого, что:
работает прямо с вашей текущей базой данных;
не требует сторонних сервисов;
легко понять и отладить;
действительно выдаёт релевантные результаты.
В этой статье мы поговорим о том, как реализовать поведение атомарной вставки в ClickHouse. Рассмотрим несколько вариантов, подсветим их сильные и слабые стороны, а также, когда каждый из них применять.
Задача
Мы хотим добиться, чтобы не было случаев, когда мы начали вставку, а пользователь прочитал данные до её завершения и получил неактуальный (неполный) набор данных.
Неатомарная вставка = риск чтения некорректного набора данных.
Сценарии, когда такое может произойти:
Удалили партицию и хотели начать вставлять данные взамен удалённой, но пользователь обратился к этому интервалу.
На просторах интернета легко можно найти материалы по реализации нечёткого поискаЧитать полностью »
В 2011-м и немного в 2015 году я принимал участие в разработке портала с прикольными роликами Читать полностью »
SQL или NoSQL: В чем разница и какую базу данных выбрать? Представьте, что вам нужно организовать хранение информации. У вас есть два подхода: аккуратно разложить всё по папкам с ярлыками в строгом порядке (это SQL) или скинуть всё в один большой складской ящик, но с умной системой быстрого поиска нужной вещи (это NoSQL). Оба метода работают, но предназначены для разных задач. Давайте разберемся, что к чему.
SQL (Structured Query Language) — это не сама база, а язык для работы с реляционными (табличными) базами данных. Сами базы данных называют реляционными (например, MySQL, PostgreSQL, SQLite).