Что такое журнализация изменений в программировании
Одним из основных требований к развитым СУБД является надежность хранения баз данных. Это требование предполагает, в частности, возможность восстановления согласованного состояния базы данных после любого рода аппаратных и программных сбоев. Очевидно, что для выполнения восстановлений необходима некоторая дополнительная информация. В подавляющем большинстве современных реляционных СУБД такая избыточная дополнительная информация поддерживается в виде журнала изменений базы данных.
- результаты зафиксированных транзакций должны быть сохранены в восстановленном состоянии базы данных;
- результаты незафиксированных транзакций должны отсутствовать в восстановленном состоянии базы данных.
Это, собственно, и означает, что восстанавливается последнее по времени согласованное состояние базы данных.
- Индивидуальный откат транзакции. Тривиальной ситуацией отката транзакции является ее явное завершение оператором ROLLBACK. Возможны также ситуации, когда откат транзакции инициируется системой. Примерами могут быть возникновение исключительной ситуации в прикладной программе (например, деление на ноль) или выбор транзакции в качестве жертвы при обнаружении синхронизационного тупика. Для восстановления согласованного состояния базы данных при индивидуальном откате транзакции нужно устранить последствия операторов модификации базы данных, которые выполнялись в этой транзакции.
- Восстановление после внезапной потери содержимого оперативной памяти (мягкий сбой). Такая ситуация может возникнуть при аварийном выключении электрического питания, при возникновении неустранимого сбоя процессора (например, срабатывании контроля оперативной памяти) и т.д. Ситуация характеризуется потерей той части базы данных, которая к моменту сбоя содержалась в буферах оперативной памяти.
- Восстановление после поломки основного внешнего носителя базы данных (жесткий сбой). Эта ситуация при достаточно высокой надежности современных устройств внешней памяти может возникать сравнительно редко, но тем не менее, СУБД должна быть в состоянии восстановить базу данных даже и в этом случае. Основой восстановления является архивная копия и журнал изменений базы данных.
Во всех трех случаях основой восстановления является избыточное хранение данных. Эти избыточные данные хранятся в журнале, содержащем последовательность записей об изменении базы данных.
Возможны два основных варианта ведения журнальной информации. В первом варианте для каждой транзакции поддерживается отдельный локальный журнал изменений базы данных этой транзакцией. Эти локальные журналы используются для индивидуальных откатов транзакций и могут поддерживаться в оперативной (правильнее сказать, в виртуальной) памяти. Кроме того, поддерживается общий журнал изменений базы данных, используемый для восстановления состояния базы данных после мягких и жестких сбоев.
Этот подход позволяет быстро выполнять индивидуальные откаты транзакций, но приводит к дублированию информации в локальных и общем журналах. Поэтому чаще используется второй вариант — поддержание только общего журнала изменений базы данных, который используется и при выполнении индивидуальных откатов. Далее мы рассматриваем именно этот вариант.
Что такое СУБД
Система управления базами данных (СУБД) – это комплекс программно-языковых средств, позволяющих создать базы данных и управлять данными. Иными словами, СУБД — это набор программ, позволяющий организовывать, контролировать и администрировать базы данных. Большинство сайтов не могут функционировать без базы данных, поэтому СУБД используется практически повсеместно.
- Подробнее о СУБД
- SQL и реляционные БД: почему в них важно разбираться
- Наиболее популярные СУБД
Подробнее о СУБД
Основные функции СУБД:
- управление данными во внешней памяти (на дисках);
- управление данными в оперативной памяти с использованием дискового кэша;
- журнализация изменений (сохранение истории), резервное копирование и восстановление базы данных после сбоев;
- поддержка языков БД (язык определения данных, язык манипулирования данными).
Каждая СУБД основывается на какой-либо модели данных, это является одним из признаков классификации. По модели данных СУБД бывают:
- Иерархические. В этой модели данных используется представление БД в виде древовидной структуры, состоящей из данных разных уровней.
- Сетевые. Данная модель является расширением иерархического подхода. Иерархическая модель подразумевает, что запись-потомок может иметь строго одного предка, в то время как в сетевой структуре потомок может иметь любое количество предков.
- Реляционные. СУБД, ориентированные на организацию данных как набор связанных записей и атрибутов в двумерной таблице.
- Объектно-ориентированные. Для управления БД, основанными на объектной модели данных. Как правило основываются на объектно-ориентированных языках программирования.
- Объектно-реляционные. Объединяет в себе концепции реляционной модели с дополнительными объектно-ориентированными возможностями.
SQL и реляционные БД: почему в них важно разбираться
Сегодня по-прежнему наиболее популярными при создании веб-приложений и сервисов остаются реляционные базы данных. Для управления реляционными базами данных используется язык SQL (Structured Query Language — структурированный язык запросов). Изначально SQL был инструментом работы пользователя с базой данных, однако со временем язык усложнился и стал скорее инструментом разработчика, чем конечного пользователя.
Наиболее популярные СУБД
Различные рейтинги самых популярных СУБД возглавляют Oracle, MySQL , Microsoft SQL Server, PostgreSQL.
MySQL
Считается одной из самых распространенных СУБД. MySQL — реляционная СУБД с открытым исходным кодом, главными плюсами которой являются ее скорость и гибкость, которая обеспечена поддержкой большого количества различных типов таблиц.
Кроме того, это надежная бесплатная система с простым интерфейсом и возможностью синхронизации с другими базами данных. В совокупности эти факторы позволяют использовать MySQL как крупным корпорациям, так и небольшим компаниям.
Microsoft SQL Server
Как следует из названия, фирменная СУБД, разработанная Microsoft. Оптимальная для использования в операционных системах семейства Windows, однако может работать и с Linux.
Система позволяет синхронизироваться с другими программными продуктами компании Microsoft, а также обеспечивает надежную защиту данных и простой интерфейс, однако отличается высокой стоимостью лицензии и повышенным потреблением ресурсов.
В целом, однако, сохраняет свою популярность, в немалой степени из-за того, что продукты корпорации Microsoft используются многими компаниями.
PostgreSQL
СУБД PostgreSQL — еще одна популярная и бесплатная система. Наибольшее применение нашла для управления БД веб-сайтов и различных сервисов. Она универсальна, то есть подойдет для работы с большинством популярных платформ.
При этом PostgreSQL — объектно-реляционная СУБД, что дает ей некоторые преимущества над другими бесплатными СУБД, в большинстве являющимися реляционными.
Oracle
Первая версия этой объектно-реляционной СУБД появилась в конце 70-х, и с тех пор зарекомендовала себя как надежная, функциональная и практичная. СУБД Oracle постоянно развивается и дорабатывается, упрощая установку и первоначальную настройку и расширяя функционал.
Однако существенным минусом данной СУБД является высокая стоимость лицензии, поэтому она используется в основном крупными компаниями и корпорациями, работающими с огромными объемами данных.
Журнализация изменений
Журнализация изменений — функция СУБД, которая сохраняет информацию, необходимую для восстановления базы данных в предыдущее консистентное состояние в случае логических или физических отказов.
В простейшем случае журнализация изменений заключается в последовательной записи во внешнюю память всех изменений, выполняемых в базе данных. Записывается следующая информация:
- порядковый номер, тип и время изменения;
- идентификатор транзакции;
- объект, подвергшийся изменению (номер хранимого файла и номер блока данных в нём, номер строки внутри блока);
- предыдущее состояние объекта и новое состояние объекта.
Формируемая таким образом информация называется журнал изменений базы данных. Журнал содержит отметки начала и завершения транзакции, и отметки принятия контрольной точки (см. ниже).
В СУБД с отложенной записью блоки данных внешней памяти снабжаются отметкой порядкового номера последнего изменения, которое было выполнено над этим блоком данных. В случае сбоя системы эта отметка позволяет узнать какая версия блока данных успела достичь внешней памяти.
СУБД с отложенной записью периодически выполняет контрольные точки. Во время выполнения этого процесса все незаписанные данные переносятся на внешнюю память, а в журнал пишется отметка принятия контрольной точки. После этого содержимое журнала, записанное до контрольной точки может быть удалено.
Журнал изменений может не записываться непосредственно во внешнюю память, а аккумулироваться в оперативной. В случае подтверждения транзакции СУБД дожидается записи оставшейся части журнала на внешнюю память. Таким образом гарантируется, что все данные, внесённые после сигнала подтверждения, будут перенесены во внешнюю память, не дожидаясь переписи всех измененных блоков из дискового кэша. СУБД дожидается записи оставшейся части журнала так же при выполнении контрольной точки.
В случае логического отказа или сигнала отката одной транзакции журнал сканируется в обратном направлении, и все записи отменяемой транзакции извлекаются из журнала вплоть до отметки начала транзакции. Согласно извлеченной информации выполняются действия, отменяющие действия транзакции, а в журнал записываются компенсирующие записи. Этот процесс называется откат (rollback).
В случае физического отказа, если ни журнал, ни сама база данных не повреждена, то выполняется процесс прогонки (rollforward). Журнал сканируется в прямом направлении, начиная от предыдущей контрольной точки. Все записи извлекаются из журнала вплоть до конца журнала. Извлеченная из журнала информация вносится в блоки данных внешней памяти, у которых отметка номера изменений меньше, чем записанная в журнале. Если в процессе прогонки снова возникает сбой, то сканирование журнала вновь начнется сначала, но фактически восстановление продолжиться с той точки, откуда оно прервалось.
Мультиплексирование
Для увеличения отказоустойчивости СУБД может записывать одновременно несколько идентичных копий журнала изменений. Если в случае отказа одна из копий журнала окажется недоступной, СУБД восстановит базу данных используя любую из доступных копий. Такая стратегия называется мультиплексированием журнала изменений.
Архивирование
Как правило, журнал изменений перезаписывается сначала, как только заканчивается пространство внешней памяти, распределенное под него. Это позволяет восстановить базу данных до актуального и консистентного состояния, но только в том случае, если сама база данных не потеряна, пусть даже и не в актуальном состоянии.
Однако в некоторых информационных системах восстановление должно быть гарантировано, даже если вся база данных потеряна. В таких системах периодически выполняются резервное копирование базы данных, а журнал изменений разделяется на последовательные отрезки и архивируется. Перед началом резервного копирования выполняется контрольная точка и журнал разделяется на отрезки, записанные до и после начала резервного копирования. По завершении процесса резервного копирования весь журнал изменений записанный до начала резервного копирования удаляется. Таким образом, при наличии резервной копии и архивированных журналов изменений, база данных может быть восстановлена до актуального состояния, даже если все блоки данных были потеряны.
Реализации
Не все реальные СУБД следуют классической схеме реализации журнала изменений, в частности по соображениям эффективности.
Oracle
В СУБД Oracle журнал изменений разделен на журнал повтора и журнал отката [источник не указан 703 дня] . В журнал повтора записывается только информация, о том, в каком состоянии объект находился после выполнения изменения. Эта информация не может быть применена для отката отдельной транзакции [источник не указан 703 дня] .
Информация для отката (журнал отката) группируется в сегменты отката и также используется для поддержания целостности по чтению. В случае подтверждения транзакции информация о старых данных уничтожается, а в случае отката — используется для восстановления отменяемой транзакции.
Informix
В СУБД Informix журнал изменений представляет из себя дисковое пространство, разделенное на части называемые файлами журнала транзакций (эти файлы не имеют ничего общего с файлами на файловой системе) или логическим журналом. Запись изменений в этот журнал зависит от того в каком режиме находится база данных — без журналирования, с буферизованным журналированием или с небуферизованным. Все изменения сначала попадают в буфера логического журнала, а дальнейший сброс их в журнал транзакций зависит от режима журналирования базы данных.
Для восстановления в случае отказа используется т.н. физический журнал, в который копируются образы страниц перед их изменением. В случае сбоя сервера неподтвержденные данные будут восстановлены во время запуска.
См. также
Литература
- К. Дж. Дейт Введение в системы баз данных = Introduction to Database Systems. — 8-е изд. — М.: «Вильямс», 2006. — С. 1328. ISBN 0-321-19784-4
- Томас Коннолли, Каролин Бегг Базы данных. Проектирование, реализация и сопровождение. Теория и практика = Database Systems: A Practical Approach to Design, Implementation, and Management Third Edition. — 3-е изд. — М.: «Вильямс», 2003. — С. 1436. ISBN 0-201-70857-4
Упреждающая журнализация
![]()
- Упреждающая журнализация — техника для обеспечения атомарности и устойчивости баз данных — двух ключевых ACID-свойств — посредством ведения журнала упреждающей записи (англ. write-ahead log), в который информация об изменениях в базе данных вносится и фиксируется перед записью в базу данных.
Связанные понятия
Журнализация изменений — функция СУБД, которая сохраняет информацию, необходимую для восстановления базы данных в предыдущее согласованное состояние в случае логических или физических отказов.
Система предотвращения вторжений (англ. Intrusion Prevention System, IPS) — программная или аппаратная система сетевой и компьютерной безопасности, обнаруживающая вторжения или нарушения безопасности и автоматически защищающая от них.
Восстановление базы данных — функция СУБД, которая в случае логических и физических сбоев приводит базу данных в актуальное и консистентное состояние.
Транза́кция (англ. transaction) — группа последовательных операций с базой данных, которая представляет собой логическую единицу работы с данными. Транзакция может быть выполнена либо целиком и успешно, соблюдая целостность данных и независимо от параллельно идущих других транзакций, либо не выполнена вообще, и тогда она не должна произвести никакого эффекта. Транзакции обрабатываются транзакционными системами, в процессе работы которых создаётся история транзакций.
Непрерывная интеграция (CI, англ. Continuous Integration) — практика разработки программного обеспечения, которая заключается в постоянном слиянии рабочих копий в общую основную ветвь разработки (до нескольких раз в день) и выполнении частых автоматизированных сборок проекта для скорейшего выявления потенциальных дефектов и решения интеграционных проблем. В обычном проекте, где над разными частями системы разработчики трудятся независимо, стадия интеграции является заключительной. Она может непредсказуемо.
Токенизация, применяемая в области информационной безопасности, представляет собой процесс замены конфиденциального элемента данных на неконфиденциальный эквивалент, называемый токеном, который не имеет самостоятельного смысла/значения для внешнего или внутреннего использования. Токен — это ссылка (то есть идентификатор), которая сопоставляется с конфиденциальными данными через систему токенизации. Сопоставление исходных данных с токеном использует методы, которые делают невозможным обратное преобразование.
Мониторинг активности базы данных (DAM), это технология безопасности базы данных для мониторинга и анализа активности, которая работает независимо от системы управления базами данных (СУБД) и не зависит от какой-либо формы внутреннего (СУБД-резидентного) аудита или собственных журналов, таких как трассировка или Журналы транзакций. DAM обычно выполняется непрерывно и в режиме реального времени.
Журналирование (англ. logging) — форма автоматической записи в хронологическом порядке операций в информационных технологиях, процесс записи информации о происходящих в рамках какого-либо процесса с некоторым объектом событиях, например, в файл регистрации или в базу данных. В некоторых программный комплексах используется термин «аудит», что является не верным, поскольку аудит подразумевает сравнение чего-то с чем-то, чего-то на предмет соответствия, например, требованиям, иными словами это корреляционный.
Удалённая сетевая атака — информационное разрушающее воздействие на распределённую вычислительную систему (ВС), осуществляемое программно по каналам связи.
Безопасное программирование — методика разработки программного обеспечения, предотвращающая случайное внедрение уязвимостей и обеспечивающая устойчивость к воздействию вредоносных программ и несанкционированному доступу. Баги и логические ошибки являются основной причиной появления уязвимостей программного обеспечения.
В информатике асинхронный ввод/вывод является формой неблокирующей обработки ввода/вывода, который позволяет процессу продолжить выполнение не дожидаясь окончания передачи данных.
В компьютерных технологиях, программная транзакционная память (англ. software transactional memory, SТМ) представляет собой механизм управления параллелизмом, аналогичный механизму транзакций баз данных для управления доступом к совместно используемой памяти в параллельных вычислениях. Это альтернатива для синхронизации на основе блокировки. Транзакция в этом контексте является частью кода, который выполняет считывание и запись в разделяемую (совместно используемую) память. Считывание и запись логически.
Обработкой транзакции, в информационных технологиях, называется обработка информации, разделенная на отдельные неделимые операции, называемые транзакциями. Каждая транзакция должна быть успешной или неудачной как единое целое; она не может оставаться в промежуточном состоянии.
Предотвращение утечек (англ. Data Leak Prevention, DLP) — технологии предотвращения утечек конфиденциальной информации из информационной системы вовне, а также технические устройства (программные или программно-аппаратные) для такого предотвращения утечек.
Резидентная база данных (англ. in-memory database, IMDB) — база данных, размещаемая в оперативной памяти. Резидентная СУБД — система управления резидентными базами данных, один из видов программных систем, работающих в парадигме резидентных вычислений (англ. in-memory computing).
В базах данных и обработке транзакций двухфазная блокировка (2PL) — это метод управления параллелизмом, который гарантирует сериализуемость. Это также имя результирующего набора графиков транзакций базы данных (истории). Протокол использует блокировки, применяемые транзакцией к данным, которые могут блокировать (интерпретировать как сигналы для остановки) другие транзакции от доступа к тем же данным в течение жизни транзакции.
Информационная безопасность (англ. Information Security, а также — англ. InfoSec) — практика предотвращения несанкционированного доступа, использования, раскрытия, искажения, изменения, исследования, записи или уничтожения информации. Это универсальное понятие применяется вне зависимости от формы, которую могут принимать данные (электронная, или например, физическая). Основная задача информационной безопасности — сбалансированная защита конфиденциальности, целостности и доступности данных, с учётом.
Регрессио́нное тести́рование (англ. regression testing, от лат. regressio — движение назад) — собирательное название для всех видов тестирования программного обеспечения, направленных на обнаружение ошибок в уже протестированных участках исходного кода. Такие ошибки — когда после внесения изменений в программу перестаёт работать то, что должно было продолжать работать, — называют регрессионными ошибками (англ. regression bugs).
Критерии определения безопасности компьютерных систем (англ. Trusted Computer System Evaluation Criteria) — стандарт Министерства обороны США, устанавливающий основные условия для оценки эффективности средств компьютерной безопасности, содержащихся в компьютерной системе. Критерии используются для определения, классификации и выбора компьютерных систем, предназначенных для обработки, хранения и поиска важной или секретной информации.
Маскировка (обфускация) данных — это способ защиты конфиденциальной информации от несанкционированного доступа путём замены исходных данных фиктивными данными или произвольными символами. При этом замаскированная информация выглядит реалистично и непротиворечиво и может использоваться в процессе тестирования программного обеспечения. В большинстве случаев маскировка применяется для защиты персональных данных и конфиденциальных сведений организации.
Антиви́русная програ́мма (антиви́рус, средство антивирусной защиты, средство обнаружения вредоносных программ) — специализированная программа для обнаружения компьютерных вирусов, а также нежелательных (считающихся вредоносными) программ и восстановления заражённых (модифицированных) такими программами файлов и профилактики — предотвращения заражения (модификации) файлов или операционной системы вредоносным кодом.
Операционная система реального времени (ОСРВ, англ. real-time operating system, RTOS) — тип операционной системы, основное назначение которой — предоставление необходимого и достаточного набора функций для работы систем реального времени на конкретном аппаратном оборудовании.
Непрерывная защита данных (англ. Continuous data protection (CDP)) — создание резервных копий данных компьютера с помощью автоматического сохранения копии после каждого изменения данных. Это позволяет пользователю, или администратору, восстановить данные в любой момент.
Резервное копирование (англ. backup copy) — процесс создания копии данных на носителе (жёстком диске, дискете и т. д.), предназначенном для восстановления данных в оригинальном или новом месте их расположения в случае их повреждения или разрушения.
Тестирование на проникновение (жарг. Пентест) — метод оценки безопасности компьютерных систем или сетей средствами моделирования атаки злоумышленника. Процесс включает в себя активный анализ системы на наличие потенциальных уязвимостей, которые могут спровоцировать некорректную работу целевой системы, либо полный отказ в обслуживании. Анализ ведется с позиции потенциального атакующего и может включать в себя активное использование уязвимостей системы. Результатом работы является отчет, содержащий.
Управление записями (англ. Records Management) — управление документами организации с момента их создания до окончательного уничтожения. Данная практика включает в себя формирование документов в делопроизводстве, их хранение, защиту и уничтожение (либо, в некоторых случаях — архивное хранение).
Сеансовый уровень (англ. Session layer) — 5-й уровень сетевой модели OSI, отвечает за поддержание.
Недокументи́рованные возмо́жности (англ. undocumented features), НДВ — возможности технических устройств и/или программного обеспечения, не отраженные в документации. Чаще всего недокументированные возможности сознательно закладываются разработчиками в целях тестирования, дальнейшего расширения функциональности, обеспечения совместимости или же в целях скрытого контроля за пользователем. Кроме того недокументированные возможности могут стать следствием побочных эффектов (чаще всего в переходных режимах.
Технические средства защиты авторских прав (ТСЗАП; англ. DRM — digital rights management) — программные или программно-аппаратные средства, которые намеренно ограничивают, либо затрудняют различные действия с данными в электронной форме (копирование, модификацию, просмотр и т. п.), либо позволяют отследить такие действия. DRM представляет собой набор систем контроля и управления доступом. На данный момент DRM используется множеством компаний по всему миру, среди которых Amazon, Apple Inc., Microsoft.
Система контроля действий пользователя — программный или программно-аппаратный комплекс, позволяющий отслеживать действия пользователя. Данная система осуществляет мониторинг рабочих операций пользователя на предмет их соответствия корпоративным политикам.
Модель систем военных сообщений (модель СВС, англ. Military Message System, MMS) — модель контроля и управления доступом, ориентированная на системы приема, передачи и обработки сообщений, реализующие мандатную политику безопасности. Модель СВС была разработана в 1984 году в интересах вооруженных сил США сотрудниками научно-исследовательской лаборатории военно-морских сил США (англ. U.S. Naval Research Laboratory, NRL) Карлом Ландвером, Констансом Хайтмайером и Джоном Маклином с целью устранения.
Система предупреждения столкновения самолётов в воздухе (англ. Traffic alert and Collision Avoidance System, TCAS) — система самолёта, предназначенная для уменьшения риска столкновения воздушных судов. Система обозревает пространство вокруг воздушного судна, обнаруживая другие суда, оборудованные ответчиком системы TCAS. В случае возникновения риска столкновения система предупреждает об этом пилотов. По стандартам ICAO, TCAS должен быть установлен на всех судах тяжелее 5700 кг или сертифицированных.
Content-addressable storage (CAS) — архитектура хранения, в которой адресация осуществляется образом хранимых данных. Образ данных хешируется и хеш используется для его нахождения на устройствах или системах хранения.
Аппаратная закладка (англ. hardware Trojan, hardware backdoor) — устройство в электронной схеме, скрытно внедряемое к остальным элементам, которое способно вмешаться в работу вычислительной системы. Результатом работы аппаратной закладки может быть как полное выведение системы из строя, так и нарушение её нормального функционирования, например несанкционированный доступ к информации, её изменение или блокирование.
Судя по растущему количеству публикаций и компаний, профессионально занимающихся защитой информации в компьютерных системах, решению этой задачи придаётся большое значение. Одной из наиболее очевидных причин нарушения системы защиты является умышленный несанкционированный доступ (НСД) к конфиденциальной информации со стороны нелегальных пользователей и последующие нежелательные манипуляции с этой информацией.
Систе́ма управле́ния ба́зами да́нных, сокр. СУБД (англ. Database Management System, сокр. DBMS) — совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных.
Проце́сс-зо́мби, зо́мби (англ. zombie process, англ. defunct process) — дочерний процесс в Unix-системе, завершивший своё выполнение, но ещё присутствующий в списке процессов операционной системы, чтобы дать родительскому процессу считать код завершения.
Управление ИТ-активами (IT asset management) – одна из важнейших стратегических областей деятельности организации. Одним из ключевых факторов управления ИТ-активами является возможность проведения инвентаризации, выявляющей детальную информацию по используемому аппаратному и программному обеспечению, которая позволяет принимать объективные решения для заказа новых или перераспределения существующих элементов ИТ-инфраструктуры (ИТ-активов).
Управление требованиями к программному обеспечению (англ. software requirements management) — процесс, включающий идентификацию, выявление, документирование, анализ, отслеживание, приоритизацию требований, достижение соглашения по требованиям и затем управление изменениями и уведомление соответствующих заинтересованных лиц. Управление требованиями — непрерывный процесс на протяжении всего проекта разработки программного обеспечения.
Уте́чка па́мяти (англ. memory leak) — процесс неконтролируемого уменьшения объёма свободной оперативной или виртуальной памяти компьютера, связанный с ошибками в работающих программах, вовремя не освобождающих ненужные участки памяти, или с ошибками системных служб контроля памяти.
Электронная контрольная лента защищённая (ЭКЛЗ) — техническое устройство, обеспечивающее защищённую от необнаруживаемой коррекции регистрацию и энергонезависимое долговременное хранение информации о каждом из проведённых с использованием ККМ денежных расчётов, необходимое для полного учёта доходов в целях правильного исчисления налогов.
Система управления версиями (от англ. Version Control System, VCS или Revision Control System) — программное обеспечение для облегчения работы с изменяющейся информацией. Система управления версиями позволяет хранить несколько версий одного и того же документа, при необходимости возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение, и многое другое.
Защита программного обеспечения — комплекс мер, направленных на защиту программного обеспечения от несанкционированного приобретения, использования, распространения, модифицирования, изучения и воссоздания аналогов.
Транзакционная память (англ. Transactional memory, TM) — технология синхронизации общей памяти для конкурирующих потоков, позволяющая им выполнять операции сохранения, которые воспринимаются другими потоками как атомарные. Эта технология упрощает параллельное программирование, выделяя целые группы различных инструкций в атомарные транзакции. Конкурирующие потоки работают параллельно, пока не начинают модифицировать одну и ту же область памяти.
Взлом программного обеспечения (англ. software cracking) — действия, направленные на устранение защиты программного обеспечения (ПО), встроенной разработчиками для ограничения функциональных возможностей. Последнее необходимо для стимуляции покупки такого проприетарного ПО, после которой ограничения снимаются.
Операционные системы используют менеджеры блокировок (англ.) для организации и координации доступа к ресурсам. Распределенный менеджер блокировок (англ. Distributed lock manager, DLM, ) работает на каждой машине в кластере, с идентичной копией базы данных блокировок кластера. Таким образом, DLM является пакетом программного обеспечения, который позволяет компьютерам в кластере координировать доступ к совместно используемым ресурсам .
Система обнаружения вторжений (СОВ) — программное или аппаратное средство, предназначенное для выявления фактов неавторизованного доступа в компьютерную систему или сеть либо несанкционированного управления ими в основном через Интернет. Соответствующий английский термин — Intrusion Detection System (IDS). Системы обнаружения вторжений обеспечивают дополнительный уровень защиты компьютерных систем.
Перехват (англ. hooking) — технология, позволяющая изменить стандартное поведение тех или иных компонентов информационной системы.
Снимок файловой системы, или снапшот, или снепшот (от англ. snapshot — мгновенный снимок), — моментальный снимок, копия файлов и каталогов файловой системы на определённый момент времени.
Диспетчер управления службами (англ. Service Control Manager, SCM) — в Microsoft Windows (\Windows\System32\Services.exe) особый системный процесс, реализующий технологию удалённого вызова процедур (remote procedure call, RPC). Обеспечивает создание, удаление, запуск и остановку служб ОС. Стартует при загрузке системы, обеспечивает работу журнала событий, а также позволяет выполнять манипуляцию процессами удалённой машины.