Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Блокировки как один из способов обеспечения изоляции транзакций

OTUSВысокая производительностьАнализ и проектирование системАдминистрирование баз данныхПромышленное программирование
Привет, Хабр. Меня зовут Владислав Родин. В настоящее время я являюсь руководителем курса «Архитектор высоких нагрузок» в OTUS, а также преподаю на курсах, посвященных архитектуре ПО.

Эту статью я подготовил специально к старту нового набора на курс «Архитектор высоких нагрузок».




Введение


В позапрошлый раз мы поговорили с вами о том, к чему приводит ослабление изоляции транзакций в базах данных. Сегодня мы обсудим более подробно один из способов обеспечения этой самой изоляции и избегания рассмотренных аномалий. Как вы могли заметить, в позапрошлой статье часто выделялись два подхода: один был основан на том, что у записей есть некоторые версии, а второй на том, что мы будем запись так или иначе блокировать. Таким образом, выделяются два класса баз данных: версионники и блокировочники. О том, что из себя представляют версионники, мы поговорили в прошлый раз, а сейчас я предлагаю обсудить блокировочники.
Читать дальше →
Всего голосов 11: ↑7 и ↓4 +3
Просмотры2.7K
Комментарии 0

T-SQL. Формирование XML со списком значений

SQLXMLMicrosoft SQL Server


Небольшая заметка по формированию XML


FOR XML PATH


Для формирования структуры XML-документа со списком значений можно воспользоваться режимом PATH для FOR XML в T-SQL.

<root>
    <level1>
        <level2></level2>
        <values>
            <value></value>
            <value></value> 
            <value></value>
            <value></value>
            <value></value>
        </values>
     </level1>
     <level1>
         <level2></level2>
         <values>
             <value></value>
             <value></value>
             <value></value>
             <value></value>
             <value></value>
         </values>
     </level1>
</root>
Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Просмотры5.3K
Комментарии 9

Основы правил проектирования базы данных

Анализ и проектирование системSQLПроектирование и рефакторингMicrosoft SQL ServerАдминистрирование баз данных
🔥 Технотекст 2020
Tutorial

Введение


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

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

Для начала, разберем создание базы данных в MS SQL Server для сервиса поиска соискателей на работу.

Этот материал можно перенести и на другую СУБД такую как MySQL или PostgreSQL.
Читать дальше →
Всего голосов 59: ↑49 и ↓10 +39
Просмотры63.5K
Комментарии 87

Сравнение схем двух баз данных

MySQLOraclePostgreSQLSQLMicrosoft SQL Server

При разработке приложений иногда возникает потребность в сравнении двух баз данных (например prod и dev).

Существует ряд подходов для решения этого вопроса - от создания dump-файла со структурой db и последующим использованием diff, до использования специализированных платных решений типа dbForge или RedGate.

Одним из таких решений, сочетающих бесплатность и удобство использования, является Compalex.

Читать далее
Всего голосов 7: ↑5 и ↓2 +3
Просмотры6K
Комментарии 11

Делаем откаты БД в msi. История про создание резервных копий и удаление БД в WixSharp

Cross Technologies.NETC#Разработка под Windows
Tutorial

При работе с базами данных (БД) в установщике, про который мы уже писали в прошлой статье Пишем установщик на WixSharp. Плюшки, проблемы, возможности, в первую очередь были реализованы проверка доступности СУБД по логину/паролю, добавление и обновление собственно БД (в нашем приложении их несколько) накатыванием миграций, также добавление пользователей. Все это реализовано для двух СУБД Microsoft SqlServer и PostgreSql.
На первый взгляд этого достаточно, но иногда есть необходимость удалять БД и пользователей, а это влечет за собой создание резервных копий. Сразу выявили две необходимые задачи:

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

2. Создание резервных копий (бэкапов) и удаление БД ипользователей при полном удалении приложения установщиком. Правильно ли оставлять БД после полного удаления приложения? Мы решили, что нет. Но бэкапы, конечно, сохранять нужно.

Из второго пункта возникла новая задача:

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

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Просмотры778
Комментарии 2

Как быстрее всего передавать данные с PostgreSQL на MS SQL

PostgreSQLSQLMicrosoft SQL Server
Tutorial

Однажды мне потребовалось забирать регулярно относительно большие объемы данных в MS SQL из PostgreSQL. Неожиданно выяснилось, что самый очевидный способ, через Linked Server на родные ODBC к PostgreSQL, очень медленный.

Читать далее
Всего голосов 12: ↑12 и ↓0 +12
Просмотры4.1K
Комментарии 82

Clarion. Процесс миграции Clarion приложения на Microsoft SQL 2019

Data Engineering
Tutorial

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

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры1.6K
Комментарии 12