Влияние удержания горизонта базы данных PostgreSQL на производительность теста pgbench
По умолчанию pgbench запускает тест TPC-B (sort of) и используется для быстрой оценки производительности PostgreSQL. В статье рассматривается насколько удержание горизонта базы данных (vacuum cleanup horizon) уменьшает прозводительность (значение tps теста). Горизонт удерживается на время выполнения любого запроса или транзакции. Приводится запрос для наблюдения за горизонтом баз данных и параметры, которые используются для защиты от долгих транзакций и запросов.
Читать: https://habr.com/ru/articles/890044/
#ru
@database_design | Другие наши каналы
По умолчанию pgbench запускает тест TPC-B (sort of) и используется для быстрой оценки производительности PostgreSQL. В статье рассматривается насколько удержание горизонта базы данных (vacuum cleanup horizon) уменьшает прозводительность (значение tps теста). Горизонт удерживается на время выполнения любого запроса или транзакции. Приводится запрос для наблюдения за горизонтом баз данных и параметры, которые используются для защиты от долгих транзакций и запросов.
Читать: https://habr.com/ru/articles/890044/
#ru
@database_design | Другие наши каналы
✍1
Новый диск в облаке Selectel — настройте IOPS под свои задачи
Если вы работаете с облачными ресурсами и управляете инфраструктурой, то наверняка знаете, как важно правильно настроить дисковую подсистему. В Selectel появилась новая возможность: теперь в облаке можно самостоятельно регулировать производительность дисков, не привязываясь к фиксированным конфигурациям.
Это значит, что больше не нужно заранее выбирать «с запасом» или рисковать нехваткой производительности в пиковые моменты. Вы просто настраиваете параметры диска под свою нагрузку — и меняете их на лету. Без даунтайма, сложных миграций или дополнительных настроек.
Читать: https://habr.com/ru/companies/selectel/articles/890120/
#ru
@database_design | Другие наши каналы
Если вы работаете с облачными ресурсами и управляете инфраструктурой, то наверняка знаете, как важно правильно настроить дисковую подсистему. В Selectel появилась новая возможность: теперь в облаке можно самостоятельно регулировать производительность дисков, не привязываясь к фиксированным конфигурациям.
Это значит, что больше не нужно заранее выбирать «с запасом» или рисковать нехваткой производительности в пиковые моменты. Вы просто настраиваете параметры диска под свою нагрузку — и меняете их на лету. Без даунтайма, сложных миграций или дополнительных настроек.
Читать: https://habr.com/ru/companies/selectel/articles/890120/
#ru
@database_design | Другие наши каналы
Жизненный цикл данных под контролем: знакомство с ILM на примере расширения для Postgres Pro Enterprise 17
Если данные в БД растут как на дрожжах, а вместе с ними и расходы на хранение, то пора познакомиться с концепцией управления жизненным циклом информации (ILM). Мы уже внедрили в Postgres Pro Enterprise 17 возможность для внедрения автоматического переноса редко используемых данных в более дешёвые хранилища. Подробности в статье.
Читать: https://habr.com/ru/companies/postgrespro/articles/890238/
#ru
@database_design | Другие наши каналы
Если данные в БД растут как на дрожжах, а вместе с ними и расходы на хранение, то пора познакомиться с концепцией управления жизненным циклом информации (ILM). Мы уже внедрили в Postgres Pro Enterprise 17 возможность для внедрения автоматического переноса редко используемых данных в более дешёвые хранилища. Подробности в статье.
Читать: https://habr.com/ru/companies/postgrespro/articles/890238/
#ru
@database_design | Другие наши каналы
Жизненный цикл данных под контролем: знакомство с ILM на примере расширения для Postgres Pro Enterprise 17
Если данные в БД растут как на дрожжах, а вместе с ними и расходы на хранение, то пора познакомиться с концепцией управления жизненным циклом информации (ILM). Мы уже внедрили в Postgres Pro Enterprise 17 возможность для внедрения автоматического переноса редко используемых данных в более дешёвые хранилища. Подробности в статье.
Читать: https://habr.com/ru/companies/postgrespro/articles/890238/
#ru
@database_design | Другие наши каналы
Если данные в БД растут как на дрожжах, а вместе с ними и расходы на хранение, то пора познакомиться с концепцией управления жизненным циклом информации (ILM). Мы уже внедрили в Postgres Pro Enterprise 17 возможность для внедрения автоматического переноса редко используемых данных в более дешёвые хранилища. Подробности в статье.
Читать: https://habr.com/ru/companies/postgrespro/articles/890238/
#ru
@database_design | Другие наши каналы
Сжатые структуры данных
Введение
Несколько месяцев назад в поисках идей по ускорению кода я изучал множество научных статей по computer science. Не буду притворяться, что хорошо их понимал, но меня не пугает непонятное, и я готов признать своё невежество1. Я обнаружил статью, написанную пятнадцать лет назад2, в которой было множество новых для меня концепций. Мне никак не удавалось в них разобраться.
Что же делать дальше? Можно искать другие статьи, чтобы они заполнили мои пробелы. Это рискованное предприятие, потому что они могут запутать ещё больше, но избежать этого нельзя. Я нашёл статью с нужной структурой данных, в которой упоминался исходный код с веб-сайта. Код был написан на C++, а я работаю на Rust, но решил, что всё равно стоит на него взглянуть. Однако зайдя на сайт, я не обнаружил там ресурс, поэтому я написал владельцу веб-сайта, который оказался преподавателем computer science.
Этот преподаватель (Гонсало Наварро) очень тепло меня принял и сразу же ответил мне3 4. И только в процессе общения с ним я осознал, что видел его фамилию на множестве статей в этой области. Оказалось, я познакомился с одним из специалистов мирового уровня в области сжатых структур данных (succinct data structure). Невежество может завести очень далеко.
Что же такое сжатые структуры данных? Если вы изучали в последние десятилетия computer science, то могли сталкиваться с ними, но мне не доводилось встречаться с ними в процессе работы программистом, а если и доводилось, то я сразу же о них забыл. Но я считаю, что эти структуры данных обладают потрясающими свойствами.
Все мы пользуемся массивами и хэш-таблицами5, популярны также различные деревья. Нам не нужно полностью понимать их устройство, чтобы эффективно пользоваться их свойствами. А теперь я задаюсь вопросом, почему же люди не используют сжатые структуры данных чаще.
Я решил, что стоит немного о них рассказать.
Читать: https://habr.com/ru/companies/ruvds/articles/890232/
#ru
@database_design | Другие наши каналы
Введение
Несколько месяцев назад в поисках идей по ускорению кода я изучал множество научных статей по computer science. Не буду притворяться, что хорошо их понимал, но меня не пугает непонятное, и я готов признать своё невежество1. Я обнаружил статью, написанную пятнадцать лет назад2, в которой было множество новых для меня концепций. Мне никак не удавалось в них разобраться.
Что же делать дальше? Можно искать другие статьи, чтобы они заполнили мои пробелы. Это рискованное предприятие, потому что они могут запутать ещё больше, но избежать этого нельзя. Я нашёл статью с нужной структурой данных, в которой упоминался исходный код с веб-сайта. Код был написан на C++, а я работаю на Rust, но решил, что всё равно стоит на него взглянуть. Однако зайдя на сайт, я не обнаружил там ресурс, поэтому я написал владельцу веб-сайта, который оказался преподавателем computer science.
Этот преподаватель (Гонсало Наварро) очень тепло меня принял и сразу же ответил мне3 4. И только в процессе общения с ним я осознал, что видел его фамилию на множестве статей в этой области. Оказалось, я познакомился с одним из специалистов мирового уровня в области сжатых структур данных (succinct data structure). Невежество может завести очень далеко.
Что же такое сжатые структуры данных? Если вы изучали в последние десятилетия computer science, то могли сталкиваться с ними, но мне не доводилось встречаться с ними в процессе работы программистом, а если и доводилось, то я сразу же о них забыл. Но я считаю, что эти структуры данных обладают потрясающими свойствами.
Все мы пользуемся массивами и хэш-таблицами5, популярны также различные деревья. Нам не нужно полностью понимать их устройство, чтобы эффективно пользоваться их свойствами. А теперь я задаюсь вопросом, почему же люди не используют сжатые структуры данных чаще.
Я решил, что стоит немного о них рассказать.
Читать: https://habr.com/ru/companies/ruvds/articles/890232/
#ru
@database_design | Другие наши каналы
MongoDB: усиление ИИ-возможностей через партнёрства
В феврале MongoDB объявила о покупке Voyage AI, что улучшит качество извлечения данных для ИИ-приложений. Вместе с новыми партнёрами, такими как CopilotKit и Varonis, MongoDB стремится интегрировать передовые технологии, обеспечивая высокую точность и безопасность в работе с данными. Революция в ML: представляем ORiGAMi
ORiGAMi от MongoDB предлагает новое решение для классификации пользователей. Этот инструмент позволяет обучать модели прямо на необработанных документах, сохраняя их структуру, и автоматически предсказывать сегменты пользователей. Узнать больше можно на GitHub.
Читать подробнее
#en
@database_design | Другие наши каналы
В феврале MongoDB объявила о покупке Voyage AI, что улучшит качество извлечения данных для ИИ-приложений. Вместе с новыми партнёрами, такими как CopilotKit и Varonis, MongoDB стремится интегрировать передовые технологии, обеспечивая высокую точность и безопасность в работе с данными. Революция в ML: представляем ORiGAMi
ORiGAMi от MongoDB предлагает новое решение для классификации пользователей. Этот инструмент позволяет обучать модели прямо на необработанных документах, сохраняя их структуру, и автоматически предсказывать сегменты пользователей. Узнать больше можно на GitHub.
Читать подробнее
#en
@database_design | Другие наши каналы
Синхронизация файлов при запуске экземпляра PostgreSQL
Если экземпляр PostgreSQL был некорректно остановлен, то перед восстановлением файлов выполняется синхронизаций всех файлов кластера. Способ синхронизации определяется параметром конфигурации recovery_init_sync_method. В статье рассматривается, как ускорить запуск экземпляра и резервирование, если в директории PGDATA имеется много файлов.
Читать: https://habr.com/ru/articles/890354/
#ru
@database_design | Другие наши каналы
Если экземпляр PostgreSQL был некорректно остановлен, то перед восстановлением файлов выполняется синхронизаций всех файлов кластера. Способ синхронизации определяется параметром конфигурации recovery_init_sync_method. В статье рассматривается, как ускорить запуск экземпляра и резервирование, если в директории PGDATA имеется много файлов.
Читать: https://habr.com/ru/articles/890354/
#ru
@database_design | Другие наши каналы
Уменьшаем базу данных в 2000 раз при помощи Rust
Этот проект на выходные начался с изучения репозитория открытых данных сети общественного транспорта Парижа, содержащего различные API для выполнения в реальном времени запросов отправления транспорта, изменений в графике движения и так далее. Моё внимание привлёк раздел о многократном использовании данных, потому что в нём были приведены внешние проекты, использующие эти открытые данные. В частности веб-сайт статуса сети RATP предоставляет удобный интерфейс для визуализации истории нарушений на линиях движения метро, сети экспрессов/поездов и трамваев.
Обычный день нарушений на ratpstatus.fr.
В репозитории GitHub сайта ratpstatus.fr содержатся все файлы JSON, запрашиваемые из open-data API каждые две минуты. Данные сохраняются там уже почти год. Репозиторий с 188 тысячами коммитов и более чем 10 ГБ собранных данных всего лишь в одном последнем коммите (измерено при помощи git clone --depth=1) — это определённо интересный выбор для реализации базы данных! Уточню, что в этом посте я не собираюсь критиковать эту систему. Веб-сайт статуса сети RATP — превосходный веб-сайт, мгновенно и стабильно предоставляющий полезную информацию без обычного сегодня раздувания веб-сайтов. [И нет, сайт не написан на Rust. Веб-сайт на PHP тоже может быть невероятно быстрым!]
Тем не менее, размер базы данных (10 ГБ) заставил меня призадуматься: а можно ли сжать её лучше, потратив на это приемлемое количество времени (скажем выходные)? В этом подробном посте я расскажу, как использовал шаблон проектирования interning в Rust, чтобы сжать этот датасет в две тысячи раз! Мы посмотрим, как лучше структурировать сам интернер, как настроить схему данных для оптимальной работы с ним и как сделать так, чтобы сериализация использовала interning наилучшим образом.
Если у вас в хранилище накопилось множество файлов JSON, то вам стоит прочитать эту статью!
Читать: https://habr.com/ru/articles/889874/
#ru
@database_design | Другие наши каналы
Этот проект на выходные начался с изучения репозитория открытых данных сети общественного транспорта Парижа, содержащего различные API для выполнения в реальном времени запросов отправления транспорта, изменений в графике движения и так далее. Моё внимание привлёк раздел о многократном использовании данных, потому что в нём были приведены внешние проекты, использующие эти открытые данные. В частности веб-сайт статуса сети RATP предоставляет удобный интерфейс для визуализации истории нарушений на линиях движения метро, сети экспрессов/поездов и трамваев.
Обычный день нарушений на ratpstatus.fr.
В репозитории GitHub сайта ratpstatus.fr содержатся все файлы JSON, запрашиваемые из open-data API каждые две минуты. Данные сохраняются там уже почти год. Репозиторий с 188 тысячами коммитов и более чем 10 ГБ собранных данных всего лишь в одном последнем коммите (измерено при помощи git clone --depth=1) — это определённо интересный выбор для реализации базы данных! Уточню, что в этом посте я не собираюсь критиковать эту систему. Веб-сайт статуса сети RATP — превосходный веб-сайт, мгновенно и стабильно предоставляющий полезную информацию без обычного сегодня раздувания веб-сайтов. [И нет, сайт не написан на Rust. Веб-сайт на PHP тоже может быть невероятно быстрым!]
Тем не менее, размер базы данных (10 ГБ) заставил меня призадуматься: а можно ли сжать её лучше, потратив на это приемлемое количество времени (скажем выходные)? В этом подробном посте я расскажу, как использовал шаблон проектирования interning в Rust, чтобы сжать этот датасет в две тысячи раз! Мы посмотрим, как лучше структурировать сам интернер, как настроить схему данных для оптимальной работы с ним и как сделать так, чтобы сериализация использовала interning наилучшим образом.
Если у вас в хранилище накопилось множество файлов JSON, то вам стоит прочитать эту статью!
Читать: https://habr.com/ru/articles/889874/
#ru
@database_design | Другие наши каналы
Уменьшаем базу данных в 2000 раз при помощи Rust
Этот проект на выходные начался с изучения репозитория открытых данных сети общественного транспорта Парижа, содержащего различные API для выполнения в реальном времени запросов отправления транспорта, изменений в графике движения и так далее. Моё внимание привлёк раздел о многократном использовании данных, потому что в нём были приведены внешние проекты, использующие эти открытые данные. В частности веб-сайт статуса сети RATP предоставляет удобный интерфейс для визуализации истории нарушений на линиях движения метро, сети экспрессов/поездов и трамваев.
Обычный день нарушений на ratpstatus.fr.
В репозитории GitHub сайта ratpstatus.fr содержатся все файлы JSON, запрашиваемые из open-data API каждые две минуты. Данные сохраняются там уже почти год. Репозиторий с 188 тысячами коммитов и более чем 10 ГБ собранных данных всего лишь в одном последнем коммите (измерено при помощи git clone --depth=1) — это определённо интересный выбор для реализации базы данных! Уточню, что в этом посте я не собираюсь критиковать эту систему. Веб-сайт статуса сети RATP — превосходный веб-сайт, мгновенно и стабильно предоставляющий полезную информацию без обычного сегодня раздувания веб-сайтов. [И нет, сайт не написан на Rust. Веб-сайт на PHP тоже может быть невероятно быстрым!]
Тем не менее, размер базы данных (10 ГБ) заставил меня призадуматься: а можно ли сжать её лучше, потратив на это приемлемое количество времени (скажем выходные)? В этом подробном посте я расскажу, как использовал шаблон проектирования interning в Rust, чтобы сжать этот датасет в две тысячи раз! Мы посмотрим, как лучше структурировать сам интернер, как настроить схему данных для оптимальной работы с ним и как сделать так, чтобы сериализация использовала interning наилучшим образом.
Если у вас в хранилище накопилось множество файлов JSON, то вам стоит прочитать эту статью!
Читать: https://habr.com/ru/articles/889874/
#ru
@database_design | Другие наши каналы
Этот проект на выходные начался с изучения репозитория открытых данных сети общественного транспорта Парижа, содержащего различные API для выполнения в реальном времени запросов отправления транспорта, изменений в графике движения и так далее. Моё внимание привлёк раздел о многократном использовании данных, потому что в нём были приведены внешние проекты, использующие эти открытые данные. В частности веб-сайт статуса сети RATP предоставляет удобный интерфейс для визуализации истории нарушений на линиях движения метро, сети экспрессов/поездов и трамваев.
Обычный день нарушений на ratpstatus.fr.
В репозитории GitHub сайта ratpstatus.fr содержатся все файлы JSON, запрашиваемые из open-data API каждые две минуты. Данные сохраняются там уже почти год. Репозиторий с 188 тысячами коммитов и более чем 10 ГБ собранных данных всего лишь в одном последнем коммите (измерено при помощи git clone --depth=1) — это определённо интересный выбор для реализации базы данных! Уточню, что в этом посте я не собираюсь критиковать эту систему. Веб-сайт статуса сети RATP — превосходный веб-сайт, мгновенно и стабильно предоставляющий полезную информацию без обычного сегодня раздувания веб-сайтов. [И нет, сайт не написан на Rust. Веб-сайт на PHP тоже может быть невероятно быстрым!]
Тем не менее, размер базы данных (10 ГБ) заставил меня призадуматься: а можно ли сжать её лучше, потратив на это приемлемое количество времени (скажем выходные)? В этом подробном посте я расскажу, как использовал шаблон проектирования interning в Rust, чтобы сжать этот датасет в две тысячи раз! Мы посмотрим, как лучше структурировать сам интернер, как настроить схему данных для оптимальной работы с ним и как сделать так, чтобы сериализация использовала interning наилучшим образом.
Если у вас в хранилище накопилось множество файлов JSON, то вам стоит прочитать эту статью!
Читать: https://habr.com/ru/articles/889874/
#ru
@database_design | Другие наши каналы
ETL-потоки «VACUUM FULL», или Как учесть особенности жизненного цикла данных в условиях высоконагруженных хранилищ
Привет, Хабр! Наша команда работает в Сбере и отвечает за развитие аналитического хранилища данных (АХД), а также обеспечение финансово‑аналитической информацией ключевых подразделений. В нашем технологическом стеке используются Greenplum на основе PostgreSQL и Hadoop, что позволяет эффективно обрабатывать большие объёмы данных, гарантируя их надёжное хранение и своевременную доступность для потребителей.
В этой статье мы расскажем об использовании ETL-потоков
Читать: https://habr.com/ru/companies/sberbank/articles/890496/
#ru
@database_design | Другие наши каналы
Привет, Хабр! Наша команда работает в Сбере и отвечает за развитие аналитического хранилища данных (АХД), а также обеспечение финансово‑аналитической информацией ключевых подразделений. В нашем технологическом стеке используются Greenplum на основе PostgreSQL и Hadoop, что позволяет эффективно обрабатывать большие объёмы данных, гарантируя их надёжное хранение и своевременную доступность для потребителей.
В этой статье мы расскажем об использовании ETL-потоков
AUTOVACUUM в наших СУБД.Читать: https://habr.com/ru/companies/sberbank/articles/890496/
#ru
@database_design | Другие наши каналы
Лучшие SATA SSD-накопители 2025: полное сравнение моделей и характеристик
Несмотря на активное развитие интерфейса NVMe и появление SSD PCIe Gen 5, твердотельные накопители 2,5” по-прежнему остаются востребованным решением для широкого спектра задач. Ограничение пропускной способности интерфейса SATA III компенсируется высокой совместимостью, стабильностью работы и невысокой стоимостью хранения данных в пересчете на гигабайт. Поэтому не стоит списывать их со счетов. Особенно, когда рабочие сценарии не предполагают сверхвысоких скоростей чтения и записи SSD.
Читать: https://habr.com/ru/companies/x-com/articles/890566/
#ru
@database_design | Другие наши каналы
Несмотря на активное развитие интерфейса NVMe и появление SSD PCIe Gen 5, твердотельные накопители 2,5” по-прежнему остаются востребованным решением для широкого спектра задач. Ограничение пропускной способности интерфейса SATA III компенсируется высокой совместимостью, стабильностью работы и невысокой стоимостью хранения данных в пересчете на гигабайт. Поэтому не стоит списывать их со счетов. Особенно, когда рабочие сценарии не предполагают сверхвысоких скоростей чтения и записи SSD.
Читать: https://habr.com/ru/companies/x-com/articles/890566/
#ru
@database_design | Другие наши каналы
Obsidian: все что нужно знать о Callout
В этой статье я подробно расскажу о возможностях использования Callout в Obsidian, покажу существующие решения, а также объясню, как создавать свои собственные, индивидуальные типы Callout-блоков.
Рассмотрим при чем здесь цитаты (Blackquotes).
Дополнительно поделюсь полезными надстройками и шаблонами
Читать: https://habr.com/ru/articles/890598/
#ru
@database_design | Другие наши каналы
В этой статье я подробно расскажу о возможностях использования Callout в Obsidian, покажу существующие решения, а также объясню, как создавать свои собственные, индивидуальные типы Callout-блоков.
Рассмотрим при чем здесь цитаты (Blackquotes).
Дополнительно поделюсь полезными надстройками и шаблонами
Читать: https://habr.com/ru/articles/890598/
#ru
@database_design | Другие наши каналы
Как удалось сделать флешку в Linux-е с UEFI и UniversalAMDFormBrowser
Наверняка Вы знакомы с загрузочными флэшками usb. Тех самых, с которых устанавливали Windows, или же запускали UniversalAMDFormBrowser. Речь пойдет как раз о usb с типом EFI. Эти флэшки вставляются в выключенный компьютер. При включении, они загружаются через Boot Menu. На ноутбуках это меню может быть доступно по кнопкам "F12" ИЛИ "F10".
В Windows же есть программа Rufus для форматирования таких флэшек, а что насчёт Linux-а? Для Linux-а же, как всегда, придётся читать дольше, чтобы найти что-то стоящее. Хотите узнать, что же это? Вам сюда.
Мануал
Читать: https://habr.com/ru/articles/890632/
#ru
@database_design | Другие наши каналы
Наверняка Вы знакомы с загрузочными флэшками usb. Тех самых, с которых устанавливали Windows, или же запускали UniversalAMDFormBrowser. Речь пойдет как раз о usb с типом EFI. Эти флэшки вставляются в выключенный компьютер. При включении, они загружаются через Boot Menu. На ноутбуках это меню может быть доступно по кнопкам "F12" ИЛИ "F10".
В Windows же есть программа Rufus для форматирования таких флэшек, а что насчёт Linux-а? Для Linux-а же, как всегда, придётся читать дольше, чтобы найти что-то стоящее. Хотите узнать, что же это? Вам сюда.
Мануал
Читать: https://habr.com/ru/articles/890632/
#ru
@database_design | Другие наши каналы
Использование JSONB-полей вместо EAV в PostgreSQL
На одной из конференций PGConf мы обнаружили, что комьюнити с большой опаской относится к использованию JSONB-полей в своих системах. Интернет при этом не столь радикален. Наша же команда в это время вовсю использует JSONB у себя в проекте. Мы решили поделиться нашим вполне успешным кейсом в реальной нагруженной системе с сотнями миллионов строк в таблицах, где эти поля используются.
Читать: https://habr.com/ru/companies/sigma/articles/890668/
#ru
@database_design | Другие наши каналы
На одной из конференций PGConf мы обнаружили, что комьюнити с большой опаской относится к использованию JSONB-полей в своих системах. Интернет при этом не столь радикален. Наша же команда в это время вовсю использует JSONB у себя в проекте. Мы решили поделиться нашим вполне успешным кейсом в реальной нагруженной системе с сотнями миллионов строк в таблицах, где эти поля используются.
Читать: https://habr.com/ru/companies/sigma/articles/890668/
#ru
@database_design | Другие наши каналы
Использование JSONB-полей вместо EAV в PostgreSQL
На одной из конференций PGConf мы обнаружили, что комьюнити с большой опаской относится к использованию JSONB-полей в своих системах. Интернет при этом не столь радикален. Наша же команда в это время вовсю использует JSONB у себя в проекте. Мы решили поделиться нашим вполне успешным кейсом в реальной нагруженной системе с сотнями миллионов строк в таблицах, где эти поля используются.
Читать: https://habr.com/ru/companies/sigma/articles/890668/
#ru
@database_design | Другие наши каналы
На одной из конференций PGConf мы обнаружили, что комьюнити с большой опаской относится к использованию JSONB-полей в своих системах. Интернет при этом не столь радикален. Наша же команда в это время вовсю использует JSONB у себя в проекте. Мы решили поделиться нашим вполне успешным кейсом в реальной нагруженной системе с сотнями миллионов строк в таблицах, где эти поля используются.
Читать: https://habr.com/ru/companies/sigma/articles/890668/
#ru
@database_design | Другие наши каналы
DATABASE DESIGN
Photo
Высокодоступная база данных с MariaDB на AWS: Как это работает
Хотите надежную и масштабируемую базу данных на AWS? Статья рассматривает развёртывание кластера MariaDB Galera и MaxScale для обеспечения высокой доступности. Узнайте, как избежать медленных переключений и обеспечить автоматическое распределение нагрузки с помощью AWS EC2. Подключение и настройка MariaDB MaxScale
В статье рассказывают, как установить и настроить MariaDB MaxScale для управления серверным кластером базы данных. Пошагово показывается создание пользователей и настройка приоритетов серверов. Также объясняется, как реализовать отказоустойчивость с помощью второй копии MaxScale и проверяются подключения через новый маршрутизатор. Преимущества MariaDB на EC2 перед AWS RDS
Переход на MariaDB на EC2 вместо AWS RDS может обеспечить лучшую доступность и не увеличивает расходы. Решение с использованием MariaDB Galera Cluster и MaxScale дает масштабируемость и быструю переключаемость в случае сбоев. Это минимальная настройка, которую вы можете оптимизировать для повышения производительности.
Читать подробнее
#en
@database_design | Другие наши каналы
Хотите надежную и масштабируемую базу данных на AWS? Статья рассматривает развёртывание кластера MariaDB Galera и MaxScale для обеспечения высокой доступности. Узнайте, как избежать медленных переключений и обеспечить автоматическое распределение нагрузки с помощью AWS EC2. Подключение и настройка MariaDB MaxScale
В статье рассказывают, как установить и настроить MariaDB MaxScale для управления серверным кластером базы данных. Пошагово показывается создание пользователей и настройка приоритетов серверов. Также объясняется, как реализовать отказоустойчивость с помощью второй копии MaxScale и проверяются подключения через новый маршрутизатор. Преимущества MariaDB на EC2 перед AWS RDS
Переход на MariaDB на EC2 вместо AWS RDS может обеспечить лучшую доступность и не увеличивает расходы. Решение с использованием MariaDB Galera Cluster и MaxScale дает масштабируемость и быструю переключаемость в случае сбоев. Это минимальная настройка, которую вы можете оптимизировать для повышения производительности.
Читать подробнее
#en
@database_design | Другие наши каналы
5 основополагающих советов по управлению базами данных Greenplum
Greenplum — это массивно‑параллельная (MPP) база данных с открытым исходным кодом, предназначенная для организации хранилищ данных и высокопроизводительной аналитики. Как и в случае с другими MPP‑СУБД, она требует регулярной оптимизации запросов, корректировки распределения ресурсов и защиты данных. В этой статье мы рассмотрим пять рекомендаций, обязательных для эффективного управления Greenplum.
Читать: https://habr.com/ru/companies/otus/articles/890706/
#ru
@database_design | Другие наши каналы
Greenplum — это массивно‑параллельная (MPP) база данных с открытым исходным кодом, предназначенная для организации хранилищ данных и высокопроизводительной аналитики. Как и в случае с другими MPP‑СУБД, она требует регулярной оптимизации запросов, корректировки распределения ресурсов и защиты данных. В этой статье мы рассмотрим пять рекомендаций, обязательных для эффективного управления Greenplum.
Читать: https://habr.com/ru/companies/otus/articles/890706/
#ru
@database_design | Другие наши каналы
Уменьшаем базу данных в 2000 раз при помощи Rust (завершение)
Сериализация
По сути, мы получили косвенную базу данных в памяти. Далее нам нужно сериализовать её, чтобы проверить, как interning влияет на её постоянное хранение. Кроме того, сериализация — это важный шаг для проверки реальности заявленной экономии места. И, наконец, это ещё одна возможность для дальнейшего сжатия данных.
В Rust для сериализации стандартно используется крейт serde, который мы уже использовали для импортирования входных данных в JSON. Serde изначально имеет поддержку множества форматов благодаря крейтам расширений, поэтому я решил попробовать несколько из них.
Читать: https://habr.com/ru/articles/890250/
#ru
@database_design | Другие наши каналы
Сериализация
По сути, мы получили косвенную базу данных в памяти. Далее нам нужно сериализовать её, чтобы проверить, как interning влияет на её постоянное хранение. Кроме того, сериализация — это важный шаг для проверки реальности заявленной экономии места. И, наконец, это ещё одна возможность для дальнейшего сжатия данных.
В Rust для сериализации стандартно используется крейт serde, который мы уже использовали для импортирования входных данных в JSON. Serde изначально имеет поддержку множества форматов благодаря крейтам расширений, поэтому я решил попробовать несколько из них.
Читать: https://habr.com/ru/articles/890250/
#ru
@database_design | Другие наши каналы
👍1
Уменьшаем базу данных в 2000 раз при помощи Rust (завершение)
Сериализация
По сути, мы получили косвенную базу данных в памяти. Далее нам нужно сериализовать её, чтобы проверить, как interning влияет на её постоянное хранение. Кроме того, сериализация — это важный шаг для проверки реальности заявленной экономии места. И, наконец, это ещё одна возможность для дальнейшего сжатия данных.
В Rust для сериализации стандартно используется крейт serde, который мы уже использовали для импортирования входных данных в JSON. Serde изначально имеет поддержку множества форматов благодаря крейтам расширений, поэтому я решил попробовать несколько из них.
Читать: https://habr.com/ru/articles/890250/
#ru
@database_design | Другие наши каналы
Сериализация
По сути, мы получили косвенную базу данных в памяти. Далее нам нужно сериализовать её, чтобы проверить, как interning влияет на её постоянное хранение. Кроме того, сериализация — это важный шаг для проверки реальности заявленной экономии места. И, наконец, это ещё одна возможность для дальнейшего сжатия данных.
В Rust для сериализации стандартно используется крейт serde, который мы уже использовали для импортирования входных данных в JSON. Serde изначально имеет поддержку множества форматов благодаря крейтам расширений, поэтому я решил попробовать несколько из них.
Читать: https://habr.com/ru/articles/890250/
#ru
@database_design | Другие наши каналы
Хакеры взломали Минфин США с помощью Unicode. Как это вообще стало возможным?
Китайские хакеры взломали Минфин США через уязвимость PostgreSQL, связанную с Unicode. SQL-инъекция оставалась незамеченной 9 лет и позволила атакующим захватить контроль над сервером
Читать: «Хакеры взломали Минфин США с помощью Unicode. Как это вообще стало возможным?»
#ru
@database_design | Другие наши каналы
Китайские хакеры взломали Минфин США через уязвимость PostgreSQL, связанную с Unicode. SQL-инъекция оставалась незамеченной 9 лет и позволила атакующим захватить контроль над сервером
Читать: «Хакеры взломали Минфин США с помощью Unicode. Как это вообще стало возможным?»
#ru
@database_design | Другие наши каналы