Рубрика «транзакции» - 2

Транзакции

Транзакцией называется последовательность операций над данными имеющая начало и конец

Транзакция это последовательное выполнение операций чтения и записи. Окончанием транзакции может быть либо сохранение изменений (фиксация, commit) либо отмена изменений (откат, rollback). Применительно к БД транзакция это нескольких запросов, которые трактуются как единый запрос.

Транзакции должны удовлетворять свойствам ACID

Атомарность. Транзакция либо выполняется полностью либо не выполняется вовсе.

Согласованность. При завершении транзакции не должны быть нарушены ограничения накладываемые на данные (например constraints в БД). Согласованность подразумевает, что система будет переведена из одного корректного состояния в другое корректное.

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

Устойчивость. После фиксации изменения не должны быть утеряны.
Читать полностью »

В этой статье мы смоделируем и исследуем протокол двухфазного коммита с помощью TLA+.

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

Проблема двухфазного коммита

Транзакция проходит через диспетчеры ресурсов (RM). Все RM должны договориться, будет транзакция завершена или прервана.

Менеджер транзакций (TM) принимает окончательное решение: коммит или отмена. Условием для коммита является готовность к коммиту всех RM. В противном случае транзакцию следует отменить.
Читать полностью »

Сегодня мы расскажем о Bitfury Crystal — платформе которая анализирует блокчейны Bitcoin и Bitcoin Cash и позволяет выявлять подозрительные транзакции с криптовалютой. Рассмотрим инструменты, используемые системой, и принципы их работы.

Bitfury Crystal: как работает инструмент для отслеживания подозрительных транзакций в биткоин-сети - 1Читать полностью »

Инфраструктура System.Transactions в мире .NET - 1

Встречали ли вы в C# конструкцию типа using (var scope = new TransactionScope(TransactionScopeOption.Required))? Это значит, что код, выполняющийся в блоке using, заключается в транзакцию и после выхода из этого блока изменения будут зафиксированы или отменены. Звучит понятно, пока не начинаешь копать глубже. И чем глубже копаешь, тем «страньше и страньше» становится. Во всяком случае, у меня при более близком знакомстве с классом TransactionScope и вообще транзакциями .NET возникла целая уйма вопросов.

Что за класс TransactionScope? Как только мы используем конструкцию using (var scope = new TransactionScope()), все в нашей программе сразу становится транзакционным? Что такое «управляющий ресурсами» (Resource Manager) и «управляющий транзакциями» (Transaction Manager)? Можно ли написать свой управляющий ресурсами и как он «подключается» к созданному экземпляру TransactionScope? Что такое распределенная транзакция и правда ли, что распределенная транзакция в SQL Server или Oracle Database — это то же самое, что и распределенная транзакция .NET?

В данной публикации я постарался собрать материал, помогающий найти ответы на указанные вопросы и сформировать понимание транзакций в мире .NET.
Читать полностью »

Всем добрый день!

Что ж, конец месяца у нас всегда интенсивные, вот и тут остался всего день до старта второго потока курса «Разработчик на Spring Framework» — замечательного и интересного курса, который ведёт не менее прекрасный и злой Юрий (как его называют некоторые студент за уровень требований в ДЗ), так что давайте рассмотрим ещё один материал, который мы подготовили для вас.

Поехали.

Введение

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

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

Эффективное управление транзакциями в Spring - 1Читать полностью »

Привет! В этот раз мы сделали митап не для разработчиков или дизайнеров, а по менее популярной (но не менее важной) теме — BI, Business intelligence.

31 октября, Москва — BI MeetUP - 1

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

Вход бесплатный, но надо заранее зарегистрироваться. Подробности — под катом.
Читать полностью »

Всем бобра! Мы активно расширяем наш, так сказать, ассортимент курсов, и вот рады представить новый: «Реляционные СУБД». Курс создан одним из ведущих преподавателей курса «Администратор Linux»Алексеем Цыкуновым. В остальном всё будет как обычно: полезности и открытые уроки, на которых Алексей будет делиться разными вещами, что не входят в сам курс.

Поехали!
Читать полностью »

Предисловие

Недавно прочитал очередную статью из серии: "мы лучше двухфазного коммита". Здесь я не буду анализировать содержания этой статьи (хотя, подумываю о том, чтобы дать развернутый анализ). Задача моего опуса — предложить самый эффективный вариант распределенного коммита с точки зрения временных задержек. Конечно, такой коммит дается высокой ценой. Однако цель — дать оценку и показать, что двухфазный коммит не является тормозным, как многие считают.

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

Читать полностью »

Доступно о том, как работают криптовалюты - 1

Сначала мы расплачивались за чашку кофе. Потом покупали билеты на самолет. Чуть позже — оплачивали обучение. Сейчас по принципу краудфандинга собираем огромные суммы на невероятные изобретения и проекты. Все перечисленное объединяет то, что осуществлялись платежи не обычными деньгами, а с помощью криптовалют, чья технология, как считается, изменит мир. Но как работают криптовалюты и чем отличаются от других платежных способов и тех же электронных денег? Эта статья даст ответы на эти и некоторые другие вопросы.

Как это работает: анатомия криптовалют

Криптовалюты — это разновидность альтернативных валют. В отличие от множественных электронных денег и финансовых инструментов, криптовалюты децентрализованы, а это означает, что они не контролируются правительством какого-либо государства или организацией. Также криптовалюты являются одноранговым инструментом (P2P), что позволяет отдельным пользователям покупать и продавать товары друг другу напрямую, без посредничества сторонних организаций, таких как, например, крупные банки. Некоторые криптовалюты являются анонимными, но это не является их общей чертой.
Читать полностью »

Как малому бизнесу принимать платежи в криптовалютах - 1

Согласно данным Google Trends, интерес к биткоину и другим криптовалютам сейчас находится на пике. По этой причине растет и количество работающих с ними банкоматов и автоматов, которые расположены по всему миру. Сейчас, согласно Coin ATM Radar насчитывается более 1500 физических криптовалютных банкоматов суммарно в 59 странах, и их число растет каждый день. Следящие за технологиями владельцы бизнеса в курсе растущего спроса на поддержку платежей криптовалютами и они занимаются поиском решений приема биткоина и других популярных токенов в качестве платежного средства. Причем, как и для интернет-торговли, так и для обычных магазинов.

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


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js