Транзакция (информатика)
Транза́кция (англ. transaction ) — группа последовательных операций с базой данных, которая представляет собой логическую единицу работы с данными. Транзакция может быть выполнена либо целиком и успешно, соблюдая целостность данных и независимо от параллельно идущих других транзакций, либо не выполнена вообще и тогда она не должна произвести никакого эффекта. Транзакции обрабатываются транзакционными системами, в процессе работы которых создаётся история транзакций.
Различают последовательные (обычные), параллельные и распределённые транзакции. Распределённые транзакции подразумевают использование больше чем одной транзакционной системы и требуют намного более сложной логики (например, two-phase commit — двухфазный протокол фиксации транзакции). Также, в некоторых системах реализованы автономные транзакции, или под-транзакции, которые являются автономной частью родительской транзакции.
Пример транзакции
Пример: необходимо перевести с банковского счёта номер 5 на счёт номер 7 сумму в 10 денежных единиц. Этого можно достичь, к примеру, приведённой последовательностью действий:
- Начать транзакцию
- Окончить транзакцию
Эти действия представляют собой логическую единицу работы «перевод суммы между счетами», и таким образом, являются транзакцией. Если прервать данную транзакцию, к примеру, в середине, и не аннулировать все изменения, легко оставить владельца счёта номер 5 без 10 единиц, тогда как владелец счета номер 7 их не получит.
Свойства транзакций
Основная статья: ACID
Одним из наиболее распространённых наборов требований к транзакциям и транзакционным системам является набор ACID (Atomicity, Consistency, Isolation, Durability). Вместе с тем, существуют специализированные системы с ослабленными транзакционными свойствами [1] .
Уровни изоляции транзакций
В идеале транзакции разных пользователей должны выполняться так, чтобы создавалась иллюзия, что пользователь текущей транзакции — единственный. Однако в реальности, по соображениям производительности и для выполнения некоторых специальных задач, СУБД предоставляют различные уровни изоляции транзакций. Уровни описаны в порядке увеличения изоляции транзакций и надёжности работы с данными
- 0 — Неподтверждённое чтение (Read Uncommitted, Dirty Read, грязное чтение) — чтение незафиксированных изменений своей транзакции и параллельных транзакций, возможны нечистые, неповторяемые чтения и фантомы
- 1 — Подтверждённое чтение (Read Committed) — чтение всех изменений своей транзакции и зафиксированных изменений параллельных транзакций, нечистые чтения невозможны, возможны неповторяемые чтения и фантомы;
- 2 — Повторяемое чтение (Repeatable Read, Snapshot) — чтение всех изменений своей транзакции, любые изменения, внесённые параллельными транзакциями после начала своей, недоступны, нечистые и неповторяемые чтения невозможны, возможны фантомы;
- 3 — Упорядоченный — (Serializable, сериализуемый) — упорядоченные (сериализуемые) транзакции. Идентичен ситуации, при которой транзакции выполняются строго последовательно, одна после другой, то есть результат действия которых не зависит от порядка выполнения шагов транзакции (запрещено чтение всех данных, изменённых с начала транзакции, в том числе и своей транзакцией). Фантомы невозможны.
Чем выше уровень изоляции, тем больше требуется ресурсов, чтобы их поддерживать.
В СУБД уровень изоляции транзакций можно выбрать как для всех транзакций сразу, так и для одной конкретной транзакции. По умолчанию в большинстве баз данных используется уровень 1 (Read Committed). Уровень 0 используется в основном для отслеживания изменений длительных транзакций или для чтения редко изменяемых данных. Уровни 2 и 3 используются при повышенных требованиях к изолированности транзакций.
Реализация
Полноценная реализация уровней изоляции и свойств ACID представляет собой нетривиальную задачу. Обработка поступающих данных приводит к большому количеству маленьких изменений, включая обновление как самих таблиц, так и индексов. Эти изменения потенциально могут потерпеть неудачу: закончилось место на диске, операция занимает слишком много времени (timeout) и т. д. Система должна в случае неудачи корректно вернуть базу данных в состояние до транзакции.
Первые коммерческие СУБД (к примеру, IBM DB2), пользовались исключительно блокировкой доступа к данным для обеспечения свойств ACID. Но большое количество блокировок приводит к существенному уменьшению производительности. Есть два популярных семейства решений этой проблемы, которые снижают количество блокировок:
- Журнализация изменений (write ahead logging, WAL)
- механизм теневых страниц (shadow paging) [2] .
В обоих случаях, блокировки должны быть расставлены на всю информацию, которая обновляется. В зависимости от уровня изоляции и имплементации, блокировки записи также расставляются на информацию, которая была прочитана транзакцией.
При упреждающей журнализации, используемой в Sybase и MS SQL Server до версии 2005, все изменения записываются в журнал, и только после успешного завершения — в базу данных. Это позволяет СУБД вернуться в рабочее состояние после неожиданного падения системы. Теневые страницы содержат копии тех страниц базы данных на начало транзакции, в которых происходят изменения. Эти копии активизируются после успешного завершения. Хотя теневые страницы легче реализуются, упреждающая журнализация более эффективна [3]
Дальнейшее развитие технологий управления базами данных привело к появлению безблокировочных технологий. Идея контроля за параллельным доступом с помощью временных меток (timestamp-based concurrency control) была развита и привела к появлению многоверсионной архитектуры MVCC. Эти технологии не нуждаются ни в журнализации изменений, ни в теневых страницах. Архитектура, реализованная в Oracle 7.х и выше, записывает старые версии страниц в специальный сегмент отката, но они все ещё доступны для чтения. Если транзакция при чтении попадает на страницу, временная метка которой новее начала чтения, данные берутся из сегмента отката (то есть используется «старая» версия). Для поддержки такой работы ведётся журнал транзакций, но в отличие от «упреждающей журнализации», он не содержит данных. Работа с ним состоит из трёх логических шагов:
- Записать намерение произвести некоторые операции
- Выполнить задание, копируя оригиналы изменяемых страниц в сегмент отката
- Записать, что всё сделано без ошибок
Журнал транзакций в сочетании с сегментом отката (область, в которой хранится копия всех изменяемых в ходе транзакции данных) гарантирует целостность данных. В случае сбоя запускается процедура восстановления, которая просматривает отдельные его записи следующим образом:
- Если повреждена запись, то сбой произошёл во время проставления отметки в журнале. Значит, ничего важного не потерялось, игнорируем эту ошибку.
- Если все записи помечены как успешно выполненные, то сбой произошёл между транзакциями, здесь также нет потерь.
- Если в журнале есть незавершённая транзакция, то сбой произошёл во время записи на диск. В этом случае мы восстанавливаем старую версию данных из сегмента отката.
Firebird вообще не имеет ни журнала изменений, ни сегмента отката, а реализует MVCC, записывая новые версии строк таблиц прямо в активное пространство данных. Так же поступает MS SQL 2005. Теоретически это даёт максимальную эффективность при параллельной работе с данными, но ценой является необходимость «сборки мусора», то есть удаления старых и уже не нужных версий данных.
См. также
В Викисловаре есть статья «транзакция»
- Транзакционная система
- ACID
- Атомарные операции
Примечания
- ↑Advanced Transaction Models and Architectures (англ.)
- ↑Семейство алгоритмов ARIES
- ↑ Gray, J., McJones, P., Blasgen, M., Lindsay, B., Lorie, R., Price, T., Putzolu, F., and Traiger, I. The recovery manager of the System R database manager. ACM Comput. Surv. 13, 2 (June 1981).
32. Понятие транзакции. Откат и фиксация транзакции.
Транзакция (англ. transaction ) — в информатике, группа последовательных операций, которая представляет собой логическую единицу работы с данными. Транзакция может быть выполнена целиком либо успешно, соблюдая целостность данных и независимо от параллельно идущих других транзакций, либо не выполнена вообще и тогда она не должна произвести никакого эффекта.
Существуют различные модели транзакций, которые могут быть классифицированы на основании различных свойств, включающих структуру транзакции, параллельность внутри транзакции, продолжительность и т.д. Чаще всего имеют в виду традиционные транзакции, характеризуемые четырьмя классическими свойствами: атомарности, согласованности, изолированности, долговечности (прочности) — ACID ( Atomicity , Consistency , Isolation , Durability ). Иногда традиционные транзакции называют ACID-транзакциями. Упомянутые выше свойства означают следующее.
1. Свойство атомарности выражается в том, что транзакция должна быть выполнена в целом или не выполнена вовсе.
2. Свойство согласованности гарантирует, что по мере выполнения транзакций данные переходят из одного согласованного состояния в другое — транзакция не разрушает взаимной согласованности данных.
3. Свойство изолированности означает, что конкурирующие за доступ к базе данных транзакции физически обрабатываются последовательно, изолированно друг от друга, но для пользователей это выглядит так, как будто они выполняются параллельно.
4. Свойство долговечности трактуется следующим образом: если транзакция завершена успешно, то те изменения в данных, которые были ею произведены, не могут быть потеряны ни при каких обстоятельствах (даже в случае последующих ошибок).
Откат — возвращение системы в одно из предыдущих состояний (до начала выполнения транзакции).
Фиксация – сохранение результатов транзакции в БД.
Транзакция
(англ. Transaction) — в информатике, группа последовательных операций, которая представляет собой логическую единицу работы с данными. Транзакция может быть выполнена либо целиком и успешно, соблюдая целостность данных и независимо от параллельно идущих других транзакций, либо не выполнена вообще и тогда она не должна произвести никакого эффекта.
Мы хотим принести в Россию самые передовые облачные технологии и заботимся о каждом пользователе. Политика конфиденциальности Антикоррупционная политика Договор-оферты
Array ( [0] => Array ( [TEXT] => Продукты [LINK] => /arenda-1c/ [SELECTED] => [PERMISSION] => R [ADDITIONAL_LINKS] => Array ( ) [ITEM_TYPE] => D [ITEM_INDEX] => 0 [PARAMS] => Array ( ) [CHAIN] => Array ( [0] => Продукты ) [DEPTH_LEVEL] => 1 [IS_PARENT] => 1 ) [1] => Array ( [TEXT] => Аренда 1С [LINK] => /arenda-1c/ [SELECTED] => [PERMISSION] => R [ADDITIONAL_LINKS] => Array ( ) [ITEM_TYPE] => D [ITEM_INDEX] => 0 [PARAMS] => Array ( ) [CHAIN] => Array ( [0] => Продукты [1] => Аренда 1С ) [DEPTH_LEVEL] => 2 [IS_PARENT] => ) [2] => Array ( [TEXT] => Аренда 1С:Фреш [LINK] => /arenda-1c/1c-fresh/ [SELECTED] => [PERMISSION] => R [ADDITIONAL_LINKS] => Array ( ) [ITEM_TYPE] => D [ITEM_INDEX] => 1 [PARAMS] => Array ( ) [CHAIN] => Array ( [0] => Продукты [1] => Аренда 1С:Фреш ) [DEPTH_LEVEL] => 2 [IS_PARENT] => ) [3] => Array ( [TEXT] => Аренда сервера 1С [LINK] => /arenda-serverov/ [SELECTED] => [PERMISSION] => R [ADDITIONAL_LINKS] => Array ( ) [ITEM_TYPE] => D [ITEM_INDEX] => 2 [PARAMS] => Array ( ) [CHAIN] => Array ( [0] => Продукты [1] => Аренда сервера 1С ) [DEPTH_LEVEL] => 2 [IS_PARENT] => ) [4] => Array ( [TEXT] => Аренда виртуального сервера [LINK] => /arenda-serverov/arenda-virtualnogo-servera/ [SELECTED] => [PERMISSION] => R [ADDITIONAL_LINKS] => Array ( ) [ITEM_TYPE] => D [ITEM_INDEX] => 3 [PARAMS] => Array ( ) [CHAIN] => Array ( [0] => Продукты [1] => Аренда виртуального сервера ) [DEPTH_LEVEL] => 2 [IS_PARENT] => ) [5] => Array ( [TEXT] => Облако 1С [LINK] => /oblako-1c/ [SELECTED] => [PERMISSION] => R [ADDITIONAL_LINKS] => Array ( ) [ITEM_TYPE] => D [ITEM_INDEX] => 4 [PARAMS] => Array ( ) [CHAIN] => Array ( [0] => Продукты [1] => Облако 1С ) [DEPTH_LEVEL] => 2 [IS_PARENT] => ) [6] => Array ( [TEXT] => 1С онлайн [LINK] => /online-1c/ [SELECTED] => [PERMISSION] => R [ADDITIONAL_LINKS] => Array ( ) [ITEM_TYPE] => D [ITEM_INDEX] => 5 [PARAMS] => Array ( ) [CHAIN] => Array ( [0] => Продукты [1] => 1С онлайн ) [DEPTH_LEVEL] => 2 [IS_PARENT] => ) [7] => Array ( [TEXT] => Бухгалтерия Онлайн [LINK] => /buhgalteria-online/ [SELECTED] => [PERMISSION] => R [ADDITIONAL_LINKS] => Array ( ) [ITEM_TYPE] => D [ITEM_INDEX] => 6 [PARAMS] => Array ( ) [CHAIN] => Array ( [0] => Продукты [1] => Бухгалтерия Онлайн ) [DEPTH_LEVEL] => 2 [IS_PARENT] => ) [8] => Array ( [TEXT] => Программы 1С для ИП [LINK] => /programmy-1c-dlya-ip/ [SELECTED] => [PERMISSION] => R [ADDITIONAL_LINKS] => Array ( ) [ITEM_TYPE] => D [ITEM_INDEX] => 7 [PARAMS] => Array ( ) [CHAIN] => Array ( [0] => Продукты [1] => Программы 1С для ИП ) [DEPTH_LEVEL] => 2 [IS_PARENT] => ) [9] => Array ( [TEXT] => Сервисы [LINK] => /1c-contragent/ [SELECTED] => [PERMISSION] => R [ADDITIONAL_LINKS] => Array ( ) [ITEM_TYPE] => D [ITEM_INDEX] => 1 [PARAMS] => Array ( ) [CHAIN] => Array ( [0] => Сервисы ) [DEPTH_LEVEL] => 1 [IS_PARENT] => 1 ) [10] => Array ( [TEXT] => 1С:Контрагент [LINK] => /1c-contragent/ [SELECTED] => [PERMISSION] => R [ADDITIONAL_LINKS] => Array ( ) [ITEM_TYPE] => D [ITEM_INDEX] => 0 [PARAMS] => Array ( ) [CHAIN] => Array ( [0] => Сервисы [1] => 1С:Контрагент ) [DEPTH_LEVEL] => 2 [IS_PARENT] => ) [11] => Array ( [TEXT] => 1С-Отчетность [LINK] => /1c-otchetnost/ [SELECTED] => [PERMISSION] => R [ADDITIONAL_LINKS] => Array ( ) [ITEM_TYPE] => D [ITEM_INDEX] => 1 [PARAMS] => Array ( ) [CHAIN] => Array ( [0] => Сервисы [1] => 1С-Отчетность ) [DEPTH_LEVEL] => 2 [IS_PARENT] => ) [12] => Array ( [TEXT] => 1СПАРК Риски [LINK] => /1c-sparkriski/ [SELECTED] => [PERMISSION] => R [ADDITIONAL_LINKS] => Array ( ) [ITEM_TYPE] => D [ITEM_INDEX] => 2 [PARAMS] => Array ( ) [CHAIN] => Array ( [0] => Сервисы [1] => 1СПАРК Риски ) [DEPTH_LEVEL] => 2 [IS_PARENT] => ) [13] => Array ( [TEXT] => 1С:Распознавание первичных документов [LINK] => /1c-raspoznavanie-pervichnyh-dokumentov/ [SELECTED] => [PERMISSION] => R [ADDITIONAL_LINKS] => Array ( ) [ITEM_TYPE] => D [ITEM_INDEX] => 3 [PARAMS] => Array ( ) [CHAIN] => Array ( [0] => Сервисы [1] => 1С:Распознавание первичных документов ) [DEPTH_LEVEL] => 2 [IS_PARENT] => ) [14] => Array ( [TEXT] => 1С:Кабинет сотрудника [LINK] => https://e-office24.ru/1c-kabinet-sotrudnika/ [SELECTED] => [PERMISSION] => Z [ADDITIONAL_LINKS] => Array ( ) [ITEM_TYPE] => D [ITEM_INDEX] => 4 [PARAMS] => Array ( ) [CHAIN] => Array ( [0] => Сервисы [1] => 1С:Кабинет сотрудника ) [DEPTH_LEVEL] => 2 [IS_PARENT] => ) [15] => Array ( [TEXT] => Поддержка [LINK] => /support/ [SELECTED] => 1 [PERMISSION] => R [ADDITIONAL_LINKS] => Array ( ) [ITEM_TYPE] => D [ITEM_INDEX] => 2 [PARAMS] => Array ( ) [CHAIN] => Array ( [0] => Поддержка ) [DEPTH_LEVEL] => 1 [IS_PARENT] => 1 ) [16] => Array ( [TEXT] => Техническая поддержка [LINK] => /support/ [SELECTED] => 1 [PERMISSION] => R [ADDITIONAL_LINKS] => Array ( ) [ITEM_TYPE] => D [ITEM_INDEX] => 0 [PARAMS] => Array ( ) [CHAIN] => Array ( [0] => Поддержка [1] => Техническая поддержка ) [DEPTH_LEVEL] => 2 [IS_PARENT] => ) [17] => Array ( [TEXT] => Часто задаваемые вопросы [LINK] => /support/faq-voprosy-1c/ [SELECTED] => [PERMISSION] => R [ADDITIONAL_LINKS] => Array ( ) [ITEM_TYPE] => D [ITEM_INDEX] => 1 [PARAMS] => Array ( ) [CHAIN] => Array ( [0] => Поддержка [1] => Часто задаваемые вопросы ) [DEPTH_LEVEL] => 2 [IS_PARENT] => ) [18] => Array ( [TEXT] => Форум 1С [LINK] => /support/forum-1c/ [SELECTED] => [PERMISSION] => R [ADDITIONAL_LINKS] => Array ( ) [ITEM_TYPE] => D [ITEM_INDEX] => 2 [PARAMS] => Array ( ) [CHAIN] => Array ( [0] => Поддержка [1] => Форум 1С ) [DEPTH_LEVEL] => 2 [IS_PARENT] => ) [19] => Array ( [TEXT] => Выбор программы [LINK] => /support/vybor-programmy/ [SELECTED] => [PERMISSION] => R [ADDITIONAL_LINKS] => Array ( ) [ITEM_TYPE] => D [ITEM_INDEX] => 3 [PARAMS] => Array ( ) [CHAIN] => Array ( [0] => Поддержка [1] => Выбор программы ) [DEPTH_LEVEL] => 2 [IS_PARENT] => ) [20] => Array ( [TEXT] => Предоставить доступ [LINK] => /support/connect/ [SELECTED] => [PERMISSION] => R [ADDITIONAL_LINKS] => Array ( [TEST] => Y ) [ITEM_TYPE] => D [ITEM_INDEX] => 4 [PARAMS] => Array ( ) [CHAIN] => Array ( [0] => Поддержка [1] => Предоставить доступ ) [DEPTH_LEVEL] => 2 [IS_PARENT] => ) [21] => Array ( [TEXT] => О нас [LINK] => /company/ [SELECTED] => [PERMISSION] => R [ADDITIONAL_LINKS] => Array ( ) [ITEM_TYPE] => D [ITEM_INDEX] => 3 [PARAMS] => Array ( ) [CHAIN] => Array ( [0] => О нас ) [DEPTH_LEVEL] => 1 [IS_PARENT] => 1 ) [22] => Array ( [TEXT] => О проекте [LINK] => /company/ [SELECTED] => [PERMISSION] => R [ADDITIONAL_LINKS] => Array ( ) [ITEM_TYPE] => D [ITEM_INDEX] => 0 [PARAMS] => Array ( ) [CHAIN] => Array ( [0] => О нас [1] => О проекте ) [DEPTH_LEVEL] => 2 [IS_PARENT] => ) [23] => Array ( [TEXT] => Новостной блог [LINK] => /news/ [SELECTED] => [PERMISSION] => R [ADDITIONAL_LINKS] => Array ( ) [ITEM_TYPE] => D [ITEM_INDEX] => 1 [PARAMS] => Array ( ) [CHAIN] => Array ( [0] => О нас [1] => Новостной блог ) [DEPTH_LEVEL] => 2 [IS_PARENT] => ) [24] => Array ( [TEXT] => Отзывы клиентов [LINK] => /company/otzyvy-klientov/ [SELECTED] => [PERMISSION] => R [ADDITIONAL_LINKS] => Array ( ) [ITEM_TYPE] => D [ITEM_INDEX] => 2 [PARAMS] => Array ( ) [CHAIN] => Array ( [0] => О нас [1] => Отзывы клиентов ) [DEPTH_LEVEL] => 2 [IS_PARENT] => ) [25] => Array ( [TEXT] => Контакты [LINK] => /company/contacts/ [SELECTED] => [PERMISSION] => R [ADDITIONAL_LINKS] => Array ( ) [ITEM_TYPE] => D [ITEM_INDEX] => 3 [PARAMS] => Array ( ) [CHAIN] => Array ( [0] => О нас [1] => Контакты ) [DEPTH_LEVEL] => 2 [IS_PARENT] => ) )
- Продукты
- Аренда 1С
- Аренда 1С:Фреш
- Аренда сервера 1С
- Аренда виртуального сервера
- Облако 1С
- 1С онлайн
- Бухгалтерия Онлайн
- Программы 1С для ИП
- 1С:Контрагент
- 1С-Отчетность
- 1СПАРК Риски
- 1С:Распознавание первичных документов
- 1С:Кабинет сотрудника
- Техническая поддержка
- Часто задаваемые вопросы
- Форум 1С
- Выбор программы
- Предоставить доступ
- О проекте
- Новостной блог
- Отзывы клиентов
- Контакты
+7 (804) 333-16-02 звонок по России бесплатный Москва: +7 (499) 649-16-02 Санкт-Петербург: +7 (812) 425-17-02 Екатеринбург: +7 (343) 222-16-02 info@e-office24.ru sales@e-office24.ru
Круглосуточная техническая поддержка пользователей
Транзакция (информатика)
- Транза́кция (англ. transaction) — группа последовательных операций с базой данных, которая представляет собой логическую единицу работы с данными. Транзакция может быть выполнена либо целиком и успешно, соблюдая целостность данных и независимо от параллельно идущих других транзакций, либо не выполнена вообще, и тогда она не должна произвести никакого эффекта. Транзакции обрабатываются транзакционными системами, в процессе работы которых создаётся история транзакций.
Связанные понятия
Репликация (англ. replication) — механизм синхронизации содержимого нескольких копий объекта (например, содержимого базы данных). Репликация — это процесс, под которым понимается копирование данных из одного источника на другой (или на множество других) и наоборот.
Сервер баз данных (БД) выполняет обслуживание и управление базой данных и отвечает за целостность и сохранность данных, а также обеспечивает операции ввода-вывода при доступе клиента к информации.
Удалённый вызов процедур, реже Вызов удалённых процедур (от англ. Remote Procedure Call, RPC) — класс технологий, позволяющих компьютерным программам вызывать функции или процедуры в другом адресном пространстве (как правило, на удалённых компьютерах). Обычно реализация RPC-технологии включает в себя два компонента: сетевой протокол для обмена в режиме клиент-сервер и язык сериализации объектов (или структур, для необъектных RPC). Различные реализации RPC имеют очень отличающуюся друг от друга архитектуру.
Журналирование (англ. logging) — форма автоматической записи в хронологическом порядке операций в информационных технологиях, процесс записи информации о происходящих в рамках какого-либо процесса с некоторым объектом событиях, например, в файл регистрации или в базу данных. В некоторых программный комплексах используется термин «аудит», что является не верным, поскольку аудит подразумевает сравнение чего-то с чем-то, чего-то на предмет соответствия, например, требованиям, иными словами это корреляционный.
Три́ггер (англ. trigger) — хранимая процедура особого типа, которую пользователь не вызывает непосредственно, а исполнение которой обусловлено действием по модификации данных: добавлением INSERT, удалением DELETE строки в заданной таблице, или изменением UPDATE данных в определённом столбце заданной таблицы реляционной базы данных.
Упоминания в литературе
♦ Логические атаки (Logical Attacks). Атаки данного класса направлены на эксплуатацию функций приложения или логики его функционирования. Логика приложения представляет собой ожидаемый процесс функционирования программы при выполнении определенных действий. В качестве примеров можно привести восстановление паролей, регистрацию учетных записей, аукционные торги, транзакции в системах электронной коммерции. Приложение может требовать от пользователя корректного выполнения нескольких последовательных действий для решения определенной задачи. Злоумышленник может обойти или использовать эти механизмы в своих целях.
Н. Карп напоминает: главное при определении блокчейна все же не забывать о том, что это в первую очередь технология, которая может стать ключевой в самых разных сферах общественной жизни. По сути, он является одноранговым публичным реестром, поддерживаемым распределенной сетью компьютеров, которая не требует никакого центрального администратора или третьих лиц-посредников. Он состоит из трех ключевых компонентов: сделки, записи о транзакции и системы, которая проверяет и хранит транзакцию. Блоки генерируются через общедоступное программное обеспечение и содержат информацию о том, когда и в какой последовательности совершались транзакции. Один блок в хронологическом порядке хранит информацию обо всех сделках, которые имели место в цепочке, отсюда и название blockchain[4]. Другими словами, блокчейн – это база данных неизменной информации с меткой времени о каждой транзакции, которая растиражирована на серверах по всему миру. Эта технология лежит в основе криптовалюты биткоин<88>.88>
• У меня не было плана, только список функциональных возможностей, которыми должен был обладать новый продукт. Я начал с такой наиболее часто применяемой операции, как ввод транзакций. Затем перешел к менее критичным функциям вроде составления баланса и внесения корректировок. В конце добавил такие необязательные приятные вещи, как подсказки и возможность экспорта данных. Я занимался этим до тех пор, пока мне все не надоело, и я просто не объявил продукт готовым.
• в SQL-серверах реализован мощный механизм управления транзакциями. Транзакция – это набор команд, которые выполняются как одна операция. То есть либо выполняются все команды, либо не выполняется ни одна. Например, когда в базе данных выполняется проводка накладной по списанию товаров со склада, то надо последовательно изменить остатки по всем позициям в накладной. При этом существует возможность, что другой пользователь в это же время также пытается списать со склада этот же товар. SQL-сервер в этом случае разграничивает транзакции. То есть сначала выполняются все операции накладной первого пользователя, а затем второго. В случае сбоя, например в результате отключения электричества, SQL-сервер производит откат транзакций до последней завершенной. В этом случае данные не теряются и не нарушается их целостность;
ATP (AppleTalk Transaction Protocol) – один из протоколов транспортного уровня, который отвечает за транзакции. Транзакция – это набор из запроса, ответа на этот запрос и идентификационного номера, который присваивается данному набору. Примером транзакции может быть сообщение о доставке данных от одного компьютера другому. Кроме того, АТР умеет делать разбивку больших пакетов на более мелкие с последующей их сборкой после подтверждения о приеме или доставке.
Связанные понятия (продолжение)
Балансировка нагрузки отличается от физического соединения тем, что балансировка нагрузки делит трафик между сетевыми интерфейсами на сетевой сокет (модель OSI уровень 4) основе, в то время как соединение канала предполагает разделение трафика между физическими интерфейсами на более низком уровне, либо в пакет (модель OSI уровень 3) или по каналу связи (модель OSI уровень 2); Основы с, как протокол соединения кратчайшего пути.
Разделяемая память (англ. Shared memory) является самым быстрым средством обмена данными между процессами.
Взаимодействие компьютеров между собой, а также с другим активным сетевым оборудованием, в TCP/IP-сетях организовано на основе использования сетевых служб, которые обеспечиваются специальными процессами сетевой операционной системы (ОС) — демонами в UNIX-подобных ОС, службами в ОС семейства Windows и т. п. Примерами сетевых сервисов являются веб-серверы (в т.ч. сайты всемирной паутины), электронная почта, FTP-серверы для обмена файлами, приложения IP-телефонии и многое другое.
В информатике, блокировка — механизм синхронизации, позволяющий обеспечить исключительный доступ к разделяемому ресурсу между несколькими потоками. Блокировки — это один из способов обеспечить политику управления распараллеливанием.
Технология единого входа (англ. Single Sign-On) — технология, при использовании которой пользователь переходит из одного раздела портала в другой без повторной аутентификации.
Храни́мая процеду́ра — объект базы данных, представляющий собой набор SQL-инструкций, который компилируется один раз и хранится на сервере. Хранимые процедуры очень похожи на обыкновенные процедуры языков высокого уровня, у них могут быть входные и выходные параметры и локальные переменные, в них могут производиться числовые вычисления и операции над символьными данными, результаты которых могут присваиваться переменным и параметрам. В хранимых процедурах могут выполняться стандартные операции с.
Общий ресурс, или общий сетевой ресурс, — в информатике, это устройство или часть информации, к которой может быть осуществлён удалённый доступ с другого компьютера, обычно через локальную компьютерную сеть или посредством корпоративного интернета, как если бы ресурс находился на локальной машине.
Отказоустойчивый кластер (англ. High-Availability cluster, HA cluster — кластер высокой доступности) — кластер (группа серверов), спроектированный в соответствии с методиками обеспечения высокой доступности и гарантирующий минимальное время простоя за счёт аппаратной избыточности. Без кластеризации сбой сервера приводит к тому, что поддерживаемые им приложения или сетевые сервисы оказываются недоступны до восстановления его работоспособности. Отказоустойчивая кластеризация исправляет эту ситуацию.
Очередь сообщений (или почтовый ящик) — в информатике — программно-инженерный компонент, используемый для межпроцессного или межпотокового взаимодействия внутри одного процесса. Для обмена сообщениями используется очередь.
Сокеты Беркли — интерфейс программирования приложений (API), представляющий собой библиотеку для разработки приложений на языке C с поддержкой межпроцессного взаимодействия (IPC), часто применяемый в компьютерных сетях.
Синхронизация (от др.-греч. σύγχρονος — одновременный) в информатике обозначает одно из: синхронизацию процессов, либо синхронизацию данных, либо процесс синхронизации передачи данных.
Сериализация (в программировании) — процесс перевода какой-либо структуры данных в последовательность битов. Обратной к операции сериализации является операция десериализации (структуризации) — восстановление начального состояния структуры данных из битовой последовательности.
Сертификат открытого ключа (сертификат ЭП, сертификат ключа подписи, сертификат ключа проверки электронной подписи (согласно ст. 2 Федерального Закона от 06.04.2011 «Об электронной подписи» № 63-ФЗ)) — электронный или бумажный документ, содержащий открытый ключ, информацию о владельце ключа, области применения ключа, подписанный выдавшим его Удостоверяющим центром и подтверждающий принадлежность открытого ключа владельцу.
Сеансовый уровень (англ. Session layer) — 5-й уровень сетевой модели OSI, отвечает за поддержание.
Аутентифика́ция (англ. authentication Подробнее: Распределённый менеджер блокировокКонтро́льная су́мма — некоторое значение, рассчитанное по набору данных путём применения определённого алгоритма и используемое для проверки целостности данных при их передаче или хранении. Также контрольные суммы могут использоваться для быстрого сравнения двух наборов данных на неэквивалентность: с большой вероятностью различные наборы данных будут иметь неравные контрольные суммы. Это может быть использовано, например, для обнаружения компьютерных вирусов. Несмотря на своё название, контрольная.
Снимок файловой системы, или снапшот, или снепшот (от англ. snapshot — мгновенный снимок), — моментальный снимок, копия файлов и каталогов файловой системы на определённый момент времени.
Распределённая система — система, для которой отношения местоположений элементов (или групп элементов) играют существенную роль с точки зрения функционирования системы, а, следовательно, и с точки зрения анализа и синтеза системы.
Масштаби́руемость (англ. scalability) — в электронике и информатике означает способность системы, сети или процесса справляться с увеличением рабочей нагрузки (увеличивать свою производительность) при добавлении ресурсов (обычно аппаратных).
Атомарная (атом от греч. atomos — неделимое) операция — операция, которая либо выполняется целиком, либо не выполняется вовсе; операция, которая не может быть частично выполнена и частично не выполнена.
Контроллер домена в компьютерных сетях построенных на Microsoft Server — сервер, контролирующий область компьютерной сети (домен).
Высокая доступность (англ. high availability) — характеристика технической системы, разработанной для избежания невыполненного обслуживания путём уменьшения или управления сбоями и минимизацией времени плановых простоев. Высокая доступность ожидается от систем жизнеобеспечения, здравоохранения и систем, от которых зависит благополучие общества в целом и экономического благополучия отдельных организаций.
Механизм копирования при записи (англ. Copy-On-Write, COW) используется для оптимизации многих процессов, происходящих в операционной системе, таких как, например, работа с оперативной памятью или файлами на диске (пример — ext3cow).
Токен (также аппаратный токен, USB-ключ, криптографический токен) — компактное устройство, предназначенное для обеспечения информационной безопасности пользователя, также используется для идентификации его владельца, безопасного удалённого доступа к информационным ресурсам и т. д. Как правило, это физическое устройство, используемое для упрощения аутентификации. Также этот термин может относиться и к программным токенам, которые выдаются пользователю после успешной авторизации и являются ключом для.
Стек протоколов — это иерархически организованный набор сетевых протоколов, достаточный для организации взаимодействия узлов в сети. Протоколы работают в сети одновременно, значит работа протоколов должна быть организована так, чтобы не возникало конфликтов или незавершённых операций. Поэтому стек протоколов разбивается на иерархически построенные уровни, каждый из которых выполняет конкретную задачу — подготовку, приём, передачу данных и последующие действия с ними.
Многофакторная аутентификация (МФА, англ. multi-factor authentication, MFA) — расширенная аутентификация, метод контроля доступа к компьютеру, в котором пользователю для получения доступа к информации необходимо предъявить более одного «доказательства механизма аутентификации». К категориям таких доказательств относят.
Межпроцессное взаимодействие (англ. inter-process communication, IPC) — обмен данными между потоками одного или разных процессов. Реализуется посредством механизмов, предоставляемых ядром ОС или процессом, использующим механизмы ОС и реализующим новые возможности IPC. Может осуществляться как на одном компьютере, так и между несколькими компьютерами сети.
Монтирование файловой системы — системный процесс, подготавливающий раздел диска к использованию операционной системой.
Взаи́мная блокиро́вка (англ. deadlock) — ситуация в многозадачной среде или СУБД, при которой несколько процессов находятся в состоянии ожидания ресурсов, занятых друг другом, и ни один из них не может продолжать свое выполнение.
Авториза́ция (англ. authorization «разрешение; уполномочивание») — предоставление определённому лицу или группе лиц прав на выполнение определённых действий; а также процесс проверки (подтверждения) данных прав при попытке выполнения этих действий. Часто можно услышать выражение, что какой-то человек «авторизован» для выполнения данной операции — это значит, что он имеет на неё право.
Маршрутизация (англ. Routing) — процесс определения маршрута следования данных в сетях связи.
Файловый дескриптор — это неотрицательное целое число. Когда создается новый поток ввода-вывода, ядро возвращает процессу, создавшему поток ввода-вывода, его файловый дескриптор.
Закрытый ключ — сохраняемый в тайне компонент ключевой пары, применяющейся в асимметричных шифрах, то есть таких шифрах, в которых для прямого и обратного преобразований используются разные ключи. В отличие от закрытого ключа, другой компонент ключевой пары — открытый ключ, как правило, не хранится в тайне, а защищается от подделки и публикуется.
Узел сети (англ. node) — устройство, соединённое с другими устройствами как часть компьютерной сети.. Узлами могут быть компьютеры, мобильные телефоны, карманные компьютеры, а также специальные сетевые устройства, такие как маршрутизатор, коммутатор или концентратор.
Распределительная вычислительная среда (англ. Distributed Computing Environment, сокр. DCE) — система программного обеспечения, разработанная в начале 1990-х годов в Open Software Foundation, который представлял собой ассоциацию нескольких компаний: Apollo Computer, IBM, Digital Equipment Corporation и других. DCE предоставляет фреймворк и средства разработки клиент-серверных приложений.
Ссы́лочная це́лостность (англ. referential integrity) — необходимое качество реляционной базы данных, заключающееся в отсутствии в любом её отношении внешних ключей, ссылающихся на несуществующие кортежи.
В информатике и теории автоматов состояние цифровой логической схемы или компьютерной программы является техническим термином для всей хранимой информации, к которой схема или программа в данный момент времени имеет доступ. Вывод данных цифровой схемы или компьютерной программы в любой момент времени полностью определяется его текущими входными данными и его состоянием.
В криптографии центр сертификации или удостоверяющий центр (англ. Certification authority, CA) — сторона (отдел, организация), чья честность неоспорима, а открытый ключ широко известен. Задача центра сертификации — подтверждать подлинность ключей шифрования с помощью сертификатов электронной подписи.
Систе́мный вы́зов (англ. system call) в программировании и вычислительной технике — обращение прикладной программы к ядру операционной системы для выполнения какой-либо операции.
Защита памяти (англ. Memory protection) — это способ управления правами доступа к отдельным регионам памяти. Используется большинством многозадачных операционных систем. Основной целью защиты памяти является запрет доступа процессу к той памяти, которая не выделена для этого процесса. Такие запреты повышают надёжность работы как программ, так и операционных систем, так как ошибка в одной программе не может повлиять непосредственно на память других приложений. Следует различать общий принцип защиты.
Служба каталогов в контексте компьютерных сетей — программный комплекс, позволяющий администратору работать с упорядоченным по ряду признаков массивом информации о сетевых ресурсах (общие папки, серверы печати, принтеры, пользователи и т. д.), хранящимся в едином месте, что обеспечивает централизованное управление как самими ресурсами, так и информацией о них, а также позволяющий контролировать использование их третьими лицами.
Инфраструктура открытых ключей (ИОК, англ. PKI — Public Key Infrastructure) — набор средств (технических, материальных, людских и т. д.), распределённых служб и компонентов, в совокупности используемых для поддержки криптозадач на основе закрытого и открытого ключей. В основе PKI лежит использование криптографической системы с открытым ключом и несколько основных принципов.
Упоминания в литературе (продолжение)
Таким образом, возможности сети Интернет создают предпосылки для их активного использования индивидуальным инвестором. При этом достигаются такие цели, как проведение защищённых транзакций (сделок), получение полной и своевременной информации о рынке и конфиденциальность персональных сведений.
Таким образом, возможности сети Интернет создают предпосылки для их активного использования индивидуальным инвестором. При этом достигаются такие цели, как проведение защищенных транзакций (сделок), получение полной и своевременной информации о рынке и конфиденциальность персональных сведений.
Что именно хранится на вашем банковском счете, на вашей кредитной или дебетовой карте? Настоящие деньги? Деньги, которые вы держали в руках, уже давно превратились в нематериальные биты и байты. Сейчас лишь небольшой объем денежных средств существует в виде физически осязаемых банкнот и монет. Подавляющее большинство мировых денежных средств и активов воплотилось в форме невидимых глазу битов и байтов в централизованных информационных системах финансовой индустрии. Банки и многие другие деятели финансовой сферы являются просто посредниками между производителями и потребителями битов и байтов, которые теперь олицетворяют наши деньги и наше благополучие. Операция займа, кредитования или перевода денег с одного счета на другой – это всего лишь передача нематериальной сущности, выполняемая посредником, также называемым комиссионером. Удивительно, как много посредников привлечено к выполнению с виду простых транзакций (например, при переводе денег с одного счета на счет, расположенный в другой стране, могут принять участие до пяти посредников, и все они требуют оплаты времени, затраченного на обработку данных, и своих комиссионных). В результате для простой операции перевода денег на счет в другой стране время обработки увеличивается, и возникают значительные накладные расходы на выполнение транзакций. В пиринговой системе тот же перевод можно выполнить намного проще и быстрее, а накладные расходы будут меньшими, поскольку операция выполняется «как есть», без лишних сущностей: передача битов и байтов между двумя равноправными партнерами или узлами.
– наличие совокупности тесно взаимодействующих компонентов, имеющих локальные задачи и цели функционирования (например, традиционных приложений, связанных с обработкой транзакций, приложений аналитической обработки данных – поддержки принятия решений);
Еще несколько лет назад руководители магазинов и не подозревали, что наступит время, когда им придется серьезно задумываться о телекоммуникационной инфраструктуре своих организаций. Функционирование современной розничной торговой организации практически немыслимо без таких понятий, как локальная вычислительная сеть, Интернет, виртуальная частная сеть, сервисные службы, система управления цепочками поставок и многое другое. Все способствует решению прикладных задач учета товаров, электронного документооборота, выполнению электронных транзакций, предоставлению покупателям справочной информации в режиме онлайн, интеграции с сетями электронной обработки обращений покупателей, поступающих по телефону, через электронную почту или через web-сайты магазинов.
– корпоративной сети Internet для структурирования и распространения информации, выполнения электронных транзакций в пределах компании;
С середины 1990-х годов активно решались вопросы нормативного регулирования применения электронной подписи. Так, в течение 10 лет, с 1995 по 2005 г., практически все страны мира приняли соответствующие законы – «Об электронном документе», «Об электронной подписи», «О цифровой подписи», «Об электронной цифровой подписи», «Об электронных сделках», «Об электронной коммерции» и т. д. [167, с. 131–132]. Особо следует выделить модельные акты, принятые международными организациями: Комиссией ООН по международному торговому праву (ЮНСИТРАЛ) (модельные законы «Об электронной торговле» 1996 г. и «Об электронных подписях» 2001 г.) и Европейским парламентом (Директива 1999/93/ЕС Европейского парламента и Совета от 13 декабря 1999 г. о порядке использования электронных подписей в Европейском сообществе), послужившие в дальнейшем в качестве типовых для разработки национальных законов [231, 233, 234]. Выделим также принятый уже на новом этапе Европейским парламентом и Советом нормативно-правовой акт (EU Regulation) № 910-2014 от 23 июля 2014 г. «Об электронной идентификации и услугах доверия для электронных транзакций на внутреннем рынке, и об отмене Директивы 199 9/93/ЕС» [232].
– обеспечение целостности данных: управление транзакциями, распределенными между удаленными компонентами системами;