Все потоки
Поиск
Написать публикацию
Обновить
106.68

SQL *

Формальный непроцедурный язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

MSSQL: тепловые диаграммы индексов в виде TreeView

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров1.4K

Вам интересно, какие индексы используются больше или меньше? Какие не используются вовсе? Какие таблицы и индексы самые большие? Очень легко создать такие диаграммы. Это и красиво, и полезно.

Читать далее

Как я оставила печати и взяла SQL: путь к Data Quality

Время на прочтение6 мин
Количество просмотров4.3K

Привет, Хабр! Когда-то я проверяла завещания и готовила доверенности, а теперь проверяю витрины данных, ищу дубли и считаю доходность по инвестиционным инструментам. Меня зовут Арина Шахтарина, и я — Data Quality-инженер в Сбере. Это история о том, как любовь к данным и таблицам превратилась в новую профессию, и почему SQL — лучший универсальный язык после русского. Тут будет про карьерные повороты, боли с форматами данных, проверки данных и немного про мечты, которые сбываются (даже если ты не в отпуске).

Читать далее

SQL HowTo: простой финал с агрегатами (Advent of Code 2024, Day 25: Code Chronicle)

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров1K

В этой челлендж-серии статей попробуем использовать PostgreSQL как среду для решения задач Advent of Code 2024.

Возможно, SQL не самый подходящий для этого язык, зато мы рассмотрим его различные возможности, о которых вы могли и не подозревать.

Сегодняшней статьей с простым использованием агрегирующих функций завершаем цикл. В итоге, PostgreSQL показал себя как очень удобное средство для решения разных алгоритмических задач, лишь несколько раз заставив нас изобретать совсем уж нетипичные подходы к написанию SQL-запросов.

Читать далее

Low-code без границ: 32 млрд квартетов и терабайты данных в конструкторе приложений

Уровень сложностиПростой
Время на прочтение19 мин
Количество просмотров9.3K

Бум No-code начался в 2022 году, и сейчас многие компании стараются так или иначе внедрить функционал «low-code» в свои продукты. У участников IT-индустрии пока нет согласия о границах применимости технологий «без кода», хотя адепты этих технологий обещают, что они позволят создавать практически любые приложения.

В этой заметке мы рассмотрим один из основных аспектов создания приложений – его масштабируемость в средней и дальней перспективе. Для этого сам продукт под капотом должен быть построен на чем-то более мощном, чем MS Excel, Airtable, Notion и Make, и такие продукты уже есть на рынке.

Фатальные проблемы масштабируемости проявляются с ростом объемов данных и количества пользователей, которые с ними работают – с этого мы и начнём.

Читать про 32 млрд квартетов

DWH: История поиска альтернативы PostgreSQL и Snowflake. Часть 1

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров4.5K

Выбор облачного хранилища данных — задача не из тривиальных, особенно когда речь идёт о миллиардах полуструктурированных записей, геоаналитике и требованиях к отклику в доли секунды. В Agritask мы провели масштабное исследование: протестировали популярные DWH-платформы на реальных кейсах, сравнили производительность, параллелизм и затраты. В первой части делимся подходом к оценке, техническими требованиями и тем, почему PostgreSQL и Snowflake перестали справляться с нашими задачами.

Читать далее

Сиквел и приквел: занимательная археология

Время на прочтение20 мин
Количество просмотров2.5K

Предлагаю вашему вниманию немного дополненный доклад, который я делал на конференции PGConf.СПб 2024. В нем я рассказываю о том, как появились первые реляционные системы, как возник и всех победил язык SQL.

Погрузиться в историю

Путь от «внутри» к ИТ продукту

Время на прочтение6 мин
Количество просмотров438

Приветствую всех хаброжителей и тех, кто читает мою статью. Меня зовут Александр, я являюсь ИТ директором с более 15-летним стажем, начинал в 2002 году обычным программистом в международной FMCG компании, что сильно повлияло на меня как человека и как ИТ специалиста.

Но статья не об этом, повествование пойдет о другом, об 1С и SQL, а именно о том, как быть если нужно выгружать данные из этой самой 1С, да еще, когда она не одна, да и в разных городах и странах. Трудился я в международной алкогольной компании и достался мне «зоопарк» ИТ систем (думаю, что многим понятно и известно, о чем я говорю). Среди этих систем была самописная ERP система с подчиненными базами (больше 100 штук) на базе СУБД Firebird и клиенты, написанные на Delphi и Microsoft С#, годами пока это все развивалось и росло, появились запросы и потребность в анализе данных и стали реализовываться различные выгрузки данных. Получаемые данные как тогда водилось стали выгружать в MS SQL в специально созданную базу (DWH) используя MS SSIS и потом трансформировались в OLAP кубы в MS SSAS. Еще была систем именуемая как «Бизнес-процессы» на базе 1С Бухгалтерия 1.6, с последующим обновлением и совместимостью, чтобы запустится на платформе 1С 8.3, на обычных формах с многокилометровыми модулями кода. Обшито все это было микросервисами (как сейчас это принято называть) и обменивалось между собой как-то, никому 100% не известно как.

Читать далее

MERGE + OUTPUT: Upsert с логированием без триггеров

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров1.6K

Привет, Хабр!

В этой статье поговорим про MERGE в MS SQL Server. Не просто MERGE, а MERGE с OUTPUT — как обновлять данные, вставлять новые и одновременно логировать изменения.

Оператор MERGE позволяет объединить INSERT, UPDATE и DELETE. Клаузу OUTPUT можно прикрутить, чтобы получить, что именно поменялось — с деталями: было, стало, когда, зачем и кто виноват.

Читать далее

Как превратить данные в деньги?

Время на прочтение2 мин
Количество просмотров3.5K

Привет!

Все мы слышали, что сегодня данные - это новая нефть. Но вот вопрос: а как мне их использовать? Ты видишь цифры, графики, метрики, а прибыль всё равно стоит на месте. Я когда-то думал, что данные — это просто отчеты для начальства. Пока не понял: данные — это истории. Истории о том, как ваши пользователи радуются, злятся, теряются или готовы платить. И если их «услышать», они принесут реальные деньги. Давайте разберемся, как это сделать — без магии, только логика и немного цифр.

Читать далее

Выбор индексов в базах данных для highload-систем

Уровень сложностиСложный
Время на прочтение27 мин
Количество просмотров16K

Индексы – это «ускорители» доступа к данным в базах данных. Правильно выбранные индексы могут многократно ускорить запросы, что особенно критично в highload-системах с большими объёмами данных и большим числом запросов. Однако за ускорение чтения приходится платить усложнением записи и дополнительным расходом памяти. В этой статье мы подробно рассмотрим, как работают разные типы индексов в реляционных СУБД, как выбирать индекс под конкретный запрос, обсудим подводные камни (например, блоат, переиндексация, избыточные индексы) и затронем индексацию в NoSQL (MongoDB, Cassandra). Завершим чеклистом, который поможет выбрать оптимальный индекс под вашу задачу.

Читать далее

Анализируем сложные данные в CSV-таблицах: как мы усовершенствовали RAG с помощью агентского подхода

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров1.5K

Привет, Хабр! Меня зовут Александр Овсов, я RnD-разработчик в компании Just AI и занимаюсь продуктом Jay Knowledge Hub. Это умная платформа для поиска по неразмеченным корпоративным данным, созданная на базе RAG и AI-агентов.

Одним из типичных юзкейсов для наших пользователей является аналитика сложных данных хранящихся в CSV-таблицах (финансовые отчеты, продуктовая аналитика и т.д.). Работать с такими данными при помощи классических методов RAG сложно из-за структуры этих данных. Чтобы решить эту проблему, мы решили использовать агентский подход — набирающий популярность метод, который позволяет LLM выполнять сложные задачи, например, отправлять SQL-запросы к таблицам. О реализации такого подхода на примере CSV таблиц я сейчас и расскажу.

Читать далее

Раскраска листинга процедуры T-SQL значениями метрик

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров1.1K

Сразу покажу, о чем идет речь, чтобы вы решили, нужно вам это или нет. На текст процедуры мы отображаем данные о числе выполнений, cpu, duration, о числе чтений и записей и числе обработанных записей.

Читать далее

SQL HowTo: немного двоичной логики (Advent of Code 2024, Day 24: Crossed Wires)

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров1K

В этой челлендж-серии статей попробуем использовать PostgreSQL как среду для решения задач Advent of Code 2024.

Возможно, SQL не самый подходящий для этого язык, зато мы рассмотрим его различные возможности, о которых вы могли и не подозревать.

Рекурсивно вычисляем логические выражения и разбираем устройство двоичного сумматора.

Читать далее

Ближайшие события

Шардированный кластер ClickHouse

Уровень сложностиПростой
Время на прочтение21 мин
Количество просмотров7.9K

Хочу рассказать, как спроектированы распределённые вычисления в ClickHouse. Вы узнаете, на что влияет схема кластера (и на что не влияет). Расскажу, как можно на ровном месте создать себе проблему при помощи всего одной таблицы Kafka и нескольких матвьюх. Поделюсь опытом про дебаг и оптимизацию SELECT-запросов к Distributed таблицам: поизучаем планы выполнения и поэксперементируем с настройками в блоке SETTINGS.

Читать далее

Sandbox DB: универсальная песочница для погружения в Big Data, аналитику и визуализацию

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров11K

Запускайте PostgreSQL, ClickHouse, Airflow, Superset и другие инструменты одним кликом: учите, экспериментируйте, осваивайте новое!

Читать далее

SQL HowTo: работаем с массивами (Advent of Code 2024, Day 23: LAN Party)

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров1.5K

В этой челлендж-серии статей попробуем использовать PostgreSQL как среду для решения задач Advent of Code 2024.

Возможно, SQL не самый подходящий для этого язык, зато мы рассмотрим его различные возможности, о которых вы могли и не подозревать.

Применяем простые операции над массивами, чтобы определить связность графов.

Читать далее

Кардинальность при оптимизации DAX запросов в ClickHouse

Время на прочтение7 мин
Количество просмотров1.9K

Привет, Хабр! Мы уже неоднократно поднимали вопросы оптимизации запросов к СУБД ClickHouse, которую все чаще используют как универсальное высокопроизводительное хранилище для аналитических задач. В случае с Visiology этот вопрос приобретает двойную ценность, так как мы используем оптимизацию для эффективного выполнения запросов в языке DAX.

Сегодня мы поговорим о применении группировок GROUP BY с учетом их производительности для относительно больших таблиц, например, с миллионами записей. Таким образом, речь пойдет об оценке кардинальности одного или нескольких столбцов. Эта задача, кстати, является достаточно нетривиальной. Но если Вы можете ее решить, появляется возможность для эффективных оптимизаций SQL. О них мы и поговорим сегодня.

Читать далее

Как правильно выбрать базу данных для разработки: понимание моделей репликации

Уровень сложностиСредний
Время на прочтение38 мин
Количество просмотров15K

Выбор подходящей системы управления базами данных (СУБД) — важнейшая задача при проектировании программных систем. Разработчики и архитекторы учитывают множество факторов: модель данных (реляционная или NoSQL), поддержку транзакций, масштабируемость, требования к согласованности и многого другое. Одним из ключевых архитектурных аспектов, влияющих на эффективность и надежность системы, является модель репликации данных. Репликация означает поддержание копий одних и тех же данных на нескольких узлах (серверах), соединённых по сети​.

Зачем это нужно? Репликация позволяет: во-первых, держать данные ближе к пользователям (уменьшая задержку при запросах); во-вторых, продолжать работу системы даже при сбое отдельных узлов (повышая доступность); в-третьих, масштабировать систему, увеличивая число узлов для обслуживания запросов на чтение (повышая пропускную способность)​.

Однако реализация репликации сопряжена с серьёзными архитектурными компромиссами. Согласно теореме CAP, в распределённой системе невозможно одновременно гарантировать все три свойства: консистентность данных, доступность сервиса и устойчивость к разделению сети. При возникновении сетевых сбоев (разбиении на изолированные сегменты) системе приходится жертвовать либо мгновенной согласованностью данных, либо доступностью части узлов. Поэтому разные СУБД делают разные выборы в этих компромиссах. Архитектурная модель репликации, лежащая в основе СУБД, определяет, как база данных достигает (или не достигает) консистентности, доступности и отказоустойчивости. Понимание этих различий крайне важно для архитекторов и разработчиков: зная поведение репликации, вы сможете выбрать такую СУБД, которая лучше соответствует требованиям вашего проекта по масштабу, геораспределенности, допустимой задержке и устойчивости к сбоям.

Читать далее

Уже через год мы будем общаться с базами данных по-русски

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров27K

По прогнозу Gartner, запросы на естественном языке вытеснят SQL уже в 2026 году. Возможно, прогноз Gartner чересчур оптимистичный, но если они и ошибаются, то только в сроках — сам переход на естественный язык в работе с БД неизбежен.

Читать далее

Промежуточные витрины в SQL

Время на прочтение8 мин
Количество просмотров2.3K

Привет, Хабр!

Сегодня я хочу поговорить о том, без чего не обходится практически ни один серьёзный проект с большими данными (да и с не слишком большими тоже) — о промежуточных витринах (или более привычно – staging, core, data mart).

Читать далее

Вклад авторов