Обновить
128K+

SQL *

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

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

SQL HowTo: кратчайший путь «туда и обратно» и его самосоединение (Advent of Code 2024, Day 20: Race Condition)

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели2.8K

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

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

Дважды применяем волновой алгоритм для нахождения единственного кратчайшего пути и самосоединение для поиска "читов".

Читать далее

Оптимизация дашбордов в Superset

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели11K
В этой статье я бы хотела поделиться опытом в оптимизации дашбордов в Apache Superset. Мы в Газпромбанке перешли на этот BI-инструмент относительно недавно. В основном мы работаем в нем с движком Impala.

Иногда бывает так, что некоторые дашборды загружаются дольше других, роняют страницу в браузере или даже замедляют работу для других пользователей на кластере.

У коллег накопился большой опыт в оптимизации SQL-запросов (о чем недавно также вышла статья) и в стандартах разработки витрин. Но конкретно в работе с построением дашбордов есть своя специфика, которая не всегда учитывается, когда речь заходит об оптимальности работы. Superset так же проводит все расчеты на стороне источника через запросы к БД, как это происходит в обычных IDE. Только он преобразует конечный результат в графики, что скрывает от наших глаз сложные запросы, которые иногда там формируются.

Ниже мы рассмотрим, как можно оптимизировать работу с датасетами, графиками и содержанием дашборда, а также как ускорить загрузку с помощью агрегированных таблиц.


Читать дальше →

Настройка PostgreSQL для LLM

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели8.7K

Итак, в этой статье я расскажу, как эффективно настроить PostgreSQL, чтобы вам было проще работать с большими языковыми моделями.

Пока звучит странно, не правда ли? Что я имею в виду? Я имею в виду повышение эффективности создания любых SQL-запросов в базу данных с использованием LLM (ChatGPT, DeepSeek, Llama и других).

Метод, о котором пойдет речь, до безобразия прост и от этого гениален. После прочтения этой статьи вы сможете самостоятельно или в рамках вашей компании увеличить скорость формирования SQL-запросов в 50 раз!

Читать далее

Цифровая карта аварийности: как технологии помогают сделать дороги безопаснее

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели2.5K

Привет, Хабр! Буквально недавно в ИЦ прошло ежегодное мероприятие «Инновационная столица-2024», где мой коллега, руководитель отдела цифровых сервисов, продемонстрировал обновленный АИС «Мониторинг аварийности».

Цифровая карта ДТП не имеет аналогов в России, поэтому в этой статье я бы хотел рассказать, чем так уникален продукт, и как он помогает снижать количество ДТП в городе.

Читать далее

KISS Virtual XML RDBMS. Новая система разработки клиентских desktop и web приложений

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

KISS Virtual XML RDBMS. Новая система разработки клиентских desktop и web приложений. Язык программирования ULCA.

Читать далее

SQL HowTo: динамическое программирование (Advent of Code 2024, Day 19: Linen Layout)

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели2.5K

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

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

Используем динамическое программирование для подсчета количества вариантов размещений.

Читать далее

Virtual generated columns в PostgreSQL 18

Время на прочтение1 мин
Охват и читатели5.7K

В PostgreSQL 18 добавят виртуальные сгенерированные столбцы (комит).


Ранее PostgreSQL уже поддерживал сгенерированные столбцы (начиная с версии 12), но только в варианте STORED, когда результат вычислений сохраняется в таблице. Теперь появилась возможность вычислять значения "на лету" при чтении, что экономит место и даёт больше гибкости в проектировании схем данных.


Как создать виртуальный столбец?

Читать дальше →

Как медленно меняющиеся измерения помогают сохранить контекст изменений в данных

Время на прочтение10 мин
Охват и читатели10K

В мире данных изменения — это неизбежность. Но как отслеживать и сохранять историю изменений, чтобы аналитика оставалась точной и релевантной? В нашей новой статье мы подробно разбираем концепцию медленно меняющихся измерений (Slowly Changing Dimensions, SCD) — ключевого инструмента для работы с изменяющимися данными в хранилищах и аналитических системах.

Вы узнаете, что такое медленно меняющиеся измерения и зачем они нужны, а также познакомитесь с разными типами SCD, такими как Type 1, Type 2 и Type 3. Мы рассмотрим их ключевые различия и приведем практические примеры использования: от простого обновления данных до сохранения полной истории изменений. Вы поймете, как выбрать подходящий тип SCD для ваших задач и избежать типичных ошибок.

Статья будет полезна аналитикам, разработчикам и всем, кто работает с данными и стремится сделать их управление более эффективным. Погрузитесь в мир SCD и узнайте, как превратить изменения данных в мощный инструмент для анализа!

Читать далее

PostgreSQL 18: Часть 4 или Коммитфест 2025-01

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели5.7K


Продолжаем следить за новостями из мира PostgreSQL 18. Январский коммитфест принес много полезных изменений в области мониторинга и не только.


А самое интересное из предыдущих коммитфестов можно прочитать здесь: 2024-07, 2024-09, 2024-11.

Читать дальше →

SQL HowTo: поиск пути и дихотомия (Advent of Code 2024, Day 18: RAM Run)

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

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

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

Сегодня напишем для решения простую реализацию алгоритма Ли и дихотомии.

Читать далее

Возможности комбинаторов в ClickHouse

Время на прочтение9 мин
Охват и читатели5.1K

Что делать с запросами к СУБД, выполнение которых затягивается на десятки минут, как можно оптимизировать вложенные операторы, чтобы получить нужные данные за секунды? За счет чего подобные операции выполняются в Visiology автоматически? Ответы на эти вопросы мы попробуем дать сегодня на примере небольшого синтетического теста со сложным SQL-запросом, и разберемся при чем тут комбинаторы в ClickHouse. Эта статья будет полезна тем, кто интересуется SQL-оптимизаторами, а также всем существующим и будущим пользователям Visiology, кто хочет заглянуть под капот системы. Если вы из их числа, добро пожаловать под кат :)

Читать далее

Топ 7 ошибок в SQL новичков

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

Перевод статьи https://medium.com/@datasciencedelight/top-7-sql-mistakes-to-avoid-56f1697e8e0a

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

Но, может быть, вы один из тех пользователей SQL, кто допускает ошибки? Например, забываете использовать агрегатные функции или случайно удаляет все строки в наборе данных?

(Ой!)

Не волнуйтесь!

В данной статье мы рассмотрим некоторые распространенные ошибки в SQL, которые мы все совершаем, и узнаем, как их избежать.

Читать далее

Что нужно знать, чтобы писать быстрые SQL-запросы

Уровень сложностиСредний
Время на прочтение21 мин
Охват и читатели49K

Привет, я Марк Шевченко, ведущий разработчик, ИТ‑холдинг Т1. SQL — мощный декларативный язык, который скрывает от программиста большинство технических деталей. Проектировщики языка предполагали, что его простота поможет не‑программистам работать с данными самостоятельно. К сожалению, простота имеет свою цену, и эта цена — производительность. Некоторые несложные запросы работают слишком медленно, что становится неприятным сюрпризом как для программистов, так и для пользователей.

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

В этой статье я расскажу о производительности запросов SELECT. Акцент буду делать не на подробности конкретных реализаций, а на фундамент. В то же время буду иллюстрировать общие положения реальными примерами.

Читать далее

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

25 бесплатных курсов для начинающих аналитиков

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

Привет, Хабр! Меня зовут Алёна, я middle‑продуктовый аналитик. Мне нравится то, чем я занимаюсь, поэтому в свободное время я пишу полезные статьи и веду свой пока небольшой tg-канал про продуктовую аналитику.

Все мидлы и сеньоры когда-то были новичками, поэтому понимаю, тех, кто не знает с чего начать свой путь в аналитику. В этой статье делюсь полезными ссылками для тех, кто хочет с разных сторон пощупать эту профессию!

Читать далее

Правильный API конфигурации библиотеки на примере TrueSql || причина бросить Spring Data

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

Сегодня немного поговорим о здравом смысле. Правильном и неправильном API конфигурации java-библиотеки. В качестве примера будем использовать TrueSql.

Читать далее

SQL HowTo: подбираем значение ветвлением (Advent of Code 2024, Day 17: Chronospatial Computer)

Уровень сложностиПростой
Время на прочтение10 мин
Охват и читатели2.2K

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

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

В этой задаче мы немного потренируемся подбирать коды с помощью ветвящейся рекурсии.

Читать далее

Рассмотрим нововведения SQL Server Data Tools, связанные со средствами разработки БД для Microsoft SQL Server

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели3.2K

Привет, Хабр. Меня зовут Артём, я старший инженер в департаменте аналитических решений ЮMoney. Вас ждёт очень большая статья, в которой мы вместе:

✓ посмотрим на изменения формата файла проекта sqlproj;

✓ разберёмся с новой возможностью публикации dacpac в репозиторий артефактов (например, NuGet) с целью многократного переиспользования в других проектах sqlproj;

✓ напишем анализатор кода tsql на C#, опубликуем его в репозиторий и используем в проекте sqlproj.

Приятного чтения! 😊

Читать далее

Оптимизация JOIN в PostgreSQL

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

Хотите ускорить работу сложных SQL-запросов в PostgreSQL? 🚀В этой статье мы разберем, как правильно использовать JOIN, какие методы соединения выбирает PostgreSQL и как их оптимизировать. Узнайте, как индексы, статистика и параметры конфигурации влияют на производительность! 🔥

Читать далее

Работа с колонками типа JSON в PostgreSQL (на примере использования отдельных функций)

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

Содержание

Вступление (и некоторые общие сведения)

Немного теории

Используемые функции PostgreSQL

Описание используемого примера данных

Предварительные шаги

Запросы

Краткий итог

«Задачи»

Читать далее

Кастомные lookup-операторы в Django ORM

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели2.1K

В этой статье рассмотрим тему кастомных lookup-операторов в Django ORM. Они позволяют расширить стандартный синтаксис Django, интегрируя свои SQL-функции и алгоритмы, при этом сохраняя привычный вид фильтрации.

Читать далее