DATABASE DESIGN – Telegram
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
Названы лауреаты стипендии MongoDB 2025 года!

MongoDB объявила победителей второй по счету программы стипендий для PhD. Xingjian Bai, William Zhang и Renfei Zhou удостоены поддержки за выдающиеся исследования в области компьютерных наук. Программа направлена на развитие передовых технологических идей. Поздравляем и ждем новых открытий!
Читать подробнее

#en

@database_design | Другие наши каналы
Новые релизы MariaDB Connector/Java

MariaDB анонсировала выпуск обновлений для MariaDB Connector/Java версий 3.5.3, 3.4.2 и 3.3.4. Среди улучшений: решение проблем совместимости временных меток и изменения в настройках перенаправления. Подробности и ссылки на загрузку доступны на официальном сайте MariaDB.

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

#en

@database_design | Другие наши каналы
Как создать дедуплицирующую файловую систему с нуля? Опыт TATLIN.BACKUP

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

Меня зовут Ростислав, я эксперт по разработке ПО отдела систем обработки данных в YADRO. Расскажу о вкладе нашей команды в разработку TATLIN.BACKUP: как мы с нуля создали дедуплицирующую файловую систему, а также какие вызовы преодолели за два года разработки и 200 тысяч строк кода.


Читать: https://habr.com/ru/companies/yadro/articles/895058/

#ru

@database_design | Другие наши каналы
Секционирование в PostgreSQL. Архитектура корзинного хранения данных. (Basket partitioning)

Привет, ХАБР! Я Хаймин Владимир, эксперт по системам управления базами данных PostgreSQL в ВТБ. Когда размеры таблиц становятся большими — обслуживание и доступ к данным становятся непростой задачей. Я хочу поделиться методикой организации секционирования в PostgreSQL, которая существенно упростила нам жизнь с таблицами большого размера, хранящие, например, исторические данные по датам. Назовем ее условно «Корзинным секционированием» (Basket partitioning). Данная технология реализована архитектурно, без необходимости расширения функционала сторонними инструментами или расширениями только штатными средствами ванильных версий PostgreSQL. Такая система хранения реализована, например, в проекте мониторинга pg_awr для упрощения удаления старых данных.

Секционирование в PostgreSQL

Секционирование — это техника разбиения одной большой таблицы базы данных (БД) на несколько меньших, логически связанных частей, называемых секциями. При этом, такая таблица с точки зрения ППО выглядит как одна большая таблица.

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

PostgreSQL начиная с 10 версии, помимо наследования, поддерживается декларативное секционирование: диапазонное, списочное, хэш-секционирование.

Какие бывают базы данных по методу их наполнения и использования?


Читать: https://habr.com/ru/companies/vtb/articles/894950/

#ru

@database_design | Другие наши каналы
ADATA сделала супер-компактный SSD с USB-A и USB-C, который меньше и легче обычной флешки. Он весит меньше 8 граммов

Внешний накопитель — явно не тот аксессуар, который захочется всюду носить с собой. Он занимает место, цепляется за другие предметы, а иногда и вовсе теряется среди вещей. И это притом, что большинство из них чаще всего требует переходник для подключения к современным ноутбукам, смартфонам или планшетам, которые попросту лишены разъема USB-A. Добавьте к этому необходимость иметь достаточно места для хранения данных и приемлемую скорость передачи файлов, и выбор подходящего накопителя станет практически непосильной задачей. Но у ADATA есть решение.


Читать: https://habr.com/ru/companies/x-com/articles/895224/

#ru

@database_design | Другие наши каналы
Уже через год мы будем общаться с базами данных по-русски

По прогнозу Gartner, запросы на естественном языке вытеснят SQL уже в 2026 году. Возможно, прогноз Gartner чересчур оптимистичный, но если они и ошибаются, то только в сроках — сам переход на естественный язык в работе с БД неизбежен.


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

#ru

@database_design | Другие наши каналы
Можем ли мы хранить данные в ДНК?

Зеттабайт — это триллион гигабайт. Это очень много, но, по одной из оценок, в этом году человечество произведёт сто восемьдесят зеттабайт цифровых данных. Данные копятся: PowerPoints и селфи; видео, снятое камерами; электронные медицинские карты; данные, извлечённые из смарт-устройств или собранные телескопами и ускорителями частиц; резервные копии и резервные копии резервных копий. Куда всё это девать, сколько и как долго хранить? Эти вопросы не дают покоя учёным-компьютерщикам, управляющим мировыми хранилищами данных. Для них облако — это не клочок тумана, а физическая система, которую нужно создавать, оплачивать и обслуживать.

Эксперты по хранению данных говорят о температурной шкале данных. На одном конце находятся «горячие» данные — Википедия или ваш банковский баланс, — которые должны появляться на экране практически мгновенно. На другом — «холодные» данные, которые могут находиться в нескольких минутах или даже днях от кончиков ваших пальцев. «Тёплые» данные, расположенные посередине, например ваши старые фотографии, могут быть получены за несколько секунд. Большинство данных — «холодные», и многие из них, вероятно, можно стереть без последствий. Однако некоторые из них могут однажды оказаться критически важными, например, в уголовном деле, и их потенциальная ценность означает, что большая часть должна быть сохранена в целости и сохранности в течение неопределённого времени.


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

#ru

@database_design | Другие наши каналы
Диспетчер паролей: как выбрать лучший

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


Читать: https://habr.com/ru/companies/timeweb/articles/895420/

#ru

@database_design | Другие наши каналы
Квиз: сможешь ли ты защитить приложение на PHP?

PHP — это мощный инструмент, но с ним легко наделать ошибок в безопасности. Ты уверен, что знаешь, как защитить свой код? Проверяй свои навыки в нашем квизе.

Читать: «Квиз: сможешь ли ты защитить приложение на PHP?»

#ru

@database_design | Другие наши каналы
Порядок следования столбцов в таблицах PostgreSQL

Порядок столбцов в таблицах влияет на компактность и производительность. При небольшом числе строк на это не обращают внимание. Если в таблицах хранится много строк, то даже небольшое уменьшение объема хранения может быть полезно. У столбцов есть оптимальный  порядок и менее оптимальные, которые отличаются размером, который используют строки при физическом хранении. Причина того, что переставив столбцы строки в таблице с теми же самыми данными, меняют размер в выравнивании (aligning) и заполнении нулями (padding). В блоке данных выравниваются все структуры: заголовки, поля строк и целиком сами строки.

На 64-разраядных операционных системах, длина любой строки и заголовка строки  выравниваются по 8 байт. То есть если строка занимает 28 байт, то физически она займёт 32 байта. В конец строки будут добавлены пустые байты. Поля выравниваются сложнее - по 4,8, 16 байт. В статье рассматривается перестановка столбцов на примере демонстрационной базы.


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

#ru

@database_design | Другие наши каналы
Как перевести проект на Laravel: пошаговый план перехода

Как перевести проект на Laravel. Показываем основные преимущества использования Ларавел. Рассматриваем пошаговую инструкцию нюансы переноса Tproger

Читать: «Как перевести проект на Laravel: пошаговый план перехода»

#ru

@database_design | Другие наши каналы
👎1
Бинарный формат вместо текста

Как быстро, без боли и страданий организовать хранение структурированных данных в бинарном формате. А затем и их передачу при необходимости. А потом, немного подумав, ещё их обнаружение в «замусоренном» потоке.


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

#ru

@database_design | Другие наши каналы
S3-совместимые хранилища: как собрать свой конструктор

В одном из больших кластеров S3 в Точке хранится 110 терабайт полезных данных. Это не много по объёму, но он распределён среди 6+ миллионов файлов. Стоимость работы системы оценивается более чем в миллион рублей в месяц — это с учётом фактора репликации, бэкапов, основной системы хранения и резерва ресурсов. Это пятое место по стоимости среди всех сервисов.

Мы выбрали SeaweedFS, потому что это удобный конструктор, который позволяет загружать файлы любого размера, легко масштабироваться без деградации скорости доступа и надёжно защищать данные от потерь. В статье рассказываю, каким должно быть идеальное S3-хранилище для миллионов файлов, и почему нам не подошли Ceph и Minio.


Читать: https://habr.com/ru/companies/tochka/articles/895180/

#ru

@database_design | Другие наши каналы
🆒1
Интеграция LangChainGo и MongoDB: новый этап в разработке AI-приложений на Go

MongoDB теперь интегрирован с LangChainGo, что упрощает создание приложений на Go, использующих крупные языковые модели (LLM). Эта интеграция облегчает процесс LLM, используя возможности MongoDB как векторной базы данных, оптимизируя производительность AI/ML решений. Узнайте больше об этой интеграции и возможностях LangChainGo в Go-экосистеме. Поддержка для будущих лидеров науки

Текст: Компания MongoDB открыла окно номинаций на PhD Fellowship Program 2026. Если вы студент с инновационными идеями, не упустите возможность получить поддержку для вашего исследования. Подробности о программе и подаче заявок доступны на странице программы.

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

#en

@database_design | Другие наши каналы
Новые возможности в Oracle Autonomous Health Framework

Oracle обновил свой Autonomous Health Framework до версии 25.3. Теперь пользователи могут детально изучать события, вызывающие диагностические сборы, получать более глубокие ASM Insights, проводить анализ различий низкой памяти в Orachk CHM и применять новые проверки лучших практик.

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

#en

@database_design | Другие наши каналы
MariaDB выпускает новые версии Java Connector

MariaDB объявила о выпуске версий Java Connector 3.5.3, 3.4.2 и 3.3.4. Узнайте об изменениях и особенностях обновлений в релизных примечаниях и журнале изменений. Подробности доступны на сайте MariaDB.

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

#en

@database_design | Другие наши каналы
«Код как по нотам? Не с ИИ-копилотом»: senior рассказал о реальной работе с ИИ-помощниками

Senior-разработчик объяснил, почему ИИ-помощники не заменят программистов: они ускоряют рутину, но не отвечают за архитектуру и защиту

Читать: ««Код как по нотам? Не с ИИ-копилотом»: senior рассказал о реальной работе с ИИ-помощниками»

#ru

@database_design | Другие наши каналы
Менеджер закладок на своём сервере

Хранить тысячи закладок в браузере — совершенно неблагодарная задача. Там отсутствуют даже офлайн-предпросмотр и автоматические теги, не говоря о полнотекстовом поиске и автоматическом скачивании/архивировании по RSS.

Для нормального управления закладками нужно специализированное решение. Тут много вариантов, а одно из лучших — это опенсорсное приложение Hoarder («Копилка информации»). Оно устанавливается на сервер и выступает единой БД для доступа из любых клиентов: Android, iOS, Chrome, Firefox и т. д.

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

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

#ru

@database_design | Другие наши каналы
Отказоустойчивость в MinIO

Simple Storage Service или S3 — сервис (и одновременно протокол) для хранения данных большого объёма. Для работы использует API поверх HTTP, который позволяет загружать или получать объекты из хранилища.

В проектах с приватной инфраструктурой часто возникает потребность в организации on-premise S3-хранилища. Популярное решение в таком случае это MinIO — удобная и довольно простая в использовании реализация сервиса S3.  Когда нам в RUTUBE потребовалось S3, мы не стали долго думать и взяли MinIO, потому что он стильный, модный, молодежный хорошо себя зарекомендовал на рынке, хорошо документирован и прост в первоначальной настройке и эксплуатации.

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


Читать: https://habr.com/ru/companies/habr_rutube/articles/895286/

#ru

@database_design | Другие наши каналы
Шардированный кластер ClickHouse

Хочу рассказать, как спроектированы распределённые вычисления в ClickHouse. Вы узнаете, на что влияет схема кластера (и на что не влияет). Расскажу, как можно на ровном месте создать себе проблему при помощи всего одной таблицы Kafka и нескольких матвьюх. Поделюсь опытом про дебаг и оптимизацию SELECT-запросов к Distributed таблицам: поизучаем планы выполнения и поэксперементируем с настройками в блоке SETTINGS.


Читать: https://habr.com/ru/companies/wildberries/articles/896060/

#ru

@database_design | Другие наши каналы
Как взламывают базы данных: разбор кейсов и типичных ошибок компаний

Базы данных (БД) – это настоящие клады, где хранятся персональные данные, финансовые отчеты, коммерческие тайны и иная чувствительная информация. Поэтому неудивительно, что компании любых размеров – от стартапов до гигантов вроде Sony и Tesla – регулярно становятся жертвами атак, направленных именно на взлом БД.

Последствия таких атак могут быть катастрофическими: от миллионных штрафов и судебных разбирательств до серьёзного урона репутации. Но ирония в том, что в большинстве случаев взломы происходят не из-за гениальности хакеров, а из-за банальных ошибок самих компаний. Разберём самые распространённые уязвимости.


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

#ru

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