Обновить
256K+

SQL *

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

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

Цикл статей о Greenplum. Часть 3. Оптимизация

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

Приветствуем вас на заключительном этапе в цикле статей о Greenplum. Ранее мы уже обсудили то, как выглядит архитектура системы. Посмотрели «под капот», подробнее обсудили виды хостов и их предназначение, узнали, как обрабатываются запросы пользователей.

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

Освежить память о содержании предыдущих статей можно здесь и здесь.

В данной статье мы совместно с @omoskvinрасскажем о том, что влияет на оптимальность выполнения запросов, как отслеживать различные проблемы и, конечно же, как с ними справляться. 

Читать далее

Нужен ли Postgres альтернативный сборщик статистики таблиц?

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

Речь здесь пойдёт о стабильности стандартной статистики Postgres и об идее очередного расширения - на этот раз альтернативы команде ANALYZE. Всё началось с того, что заканчивая работу над предыдущей статьёй я вдруг заметил, что результат выполнения одного и того же запроса теста Join Order Benchmark (JOB) в серии последовательных прогонов может отличаться в разы и даже на порядки - причем как по значению параметра execution-time, так и по pages-read. Это выглядело очень странно, поскольку и тест и ноутбук и все настройки оставались теми же - даже погода за окном. И я решил расследовать, что происходит …

Читать далее

Маскирование данных от А до Я

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

Всем привет! Меня зовут Светлана Анохина, я младший бизнес-партнёр по информационной безопасности в Ozon. Несмотря на небольшой стаж, опыт работы у меня довольно разносторонний, ведь моя роль предполагает участие практически во всех аспектах безопасности (если интересно, кто такие бизнес-партнёры по ИБ, то рекомендую почитать статьи моих коллег Даши или Максима на эту тему).

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

На первых этапах погружения в профессию, когда я была студенткой и только начинала разбираться в защите данных, проблемы безопасности казались мне чем-то далёким и почти гипотетическим. Мысль о том, что личная информация — адрес, электронная почта или данные банковской карты — может попасть в чужие руки, не вызывала у меня особого беспокойства. Утечка данных? Да, неприятно, но ведь это происходит где-то далеко и вряд ли касается меня напрямую.

Но всё изменилось, когда я впервые устроилась работать в команду безопасности данных крупной компании. Я увидела, как это выглядит в реальной жизни: настоящие утечки, реальные данные и конкретные последствия. Тогда я осознала, что даже самая простая ошибка или недосмотр могут привести к тому, что чья-то личная информация окажется у злоумышленников, и защита данных — это не прихоть, а насущная необходимость. Каждая строка кода, каждое принятое решение могут стать барьером между безопасностью и катастрофой.

В компаниях с развитой культурой информационной безопасности обычно уже испробовано многое: от простых решений до сложных, почти инженерных конструкций. На первых порах, будучи младшим специалистом, я поняла, что изобрести нечто радикально новое вряд ли удастся. Тогда я решила попробовать другой подход: взять уже известный метод защиты и попробовать применить его по-новому. Конечно, не всё сразу получалось, но на ошибках я училась, развивала навыки и продолжаю это делать до сих пор.

За время своей работы в e-commerce-компаниях я собрала некоторый перечень подходов и инструментов защиты, которые реализую в своём направлении. Сегодня я хочу рассказать о маскировании вам, моим коллегам, которые так же, как и я, стремятся сделать данные безопасными, а жизнь пользователей — спокойной.

Читать далее

SQL HowTo: находим «елочку» с помощью центра масс (Advent of Code 2024, Day 14: Restroom Redoubt)

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

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

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

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

Читать далее

По ту сторону экрана: про найм в Data-аналитики глазами нанимающего Лида

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

Да, IT-найм сломан, но и соискатели не упрощают ситуацию потенциальным руководителям и себе самим. Пара примеров, как не надо делать.

Читать далее

Плюсы и минусы SUMMARIZE

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

При использовании DAX аналитикам важно следить не только за корректностью результатов, но и за производительностью системы при обработке запросов. Одним из инструментов повышения эффективности является корректное использование функции SUMMARIZE. Всем, кто работает с большими объемами данных, активно изучает синтаксис DAX, а также интересующимся особенностями SUMMARIZE — добро пожаловать под кат!

Читать далее

PostgreSQL 18: Часть 2 или Коммитфест 2024-09

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


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


Напомню, что самое интересное из июльского коммитфеста можно прочитать здесь: 2024-07.

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

Записки оптимизатора 1С (часть 9). Влияние сетевых интерфейсов на производительность высоконагруженных ИТ-систем

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

Подумал, что необходим небольшой пост, посвященный сетевым адаптерам/интерфейсам, которые устанавливают в своих ИТ-ландшафтах пользователи. Речь пойдет не столько о конкретных моделях, сколько про то, что сеть такой же компонент информационной системы (как и те же диски, память, CPU), и на него нужно обращать не менее тщательное внимание. Многие его просто игнорируют и недооценивают – «Ну сеть и сеть, что там с ней может быть не так? Вот же 10 Гбит/с. Вот график пропускной способности. Всё прекрасно.».

Читать далее

Вопрос на техинтервью аналитика и разработчика: “Назовите способы проверки username на уникальность”

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

Продолжаем посты на тему технических интервью. Новый пост, который мы позаимствовали у автора Дилана Смита, будет для джунов по специальностям «Системный аналитик», «Backend‑разработчик» и «Fullstack‑разработчик». Иногда такой вопрос также попадается на интервью архитекторам и инженерам баз данных. Ответ на вопрос из заголовка может быть как очень коротким, где всего четыре пункта, так и развернутым — включая примеры кода и диаграммы. Естественно, мы рассмотрим тему во всех подробностях.

Читать далее

SQL HowTo: пошагово решаем СЛУ (Advent of Code 2024, Day 13: Claw Contraption)

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

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

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

В этой части совсем простая идея по одновременному решению систем линейных уравнений "пачками".

Читать далее

Простой биллинг для Telegram-бота на SQL

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

Некоторое время назад я запустил Telegram-бота для мониторинга сайтов и обозначил в нём тариф из двух строчек.

Сколько строк на SQL понадобилось для реализации такого тарифа и как в целом устроен биллинг в моём боте расскажу в статье.

Читать далее

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

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

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

Плюс в статье делюсь своей технической реализацией в ознакомительных целях.

Нырнуть в дебри

Простое решение для автоматизации контроля за состоянием базы данных с использованием EF Core

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

Привет, Хабр! Меня зовут Кирилл Салихов, и я занимаюсь разработкой бизнес-приложений на платформе .NET в компании КРОК. При оптимизации процессов развертывания приложений возник вопрос о том, как эффективно хранить SQL-код, предназначенный для применения к базе данных, чтобы избежать необходимости в ручном труде и перемещении файлов.

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

So what if I swagger?

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

Django против N+1 запросов: оптимизация с помощью select_related и prefetch_related

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

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

Сегодня рассмотрим проблему N+1 запросов в Django. N+1 запросы появляются, когда ваш код делает много мелких SQL-запросов вместо нескольких крупных.

Читать далее

SQL HowTo: волновой алгоритм и подсчет границ (Advent of Code 2024, Day 12: Garden Groups)

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

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

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

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

Читать далее

Когда начинать ходить на собеседования продуктовому аналитику?

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

Этот вопрос волнует многих начинающих аналитиков и даже тех, кто уже частично освоил профессию, но не уверен, пришло ли время делать следующий шаг.

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

Читать далее

Планы и факты: работаем с денормализованной таблицей

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

Привет, Хабр! В этой статье я хотел бы поговорить про особенности план-факт анализа, а также о работе с денормализованной таблицей, которая «была, есть и будет использоваться», потому что оказывается удобной для некоторых приемов работы с BI. Под катом вы найдете 7 примеров решения типовых задач план-факт анализа, включая расчет долей, отображение данных с учетом иерархии, разбивку по регионам и так далее. Всех, кому интересны эти практические аспекты, жду под катом :)

Читать далее

Переливаем таблицы БД между средами: быстро и без боли на примере MS SQL

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

Необходимость переноса данных из одной среды в другую — задача, с которой разработчики сталкиваются достаточно часто. Например, для отправки таблиц из прода в среды для тестирования. Вместе с тем, такая «перезаливка» таблиц нередко превращается в настоящий квест, по ходу которого нужно не только гарантировать сохранность данных, но и исключить ошибки, связанные с человеческим фактором. Поэтому лучшей практикой является автоматизация переноса.

Меня зовут Евгений Грибков. Я ведущий программист в центре технологий VK. В этой статье мы рассмотрим одно из возможных решений создания скрипта перезаливки заданных таблиц из одной БД в другую на примере MS SQL.

Читать далее

SQL HowTo: поиск «в ширину» внутри цикла (Advent of Code 2024, Day 10: Hoof It)

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

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

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

В этой части снова сталкиваемся с вложенным в цикл рекурсивным поиском "в ширину".

Читать далее

Визуализация Active Session History в PostgreSQL — делаем просто и красиво

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

Привет! Меня зовут Геннадий, я Oracle и PostgreSQL DBA в компании Uzum. По пути еще иногда занимаюсь NoSQL, люблю автоматизировать информацию из Ansible и визуализировать нужные мне метрики в Grafana. Хочу поделиться дашбордом для Grafana, который отображает историю активных сессий PG с их текущим SQL, отсортированных по группам ожиданий. Он помогает мне искать проблемы производительности PG-баз, и может пригодиться тем, кто администрирует Postgres.

Читать далее