Обновить
30.74

SQL *

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

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

Как стать продуктовым аналитиком в Ozon Банке?

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

Всем привет! Меня зовут Миша, и я работаю продуктовым аналитиком в Ozon Банке. Мой путь в профессии начался всего 3 года назад, и я отлично помню, как мне самому не хватало подробного плана по входу в профессию. Поэтому я решил написать свой. Надеюсь, что он поможет новичкам и тем, кто только задумывается об аналитике данных)

Для того чтобы мой план был более интерактивным, давайте представим, что, идя по плану мы как Танос из вселенной Marvel – собираем навыки аналитика в свою перчатку бесконечности.

Читать далее

Третий шаг к повышению производительности Firebird

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

Данная статья является третьей частью перевода руководства по повышению производительности Firebird за авторством А.Ковязина и Э.Грегорио от 23.05.2024 (и потому продолжается сквозная нумерация пунктов), а так же текстовой расшифровкой соответствующего видео.

Читать далее

5 причин плохого настроения. История одного Flutter-проекта, который заставил нас поломать голову

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

Привет! На связи Никита Грибков, Flutter-разработчик AGIMA. В прошлом году я стал свидетелем жутких событий, которые разворачивались на одном из наших проектов. В сущности, жуткими они были только потому, что техзадание состояло из сложных и нестандартных задач — но всё-таки они изрядно потрепали нам нервы.

Времени на всё про всё, как водится, было по минимуму. Мы закатали рукава, вооружились всеми доступными инструментами — и начали подбирать решение для каждой проблемы. Ниже опишу, что представлял собой проект и какие именно задачи заставили нас поднапрячься.

Читать далее

Плюсы и минусы написания запросов с ORM и на SQL

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

SQL против ORM — один из самых горячих споров среди разработчиков. Одни уверены, что писать SQL-запросы вручную — это гарантия контроля и эффективности. Другие считают, что ORM упрощает жизнь и снижает вероятность ошибок. А что, если правда где-то посередине?

Читать далее

SQL vs Excel: когда таблицы уже не справляются

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

Когда в компании работа выстроена в Excel, проблем нет, пока в таблице несколько тысяч строк. Но бизнес растёт, и вот в файле уже миллион записей. Поиск тормозит, сложные формулы зависают. А если сотрудник случайно удалит столбец — восстанавливать придётся вручную. Это первые сигналы, что Excel не справляется. 

В этой статье разберём, когда Excel перестаёт быть удобным инструментом и как SQL помогает решать эти проблемы. А приглашённые эксперты поделятся практическими примерами и советами по переходу.

Читать далее

Боремся с токсичными комментариями с помощью ИИ, FastAPI и React

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

В последнее время я перестал читать комментарии к статьям на Хабре. Причина — токсичность и ненависть друг к другу. Абсолютно безобидные технические статьи подчас вызывают бурю агрессии у отдельных лиц. Всех банить тоже нельзя — свобода слова закреплена в Конституции. Но есть решение: давайте используем искусственный интеллект, который будет анализировать комментарий и переписывать его, меняя токсичность на вежливость, сохраняя основную мысль комментария.

Мы воспользуемся FastAPI для бэкенда, React для фронтенда, заставим их между собой общаться через RESTful API, а бизнес-логику реализуем путём обращения к ИИ через gRPC.

Читать далее

SQL HowTo: моделирование против подсчета (Advent of Code 2024, Day 21: Keypad Conundrum)

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

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

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

Пробуем смоделировать преобразования строк "в лоб", а потом - организовать подсчет и решить более сложную задачу в разы быстрее простой!

Читать далее

Оптимизация скриптов для витрин данных: от суток к часам

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

В 2022 году я присоединился к команде Газпромбанка в должности дата-инженера. В мои обязанности входила поддержка витрин данных для машинного обучения. Главной проблемой, с которой мне пришлось столкнуться, оказалось непомерно долгое время обработки данных при использовании устаревших скриптов. Например, расчет среза одной из витрин занимал более суток! Причина крылась в неоптимизированных скриптах, которые изначально разрабатывались для гораздо меньших объемов данных. Со временем объем обрабатываемой информации значительно увеличился, что закономерно привело к драматическому ухудшению производительности. В этой статье поделюсь своим опытом решения проблемы и расскажу о подходах, которые помогли сократить время выполнения с суток до нескольких часов.

Читать далее

BI-Ассистент для создания аналитических дашбордов и автоматизированного анализа данных

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

BI-Ассистент для создания аналитических дашбордов и автоматизированного анализа данных

Привет, Habr! На связи Александр Сулейкин, Founder DUC Technologies и наша LLM-команда – Роман Бабенко и Александра Деведерова, а также Бутнев Даниил — аналитик, бывший сотрудник компании, являющейся центром компетенций по качеству и метрологии. Мы подготовили статью по возможному применению и созданию BI-ассистентов на базе LLM моделей для создания аналитических дашбордов. Данная сфера пока еще находится в зачаточном состоянии, развитие LLM для BI-решений только набирает популярность. В данной статье мы описали возможный кейс совмещения BI и LLM на примере реального Use Case в сфере метрологии.

1. Введение

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

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

Читать далее

Меньше кода, больше результата: применяем sqlc для работы с БД

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

Привет, Хабр! Инструмент, который генерирует производительный и безопасный код для работы с базой данных — миф или реальность? В этой статье обсудим, что такое sqlc, откуда он появился и какие идеи в него заложены. Разберём его возможности и ограничения, а также кейсы, когда он подходит лучше всего.

Читать далее

Использование JSONB-полей вместо EAV в PostgreSQL

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

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

Читать далее

TrueSql – заново учимся ходить в базу данных. Часть 2 – количество обновленных строк и сгенерированные колонки

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

В первой части мы научили команду разработчиков пяти Fetch. Обучение прямому хождению в БД мы продолжим двумя короткими но важными темами: получение сгенерированных колонок и количества обновленных строк.

Читать далее

Bloom-фильтры в Postgres: скрытый инструмент для оптимизации запросов

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

В мире разработки и работы с базами данных Bloom-фильтры – это мощный, но малоизвестный инструмент, который может значительно ускорить выполнение запросов и снизить нагрузку на систему. Однако, несмотря на их потенциал, многие разработчики даже не знают, что Postgres поддерживает Bloom-фильтры "из коробки" (функциональность Bloom-фильтров доступна сразу после установки Postgres, при включении соответствующего расширения) через расширение bloom.

Bloom-фильтры особенно полезны в ситуациях, когда нужно быстро проверить, принадлежит ли элемент к множеству, или когда требуется оптимизировать запросы с несколькими условиями. Например, они могут ускорить JOIN-запросы, поиск по нескольким столбцам или агрегатные функции.

В этой статье мы разберем, что такое Bloom-фильтры, как они работают в Postgres, и в каких случаях их использование может быть полезным. Мы также рассмотрим практические примеры и покажем, как Bloom-фильтры могут помочь в оптимизации запросов.

Читать далее

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

TrueSql – заново учимся ходить в базу данных. Часть 1 – пять Fetch’ей

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

Сегодня мы начнем заново учиться ходить в базу данных. Рассмотрим все пять Fetch'ей TrueSql с кейсами их применения.

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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


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

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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