Как стать автором
Обновить
39.34

Администрирование баз данных *

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

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

Миф развенчан: распределённые транзакции можно масштабировать

Время на прочтение 9 мин
Количество просмотров 3.4K
Высокая производительность *Программирование *Администрирование баз данных *Распределённые системы *
Перевод

В сборнике VLDB'17 вышла такая статья. В ней представлена NAM-DB, масштабируемая распределённая система баз данных, использующая удалённый прямой доступ к памяти (RDMA) — в основном, однонаправленный вариант RDMA — и инновационную технологию диспетчера временных меток (timestamp oracle) для поддержки транзакций с изоляцией мгновенного снимка (SI). NAM в данном случае означает архитектуру с прикреплением памяти к сети (network-attached-memory), где благодаря активному использованию RDMA вычислительные узлы получают возможность напрямую общаться с пулом узлов памяти.

Читать далее
Всего голосов 15: ↑12 и ↓3 +9
Комментарии 4

Новости

Поддержка пакетов в стиле Oracle в СУБД Postgres Pro 15 Enterprise

Время на прочтение 15 мин
Количество просмотров 2.3K
Блог компании Postgres Professional Oracle *PostgreSQL *Администрирование баз данных *

В новой версии своего флагманского дистрибутива Postgres Pro 15 Enterpise, компания Postgres Pro добавила поддержку функциональности пакетов: расширен синтаксис PL/pgSQL и добавлены новые механизмы в среду выполнения хранимых процедур.

В данной статье описана поддержка функциональности пакетов в Postgres Pro 15 Enterpise:

- группировка типов переменных процедур и функций в пакет;

- поддержка секции инициализации пакетов;

- поддержка глобальных переменных пакета доступных в течении всей "жизни" сессии.

Также в статье будут рассмотрены особенности использования пакетов в СУБД Postgres Pro Enterprise.

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 7

GreenPlum: уникальные индексы для таблиц AO/CO

Время на прочтение 15 мин
Количество просмотров 569
Блог компании Southbridge PostgreSQL *IT-инфраструктура *Администрирование баз данных *Распределённые системы *
Аналитика
Перевод

Уникальные ограничения — классическая функция реляционной базы данных, которая обеспечивает уникальность столбца или группы столбцов во время ввода данных или построения индекса. Они могут быть указаны с помощью ключевых слов UNIQUE / PRIMARY KEY. Уникальные индексы — сущности, которые их поддерживают. Хотя такие ограничения всегда можно было указать в heap-таблицах, они не поддерживались в append optimized таблицах (AO/CO). 

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

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 1

Postgres: графовая база данных, о которой вы не подозревали

Время на прочтение 4 мин
Количество просмотров 9.9K
PostgreSQL *Администрирование баз данных *Хранение данных *
Перевод

PostgreSQL (Postgres) — это мощная реляционная база данных, способная хранить широкий спектр типов и структур данных. Когда нам нужно хранить графовые структуры данных, мы часто обращаемся к базам данных, позиционируемым как подходящее для этого решение, например, к Neo4J или Dgraph. Но не торопитесь! Хотя при работе с графовыми структурами данных о Postgres обычно не вспоминают, она идеально справляется с эффективным хранением графовых данных и запросами к ним.
Читать дальше →
Всего голосов 31: ↑23 и ↓8 +15
Комментарии 20

Истории

Дублирование данных для создания ограничений (контролей) на уровне БД

Уровень сложности Средний
Время на прочтение 5 мин
Количество просмотров 2.1K
PostgreSQL *SQL *Администрирование баз данных *
Кейс
Использование ограничений на стороне базы данных, таких как внешние ключи, проверки значений, требования уникальности, иногда вызывают споры среди разработчиков. Аргумменты «за» и «против» обеих сторон хорошо известны.

Рассмотрим пример, когда ограничения не просто применяются, а реализуют дополнительную логику с помощью дублирования некоторых данных.
Подробнее
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 6

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

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 477
Администрирование баз данных *
Туториал
Перевод

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

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

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

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

Читать далее
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 0

Способы организации инфраструктуры с базами данных: от простого к сложному и эффективному

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 5.1K
Блог компании Selectel IT-инфраструктура *Сетевые технологии *Администрирование баз данных *
Обзор

За простыми UML- и ER-диаграммами архитектур скрываются витиеватые способы организации IT-инфраструктуры. Самый яркий пример — связь между веб-сервером и базой данных.

Какие есть варианты организации инфраструктуры с базами данных? Чем они отличаются и какие у них преимущества и недостатки? С такими же вопросами к нам приходят клиенты. Поэтому мы постарались расставить все по полочкам, а также показать, как связать сервер с базой данных через L3 VPN-соединение. Подробности под катом.
Читать дальше →
Всего голосов 48: ↑47 и ↓1 +46
Комментарии 10

NULL в SQL: Что это такое и почему его знание необходимо каждому разработчику

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 8.1K
Анализ и проектирование систем *SQL *Администрирование баз данных *Big Data *Data Engineering *
Туториал

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

История появления NULL в SQL довольно интересна и длинна. В начале 1970-х годов Д. Камерер (D. Chamberlin) и Р. Бойд (R. Boyce) предложили использовать реляционную модель для полной замены иерархических и сетевых моделей данных, которые были актуальны в то время. Полная замена предполагала возможность хранения значений NULL в таблицах структуры базы данных.

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

Когда была разработана SQL, NULL был реализован как специальное значение или маркер, который указывает на отсутствие значения в столбце. Таким образом, в SQL NULL означает отсутствие значения или неопределенное значение.

Однако, NULL создал некоторые проблемы при работе с данными в SQL. Например, если вы выполняете операцию на столбце, содержащем NULL значение, результат операции также будет NULL. Это означает, что использование NULL может приводить к нежелательным результатам, таким как непредсказуемое поведение.

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

Читать далее
Всего голосов 11: ↑6 и ↓5 +1
Комментарии 5

Использование отечественных BI-систем для миграции данных из Postgres в Clickhouse

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 1.5K
Блог компании OTUS PostgreSQL *Администрирование баз данных *
Обзор

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

Читать далее
Всего голосов 13: ↑9 и ↓4 +5
Комментарии 4

Согласованность данных: что это на самом деле такое и почему с ней все так сложно

Время на прочтение 10 мин
Количество просмотров 4.2K
Блог компании VK NoSQL *Администрирование баз данных *Хранение данных *
Перевод


Понятие согласованности данных сложное, неоднозначное и включает в себя широкий спектр определений, лишь частично совпадающих друг с другом. Команда VK Cloud перевела статью, в которой автор определяет термин «согласованность» в области распределенных БД и рассуждает на тему этой самой согласованности.
Читать дальше →
Всего голосов 36: ↑34 и ↓2 +32
Комментарии 2

Генерация данных — творчество или рутина?

Время на прочтение 15 мин
Количество просмотров 1.4K
Тестирование IT-систем *PostgreSQL *SQL *Администрирование баз данных *DevOps *
Обзор

Долгие годы люди стремились к всё более реалистичному изображению окружающих их вещей. Много лет прошло от симпатичных наскальных мамонтов до шедевров эпохи Ренессанса и Просвещения. Однако где-то в 19-м веке (примерно, когда стала появляться первая фототехника, ага), что-то пошло не так, и живопись сменила своё направление от реализма к абстракции. Дальше больше; и все "скатилось" до клякс, пятен и потёков, размазанных по холсту или любой другой поверхности стоимостью в миллионы долларов... И при этом зачастую совершенно было непонятно, кто автор "шедевра": 3-х летний ребенок, маститый художник, нейросеть или кот, опрокинувший банку варенья.

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

В этом посте мы рассмотрим основные моменты генерации данных с нуля (на основе схемы БД), а так же на основе уже существующих данных. Рассмотрим способы, методы, особенности и инструменты. А каждый шаг будем иллюстрировать примерами живых и настоящих SQL-запросов (в основном PostgreSQL-flavour, но постараемся и не только). И в итоге убедимся, что SQL позволяет нам не только эффективно работать с уже существующими данными (на минуточку, уже почти на протяжении 50 лет), но с помощью него их можно еще и довольно эффектно придумывать.

А начнем мы конечно же с ChatGPT
Всего голосов 9: ↑8 и ↓1 +7
Комментарии 0

Как устроено индексирование баз данных

Уровень сложности Простой
Время на прочтение 12 мин
Количество просмотров 25K
Блог компании RUVDS.com Программирование *Алгоритмы *Администрирование баз данных *
Перевод

Индексирование баз данных — это техника, повышающая скорость и эффективность запросов к базе данных. Она создаёт отдельную структуру данных, сопоставляющую значения в одном или нескольких столбцах таблицы с соответствующими местоположениями на физическом накопителе, что позволяет базе данных быстро находить строки по конкретному запросу без необходимости сканирования всей таблицы. Применяются разные типы индексов, однако они занимают пространство и должны обновляться при изменении данных. Важно тщательно продумывать стратегию индексирования базы данных и регулярно её оптимизировать.
Читать дальше →
Всего голосов 68: ↑66 и ↓2 +64
Комментарии 8

Postgres как предчувствие. Вычисляем процент импортозамещения в режиме Highload от 1С

Уровень сложности Средний
Время на прочтение 12 мин
Количество просмотров 4.5K
Высокая производительность *PostgreSQL *Microsoft SQL Server *Администрирование баз данных * *
Кейс
Recovery mode

1С работает с СУБД  Postgres более 10 лет, а сейчас это единственный легальный вариант для инсталляций в России. Много ли мы потеряем в производительности по сравнению с MS SQL ? Выдержит ли Postgres 15.2 жесткий Highload со стороны 1С? Цель этой статьи - ответить на данные вопросы, с цифрами, которые можно использовать при расчете архитектуры.

Читать далее
Всего голосов 14: ↑12 и ↓2 +10
Комментарии 35

Разрушение PostgreSQL БД некорректными ограничениями целостности типа CHECK

Уровень сложности Простой
Время на прочтение 7 мин
Количество просмотров 2.3K
PostgreSQL *Администрирование баз данных *
Туториал
Перевод

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

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

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 1

Книга «Kafka Streams и ksqlDB: данные в реальном времени»

Время на прочтение 17 мин
Количество просмотров 3.3K
Блог компании Издательский дом «Питер» Администрирование баз данных *Профессиональная литература *Распределённые системы *
image Привет, Хаброжители!

Работа с неограниченными и быстрыми потоками данных всегда была сложной задачей. Но Kafka Streams и ksqlDB позволяют легко и просто создавать приложения потоковой обработки. Из книги специалисты по обработке данных узнают, как с помощью этих инструментов создавать масштабируемые приложения потоковой обработки, перемещающие, обогащающие и преобразующие большие объемы данных в режиме реального времени.

Митч Сеймур, инженер службы обработки данных в Mailchimp, объясняет важные понятия потоковой обработки на примере нескольких любопытных бизнес-задач. Он рассказывает о достоинствах Kafka Streams и ksqlDB, чтобы помочь вам выбрать наиболее подходящий инструмент для каждого уникального проекта потоковой обработки. Для разработчиков, не пишущих код на Java, особенно ценным будет материал, посвященный ksqlDB.
Кому адресована книга
Эта книга адресована специалистам по обработке данных, желающим научиться создавать масштабируемые приложения потоковой обработки для перемещения и преобразования больших объемов данных в режиме реального времени. Подобные умения часто необходимы для поддержки интеллектуальной обработки данных, аналитических конвейеров, обнаружения угроз, обработки событий и многого другого. Специалисты по данным и аналитики, занимающиеся анализом потоков данных в реальном режиме времени и желающие усовершенствовать свои навыки, тоже смогут почерпнуть немало полезного из этой книги. В ней автору удалось отойти от привычной пакетной обработки, которая обычно доминировала в этих областях. Предварительный опыт работы с Apache Kafka не требуется, хотя некоторое знакомство с языком программирования Java облегчит знакомство с Kafka Streams.
Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 0

Приходите на PGConf.Russia 2023

Время на прочтение 3 мин
Количество просмотров 2K
Блог компании Postgres Professional PostgreSQL *Администрирование баз данных *Конференции

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

Читать далее
Всего голосов 31: ↑30 и ↓1 +29
Комментарии 6

Потоки событий бесполезны без действий

Уровень сложности Простой
Время на прочтение 9 мин
Количество просмотров 2.4K
Блог компании RUVDS.com Администрирование баз данных *Хранение данных *Хранилища данных *
Перевод

Каждая точка данных в системе, регулярно генерирующей данные, соответствует событию (Event). Потоки событий (Event Stream) — это непрерывный поток событий или точек данных. Иногда потоки данных называют в сообществе разработчиков потоками данных (Data Stream), потому что они состоят из непрерывных точек данных. Event Stream Processing — это действия, выполняемые с генерируемыми событиями.

В этой статье подробно рассматриваются потоки данных и Event Stream Processing, рассказывается, как работает Event Stream Processing, объясняются различия между Event Stream Processing и Batch Processing, преимущества и способы применения ESP, а завершается она наглядным примером Event Stream Processing.
Читать дальше →
Всего голосов 32: ↑31 и ↓1 +30
Комментарии 0

Сравнение MySQL и PostgreSQL в 2023 году

Уровень сложности Простой
Время на прочтение 9 мин
Количество просмотров 18K
Блог компании OTUS Администрирование баз данных *
Обзор
Перевод

PostgreSQL и MySQL — это надежные, безопасные и масштабируемые базы данных, которые существуют уже много лет. Каждая из них имеет уникальные сильные и слабые стороны, что делает какую‑либо из них более подходящей для конкретных нужд. В этой статье мы проведем их сравнение, чтобы помочь с принятием обоснованного решения в 2023 году.

Читать далее
Всего голосов 22: ↑14 и ↓8 +6
Комментарии 28

Как Discord хранит триллионы сообщений

Уровень сложности Простой
Время на прочтение 10 мин
Количество просмотров 22K
Мессенджеры *Администрирование баз данных *Rust *Хранение данных *
Обзор
Перевод

В 2017 году мы написали пост о том, как храним миллиарды сообщений [перевод на Хабре]. В нём мы рассказали о том, как начали с использования MongoDB, но потом выполнили миграцию данных в Cassandra, потому что искали надёжную, устойчивую к сбоям базу данных, имеющую относительно низкую стоимость обслуживания. Мы знали, что будем расти, так и произошло!

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

Спустя почти шесть лет мы многое изменили; изменился и способ хранения сообщений.
Читать дальше →
Всего голосов 40: ↑38 и ↓2 +36
Комментарии 12

1983г. Сериальный терминал Tandberg Data TDV 2215 S, эксперименты, ROM-дампы, схемотехника

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 2.1K
Блог компании Timeweb Cloud *nix *Администрирование баз данных *Старое железо Настольные компьютеры
Обзор
image

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

  • Проиллюстрировать схемотехнику устройства, основные узлы, CPU, ROM.
  • Пассивное отображение алфавитно-цифровой информации, это хорошо, но как поведут себя управляющие ESC-последовательности, Midnight Commander, а также хотелось-бы увидеть псевдографическое изображение.
  • Spiritus in Mashina. Считать дампы ROMов и сохранить их.
  • Уделить внимание красавице-клавиатуре.

Начнём…
Читать дальше →
Всего голосов 33: ↑33 и ↓0 +33
Комментарии 22

Вклад авторов

Работа