DATABASE DESIGN – Telegram
DATABASE DESIGN
1.41K subscribers
2.09K photos
3 videos
5.31K links
Лучшие материалы по работе с хранилищами данных на русском и английском языке

Разместить рекламу: @tproger_sales_bot

Правила общения: https://tprg.ru/rules

Другие каналы: @tproger_channels

Другие наши проекты: https://tprg.ru/media
Download Telegram
Генерируем CRUD для gRPC по схеме БД следуя Google AIP

Как с помощью db-exporter автоматизировать процесс генерации CRUD-операций для gRPC, соблюдая стандарт Google AIP

Читать: «Генерируем CRUD для gRPC по схеме БД следуя Google AIP»

#ru

@database_design | Другие наши каналы
Как фильтры Блума в 16 раз ускорили API

Этот пост станет глубоким разбором того, как мы снизили задержки P95 конечной точки API с 5 до 0,3 секунды при помощи нишевого трюка computer science под названием «фильтр Блума».

Мы расскажем о том, почему конечная точка была медленной, о решениях, которые мы рассматривали для повышения её скорости, и о критериях выбора между ними. Также мы объясним, как всё это устроено внутри.


Читать: https://habr.com/ru/articles/968024/

#ru

@database_design | Другие наши каналы
БД без боли: моя шпаргалка для собесов в Java. Часть 3

Всем привет!
Я Senior Java Developer в банке, и за эти годы мне довелось пройти немало собеседований. Где-то было спокойно, где-то — как в допросной, с каверзными вопросами, странными задачами и вечным «а почему так, а не иначе?». В процессе я собрал целую коллекцию тем, которые всплывают снова и снова, особенно когда дело касается баз данных.

Сегодня хочу поделиться этим опытом и разобрать вопросы, которые чаще всего задают именно по SQL-базам.


Читать: https://habr.com/ru/articles/968532/

#ru

@database_design | Другие наши каналы
Как мы постепенно идём к «умному» центру администрирования СУБД

Что общего у массового применения конфигураций, встроенной поддержки OpenTelemetry и управления HA-кластерами в пару кликов? Всё это — части пазла, который мы собираем, чтобы сделать администрирование PostgreSQL по-настоящему удобным и безопасным. Выход версии Postgres Pro Enterprise Manager (PPEM) 2.3 стал важной вехой в развитии нашего графического интерфейса. Мы добавили поддержку пользовательских пресетов, переработали систему алертинга и усилили RBAC-модель управления доступом. Разбираем ключевые нововведения релиза, которые помогут навести порядок в зоопарке конфигураций и спать спокойно, зная, что система сама предупредит о проблемах.


Читать: https://habr.com/ru/companies/postgrespro/articles/968570/

#ru

@database_design | Другие наши каналы
Cloud Native LVM: как автоматизировать поиск и разметку локальных дисков в Kubernetes

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


Читать: https://habr.com/ru/companies/flant/articles/951598/

#ru

@database_design | Другие наши каналы
Создание простой поисковой системы, которая действительно работает

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

Читать: «Создание простой поисковой системы, которая действительно работает»

#ru

@database_design | Другие наши каналы
Создание простой поисковой системы, которая действительно работает

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

Читать: «Создание простой поисковой системы, которая действительно работает»

#ru

@database_design | Другие наши каналы
PostgreSQL Antipatterns: отказ от агрегатных функций = кратное ускорение

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

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


Читать: https://habr.com/ru/companies/tensor/articles/968720/

#ru

@database_design | Другие наши каналы
Новые версии MariaDB Connector/C: 3.4.8 и 3.3.18 теперь доступны

MariaDB объявила о выпуске Connector/C 3.4.8 и 3.3.18 с исправлениями и улучшениями. Подробности в примечаниях к релизу и changelogs; скачать можно на mariadb.com/downloads/connectors.

Читать подробнее

#en

@database_design | Другие наши каналы
Создание простой поисковой системы, которая действительно работает

Зачем вообще делать что-то своё?

Я знаю, что вы можете подумать: «Почему бы просто не использовать Elasticsearch?» или «А что насчёт Algolia?» Это вполне рабочие решения, но у них есть нюансы. Нужно разбираться с их API, поддерживать инфраструктуру под них и учитывать все тонкости их работы.

Но иногда хочется чего-то более простого...


Читать: https://habr.com/ru/articles/969312/

#ru

@database_design | Другие наши каналы
Как привязать Telegram-аккаунт к конкретному человеку: от запроса оператору до OSINT-техник

Лид

«Аккаунт не мой, писал не я. Идите доказывайте» — стандартная защита оппонента при представлении Telegram-переписки в суд. Бремя доказывания принадлежности аккаунта лежит на стороне, представляющей цифровое доказательство. Разбираю три уровня установления владельца: от запроса данных у оператора связи через суд до OSINT-техник и процессуальных презумпций. С шаблонами ходатайств, примером из практики и разбором судебной практики.


Читать: https://habr.com/ru/articles/969414/

#ru

@database_design | Другие наши каналы
Практический кейс: от анонимного домена к реальной личности

Задача:
Установить владельца фишингового сайта "*******" через который была совершена атака, с целью кражи аккаунта WhatsApp.


Читать: https://habr.com/ru/articles/969430/

#ru

@database_design | Другие наши каналы
StarVault + Postgres Pro: тестирование связки для безопасного управления секретами

Управление секретами — одна из наиболее критичных задач в корпоративной ИТ-инфраструктуре. От того, насколько надежно и централизованно хранятся ключи API, пароли, токены и сертификаты, зависит не только безопасность сервисов, но и устойчивость всего бизнеса.

С ростом популярности отечественных решений особое внимание уделяется возможности интеграции с российскими СУБД. В этом материале команда «Онланты» делится опытом тестирования StarVault — системы управления секретами — в связке с Postgres Pro в лабораторных условиях.

Цель эксперимента — проверить, насколько Postgres Pro подходит для использования в качестве внешнего хранилища StarVault, оценить производительность и устойчивость конфигурации, а также проработать сценарии аварийного восстановления.


Читать: https://habr.com/ru/companies/lanit/articles/965756/

#ru

@database_design | Другие наши каналы
Обзор Moco — MySQL-оператора для Kubernetes

В Kubernetes короткий жизненный цикл подов — норма. Но когда лидер-узел MySQL внезапно исчезает, рискуешь потерять не только доступность, но и согласованность данных. Оператор Moco предлагает решение: полусинхронная репликация, автоматический failover и восстановление с PITR — всё это без боли миграции на полностью синхронную репликацию.

В статье — детали репликации, бэкапов, PITR, switchover и нюансов работы с пользовательскими образами. А также честно — чем он лучше (и хуже) альтернатив, и стоит ли его рассматривать для продакшена.


Читать: https://habr.com/ru/companies/flant/articles/969520/

#ru

@database_design | Другие наши каналы
Транзакции в InnoDB: разбираемся с уровнями изоляции и блокировками

Чтобы транзакции в InnoDB работали предсказуемо, важно понимать внутреннюю логику InnoDB. Ошибки чаще всего возникают не из-за отсутствия транзакций, а из-за неверных ожиданий относительно уровней изоляции и работы блокировок.

В этой статье давайте разберём несколько распространенных заблуждений и на примерах посмотрим, как на самом деле работают транзакции.


Читать: https://habr.com/ru/companies/rusprofile/articles/969954/

#ru

@database_design | Другие наши каналы
Как забытый API-ключ открыл нам мир мошенников

Сегодня история на грани техники, психологии и детектива. Расскажу о том, как мы (я и мой коллега) попали во внутренние чаты мошенников и что из этого вышло.


Читать: https://habr.com/ru/companies/flowwow/articles/969798/

#ru

@database_design | Другие наши каналы
Анатомия левиафана: как работают ЦОДы и в чём разница между Tier

Для рядового пользователя ЦОД — это место, где хранятся фотографии и обрабатываются запросы ИИ-помощников. Однако это сложнейший инженерный организм, функционирующий на стыке термодинамики, электротехники, гидравлики и цифровой логики. Под катом попробую за одну статью объяснить вам логику работы дата-центров и рассказать, что вообще означают магические Tier.
Читать

Читать: https://habr.com/ru/companies/ruvds/articles/969050/

#ru

@database_design | Другие наши каналы
Если данные — продукт, то какова цена плохого UX? Предлагаю систему оценок

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

А что на счет самих данных, если мы их рассматриваем как продукт? Как будем оценивать их ценность, как будем планировать их развитие?

В статье предлагаю экспериментальный набор UX‑метрик: они помогут увидеть, где ваш продукт реально теряет пользу для пользователя. Методика готова к тестированию — цифр пока нет, но каркас для расчётов уже работает.
К метрикам

Читать: https://habr.com/ru/articles/970582/

#ru

@database_design | Другие наши каналы
Работа с файлами в СУБД PostgreSQL и Postgres Pro Enterprise: барьеры и варианты их преодоления

Упереться в лимит 4 миллиарда строк в TOAST-таблице или поймать OidGen lock при массовой заливке документов — страшный сон администратора PostgreSQL. Хотя архитекторы советуют выносить файлы в S3, реальность часто диктует хранение внутри БД. Руководитель группы по оптимизации приложений Александр Попов разбирает, как работают стандартные механизмы bytea и pg_largeobject, где находятся их «бутылочные горлышки» и как эти ограничения обходятся в Postgres Pro Enterprise.


Читать: https://habr.com/ru/companies/postgrespro/articles/970544/

#ru

@database_design | Другие наши каналы
Работа с файлами в СУБД PostgreSQL и Postgres Pro Enterprise: барьеры и варианты их преодоления

Упереться в лимит 4 миллиарда строк в TOAST-таблице или поймать OidGen lock при массовой заливке документов — страшный сон администратора PostgreSQL. Хотя архитекторы советуют выносить файлы в S3, реальность часто диктует хранение внутри БД. Руководитель группы по оптимизации приложений Александр Попов разбирает, как работают стандартные механизмы bytea и pg_largeobject, где находятся их «бутылочные горлышки» и как эти ограничения обходятся в Postgres Pro Enterprise.


Читать: https://habr.com/ru/companies/postgrespro/articles/970544/

#ru

@database_design | Другие наши каналы
ACID-свойства транзакций в SQL

Для чего существуют принципы ACID? Можно ответить по бумажке, сказать, что это нужно для того, чтобы каждая транзакция обрабатывалась надежно, данные оставались в безопасности и системы работали предсказуемо.

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

В этой статье вы узнаете, почему так важны принципы ACID и что это за принципы. Оставайтесь со мной, если интересно!


Читать: https://habr.com/ru/companies/otus/articles/968212/

#ru

@database_design | Другие наши каналы