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
Restic: эффективное резервное копирование из Stdin

Про restic я уже рассказывал в статье Бэкап-хранилище для тысяч виртуальных машин свободными инструментами, с тех пор он остаётся моим любимым инструментом для бэкапа.

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

Несмотря на то, что restic отлично подходит для сохранения целых каталогов с данными в этой статье мне хотелось бы сделать упор на сохранении резервных копий на лету прямо из Stdin.

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


Читать: https://habr.com/ru/articles/769622/
4 Key Considerations for Unlocking the Power of GenAI



Read: https://www.mongodb.com/blog/post/4-key-considerations-unlocking-power-gen-ai
Цифровой паспорт оборудования промышленного производства

Привет, привет!

Представлюсь: меня зовут Тамара, и я являюсь ведущим инженером по нормативно-справочной информации в компании Bimeister.

Начну с того, что это лишь малая часть той большой истории, которую я хочу вам рассказать.

Будет много вопросов типа «Что это?», «Для чего нужен?» и тд. Ищите ответы на эти вопросы ниже, я вам все объясню)

Чем же занимаемся мы, ребята из отдела разработки НСИ? Давайте попробую вам кратко рассказать:

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

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

Качественная база данных оборудования (БДО) является основой для построения системы автоматизации/цифровизации процессов Управления техническим обслуживанием и ремонтами (ТОиР). В процессе эксплуатации системы Управления ТОиР предприятиям постоянно требуется актуализация существующих аналитических справочников, составляющих БДО. Чтобы иметь возможность планировать ремонт или техническое обслуживание (ТО) любой конкретной обслуживаемой единицы оборудования, а также вести учет истории ремонтов и отказов (дефекты, параметры состояния, наработка, отказы), необходимо, чтобы эта единица была описана в информационной системе (паспортизирована).


Читать: https://habr.com/ru/companies/bimeister/articles/770368/
История одной Real-Time-рекомендательной системы: пример построения решения от нуля до реализации

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


Читать: https://habr.com/ru/companies/vk/articles/769508/
Обзор популярных файловых систем в системах виртуализации. Часть 2: BTRFS

В прошлом материале мы рассказали о типах файловых систем и подробно остановились на системе ZFS. В второй части подробно разберем BTRFS — файловую систему для Unix-подобных ОС.


Читать: https://habr.com/ru/companies/vstack/articles/770662/
Retrieval Augmented Generation (RAG): The Open-Book Test for GenAI



Read: https://www.mongodb.com/blog/post/retrieval-augmented-generation-rag-open-book-test-gen-ai
Установка и безопасная настройка Redis

Сегодня мы поговорим о СУБД Redis, рассмотрим процесс установки и настройки. В отличие от реляционных систем управления базами данных, Redis является СУБД класса NoSQL с открытым исходным кодом, работающей  со структурами данных типа «ключ — значение».

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

Но, вернемся к СУБД Redis. Redis - это хранилище значений ключей в памяти, известное своей гибкостью, производительностью и широкой языковой поддержкой. Данная система ориентирована на достижение максимальной производительности на атомарных операциях (заявляется о приблизительно 100 тыс. SET- и GET-запросов в секунду на Linux-сервере начального уровня). Написана на Си, интерфейсы доступа созданы для большинства основных языков программирования. Далее мы поговорим о том, как установить и безопасно настроить Redis на сервере Ubuntu 22.04.


Читать: https://habr.com/ru/companies/otus/articles/770364/
Переизобретаем файловую систему: (Open)ZFS

Хранение данных — это всегда боль, у которой может быть больше 50 оттенков: железо, кэш, гарантии, производительность, скорость восстановления при проблемах, удобство и прочее. Как решить большинство из них, при этом получив что-то легко обслуживаемое, да ещё бесплатно? Сегодня поговорим про файловые системы на примере не совсем дефолтной OpenZFS.


Читать: https://habr.com/ru/companies/vk/articles/770300/
Индексирование полнотекстовых данных в PostgreSQL с использованием модуля pg_trgm

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

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

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

Итак, что такое pg_trgm? Этот модуль PostgreSQL предоставляет набор функций и операторов, которые позволяют работать с трехграммами (триграммами) - это последовательности из трех символов. Для понимания, давайте взглянем на пример...


Читать: https://habr.com/ru/companies/otus/articles/770674/
Чек-лист: как правильно выбрать поставщика СХД

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


Читать: https://habr.com/ru/companies/itglobalcom/articles/770678/
MongoDB Hosts First-Ever Events in ASEAN - Empowering Developers to Create, Transform, and Disrupt Industries



Read: https://www.mongodb.com/blog/post/hosts-first-ever-events-asean-empowering-developers-create-transform-disrupt-industries
PostgreSQL Antipatterns: ходим по JSON-граблям

Недавно попался на глаза примерно такой кусок запроса, и тут прекрасно примерно все:

• множество чтений из CTE (хоть и единственной записи, но все же);

• извлечение по каждому ключу текста с раскастовкой в jsonb;

• извлечение каждого отдельного json-ключа в каждое отдельное одноименное поле;

• "ручное" преобразование текстового представления массива в json в текстовое представление PostgreSQL.

А как - правильно?


Читать: https://habr.com/ru/companies/tensor/articles/771406/
Битва за флешку: кто изобрел USB-накопитель?

Кто изобрел USB-накопитель? Однозначно приписать эту заслугу кому-то конкретному нельзя — на авторство претендуют сразу несколько людей и компаний.

Во многом появлению этого изобретения поспособствовала технологическая среда того времени. Флэшка сочетала в себе флеш-память и интерфейс USB в удобном корпусе, который заменил дискеты.

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


Читать: https://habr.com/ru/companies/first/articles/771294/
Использование табличных тестов в go для тестирования запросов к БД + testify

При написании бэкенда работа с базой данных зачастую составляет большую часть кода в проекте. Но несмотря на то, что в го стандартная библиотека для тестирования довольно удобная, она требует написания большого количества кода. Поэтому иногда вместо того, чтобы писать тесты разработчики могут ограничить тестирование при помощи какого-либо клиента (например, при помощи tableplus или другого sql-клиента), либо тестируют уже конечные точки API используя postman. С одной стороны, это, конечно может быть быстрее для первого тестирования, но с другой — такие методы не обеспечивают должного покрытия тестами приложения.

Решить проблему с написанием большого количества кода может помочь библиотека testify, которая позволяет писать тесты более выразительно и с меньшим количеством кода. В testify есть пакеты require и assert, в первом случае выполнение теста будет прервано, а во втором — продолжено. В статье будет использоваться пакет assert. Для облегчения понимания кода можно использовать табличное тестирование, которое поможет определить, какие случаи проверяются даже при беглом взгляде на код.


Читать: https://habr.com/ru/companies/first/articles/771428/
Как хранить данные в облаке? Краткий экскурс по технологиям

Компаниям нужно где-то хранить большое количество данных, но создавать собственные дата-центры — задача не из легких. На помощь приходит облачное хранилище у провайдеров. Оно помогает сэкономить на собственной инфраструктуре и надежно хранить данные разных форматов. Достаточно выбрать подходящий тип хранения: блочный, файловый или объектный. О том, в чем между ними разница, рассказываем в статье. А также делимся инструкцией, как начать работу с объектным хранилищем.


Читать: https://habr.com/ru/companies/selectel/articles/771726/
Это база: нюансы работы с Redis. Часть 1

Привет! Меня зовут Петр и мы в компании Nixys очень любим Redis. Эта база используется, если не на каждом нашем проекте, то на подавляющем большинстве. Мы работали как с разными инсталляциями Redis, так и с разными версиями, вплоть до самых дремучих, вроде 2.2. Несмотря на то, что в Интернете очень много статей и докладов по этой БД, мы в своей практике достаточно часто встречаемся с непониманием некоторых основных концепций Redis и со стороны разработчиков, и со стороны системных администраторов.

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


Читать: https://habr.com/ru/companies/nixys/articles/765694/
Third Quarterly Update on Oracle Graph (2023)

Oracle Graph Server and Client 23.3 is now available for download for use with databases in the Cloud (OCI Marketplace image is available) and for databases on-premises. This release includes a number of new features, including the simplified install and use of the graph visualization tool, updates to PGQL, and RDF feature enhancements. The graph visualization REST API was also updated to streamline authentication and run PGQL queries through the JSON body, rather than as an encoded URL.

Read: https://blogs.oracle.com/database/post/third-quarterly-update-on-oracle-graph-2023
Как мы создали и развиваем лабораторию R&D

Привет, меня зовут Александр, я руковожу Управлением исследований и разработки новых решений в «Ростелеком-ЦОД», если коротко — лабораторией R&D.

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


Читать: https://habr.com/ru/companies/dataline/articles/771796/
Развертывание базы данных Oracle в Docker в условиях санкций

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

В статье освещен процесс решения проблем при сборке образа и запуске контейнера


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