Статья дополнена и обновлена 7.11.2024

Три столпа функционального программирования в Rust: map, filter и fold

Представьте себе вот такую картину: вы сидите дома, и вокруг вас мирно мурлыкают котики. Но вдруг, что-то пошло не по плану: один начал ловить лазерный указатель, другой карабкается на шторы, третий — нагло укладывается на вашу клавиатуру. Ну, вы поняли, полный хаос. И тут возникает вопрос: как навести порядок в этом котячьем хаосе? Как упорядочить этот бесконечный поток пушистых данных?

Вот тут-то и приходит на помощь наш добрый друг — Rust, а точнее его функции mapfilter и fold. Они помогают не только приручить самых неугомонных data-котиков, но и сделать это без компромиссов по производительности.

Читать далее


Усиление PostgreSQL с помощью PL/Python

В этой статье мы прокачаем PostgreSQL, добавив в него Python. А именно — PL/Python. Это расширение позволяет писать функции на Python прямо внутри базы данных.

Читать далее


Анализ распределённых данных в PostgreSQL с помощью FDW

С ростом объёмов данных и увеличением популярности распределённых систем необходимость в анализе распределённых данных становится всё более актуальной. PostgreSQL, благодаря своему мощному функционалу и гибкости, предлагает инструмент, который значительно облегчает эту задачу — Foreign Data Wrappers (FDW).

Читать далее


Паттерн Unit of Work в Python с SQLAlchemy

Unit of Work отслеживает все объекты, которые были загружены в память и изменены в ходе выполнения программы. Он управляет их состояниями и сохраняет изменения в базе данных в конце транзакции. Это делается с использованием сессий, которые действуют как контейнеры для всех изменений.

Когда работа завершена, Unit of Work выполняет commit для всех изменений, сохраняя их в базе данных. Если что-то пошло не так, выполняется rollback, и база данных возвращается в состояние до начала транзакции.

В данной статье рассмотрим, как реализовать паттерн Unit of Work с использованием SQLAlchemy.

Читать далее


Сложная агрегация в Pandas с MultiIndex

В этой статье поговорим о Pandas MultiIndex — мощной штуке, которая спасает, когда приходится агрегировать кучу многомерных данных. В отчётах за несколько лет с миллионами строк, обычный groupby() просто не справлялся, а MultiIndex сделал всё красиво и быстро. Разберём, как использовать его для сложных операций, не тратя лишнего времени.

Читать далее


GENERATE_SERIES в SQL Server 2022 и более ранних версиях

Скорее всего, вы иногда сталкиваетесь с необходимостью генерирования строк на лету. И не только для простого получения последовательности чисел или дат, но и, например, для наполнения базы данных тестовыми данными, создания сводных таблиц (pivot) с произвольным количеством столбцов, экстраполяции данных, заполнения пропусков в диапазонах дат или времени.

При работе с SQL Server 2022 или Azure SQL Database, можно воспользоваться недавно появившейся в T-SQL встроенной функцией GENERATE_SERIES.

Читать далее


Как перейти с Oracle на PostgreSQL, используя Ora2Pg

В этой статье мы поговорим об актуальной задаче — миграции баз данных с Oracle на PostgreSQL с использованием Ora2Pg. Сейчас популярность PostgreSQL обоснована его мощностями и экономически выгодной альтернативы коммерческим решениям.

Читать далее


Создание простейшего back-end на Node.js с использованием PostgreSQL

Продемонстрируем, как создавать back-end приложения на Node.js c PostqreSQL. В качестве примера создадим простейший back-end на Node.js с использованием PostgreSQL.

Почему именно Node.js и PostgreSQL? Node.js имеет хорошую скорость и асинхронность, а PostgreSQL, в свою очередь, является мощной и надежной СУБД. Вместе они создают идеальный тандем для создания качественных приложений.

Читать далее


Настройка автовакуумирования в PostgreSQL

Сегодня поговорим о том, как правильно настраивать автовакуумирование в PostgreSQL — одном из механизмов, который позволяет базе данных оставаться «в форме» и поддерживать производительность на должном уровне. Если неправильно подойти к настройке, можно столкнуться с деградацией скорости обработки запросов и внезапным ростом объема данных.

Читать далее


Индексы NoSQL: как не заблудиться в многообразии решений

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

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

Читать далее


Хеш-Индексы в PostgreSQL

Хеш-индексы в PostgreSQL — это хороший инструмент для ускорения выполнения запросов.

В основе хеш-индекса лежит хеш-функция. Хеш-функция — это алгоритм, который преобразует входные данные (или ключ) в число фиксированного размера, называемое хеш-значением. В PostgreSQL хеш-функция всегда возвращает значение типа integer, что составляет примерно 4 миллиарда возможных значений.

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

Читать далее


Три фичи PostgreSQL, которые будут полезны каждому новичку

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

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

Читать далее

Подборка лучших статей по аналитике и базам данных на Хабр