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

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

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

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

Другие наши проекты: https://tprg.ru/media
Download Telegram
MongoDB Is A Best Place to Work in 2023, According to Our Employees on Glassdoor

Read: https://www.mongodb.com/blog/post/mongodb-best-place-work-2023-according-employees-glassdoor
Top 3 Wins and Wants from the Latest TDWI Modernization Report

Read: https://www.mongodb.com/blog/post/top-three-wins-wants-from-latest-tdwi-modernization-report
MariaDB Java Connector 3.1.1 and 3.0.10 now available

Read: https://mariadb.com/?p=34497
User Assistance Enhancements in 2022: Autonomous Database On Dedicated Exadata Infrastructure

In this blog, Anjani Pothula, User Assistance Lead for Autonomous Database on Dedicated Exadata Infrastructure, tries to glimpse UA implementations and updates made through 2022.

Read: https://blogs.oracle.com/database/post/2022-in-review-user-assistance-for-autonomous-database-on-dedicated-exadata-infrastructure
Жарим TOAST в PostgreSQL

У нас не подгорит!

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


Читать: https://habr.com/ru/post/710104/
Introducing MongoDB Connector for Apache Kafka version 1.9

Read: https://www.mongodb.com/blog/post/introducing-mongodb-connector-apache-kafka-version-1-9
Резервное копирование и восстановление СУБД PostgreSQL

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


Читать: https://habr.com/ru/post/710094/
Improving Building Sustainability with MongoDB Atlas and Bosch

Read: https://www.mongodb.com/blog/post/improving-building-sustainability-mongodb-atlas-bosch
Obsidian + Dataview: Таблицы

На статью меня вдохновил этот комментарий .

Dataview - это мощный плагин для Obsidian позволяющий отбирать данные (теги, даты, числа и любые другие пользовательские параметры) markdown-заметок, а затем их фильтровать и отбирать как пожелаешь.

Это такой своеобразный аналог Notion-таблиц, где можно создать таблицу с бесконечной вложенностью (таблица, внутри одной ячейки, а внутри еще таблица и еще и еще).

На КДПВ как раз собраны четыре кейса реализации функционала плагина Dataview.

Как всё это работает

1. Dataview работает на встроенном языке запросов

2. Все запросы должны писаться внутри подобного блока кода:
А разбирать каждый кейс будем под катом.

Читать: https://habr.com/ru/post/710356/
Telegram-бот счётчик сообщений на Java и Spring Boot

Пишем простой Телеграм-бот на Java, который будет подсчитывать сообщения от пользователей чата и записывать их в БД через PostgreSQL.

Читать: «Telegram-бот счётчик сообщений на Java и Spring Boot»
👍1
What is a Converged Database?

A converged database is a database that has native support for all modern data types and the latest development paradigms built into one product. A converged database does not mean data must be in one monolithic database. A converged database enables you to choose your data architecture for each application. You decide when to consolidate data into fewer databases and when a fully distributed design is best.

Read: https://blogs.oracle.com/database/post/what-is-a-converged-database
PostgreSQL Antipatterns: Индиана Джонс и максимальное значение ключа, или В поисках «последних» записей

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

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


Читать: https://habr.com/ru/post/710400/
👍1
Autonomous Database on Dedicated Exadata Infrastructure 2022 End of Year Roundup

In this blog post we take a look at 2022 in retrospective and report on the progress we made on key Autonomous Database features for our customers.

Read: https://blogs.oracle.com/database/post/adb-d-2022-end-of-year-roundup
Зелёным вайтишникам: можно ли обойтись единственной таблицей?

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

Но если тема одной сверх-таблицы всё-таки всплывает в обсуждениях, может это всё-таки где-то применимо? Принцип одной таблицы чаще предлагается, когда пишут про такие штуки, как Activity Scheme и Event Sourcing.

Статьи чаще содержат только теоретические рассуждения этих концепций, иногда пишутся с позиции системного аналитика. Сейчас рассмотрим примеры с позиции программиста. Я не люблю абстрактные вузовские примеры, поэтому будут два сценария использования с моих мест работы: обработка маркированного товара (привет, «Честный знак»!) и телеметрия сети вендинговых устройств.

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

Читать: https://habr.com/ru/post/710662/
Как изучить SQL за 2 месяца. План обучения

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

Основным инструментом для взаимодействия с реляционными БД является структурированный язык запросов или же SQL.


Читать: https://habr.com/ru/post/709116/
Лучший формат данных, для хранения pandas.DataFrame

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

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

На сегодняшний день существует огромное количество форматов для хранения данных, и, используя библиотеку Pandas при обработке большого объёма данных, возникает вопрос – а какой формат, с которыми Pandas работает «из коробки», даст наибольшую производительность, при дальнейшем использовании, обработанного DataFrame?

Ремарка: поиск информации по этой теме, привёл меня к репозиторию, за авторством Devforfu (ссылка), но так как информация в нём датируется 2019 годом, а за этот период вышло множество обновлений, я решил написать «свежий» бенчмарк, основываясь на принципах автора – ссылка на обновленный бенчмарк. Отмечу, что из-за слишком большой разницы в полученных результатах, я склоняюсь к тому, что мог совершить ошибку, поэтому далее в статье будет указана информация по оригиналу.

В качестве тестируемых форматов использовались следующие варианты: CSV (как самый популярный текстовый формат), Pickle, Feather, Parquet, Msgpack, HDF. Для сравнения будем использовать следующие метрики: размер сериализованного файла, время загрузки DataFrame из файла, время сохранения DataFrame в файл, потребление оперативной памяти при сохранении и загрузке DataFrame.

Тестовые данные – сгенерированный DataFrame с 1 миллионом строк, 15 столбцами цифр и 15 столбцами строковых значений. Генерация численных данных проводилась с помощью numpy. random.normal, в качестве строчных данных использовались UUID. С появлением в Pandas, категориального типа данных (Categorical data), который использует гораздо меньше памяти и более производительней в обработке (обширный материал для другой статьи), интересно также сравнить насколько изменится производительность форматов, поэтому ещё одним этапом сравнения в тестовых данных стал перевод формата «object» к формату «category».


Читать: https://habr.com/ru/post/710798/
Глобальный кризис хранения данных. Почему места в хранилищах на всех не хватит

Ученые предупреждают, что мир движется к глобальному кризису хранения данных. Ожидается, что к 2025 году объем данных в мире увеличится на 300 процентов, и для всей этой информации уже начнет не хватать места. Несмотря на быстрое расширение AWS, GCP и Azure, облака не смогут разместить весь этот «умопомрачительный объем». Кому-то придется ужаться.


Читать: https://habr.com/ru/post/710838/
🤡1
Особенности VACUUM в MPP-форках PostgreSQL

Один из важнейших аспектов, за которым должен следить каждый администратор баз данных PostgreSQL — процесс поддержания «здоровья» базы данных vacuum / autovacuum, удаляющий из памяти неактуальные версии табличных строк и сбрасывающий счётчик транзакций.

В этой статье я систематизировал особенности vacuum / autovacuum, с которыми сталкиваются администраторы MPP-РСУБД.


Читать: https://habr.com/ru/post/710806/
Упрощаем себе жизнь при разработке интерфейса взаимодействия приложения и БД

Привет, %username%! Меня зовут Антон Жеронкин, я Data Scientist в Сбере, участник профессионального сообщества NTA. Сегодня поговорим о том, как можно сделать лучше жизнь разработчиков, которые часто сталкиваются с базами данных. Дело в том, что, когда разработчики вручную пишут функциональные модули, ответственные за связь с БД, они проделывают следующую работу:

● описывают таблицы в виде классов;

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

● на CRUD-операции пишут много SQL-кода, который зашивается в методы языка программирования и помогает остальным модулям при необходимости использовать связь с БД.

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


Читать: https://habr.com/ru/post/711100/
Predictions 2023: Modernization Efforts in the Financial Services Industry

Read: https://www.mongodb.com/blog/post/predictions-2023-modernization-efforts-financial-services-industry