Обновить
247.89

Базы данных *

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

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

Приглашаем на вебинар «JSON по стандарту SQL. Работа со слабоструктурированными данными в реляционной СУБД»

На встрече рассмотрим практический пример автоматизации загрузки и анализа данных. Особое внимание уделим следующим аспектам:

— эффективная обработка JSON-данных с использованием стандарта SQL
— построение аналитических отчетов на основе JSON-источников
— обеспечение целостности данных при массовой обработке

В ходе презентации будут представлены результаты тестирования:

— девятикратное ускорение загрузки и обработки данных с 40 с до 4.5 секунд
— возможность повышения эффективности ежедневных операций
— ускорение получения актуальной аналитики

Дата и время: 27.11 в 14:00, по ссылке

Ждем всех заинтересованных специалистов для профессионального обсуждения.

Теги:
0
Комментарии0

Вендинговый оператор перенес mission-critical инфраструктуру в облако Cloud.ru и настроил резервное копирование базы данных 💽

👨‍💻 Что за компания

UVENCO — крупнейший оператор вендинговых автоматов бренда UNICUM в России, обслуживает 20 000 торговых аппаратов, включая микромаркеты и кофе-поинты, в 65 городах страны.

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

🕵️ Какая была задача

Система онлайн-телеметрии на 20 000 автоматов — это тысячи транзакций в секунду, постоянные записи в базы данных и высокая чувствительность к задержкам. Для UVENCO это mission-critical система: любая деградация ядра телеметрии отразится на продажах и сервисе по всей стране.

Ранее телеметрия работала на локальных серверах. Но для требуемого SLA пришлось бы резервировать вычислительные кластеры, систему хранения данных (СХД), сеть и питание — это дорого и сложно в сопровождении. Масштабирование под ввод новых автоматов тормозилось бы капитальными затратами.

👨‍🔧 Как ее решили

IT-специалисты UVENCO развернули виртуальные машины и перенесли сервисы телеметрии на платформу Облако VMware. Миграция выполнялась средствами VCDA без изменения архитектуры приложений. После оценки производительности инженеры Cloud.ru предложили перейти на выделенный хост, чтобы исключить шум соседей и закрепить ресурсы только за UVENCO.

📈 Что в результате

Телеметрия работает стабильно, БД регулярно и корректно резервируется. Переезд снял риск простоев и дал UVENCO возможность оперативно масштабироваться под рост нагрузки.

Читать кейс полностью 💼

Теги:
0
Комментарии2

О работе с субд

В последнее время появилось много крайне спорных публикаций о PostgreSQL

Перестаньте наконец выкладывать ваш код на python/java/php как вы расчитываете остатки, боретесь с блокировками и прочее.

Вы работаете с СУБД в контексте вашего поста. Оформляйте в конце концов с помощью вьюх и хранимых процедур. Причина проста - Ваш гениальный интернет магазин не является единственным клиентом базы данных а дублирование кода с вариациями зло. Поймите наконец для чего были созданы столь ненавистные вам процедуры, вьюхи. Когда видишь "гениальный" код обернутый в кучу асинхронных вызовов (бредовый код с точки зрения задачи) select * from x where x.a= 20 и читаешь оассуждения о быстродействие у человека работавшего с субд нв минимальном уровне - первый вопрос какого черта запрос не параметризирован.

Теги:
-3
Комментарии14

Бенчмарк бенчмарка Lakehouse-движков, в котором побеждает объективная реальность

В блоге Data Sapience, технологического партнера GlowByte, вышла крутая статья технического идеолога Lakehouse-платформы данных Data Ocean Nova Евгения Вилкова.

Недавно на Хабре вышла статья с громким заголовком “Бенчмарк lakehouse-движков, часть 1: StarRocks и Doris падают под нагрузкой, Presto аутсайдер, CedrusData быстрее всех”. В своей статье авторы из Кверифай Лабс выбрали методику TPC-DS, но вместо 99 запросов остановилась на одном, который к тому же запускается на одной машине. Обосновывается это тем, что на одном конкретном запросе нужно разобрать работу оптимизаторов. По результатам исследования делается вывод, что решение, разработанное авторами, является лучшим, в том числе для запуска одного конкретного запроса на одном узле. Давайте попробуем разобраться, действительно ли это так.

В качестве отступления замечу, что данный эксперимент не имеет ничего общего с массивно-параллельными вычислениями и Lakehouse. Архитектура раздельных вычислений предполагает интенсивный сетевой обмен не только между storage и compute, но и между узлами compute-движка. Как заметили в комментариях к оригинальной статье, с тем же успехом можно было включить в тест и MySQL. Складывается впечатление, что методика тестирования была выбрана исключительно из-за заявленных компетенций в области оптимизатора движка, а запрос – исходя из наличия собственных доработок для обработки схожего случая. Главной же целью было на частном выводе убедить аудиторию в общем выводе. Отдадим должное коллегам – они не скрывают субъективность своего отношения к упражнению.

Заинтригованы? Добро пожаловать в статью Евгения! Комментарии приветствуются.

Теги:
+1
Комментарии0

Задача про копирование базы данных

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

Условие

Компания «Тирекс&Co» очень боялась потерять базу данных с клиентами и закупила для своих задач партию жестких дисков. Теперь раз в день администратор создает копию от каждой актуальной версии БД на любой диск, на котором еще не было бэкапа. То есть каждый день количество копий базы данных увеличивается в два раза. Через неделю они полностью заполнят все жесткие диски.

Задача

За сколько дней заполнятся все свободные жесткие диски, если вместо одной базы данных будет две на разных накопителях?

Делитесь ходом рассуждений и решениями в комментариях. Кстати, подсмотреть их всегда можно в Академии Selectel.

Теги:
+5
Комментарии2

Новое видео с нашей Конференции Luxms, в котором Вадим Кананыхин, Руководитель отдела управления и аналитики данных ГК «Синтека», рассказал про свои наработки и интересные проекты, а также поделился собственными приемами и «лайфхаками» работы с Luxms BI.

Luxms BI — классный продукт, который нам развязал руки и кардинально увеличил наши возможности в аналитике, построении отчётности, управлении хранилищами данных.

В выступлении:

  • BI-дэшборд для поставщиков: управленческие данные в одном окне, фильтры и гибкая визуализация под роль пользователя;

  • Оптимизация процессов: ускорение расчётов за счёт предобработки JSON и автоматического обновления только новых данных;

  • Рост эффективности: перераспределение ресурсов и фокус на наиболее прибыльных товарных категориях;

  • Отказоустойчивость и автономность: автоматический контроль сборов данных и уведомления о сбоях в Telegram;

  • Luxms BI + Luxms Data Boring = инфраструктура доверия: свежие данные, надёжная архитектура и единый источник аналитической правды.

Видео выступления и материалы — на нашем сайте.

Теги:
0
Комментарии0

Тестирование движков массивно-параллельных вычислений: StarRocks, Trino, Spark. Spark — с DataFusion Comet и Impala

Друзья, в блоге компании Data Sapience, партнера GlowByte, вышла новая статья, третья в цикле материалов про нагрузочные испытания вычислительных технологий массивных параллельных вычислений.

Ранее техническим руководителем решений Data Ocean Nova и Data Ocean Flex Loader Евгением Вилковым были опубликованы статьи, посвященные сравнению Impala, Trino и Greenplum, в том числе по методике TPC-DS.

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

Теги:
+1
Комментарии0

Эта миссия теперь выполнима — импортируем данные из PostgreSQL 💼

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

Как переносить: перейти в нужную базу → кнопка ☝️ → ввести креды от базы-источника и выбрать владельца новой базы → done.

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

Рубрика вопросы:

1️⃣ Я могу перенести данные между разными версиями PostgreSQL?

➖ Да, но не получится перенести специфичные типы данных.

2️⃣ А могу выбрать уже существующую базу для импорта?

➖ Нет, новая база создается автоматически. Если в панели уже есть база с таким именем, то система выдаст ошибку.

Импортировать базу в пару кликов →

Теги:
+13
Комментарии0

Расширения PostgreSQL в Amvera Cloud

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

Теперь можно создать кластер с pgVector, PostGis и TimescaleDB. Дополнительно появилась возможность управления локалями и некоторыми другими параметрами.

Подключение расширений PostgreSQL
Подключение расширений PostgreSQL
Теги:
Всего голосов 1: ↑0 и ↓1-1
Комментарии0

Грамота исследует язык информационных технологий

Многие термины в сфере информационных технологий заимствованы из английского языка. В шорт-листе ИТ-номинации прошлогоднего «Слова года» по версии Грамоты оказались только заимствованные слова: промпт, дипфейк, опенсорс, копилот. 

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

Портал «Грамота.ру» в коллаборации с компанией «Хабр» собираются изучить, как сами ИТ-специалисты воспринимают свою профессиональную лексику, насколько сложно подобрать «русскоязычную» замену иноязычным терминам и с чем связана эта сложность.

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

Приглашаем ИТ-специалистов и представителей других специальностей, работающих в ИТ-компаниях, принять участие в исследовании «Язык профессиональных сообществ».

Пройдите наш опрос по ссылке — он займет всего 10 минут:

https://forms.gle/KvB2Yv6ueS9AkDFB8

Результаты исследования будут опубликованы на Хабре и на Грамоте.

Теги:
Всего голосов 6: ↑6 и ↓0+7
Комментарии3

Подборка бесплатных обучающих материалов о PostgreSQL

Привет, Хабр! Новая пятница — новая порция обучающих статей. Сегодня собрал публикации, которые помогут тем, кто хочет лучше разобраться в PostgreSQL. По классике: все бесплатно. Чтобы прочитать подборки, даже регистрироваться нигде не нужно. Бонусом в конце поста будет ссылка на курс. Он тоже не стоит ни копейки, но там все же нужно зарегистрироваться. Итак, поехали.

PostgreSQL для новичков

В подборке 14 статей на два с половиной часа чтения. Здесь база: установка и настройка PostgreSQL, нюансы управления, резервного копирования и репликации. Для ленивых — что делать, если администрировать самим БД не хочется.

Средний уровень

В девяти статьях за полтора с небольшим часа рассматриваем настройку PostgreSQL в Docker и для работы с 1С. Вы разберетесь в командах, триггерах, индексах и организации мониторинга.

PostgreSQL на максималках: практикум по расширениям

Пять статей и чуть больше часа на их изучение. Эта подборка — ваш гид по расширениям PostgreSQL: от безопасности и оптимизации до работы с геоданными. Вы познакомитесь со всеми этими pgcrypto, jsquery и т. д., а заодно научитесь применять их без лишней теории.

Бонус. Бесплатный онлайн-курс для новичков «Погружение в PostgreSQL»

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

Теги:
Всего голосов 7: ↑7 и ↓0+11
Комментарии0

Дарим 35 000 рублей, чтобы протестировать сервисы Evolution Data Platform 🎁

Переходите по ссылке, чтобы получить 35 000 рублей и попробовать сервисы для работы с Big Data и машинным обучением. Оцените интерактивную аналитику, постройте ETL-пайплайны и Data Lakehouse-решения для вашего бизнеса.

Какие сервисы можно протестировать с бонусными рублями?

  1. Evolution Managed Trino — аналитический SQL-движок Trino, чтобы облегчить обработку больших объемов данных с помощью распределенных запросов.

  2. Evolution Managed Spark позволит развернуть кластерный вычислительный сервис, создать и конфигурировать инстансы Spark.

  3. Evolution Managed Metastore подойдет для хранения метаданных: информацию о таблицах, колонках и партициях.

  4. Evolution Managed BI — облачный сервис для удобной визуализации и анализа данных. Собирайте информацию из MySQL, Oracle, PostgreSQL и других источников — и стройте на их основе графики, таблицы и диаграммы.

  5. Evolution Managed Airflow позволяет обрабатывать данные по принципу ETL, объединять задачи в пайплайны, планировать и запускать их по расписанию.

Тратьте бонусные рубли прозрачно: 1 бонус = 1 рубль. Получить подарок можно до конца года, а действовать он будет 60 дней с момента активации.

Теги:
Рейтинг0
Комментарии0

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

🚀 Объём корпоративных данных растёт на десятки процентов в год, а специалистов всё так же не хватает. В статье для VC.RU мы вместе с Екатериной Ризановой рассказали, как ИИ-агенты помогают решать эту проблему: берут на себя рутинные задачи в хранилищах данных и BI-системах, ускоряют работу команд и экономят компаниям миллионы рублей в год.

ИИ-агент — это не чат-бот. Он сам выполняет действия: анализирует код витрин, строит lineage, генерирует SQL, находит инсайты и помогает сотрудникам сосредоточиться на действительно важных задачах.

👉 Делюсь материалом: https://vc.ru/ai/2233616-ii-agent-dlya-rabotyi-s-bolshimi-dannymi

Теги:
Всего голосов 1: ↑1 и ↓0+3
Комментарии0

Квиз: основы работы с базами данных

Если вы изучаете базы данных или давно не работали с ними и хотите проверить знания, приглашаем пройти наш новый квиз. Ответьте на несколько теоретических вопросов и попробуйте расшифровать SQL-запросы — в конце получите промокод на 1000 бонусов в панели Selectel.

Пройти квиз

Не забудьте поделиться результатами в комментариях!

Теги:
Всего голосов 6: ↑6 и ↓0+11
Комментарии1

Привет, коллеги! 👋

Снова с вами рубрика "вечерний вайбкодер", и сегодня я принёс вам MyRepETL (Ссылка на github)— инструмент для ETL через MySQL репликацию.

Зачем это нужно?

Задача: у вас куча MySQL баз в микросервисах, нужно всё это затащить в Metabase для красивых отчетов.

Проблема в том, что:

  • В каждой базе своя схема и структура

  • Данные нужно объединить и нормализовать

  • Metabase любит когда всё в одном месте

  • Ручной экспорт/импорт — это боль

MyRepETL решает это: берёт данные из всех ваших баз, трансформирует их на лету и складывает в единую аналитическую базу для Metabase.

Что умеет MyRepETL

🚀 Основные фишки

Многопоточность из коробки

  • Каждый источник работает в своём потоке

  • Не блокирует друг друга

  • Автоматически восстанавливается при сбоях

Гибкие трансформации

  • Переименование таблиц и колонок

  • Вычисляемые поля

  • Фильтрация данных

  • Кастомные Python-функции

JSON-конфигурация

  • Всё настраивается через конфиг

Как использовать

Простая синхронизация

Самый базовый случай — просто скопировать данные из одной базы в другую:

{
  "sources": {
    "prod_db": {
      "host": "prod-mysql",
      "user": "repl_user", 
      "password": "repl_pass",
      "database": "production"
    }
  },
  "targets": {
    "backup_db": {
      "host": "backup-mysql",
      "user": "backup_user",
      "password": "backup_pass", 
      "database": "backup"
    }
  },
  "mapping": {
    "prod_db.users": {
      "source": "prod_db",
      "target": "backup_db",
      "source_table": "users",
      "target_table": "users"
    }
  }
}

С трансформациями

А теперь добавим магию — переименуем таблицу, добавим вычисляемые поля:

{
  "mapping": {
    "prod_db.customers": {
      "source": "prod_db",
      "target": "analytics_db",
      "source_table": "customers",
      "target_table": "users",
      "column_mapping": {
        "id": {"column": "user_id"},
        "name": {"column": "full_name"},
        "email": {"column": "email"},
        "birth_date": {"column": "age", "transform": "transform.calculate_age"},
        "phone": {"column": "formatted_phone", "transform": "transform.format_phone"},
        "created_at": {"column": "registration_date"},
        "source": {"column": "source_system", "value": "production"}
      }
    }
  }
}

Создайте файл transform.py с вашими функциями:

# transform.py
def calculate_age(birth_date, row_data, table):
    from datetime import datetime
    if not birth_date:
        return None
    birth = datetime.strptime(birth_date, '%Y-%m-%d')
    return (datetime.now() - birth).days // 365

def format_phone(phone, row_data, table):
    if not phone:
        return None
    # 79991234567 -> +7 (999) 123-45-67
    return f"+7 ({phone[1:4]}) {phone[4:7]}-{phone[7:9]}-{phone[9:11]}"

Запуск

# Установка с GitHub
pip install git+https://github.com/tumurzakov/myrepetl.git

# Или клонировать и установить локально
git clone https://github.com/tumurzakov/myrepetl.git
cd myrepetl
pip install -e .

# Запуск с конфигом
myrepetl run config.json

# Или через Docker
docker run -v ./config.json:/app/config.json myrepetl:latest

На этом всё, удачного кодинга! 👨‍💻

Теги:
Всего голосов 2: ↑0 и ↓2-2
Комментарии0

Хеш-таблица с транзакциями на Go

Привет, продолжим удивительное. Смех смехом, но на Go стали доступны:

  1. Хеш-таблица с транзакциями.

  2. Структуры данных второго порядка.

И в отличие от C++, они еще не создают проблемы для Garbage Collector. Вы угадайте почему, а я немного процитирую:

------------------8<------------------

Все выглядит примерно так:

func NewMemDb() MemDb { /* ... */ }

type MemDb interface {
    Close() error
    StartTrn() Transaction
}

type Transaction interface {
    Close() error

    Get(key Ptrsz) (Ptrsz, bool)
    All(getKeys bool, getVals bool) (keys []Ptrsz, vals []Ptrsz)

    Set(key Ptrsz, val Ptrsz)
    Del(key Ptrsz)

    DependVal(key Ptrsz, val Ptrsz)
    DependDel(key Ptrsz)

    Commit() error
    Rollback() error
}

А именно:

  • Объект MemDb создается с помощью функции NewMemDb().

  • У MemDb есть функция Close() -- мы ОБЯЗАНЫ ее вызвать!!!

  • Объект Transaction создается с помощью функции StartTrn().

  • У Transaction тоже есть функция Close(). Да, мы ОБЯЗАНЫ!

  • Transaction работает с данными через lib.Ptrsz. Точно также, как и mdb.BlobMap.

  • Чтение данных выполняется посредством функций Get() и All(). Возвращаемые ими Ptrsz указывают на внутренние структуры MemDb. Они остаются валидными пока не завершена транзакция и не было вызовов Set() и Del(), инвалидирующих указатели.

  • Изменение данных выполняется посредством функций Set() и Del()MemDb копирует себе байты, на которые указывают key и val.

  • Функции DependVal() и DependDel() устанавливают зависимости. Их проверяет Commit().

  • Функции Commit() и Rollback() завершают транзакцию. Завершают, но не закрывают! Мы ОБЯЗАНЫ вызвать Close()!!

  • Просто Close() означает Rollback().

------------------8<------------------

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

Теги:
Всего голосов 3: ↑1 и ↓2-1
Комментарии0

Приглашаем на Java Jam — бесплатный митап ЮMoney для Java-разработчиков

Спикеры из ЮMoney и главный эксперт по технологиям Сбера расскажут о своём опыте и пообщаются с аудиторией. Вот какие темы будут на митапе:

🟣 Как мы уменьшали нагрузку на базы данных в очередях задач. Расскажем, как реализовать надёжное асинхронное и отложенное исполнение задач.

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

🟣 Уязвимости не пройдут. Обсудим, как повысить безопасность разработки с помощью SAST и SCA.

25 сентября, в четверг, в 18:30 (мск) — приходите на митап в Санкт-Петербурге или подключайтесь онлайн!

Подробности — на сайте митапа Java Jam 

Теги:
Всего голосов 1: ↑0 и ↓1-1
Комментарии0

19 сентября — СУБД-митап Tantor JAM

Митап от разработчика СУБД Tantor Postgres и машин баз данных Tantor XData пройдет в Москве. Это отличный повод встретиться для всех, кто интересуется развитием российских СУБД и будущим сферы управления корпоративными данными.

Регистрация завершена

В программе мероприятия:

  • Стратегия «Тантор Лабс» на 3 года;

  • Новая версия платформы Tantor — ведущего enterprise-решения для администрирования и мониторинга любых БД на основе PostgreSQL;

  • Новинки СУБД Tantor Postgres для более высокой производительности и защищённости данных;

  • Инструментарий для управления интеграциями и загрузкой данных, осуществления миграций с минимумом даунтайма;

  • Особое внимание будет уделено Tantor XData — первой российской машине баз данных от вендора СУБД, созданной для самых сложных промышленных задач, высоконагруженных защищённых систем и крупномасштабной аналитики в стратегически важных отраслях.

Митап пройдет 19 сентября 2025 г. на 40-м этаже башни Mercury Space по адресу: Москва, 1-й Красногвардейский проезд, 15. Регистрация участников стартует в 12.00.

Будем рады видеть вас и ваших коллег!

Теги:
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Может ли кто-нибудь создать Википедию Вселенной, других цивилизаций?

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

Да, есть много фантастики, но целая фантастическая Википедия - этого у нас пока нет. Есть множество Вики по различным сюжетам, но это не то же самое. В "Википедии Вселенной" может быть надпись, которую видят все новые пользователи: "Что, если бы мы знали намного больше о Вселенной? Если бы у нас были Википедии других цивилизаций? Этот проект - фантазия людей и ИИ на тему", а дальше или случайная генерация одной из "Википедий будущего", или несколько на выбор, или одна.

Теги:
Рейтинг0
Комментарии4