Рубрики
Технологии

Обработка временных рядов в TimescaleDB с интеграцией pandas и NumPy

Привет, Хабр! Если вы когда-либо занимались анализом данных, связанных со временем, то наверняка знаете, какое это иногда бывает нелегким занятием — особенно когда данных много, миллионы строк, и SQL начинает медленно кряхтеть под нагрузкой. Но для этого есть отличный инструмент: TimescaleDB на базе PostgreSQL. PostgreSQL в принципе хорош, но когда речь заходит о временной шкале, […]

Рубрики
Технологии

Практики управления проблемами. Недопоставка виртуальных мощностей

При устранении множественных противоречий важно иметь наработанные практики, модели решения проблем. Делюсь, может быть кому-то пригодится, несмотря на узость специфики. Пусть у нам в августе нужно внедрить информационную систему(ИС), но поставка виртуальных мощностей запланирована на декабрь. Пусть внедрением системы занимается менеджер проектов, а за эксплуатацию отвечает отдел эксплуатации виртуальной среды. Пусть резервных ресурсов не хватает […]

Рубрики
Технологии

Включение веб-интерфейса CBPolicyD в Carbonio

Ранее мы рассказывали о том, как настраивать различные почтовые политики во встроенном в Carbonio модуле CBPolicyD за счет правки таблиц в базе данных SQLite3. Такие политики позволяют настроить различные ограничения для пользователей, запретив им получать или отправлять больше заданного администратором количества писем, ограничить круг отправителей, способных отправлять письма получателям на сервере и так далее. В […]

Рубрики
Технологии

Пост @drema201 — Блог компании АО «ГНИВЦ» (+1) — 18.12.2024 16:17

И ещё раз о внешних ключах Выяснилось, что мы можем повлиять на механику создания/валидации внешних ключей таким же образом, каким мы можем повлиять на план исполнения обычного SQL-запроса. Мой тестовый пример (все имена реальных объектов заменены, планы и цифры реальные). Выполняю 3 варианта валидации FK c разными настройками сессии, план исполнения смотрю через расширение pg_query_state. […]

Рубрики
Технологии

Мой опыт эксплуатации кластера Trino

Trino — высокопроизводительный распределённый SQL-движок, с возможностью объединения данных из разнородных источников, таких как: реляционные БД, файловые хранилища, шины данных, inmemory-хранилища, облачные сервисы и тд. Архитектура ориентирована на выполнение аналитических запросов с минимальной задержкой. Т.е. с его помощью можно отправлять SQL-запросы в MongoDB и Kafka, например. Благодаря скорости, развитию, и удобству захватывает популярность у инженеров […]

Рубрики
Технологии

[Перевод] «Колонизаторы» на SQL

Думаю, почти все читатели хотя бы раз играли в Колонизаторов. Настольная игра «Колонизаторы» стала одним из лучших новогодних подарков для автора текста. Мы с друзьями провели много времени, играя в эту игру, и, должен сказать, нам было довольно весело. В этой небольшой статье мы нарисуем игровое поле для Колонизаторов с помощью SQL. Читать далее

Рубрики
Технологии

Рекурсивные запросы в SQLAlchemy

Когда возникает необходимость работать с иерархической структурой данных, кажется, что решение давно найдено, ведь подобные задачи уже неоднократно решались. Возможно, даже выбран инструмент, например, Python и SQLAlchemy. Однако, углубляясь в задачу, понимаешь, что вариантов множество, даже в вопросе, как извлечь данные из базы: использовать стратегию selectin для загрузки родительских элементов? Или, возможно, стоит применить joinload? А может, лучше […]

Рубрики
Технологии

SQL HowTo: агрегация внутри рекурсии (Advent of Code 2024, Day 11: Plutonian Pebbles)

Сегодня посмотрим на примере задачки из Advent of Code зачем и как можно обойти ошибку aggregate functions are not allowed in a recursive query’s recursive term, возникающую при попытке агрегировать какие-то данные внутри шага рекурсии на PostgreSQL — «если нельзя, но очень хочется, то можно». Читать далее

Рубрики
Технологии

Remote Code Execution через SQL инъекцию в Zabbix (CVE-2024-42327)

27 ноября 2024 года была выявлена критическая уязвимость в Zabbix с CVSS-оценкой 9.9, представляющая собой SQL-инъекцию в одном из эндпоинтов API Zabbix. Уязвимость позволяет атакующему, имеющему доступ к API, выполнить произвольные SQL-запросы. При определённых настройках Zabbix, которые разрешают удалённое выполнение команд через агентов, эта уязвимость может быть использована для полной компрометации инфраструктуры, находящейся под мониторингом […]

Рубрики
Технологии

Создание бота в дискорде с деплоем на сервер за 5 минут

Доброго времени суток, уважаемые читатели. В этой статье мы поговорим о том как сделать простейшего бота в Discord на Python с базой данных SQlite3 и задеплоим его с использованием GitOps-подхода за три команды в терминале. Функционал бота будет следующим: 1. Вывод пинга:  — Бот отвечает на команду /пинг, отправляя обратно сообщение с текущим пингом на […]