Как стать автором
Обновить
177.52

Базы данных *

Все об администрировании БД

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

Кэшируем поток данных из Kafka в Tarantool: подробный пример реализации с кодом и результатами

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

Apache Kafka — популярный распределенный брокер сообщений, который собирает и сохраняет сообщения (данные) со всех источников, а после предоставляет их программам и сервисам-получателям. Благодаря своей производительности и архитектуре инструмент довольно активно используется в проектах, где нужно гонять большие объемы данных. Но даже возможностей Kafka не всегда достаточно — иногда системам нужен буст по скорости и надежности. И получить его можно с помощью кэширования данных в Tarantool.

Меня зовут Никита Молоствов. Я старший программист в команде разработки VK Tech. В этой статье я расскажу о том, как можно наладить взаимодействие Kafka и Tarantool, зачем может понадобиться кэширование потока из Kafka в Tarantool, и дам подробную пошаговую инструкцию, с которой каждый сможет применить мои наработки в собственной системе.

Читать далее

«У нас кончились столбцы» — Лучшая, худшая кодовая база

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

Оу, таблица merchants2? Ну, у нас кончились столбцы в merchants, так что мы сделали merchants2.

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

Читать далее

Создание блога на FastAPI с нуля: JWT, Markdown и современный веб-дизайн

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

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

Мы рассмотрим асинхронную работу с SQLAlchemy 2, включая сложные запросы и связи ManyToMany, а также интеграцию фронтенда с использованием Jinja2.

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

Читать далее

10 инструментов для облегчения backend-разработки

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

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

Однако правильные инструменты способны значительно облегчить работу разработчика.

Сегодня мы познакомимся с 10 инструментами, которые сделают backend-разработку проще.

Этот список вас удивит.

<h2>1. Encore — фреймворк для backend‑разработки на TypeScript и Go, предназначенный для создания надёжных и типобезопасных приложений.</h2>

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

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

Это как если бы у вас была кухня, полностью укомплектованная ингредиентами и инструментами, и вы могли бы сразу приступить к готовке, не тратя время на сбор всего необходимого.

Encore предоставляет opensource-фреймворк для backend-разработки (на TypeScript и Go), который позволяет определять инфраструктуру в виде типобезопасных объектов прямо в вашем приложении, объединяя инфраструктуру с кодом приложения. Encore автоматически занимается предоставлением инфраструктуры и DevOps, анализируя код приложения.

Это позволяет быстро создавать готовые к продакшену backend’ы, используя такие инструменты, как микросервисы, Postgres и Pub/Sub, без излишней сложности и забот о DevOps. Дополнительно вы получаете:

Читать далее

Документы под контролем: Как выбрать идеальную платформу и не сойти с ума

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

Запутались в выборе платформы для работы с документацией? Функций море, терминология запутанная, а вариантов столько, что глаза разбегаются—даже опытные специалисты порой теряются! Мы собрали для вас 10 ключевых критериев, которые помогут найти идеальную систему управления документацией без лишней головной боли. Давайте разберёмся вместе!

Читать далее

Разворачиваем PG Back Web в облаке: как автоматизировать резервное копирование PostgreSQL

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

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

В этой статье рассмотрим задачу управления резервным копированием для PostgeSQL с помощью популярного Open Source решения PG Back Web.

Читать далее

Качественные данные для среднего бизнеса: почему без промышленной платформы интеграции не обойтись?

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

Качество данных и его значение для среднего бизнеса. Что такое качество данных? Почему качество данных так важно для среднего бизнеса? Кто относится к среднему бизнесу в России? Основные риски низкого качества данных. Основные рекомендации по выбору решений.

Читать далее

Универсальный классификатор НСИ- правда или фантастика?

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

Управление НСИ — оптимизация рабочих процессов. Основные задачи НСИ. Прикладные задачи. Классификация номенклатуры. Методы классификации НСИ. Основные критерии.

Читать далее

Разбираем алгоритм полнотекстового поиска BM25

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

BM25, или Best Match 25 — это широко используемый алгоритм полнотекстового поиска. Среди прочего, он по умолчанию применяется в Lucene/Elasticsearch и SQLite. В последнее время в рамках «гибридного поиска» часто начали комбинировать полнотекстовый поиск и поиск по схожести векторов. Мне захотелось понять, как работает полнотекстовый поиск и в частности BM25, поэтому в этой статье я постараюсь разобраться в этом.

Читать далее

Динамические SQL-запросы в PostgreSQL: когда, зачем и как

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

Сегодня поговорим о мощной штуке в PostgreSQL, которая одновременно помогает и открывает портал в ад: динамические SQL‑запросы. Динамика — это когда SQL собирается на лету, а не пишется заранее статичным текстом. Звучит неплохо, но при неправильном подходе легко превращается в катастрофу.

Читать далее

Spring Boot Avengers: объединяем Spring Data JDBC и JSONB в PostgreSQL

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

При работе со Spring Data JDBC и колонкой базы данных с типом `jsonb` вы можете столкнуться с трудностями при выборе правильного типа для свойства `jsonb` в entity, реализации конвертеров для преобразования объектов из/в базу данных и определении запросов Spring Data JDBC для вложенных свойств `jsonb`.

Читать далее

Большой гайд по миграциям в Django: готовимся к миграциям и избегаем конфликтов

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

Привет! Меня зовут Макс, я backend-разработчик в компании idaproject и автор YouTube-канала PyLounge.

Я всегда хотел создавать контент, который пригодился бы мне самому в прошлом или настоящем. Эта большая статья — не исключение. Она для тех, кто только начинает изучение Django: жалею, что когда я начинал, мне не попался подобный материал. Надеюсь, он станет для вас хорошим подспорьем. 

Кому-то всё сказанное здесь покажется очевидным, но я всегда придерживался принципа — «то что очевидно мне или вам, не всегда очевидно другому».

Что будет? Я расскажу, что такое миграции, зачем они нужны, как подготовиться к работе с ними и провести базовую работу на Django; отдельно подсвечу тему конфликтов и схлопываний, покажу, как содержать в чистоте историю миграций. 

Всё это с примерами на практике и иллюстрациями. Погнали!

Читать далее

PostgreSQL — особенности работы с памятью для 1С-систем. Часть 2

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

Продолжаем исследовать и настраивать память в PostgreSQL. Начало см. здесь.

Будет ешё итретья — заключительная часть, где я постараюсь максимально доступным языком рассказать уже методику выбора настроек. А пока предлагаю набраться терпения и ознакомиться со следующей порцией исследования по выбору настроек оперативной памяти PostgreSQL. Предупреждаю, будет не просто и, наверняка, не каждый доберется до конца.

В первой части были рассмотрены параметры shared_buffers, maintenance_work_mem, autovacuum_work_mem. А сегодня на повестке параметры temp_buffers и work_mem.

Читать далее

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

Транзакции в базах данных на примере PostgreSQL

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

Транзакция — это набор операций с базой данных. В этот набор может входить как одна операция, так и несколько. Операции внутри транзакции либо выполняются все и полностью, либо ни одна операция не выполняется. Это свойство еще называют атомарностью. Транзакция переводит базу данных из одного согласованного состояния в другое. Согласованность означает что данные в базе данных подчиняются определенным правилам, которые были заложены при ее создании. К примеру, у нас есть две таблицы — Покупатели (Customer) и Покупки (Purchase).

Читать далее

Прощай, Маша, не поминай лихом! Как мы переходили с MariaDB на PostgreSQL

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

Привет, Хабр! Меня зовут Игорь, и я один из разработчиков НОТА ЮНИОН. При подборе сотрудников (рекрутменте) есть много рутинных задач, отнимающих немало времени. Чтобы рекрутеры могли больше времени уделять, скажем так, творческой части своей работы, есть решение «Нота Юнион». Это набор инструментов для автоматизации подбора сотрудников. И в этом году мы перевели его базу данных с MariaDB на PostgreSQL. Задача оказалась масштабной, пришлось изрядно потрудиться. Хочу рассказать о том, почему мы решили поменять базу и как это реализовали. Возможно, вам это поможет сразу выбрать более подходящий под ваш продукт вариант.

Читать далее

Как использовать JSON в СУБД РЕД База Данных 5. Основные функции

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

Привет, Хабр, это команда разработки СУБД РЕД База Данных от компании «РЕД СОФТ»! Недавно мы представили мажорный релиз РЕД Базы Данных 5.0, в котором добавили поддержку работы с JSON‑форматом. В этом материале мы расскажем, как пользоваться основными функциями JSON в СУБД РЕД База Данных. И, так как РЕД База Данных основана на Firebird, в ближайшее время формат будет портирован и в эту open source СУБД.

Читать далее

Ускоряем запросы в PostgreSQL, оптимизируя оператор GROUP BY

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

Пользователи PostgreSQL нередко оперируют аналитическими запросами, при выполнении которых данные сортируются и группируются по разным правилам. За счёт оптимизации вычисления агрегатов и сортировок можно значительно сократить время и стоимость выполнения запросов. Об одной из таких оптимизаций — выборе порядка колонок в выражении GROUP BY — расскажем в этой статье.

Postgres уже умеет перестраивать список группируемых выражений в соответствии с порядком колонок из условия ORDER BY, чтобы исключить дополнительную сортировку и сэкономить вычислительные ресурсы. Мы пошли дальше, реализовали свою идею в дистрибутивах Postgres Pro Standard и Enterprise и вынесли патчи на обсуждение сообщества Postgres (первое и второе) в надежде, что они войдут в ближайшую версию ванильного PostgreSQL.

Читать далее

Неочевидные для начинающих тонкости Postgres

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

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

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

За исключением… Postgres.

Не потому, что официальная документация несовершенна (она прекрасна!), просто её очень много. Если распечатать её как стандартный PDF на бумаге формата Letter, то получится 3206 страниц (для текущей версии 17)1. Разработчик-джун вряд ли сможет сесть и прочитать её с начала до конца.

1. Если печатать на бумаге A4, то получится 3024 страницы; наверно, это ещё один аргумент в пользу стандарта.

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

Надеюсь, это упростит процесс освоения для читателей моей статьи.

Стоит отметить, что многое из описанного может быть применимо и к другим системам управления базами данных (СУБД) SQL и вообще к базам данных в целом, но я слабо знакома с ними, так что не буду утверждать с уверенностью.
Читать дальше →

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

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

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

Читать далее

Сравнение реализаций гео-решений в СУБД

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

Привет, Хабр! Сегодня быстро разберём, как разные СУБД справляются с геоданными. Вопрос простой: если нужно работать с координатами, полигонами, считать расстояния — какая база справится лучше? В сравнение пойдут PostgreSQL (с его крутым PostGIS), MySQL, Oracle, SQL Server и MongoDB.

Читать далее