Резервное копирование и восстановление СУБД PostgreSQL
Резервное копирование является одной из основных задач администрирования баз данных. Отсутствие бэкапа может привести к катастрофическим последствиям при эксплуатации базы данных. Однако недостаточно только настроить регулярное создание резервных копий, необходимо также регулярно проверять созданные копии на способность к восстановлению БД. В этой статье мы поговорим от том, как правильно настраивать резервное копирование в БД PostgreSQL.
Читать: https://habr.com/ru/post/710094/
Резервное копирование является одной из основных задач администрирования баз данных. Отсутствие бэкапа может привести к катастрофическим последствиям при эксплуатации базы данных. Однако недостаточно только настроить регулярное создание резервных копий, необходимо также регулярно проверять созданные копии на способность к восстановлению БД. В этой статье мы поговорим от том, как правильно настраивать резервное копирование в БД 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
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/
На статью меня вдохновил этот комментарий .
Dataview - это мощный плагин для Obsidian позволяющий отбирать данные (теги, даты, числа и любые другие пользовательские параметры) markdown-заметок, а затем их фильтровать и отбирать как пожелаешь.
Это такой своеобразный аналог Notion-таблиц, где можно создать таблицу с бесконечной вложенностью (таблица, внутри одной ячейки, а внутри еще таблица и еще и еще).
На КДПВ как раз собраны четыре кейса реализации функционала плагина Dataview.
Как всё это работает
1. Dataview работает на встроенном языке запросов
2. Все запросы должны писаться внутри подобного блока кода:
А разбирать каждый кейс будем под катом.
Читать: https://habr.com/ru/post/710356/
Telegram-бот счётчик сообщений на Java и Spring Boot
Пишем простой Телеграм-бот на Java, который будет подсчитывать сообщения от пользователей чата и записывать их в БД через PostgreSQL.
Читать: «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
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
Oracle
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…
PostgreSQL Antipatterns: Индиана Джонс и максимальное значение ключа, или В поисках «последних» записей
Сегодняшняя задача вполне традиционна для любых учетных систем - поиск записей, содержащих максимальное значение по каждому из ключей. Что-то вроде "покажи мне последний заказ по каждому из клиентов", если переводить в прикладную область.
Кажется, что тут и споткнуться-то негде в реализации - но все оказывается совсем не тривиально.
Читать: https://habr.com/ru/post/710400/
Сегодняшняя задача вполне традиционна для любых учетных систем - поиск записей, содержащих максимальное значение по каждому из ключей. Что-то вроде "покажи мне последний заказ по каждому из клиентов", если переводить в прикладную область.
Кажется, что тут и споткнуться-то негде в реализации - но все оказывается совсем не тривиально.
Читать: 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
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
Oracle
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 all the progress we made on key ADB-D features for our customers.
Зелёным вайтишникам: можно ли обойтись единственной таблицей?
Представим: есть одна большая главная таблица в базе данных. В эту таблицу пихают самые разные сущности: телеметрические атрибуты, ширину колонок отчётов, ссылки на справочники транслитерации, перечень команд станков ЧПУ, пути к иконкам для кнопок и пр. Это пример того, как делать не нужно.
Но если тема одной сверх-таблицы всё-таки всплывает в обсуждениях, может это всё-таки где-то применимо? Принцип одной таблицы чаще предлагается, когда пишут про такие штуки, как Activity Scheme и Event Sourcing.
Статьи чаще содержат только теоретические рассуждения этих концепций, иногда пишутся с позиции системного аналитика. Сейчас рассмотрим примеры с позиции программиста. Я не люблю абстрактные вузовские примеры, поэтому будут два сценария использования с моих мест работы: обработка маркированного товара (привет, «Честный знак»!) и телеметрия сети вендинговых устройств.
Статья ориентирована на совсем зелёных новичков, только прошедших курсы по базам данных и не видевших рабочих будней. В статье только структура таблиц, SQL-запросы и, конечно же, поговорим о размерах, если вы понимаете о чём я.
Статью нельзя назвать короткой!
Читать: https://habr.com/ru/post/710662/
Представим: есть одна большая главная таблица в базе данных. В эту таблицу пихают самые разные сущности: телеметрические атрибуты, ширину колонок отчётов, ссылки на справочники транслитерации, перечень команд станков ЧПУ, пути к иконкам для кнопок и пр. Это пример того, как делать не нужно.
Но если тема одной сверх-таблицы всё-таки всплывает в обсуждениях, может это всё-таки где-то применимо? Принцип одной таблицы чаще предлагается, когда пишут про такие штуки, как Activity Scheme и Event Sourcing.
Статьи чаще содержат только теоретические рассуждения этих концепций, иногда пишутся с позиции системного аналитика. Сейчас рассмотрим примеры с позиции программиста. Я не люблю абстрактные вузовские примеры, поэтому будут два сценария использования с моих мест работы: обработка маркированного товара (привет, «Честный знак»!) и телеметрия сети вендинговых устройств.
Статья ориентирована на совсем зелёных новичков, только прошедших курсы по базам данных и не видевших рабочих будней. В статье только структура таблиц, SQL-запросы и, конечно же, поговорим о размерах, если вы понимаете о чём я.
Статью нельзя назвать короткой!
Читать: https://habr.com/ru/post/710662/
Как изучить SQL за 2 месяца. План обучения
То, что данные называют нефтью 21 века известно уже давно: на них учатся нейросети, их мгновенная обработка и передача сильно упростили нашу жизнь, и одной из самых распространенных структур хранения данных является реляционная. Именно с ней знакомы большинство разработчиков и, скорее всего, знания как с ней работать вам тоже понадобятся.
Основным инструментом для взаимодействия с реляционными БД является структурированный язык запросов или же SQL.
Читать: https://habr.com/ru/post/709116/
То, что данные называют нефтью 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/
Привет, Хабр!
Меня зовут Вадим Москаленко и я разработчик инновационных технологий Страхового Дома ВСК. В этой статье, хочу поделится с вами, информацией в области хранения данных.
На сегодняшний день существует огромное количество форматов для хранения данных, и, используя библиотеку 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/
Ученые предупреждают, что мир движется к глобальному кризису хранения данных. Ожидается, что к 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/
Один из важнейших аспектов, за которым должен следить каждый администратор баз данных PostgreSQL — процесс поддержания «здоровья» базы данных vacuum / autovacuum, удаляющий из памяти неактуальные версии табличных строк и сбрасывающий счётчик транзакций.
В этой статье я систематизировал особенности vacuum / autovacuum, с которыми сталкиваются администраторы MPP-РСУБД.
Читать: https://habr.com/ru/post/710806/
Упрощаем себе жизнь при разработке интерфейса взаимодействия приложения и БД
Привет, %username%! Меня зовут Антон Жеронкин, я Data Scientist в Сбере, участник профессионального сообщества NTA. Сегодня поговорим о том, как можно сделать лучше жизнь разработчиков, которые часто сталкиваются с базами данных. Дело в том, что, когда разработчики вручную пишут функциональные модули, ответственные за связь с БД, они проделывают следующую работу:
● описывают таблицы в виде классов;
● описывают отдельные атрибуты таблиц в виде атрибутов классов. При этом требуется следить за тем, чтобы типы и форматы данных совпадали;
● на CRUD-операции пишут много SQL-кода, который зашивается в методы языка программирования и помогает остальным модулям при необходимости использовать связь с БД.
Примерно такую же работу приходится проделывать, если сущности, атрибуты и отношения изначально заданы в приложении, а после этого данную модель требуется реализовать в БД. Главный её недостаток — рутина. О том, как её автоматизировать, поговорим под катом.
Читать: https://habr.com/ru/post/711100/
Привет, %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
Read: https://www.mongodb.com/blog/post/predictions-2023-modernization-efforts-financial-services-industry
Статистика базы данных с помощью pg_profile
Нередко проблемы в СУБД возникают из-за медленных запросов. Запросы такого типа дают нагрузку на базу данных и не позволяют вашему приложению работать корректно. К счастью, есть много доступных инструментов, которые помогают решить эту проблему.
Например, чтобы эффективно реализовать статистику и найти места с наибольшей нагрузкой в PostgreSQL, можно воспользоваться инструментом pg_profile. Как с ним работать, рассказал Александр Булгаков, инженер разработки Газпромбанка — в статье:
Читать: https://tprg.ru/IKFA
Нередко проблемы в СУБД возникают из-за медленных запросов. Запросы такого типа дают нагрузку на базу данных и не позволяют вашему приложению работать корректно. К счастью, есть много доступных инструментов, которые помогают решить эту проблему.
Например, чтобы эффективно реализовать статистику и найти места с наибольшей нагрузкой в PostgreSQL, можно воспользоваться инструментом pg_profile. Как с ним работать, рассказал Александр Булгаков, инженер разработки Газпромбанка — в статье:
Читать: https://tprg.ru/IKFA
Hydrus Helps Companies Improve ESG Performance
Read: https://www.mongodb.com/blog/post/hydrus-helps-companies-improve-esg-performance
Read: https://www.mongodb.com/blog/post/hydrus-helps-companies-improve-esg-performance
Neo4j. Вместо тысячи join-ов…
Если вы столкнулись с задачей хранения сильно связанных данных, то отличным вариантом будет использовать графовую модель данных. Мы в Текфорс сделали именно так. Почему - разберем в этой статье.
Читать: https://habr.com/ru/post/711646/
Если вы столкнулись с задачей хранения сильно связанных данных, то отличным вариантом будет использовать графовую модель данных. Мы в Текфорс сделали именно так. Почему - разберем в этой статье.
Читать: https://habr.com/ru/post/711646/
Миграция Postgrespro с Centos7 на AlmaLinux8. Как бонус — пара седых волос
В статье описывается один из способов обновления дистибутива операционной системы с работающим кластером баз данных Postgres Pro Standard версии 11. В дальнейшем, для краткости кластер баз данных Postgres Pro Standard 11 будем называть Postgrespro, Centos7 - Centos, а AlmaLinux8 - Almalinux. Способ заключается в том чтобы настроить физическую репликацию Postgrespro между разными дистрибутивами операционной системы с последующим переводом слейва в режим мастера. При чтении множества статей о настройке физической репликации я нигде не встречал упоминание о том, что так делать нельзя. Естественно, что архитектура Centos и Almalinux должны совпадать, а так же должны совпадать мажорные версии Postgrespro.
Читать: https://habr.com/ru/post/711664/
В статье описывается один из способов обновления дистибутива операционной системы с работающим кластером баз данных Postgres Pro Standard версии 11. В дальнейшем, для краткости кластер баз данных Postgres Pro Standard 11 будем называть Postgrespro, Centos7 - Centos, а AlmaLinux8 - Almalinux. Способ заключается в том чтобы настроить физическую репликацию Postgrespro между разными дистрибутивами операционной системы с последующим переводом слейва в режим мастера. При чтении множества статей о настройке физической репликации я нигде не встречал упоминание о том, что так делать нельзя. Естественно, что архитектура Centos и Almalinux должны совпадать, а так же должны совпадать мажорные версии Postgrespro.
Читать: https://habr.com/ru/post/711664/
👍1
Как я участвовал в создании информационных систем для медицины
В 1987-м году я окончил с красным дипломом приборостроительный факультет челябинского политехнического института по специальности "Автоматика и телемеханика", хотя планировал стать физиком-теоретиком и школу заканчивал в специализированной школе-интернате №18 при МГУ. По распределению попал в специализированное конструкторское бюро и до 1991-го года разрабатывал электронные блоки для бронетанковой техники. До сих пор считаю что полученная при этом инженерная школа является чем-то недостижимым в современных реалиях. В частности, мы с коллегами создали комбинированный аналого-цифровой программируемый комплекс, который в реальном времени проводил расчеты по математической модели объекта, описываемой системой дифференциальных уравнений 4-го порядка с 14-ью нелинейными элементами и принимал решения более 10 тысяч раз в секунду. На современных вычислителях это наверное и можно было бы сделать, но в то время мы решали задачу имея в распоряжении только набор интегральных микросхем, самой крутой из которых была ПЗУ на 2 килобайта и всё наше творчество должно было уместиться в 9 литров объёма и работать в диапазоне температур от -40 до +85.
После того как в 1991-м году страна развалилась я выбрал стезю программирования и с тех пор так или иначе связан с разработкой ПО и построением крупных информационных систем. Начинал с создания комплексного ПО и "умной кассы" для торгового центра, потом была информационная система учёта аренды муниципального имущества. Потом я вернулся в конструкторское бюро на считавшийся безнадёжным проект по созданию комплекса диагностических стендов для автоматизированного поиска неисправностей в электронных блоках в интересах иностранного заказчика. После окончания разработки я возглавлял группу разработчиков, которая сдавала эти стенды заказчику, и мы с этой задачей справились.
Читать: https://habr.com/ru/post/711682/
В 1987-м году я окончил с красным дипломом приборостроительный факультет челябинского политехнического института по специальности "Автоматика и телемеханика", хотя планировал стать физиком-теоретиком и школу заканчивал в специализированной школе-интернате №18 при МГУ. По распределению попал в специализированное конструкторское бюро и до 1991-го года разрабатывал электронные блоки для бронетанковой техники. До сих пор считаю что полученная при этом инженерная школа является чем-то недостижимым в современных реалиях. В частности, мы с коллегами создали комбинированный аналого-цифровой программируемый комплекс, который в реальном времени проводил расчеты по математической модели объекта, описываемой системой дифференциальных уравнений 4-го порядка с 14-ью нелинейными элементами и принимал решения более 10 тысяч раз в секунду. На современных вычислителях это наверное и можно было бы сделать, но в то время мы решали задачу имея в распоряжении только набор интегральных микросхем, самой крутой из которых была ПЗУ на 2 килобайта и всё наше творчество должно было уместиться в 9 литров объёма и работать в диапазоне температур от -40 до +85.
После того как в 1991-м году страна развалилась я выбрал стезю программирования и с тех пор так или иначе связан с разработкой ПО и построением крупных информационных систем. Начинал с создания комплексного ПО и "умной кассы" для торгового центра, потом была информационная система учёта аренды муниципального имущества. Потом я вернулся в конструкторское бюро на считавшийся безнадёжным проект по созданию комплекса диагностических стендов для автоматизированного поиска неисправностей в электронных блоках в интересах иностранного заказчика. После окончания разработки я возглавлял группу разработчиков, которая сдавала эти стенды заказчику, и мы с этой задачей справились.
Читать: https://habr.com/ru/post/711682/