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

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

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

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

Другие наши проекты: https://tprg.ru/media
Download Telegram
Where is the Complexity?

First in a multi-part blog series about ensuring data consistency in microservice based applications and the complexity involved in adopting Sagas and XA transactions.

Read: https://blogs.oracle.com/database/post/where-is-the-complexity

@database_design
Как создать изолированную среду для Nextcloud: полная инструкция

Привет, Хабр! Меня зовут Максим Анисимов, я главный инженер отдела технической поддержки в хостинг-провайдере SpaceWeb. В статье расскажу, как создать изолированный от внешней сети инстанс Nextcloud, который будет доступен только из-под VPN по IP-адресу. И объясню, чем именно и для кого такое решение будет полезно.


Читать: https://habr.com/ru/companies/spaceweb/articles/807025/

@database_design
Выжимаем максимум из PostgreSQL

Привет, Хабр! Меня зовут Максим, я работаю тестировщиком оборудования в Selectel Lab. В лаборатории мы занимаемся тестированием нового оборудования для дата-центров. О том, как мы измеряли производительность PostgreSQL на разных конфигурациях — под катом!

Читать: https://habr.com/ru/companies/selectel/articles/807259/

@database_design
Основы основ: введение в операционные, файловые и символьные системы

Привет, Хабр!

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

А всем юным (и не очень) желающим "войти в IT" - добро пожаловать под кат!


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

@database_design
Spark. План запросов на примерах

Всем привет!

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


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

@database_design
Перенести проверенную схему бэкапа больших данных из S3 в Yandex Cloud: опыт Битрикс24

Меня зовут Александр, я руковожу направлением больших данных в Битрикс24. Клиенты нашего сервиса хранят миллиарды файлов: от документов до фотографий, — а моя команда предоставляет возможность строить бизнес-аналитику на основе этого множества данных. И нам важно позаботиться об их сохранности.

Более 10 лет назад мы продумали необходимую нам схему репликации объектного хранилища в облаке. Затем файлы клиентов потребовалось перенести в другое облако, и нам очень хотелось также перенести все наши наработки в режиме «Ctrl+C, Сtrl+V».

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


Читать: https://habr.com/ru/companies/yandex_cloud_and_infra/articles/791996/

@database_design
Потенциальные проблемы с автоинкрементным ключом. MySQL <8.0, postgresql

В данной публикации я поделюсь двумя основными причинами, по которым я предпочитаю избегать использования автоинкрементных полей в PostgreSQL и MySQL в будущих проектах. Вместо этого я предпочитаю использовать UUID-поля, за исключением случаев, когда есть очень веские аргументы против этого подхода.


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

@database_design
The Journey of MongoDB with COVESA in the Connected Vehicle Landscape



Read: https://www.mongodb.com/blog/post/journey-mongodb-with-covesa-in-connected-vehicle-landscape

@database_design
Шардирование (sharding). Эпизод 2: шардирование по гео

Viam supervadet vadens (дорогу осилит идущий)

Есть много счастливчиков, которым повезло работать в ситуации, когда объёмы по-настоящему огромны и требования кажутся невыполнимыми. Но есть те, кому по настоящем крупно повезло! Я говорю о тех, кто решал задачи в пространствах, где размерность больше 1.

Давайте разбросаем осколки по всей земле?
Разбрасываем?

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

@database_design
MariaDB Completes Nutanix Ready Certification for AI and Data-Driven Hybrid and Multicloud Applications

Read: https://mariadb.com/?p=39117

@database_design
Безопасный Continuous Deployment БД по принципам DB-First

В статье рассматривается Continuous Deployment для БД с бесшовными релизами за счёт обратно-совместимых обновлений и автоматизации проверок совместимости с помощью подхода DB-First.


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

@database_design
SSD killer

SSD killer — destroyer for your ssd

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

А если серьезно, это устройство для оперативного аппаратного уничтожения данных вместе с носителем. По своей сути это аналог чеховского ружья, у которого цель выстрелить в нужный момент.
SSD killer

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

@database_design
Разбираемся с Apache Spark

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


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

@database_design
Retrieval Augmented Generation for Claim Processing: Combining MongoDB Atlas Vector Search and Large Language Models



Read: https://www.mongodb.com/blog/post/rag-claim-processing-combing-mongodb-atlas-vector-search-llms

@database_design
Как мы переносили базу Clickhouse между географически удаленными дата-центрами

В конце прошлого года мы писали о сложном переезде нашего собственного сервиса в новый дата-центр в Детройте. Среди прочих задач мы переносили Clickhouse. Напомню, что речь идет о нагруженном сервисе, который обслуживает десятки серверов, принимающих сотни тысяч запросов с низкой latency в секунду.

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

Объем данных для Clickhouse у нас не такой уж и большой - процесс получился не столько объемный, сколько ресурсоемкий. Но в открытых источниках информации по использованным механизмам минимум, поэтому считайте это руководством к clickhouse-copier утилите (https://github.com/ClickHouse/copier) на конкретном примере со скриптами и командами для запуска.


Читать: https://habr.com/ru/companies/maxilect/articles/808851/

@database_design
Проекции в Vertica: что это, как использовать, и почему не стоит создавать их под каждый запрос

Иван Якунин, продуктовый аналитик команды Fintech Marketplace, рассказал про то, как в Авито работают с Vertica, и на примерах объяснил, что такое проекции, и когда их стоит использовать.


Читать: https://habr.com/ru/companies/avito/articles/808713/

@database_design
Использование миграций баз данных в Go

Недавно мы столкнулись с необходимостью найти библиотеку для удобной работы с базами данных. В проекте было принято решение не использовать ORM, а вместо этого применить миграции. Так как я работал только с ORM, мне, как и автору статьи, было мало знакомо понятие миграций баз данных. В поисках информации о миграциях и популярных решениях, я наткнулся на эту статью. Перевод статьи я оставил ниже. Возможно, она будет вам полезна. Буду признателен, если вы сможете поделиться библиотеками, которые используете.


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

@database_design
Supabase — вышел из режима «бета»

Supabase - open source альтернатива Firebase, на базе PostgreSQL. Инструмент предоставляет разработчикам различные сервисы и утилиты, которые упрощают процесс создания и запуска приложений.

Компания вышла из режима бета, который продлился аж 4 года. Теперь продукт находится в режиме GA (generally available). Режим бета не помешал им собрать довольно внушительную базу пользователей, по словам основателей уже более 1 млн. баз данных запущено с использованием Supbase. Инвестиции стартап привлекал еще 2 года назад на сумму 80 млн. $.

Тут была неплохая инструкция на русском (в двух частях.)

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

Есть бесплатный тариф с ограничением по количеству активных пользователей в 50 тыс., чего вполне должно хватить для запуска и проверки гипотез. На любом тарифе пользователи получают доступ к очень активному сообществу, готовому предложить помощь или совет.
Сервис стал продуктом недели на ProductHunt, оставив далеко позади конкурентов. По количество голосов в топе лидеров за год, еще один плюс живого и активного сообщества.

Примечательно то, что больше трети проектов из последнего батча YC используют именно Supabase. Мне кажется это яркое подтверждение тезиса об упрощении разработки (ну или маркетологи компании хорошо постарались). Так что, если делаете стартап, и не используете Supabase, то можно задать вопросы CTO, почему он не делает как "лучшие" стартапы, которых отобрал YC. 😉


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

@database_design