Как стать автором
Поиск
Написать публикацию
Обновить
208.99

Базы данных *

Все об администрировании БД

Сначала показывать
Период
Уровень сложности

Использование PostgreSQL Pager с MariaDB Xpand

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров967

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

Я не являюсь противником GUI. На самом деле, я написал три книги о разработке графического веб-интерфейса с помощью Java. Однако мне также нравится интерфейс командной строки (CLI), особенно текстовые пользовательские интерфейсы. 

После года изучения MariaDB и мира DevOps я открыл для себя и поэкспериментировал со многими текстовыми инструментами CLI, о существовании которых я даже не подозревал. Эти инструменты особенно полезны при подключении к удаленным серверам без графического интерфейса.

Одним из специальных инструментов CLI, который я часто использую, является SQL-клиентmariadb (или mysq в мире MySQL) — программа CLI, используемая для подключения к базам данных, совместимым с MariaDB. С ее помощью вы можете отправлять SQL-запросы и другие команды на сервер базы данных.

Читать далее

Принципы работы OLTP-систем. Требования ACID

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров7.5K

Транзакция - достаточно обширное понятие, которое используется в разных сферах жизни. Существует банковская транзакция - это операция, которая состоит в переводе денежных средств с одного счёта на другой. Или бывает банкоматная транзакция – выдача денег либо проведение иной операции с помощью терминала. В юриспруденции понятию «транзакция» придается значение схожее со значением понятия «сделка», а в психологии - это факт коммуникации между людьми (трансакция).

Наконец, для информационных технологий «транзакция» - это последовательность (одна или несколько) операций по работе с данными. Чтобы организовать правильный обмен данными к транзакциям и транзакционным системам применяются некоторые требования, которые легли в основу архитектуры современных баз данных.

Читать далее

SQL Server & Powershell: быстро, просто, параллельно. И больше не нужно выбирать 2 из 3-х

Время на прочтение11 мин
Количество просмотров9.1K

В настоящей статье описывается процесс параллельного выполнения операций над объектами базы данных Microsoft SQL Server (таблицы, индексы и т.д.) с использованием инструментария Powershell. Наиболее часто используемый сценарий - обслуживание таблиц в базе, но возможно исполнение любых ваших запросов в параллельном режиме. Если для вас это интересно, то...

...добро пожаловать

Преобразование данных на TiDB стало проще

Время на прочтение7 мин
Количество просмотров1.8K

Средство формирования данных (Data build tool, dbt) — это популярный инструмент с открытым исходным кодом, который позволяет инженерам-аналитикам преобразовывать данные в своих хранилищах с помощью операторов SQL. Совсем недавно участники профильного соощества выпустили плагин dbt-tidb, который позволит TiDB-распределённой базе данных SQL работать с dbt. Благодаря плагину dbt-tidb инженеры-аналитики, работающие с TiDB, могут напрямую создавать формы и сопоставлять данные через SQL без необходимости думать о процессе создания таблиц или представлений. Теперь можно использовать Jinja, язык шаблонов dbt для написания SQL, тестирования, управления пакетами и других функций, что значительно повышает эффективность работы с данными.
Читать дальше →

Обновление производительности BonsaiDb: глубокое погружение в синхронизацию файлов

Время на прочтение16 мин
Количество просмотров1.4K

BonsaiDb – это новая база данных, которая должна стать самой удобной для разработчиков базы данных Rust. У BonsaiDb есть уникальный набор функций, предназначенных для решения большого количества распространенных проблем с данными. По ссылке можно узнать подробнее, что такое BonsaiDb?

tl; dr: BonsaiDb работает медленнее, чем сообщалось ранее 

Я настроил виртуальную машину сервера Ubuntu 20.04 под управлением ядра 5.4.0-110-generic и размышлял, как лучше отключить компьютер после вызова sync_file_range, когда @justinj снова пришел на помощь, указав, что существует /proc/sysrq-trigger. Он также поделился своим постом в блоге, где рассказывал о проведении аналогичных тестов против fsync. С их помощью он хотел изучить, как создавать надежный журнал базы данных. На следующий день после последнего поста @justinj сообщил, что они отследили один из примеров Nebari и не увидели ни одного выполненного системного вызова fsync. Это произошло из-за неправильного трактования термина "true sink" в std::io::Write. Оказалось, выполнение Write::flush() для std::io::File – это не операция, так как "true sink" было ядром, а не диском.

Я выпустил Nebari v0.5.3 в тот же день. Я запустил набор тестов Nebari и... ничего не изменилось. Я запустил пакет на GitHub Actions – никаких изменений. Я запустил пакет на своем выделенном VPS, который использую для более стабильной среды бенчмаркинга, чем GitHub Actions... никаких изменений. Я запустил пакет на своем Mac ... ужасное замедление. Я расскажу ниже, почему так произошло, но первоначальное впечатление было, что я каким-то образом увернулся от пули.

Читать далее

Oracle Engineered Forum: подробности об использовании нового поколения Exadata в России

Время на прочтение1 мин
Количество просмотров853

Привет, Хабр! Буквально через пару дней пройдет очередной Oracle Engineered Forum. Мероприятия (виртуальное) будет полезно для тех, кто интересуется новым форматом работы программно-аппаратных комплексов Exadata — Cloud@Customer. Желающие узнать, как именно работают облачные сервисы с размещением оборудования в вашем ЦОД, могут уже сегодня зарегистрироваться на мероприятия. Подробнее о программе и акцентах ивента — под катом.

Читать далее

Acronis интегрируется с MariaDB

Время на прочтение3 мин
Количество просмотров3.5K

Недавно Acronis анонсировал расширение функционала нашей универсальной системы защиты Acronis Cyber Protect Cloud, которое будет полезно для всех, кто работает с MariaDB. Новшество позволит настраивать защиту данных подобных СУБД без специальных технических навыков и максимально быстро восстанавливать данные и зависящие от них процессы. В этом посте мы подробнее расскажем, почему именно MariaDB, и какие возможности дает интеграция для пользователей продуктов Acronis.

Читать далее

DataGrip 2021.3: Aggregate view в редакторе, табличное представление узлов дерева БД, новое окно сравнения БД и др

Время на прочтение8 мин
Количество просмотров6.5K

Привет! Сегодня расскажем, что нового в свежем релизе DataGrip 2021.3. Если вы работаете с базами данных в других IDE от JetBrains, то этот пост и для вас тоже.

Читать далее

Конференция Oracle Database Russia: время поговорить о базах данных за чашечкой кофе

Время на прочтение2 мин
Количество просмотров1.5K

Привет, Хабр! Завтра и послезавтра у нас состоится крупное мероприятие, посвященное базам данных, причем не только флагманской СУБД Oracle, но также MySQL и TimesTen. А поскольку я принимаю непосредственное участие в организации этого ивента, то сегодня хочу пригласить присоединиться к сессиям или просто послушать пару докладов тех, кто работает с базами данных и интересуется тенденциями и направлениями развития. Это и IT-руководители, и DBA, и разработчики, создающие приложения для СУБД. Под катом — подробнее о мероприятии и ссылка на регистрацию.

Читать далее

Изменить сохранения Spark! Часть первая: разделяй и… сортируй

Время на прочтение23 мин
Количество просмотров8.8K

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

И если в начале нашего пути процесс обновления длился несколько часов (до десяти-двенадцати часов), то теперь ему требуется всего тридцать-сорок минут, а использование вычислительных ресурсов уменьшено вдвое!

При этом была создана библиотека расширения Spark, которая предоставляет DataSource для преобразования данных в файлах в формат этого DataSource, изменения данных командой MERGE через DataFrame API или SQL, а в будущем ещё и UPDATE, DELETE и некоторые операции DDL.

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

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

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

Это первая статья из нескольких, и в ней будет рассказано только о немногих реализованных классах (они нужны для распределения данных определённым способом), поэтому наберитесь терпения, я расскажу всё по частям. Впрочем, пора перейти к повествованию.

Читать далее

Декларативное описание структур данных в RDBMS

Время на прочтение5 мин
Количество просмотров3.4K

Лет 6 назад я задавался вопросом "Как правильно организовать распределенное проектирование БД?" Тогда ответа на свой вопрос я так и не получил, но за прошедшее с тех пор время я встретился с вариантом, наиболее близко подобравшимся к моему видению "прекрасного" — это декларативная схема описания данных в Magento 2.


Мне нравится философия таких программных систем, как Magento, Odoo, WordPress, Drupal — базовый функционал, расширяемый за счёт сторонних плагинов. Она значительно отличается от философии FAANG. Философия FAANG направлена на построение уникальных высокопроизводительных решений, а философия WordPress — на адаптируемость к требованиям бизнеса. Каждый из этих подходов имеет свои плюсы и минусы, но мне ближе второй и рассматривать вопрос, вынесенный в заголовок публикации, я буду именно в рамках WordPress-подхода (WP-подхода).


Я не предлагаю решение, я просто размышляю вслух на обозначенную в заголовке тему.

Читать дальше →

Немного CI/CD магии: настраиваем доставку скриптов миграции базы данных с использованием GitLab и Liquibase

Время на прочтение8 мин
Количество просмотров8.5K

Главный разработчик и архитектор проектов ГК «ОТР» Дмитрий Копытов рассказал о практичном использовании CI/CD-подхода на примере доставки скриптов миграции базы данных Oracle 19. Для решения задачи он использовал GitLab Community Edition, GitLab Runner и Liquibase. Эксперт подробно описал технические аспекты настройки связи инструментов для проектов.

Читать далее

SAP HANA. Операция Delta Merge

Время на прочтение6 мин
Количество просмотров3.8K

Добрый день, коллеги. Сегодня хотелось бы поговорить о такой регулярной и важной операции происходящей в базе данных SAP HANA, как Delta Merge.

В концепции базы данных HANA, изменения в колоночных таблицах не происходят напрямую в основном хранилище (Main store). Это происходит потому, что область MAIN оптимизирована для операций чтения, а не записи. Все операции записи происходят в специальной области, которая называется Delta store. При этом операции чтения производятся из обеих областей.

Периодически необходимо обновлять основную область хранения колоночных таблиц (main store) содержимым области delta store. Процесс слияния этих двух областей называется delta merge. Этот процесс можно разбить на три этапа: операция, производимая непосредственно до слияния, во время слияния и после слияния. Схематично процесс delta merge можно представить следующим образом:

Читать далее

Ближайшие события

Oracle diagnostic events — Cheat sheet

Время на прочтение5 мин
Количество просмотров4.8K

Oracle diagnostic events - это очень мощное средство, но, к сожалению, слабо документированное, поэтому я решил перечислить и свести воедино несколько неизвестных или малоизвестных способов его использования.

Единственная его документация - это очень краткая встроенная документация, доступная по команде oradebug doc в SQL*Plus, и она отсутствует в официальной документации. Вы можете встретить только отрывки из нее в разных блогах, что не очень удобно, поэтому я скомпилировал ее полностью: http://orasql.org/files/events/

Современный синтаксис и несколько простых примеров приведены в oradebug doc event. Я их здесь приводить не буду и начну сразу с примеров.

Read more

Настройка CI/CD скриптов миграции БД с нуля с использованием GitLab и Liquibase

Время на прочтение20 мин
Количество просмотров26K

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

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

Читать далее

Vault+Pydantic: конфигурация с четкой структурой и валидацией

Время на прочтение7 мин
Количество просмотров8.4K

image


Предисловие


Продолжение саги. Сразу, на всякий случай


В данной статье я расскажу о конфигурации для вашей сервисов с помощью связки Vault (KV и пока только первой версии, т.е. без версионирования секретов) и Pydantic (Settings) под патронажем Sitri.

Читать дальше →

Как загрузить данные в Google BigQuery

Время на прочтение5 мин
Количество просмотров13K
Перевод статьи подготовлен в преддверии старта курса «Нереляционные базы данных».




В этой статье мы рассмотрим варианты загрузки данных в облачное хранилище Google BigQuery. Сюда входят простые способы загрузки данных из CSV/JSON файлов и способы загрузки через API или расширение.

С помощью Google BigQuery (GBQ) можно собирать данные из разных источников и анализировать их с помощью SQL-запросов. Среди преимуществ GBQ — высокая скорость вычислений даже на больших объемах данных и низкая стоимость.

Зачем нужно загружать данные в единое хранилище? Если вы хотите использовать сквозную аналитику, генерировать отчеты из сырых данных и оценивать эффективность вашего маркетинга, то вам нужен Google BigQuery.
Читать дальше →

Инкрементальные бэкапы PostgreSQL с pgBackRest. Часть 2. Шифрование, загрузка в S3, восстановление на новый сервер, PITR

Время на прочтение7 мин
Количество просмотров11K
Данная статья — продолжение статьи «Инкрементальные бэкапы postgresql с pgbackrest — курс молодого бойца от разработчика».

В первой части мы научились делать инкрементальные бэкапы, загружать их на удаленный сервер (репозиторий с бэкапами) и откатываться на последний бэкап.
В этой статье мы научимся шифровать бэкапы, загружать их в S3-совместимое хранилище (вместо второго сервера-репозитория), восстанавливаться на чистый кластер и, наконец, восстанавливаться на определенный момент времени (point in time recovery, PITR).
Читать дальше →

Миграции баз данных с Flyway

Время на прочтение6 мин
Количество просмотров89K
Перевод статьи подготовлен в преддверии старта курса «Разработчик Java».




1. Введение


В этой статье описываются ключевые концепции Flyway и пример использования этого фреймворка для непрерывного изменения схемы базы данных на примере in-memory базы данных H2 с помощью maven-плагина flyway.

Flyway обновляет версии баз данных с помощью миграций. Миграции можно писать на SQL (с синтаксисом, специфичным для конкретной СУБД) или на Java.

Миграции могут быть версионными или повторяющимися. Первые имеют уникальную версию и применяются ровно один раз. У вторых номера версии нет, и они применяются, когда у них изменяется контрольная сумма.

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

В этой статье мы сосредоточим внимание на использовании maven-плагина для миграций базы данных.
Читать дальше →

Автоматическая настройка и оптимизация сервера MySQL для повышения производительности

Время на прочтение4 мин
Количество просмотров12K
Всем привет.

Хочу обсудить с сообществом наш проект, с помощью которого можно за 1 минуту создать конфигурационный файл MySQL, оптимизированный под производительность (тюнинг MySQL). Таким образом можно достаточно быстро создавать конфигурационный файл для первичной оптимизации производительности MySQL.
Читать дальше →