Как известно, многие реляционные базы данных, а в данном конкретном случае PostgreSQL, обещают нам, что наши транзакции будут обладать соответствовать критериям ACID (Атомарность, Согласованность, Изолированность, Сохраняемость), при должном уровне конфигурирования тех или иных настроек.
Рубрика «acid»
Немного о Durability в Postgres. Часть 1
2024-11-02 в 5:15, admin, рубрики: acid, durability, index, indexing, postgres, postgresql, sql, walТранзакции PostgreSQL, Требования ACID, примеры. Подготовка к собеседованию, изучение
2024-09-16 в 14:31, admin, рубрики: acid, postgresql, базы данных, Принципы ACID, транзакции, транзакция, требования, что такое ACID, Что такое транзакцииПриветствую тебя читатель, я решил написать про ACID и Транзакции PostgreSQL своим языком, с понятными примерами, эта статья ориентирована на людей готовящихся к собеседованию, кто захотел узнать нюансы транзакций в PostgreSQL или про ACID, а также для людей которые знают теорию, но сами ещё ни разу не писали транзакции. Я не ставил перед собой цели рассмотреть и объяснить работу транзакций на очень глубоком уровне. Была цель привести понятные примеры, дать макет работы с транзакциями, а также пощупать основные возможные проблемы при работе с транзакциями в PostgreSQL.
Базы данных: большой обзор типов и подходов. Доклад Яндекса
2020-10-06 в 7:59, admin, рубрики: acid, key-value storage, sql, Администрирование баз данных, Анализ и проектирование систем, Блог компании Яндекс, графовые базы данных, денормализация, индексы, нереляционные базы данных, нормализация, реляционные базы данных, репликация, хранение данных, шардингЭто конспект лекции Татьяны Денисовой — бэкенд-разработчика в Яндекс.Учебнике. Вы узнаете, какие бывают базы данных, какие их особенности важно помнить, как в работе с данными учитывать характеристики системы и планы масштабирования, в какую из тем нужно углубиться для решения конкретной задачи. А также как при возникновении багов определить, является ли работа с БД источником проблемы (и если да, то в какую сторону копать).
— О чем именно мы будем говорить? Не о примитивных селектах и джойнах — о них, я думаю, большинство из вас уже знает.
Читать полностью »
Заставляем любой процесс работать с транзакционной NTFS: мой первый шаг к созданию песочницы для Windows
2020-01-28 в 10:03, admin, рубрики: acid, Delphi, native api, ntdll, ntfs, sandboxing, transactions, TxF, windows, Программирование, разработка под windows, системное программированиеВ ядре Windows есть модуль, отвечающий за поддержку группировки файловых операций в некоторую сущность, называемую транзакцией. Действия над этой сущностью изолированы и атомарны: её можно применить, сделав перманентной, или откатить. Очень удобно при установке программ, согласитесь? Мы всегда переходим от одного согласованного состояния к другому, и если что-то идёт не так, все изменения откатываются.
С тех пор, как я узнал о поддержке такой функциональности, я всегда хотел посмотреть на мир изнутри этих транзакций. И знаете что: я нашёл простой и поистине замечательный метод заставить любой процесс работать внутри файловой транзакции, но поля книги слишком узки для него. В большинстве случаев, для этого не требуются даже административные привилегии.
Давайте разберёмся, как же это работает, поэкспериментируем с моей программой, и поймём, при чём тут вообще песочницы.
Транзакции в глобалах InterSystems IRIS
2019-07-29 в 15:45, admin, рубрики: acid, intersystems iris, nosql, высокая производительность, глобалы, транзакции, хранение данных, хранилища данныхСУБД InterSystems IRIS поддерживает любопытные структуры для хранения данных — глобалы. По сути это многоуровневые ключи с различными дополнительными плюшками в виде транзакций, быстрых функций для обхода деревьев данных, блокировок и своего языка ObjectScript.
Подробнее о глобалах в цикле статей «Глобалы — мечи-кладенцы для хранения данных»:
Деревья. Часть 1.
Деревья. Часть 2.
Разреженные массивы. Часть 3.
Мне стало интересно как реализованы транзакции в глобалах, какие там есть особенности. Ведь это совершенно иная структура для хранения данных, чем всем привычные таблицы. Намного более низкоуровневая.
Читать полностью »
Всё, что вы не знали о CAP теореме
2017-05-16 в 11:28, admin, рубрики: acid, base, cap, cassandra, mongodb, nosql, pacelc, postgresql, Анализ и проектирование систем, архитектура, базы данных, проектирование, проектирование баз данных, распределенные системыВо время моего первого опыта работы с распределенными системами я постоянно сталкивался с некой CAP-теоремой, пришлось изрядно покопать, чтобы изучить и осознать её со всех сторон. Я не являюсь мастером баз данных, но надеюсь, что мое маленькое исследование мира распределённых систем будет полезно для обычных разработчиков. В статье я расскажу о том, что такое CAP, его проблемы и альтернативы, а также рассмотрим некоторые популярные системы баз данных через CAP призму.
Читать полностью »
DocumentDB: база данных NoSQL от Microsoft
2014-08-22 в 7:26, admin, рубрики: acid, json, microsoft, mongodb, nosql, СУБДПусть и с некоторым опозданием, по сравнению с остальными компаниями, но Microsoft сделала необходимое и выпустила собственную нереляционную базу данных: она называется DocumentDB. И пусть это проприетарная система, которая привязана к сервису Azure, это не делает новость менее значимой.
DocumentDB автоматически индексирует содержимое всех документов, допускает полнотекстовый поиск в реальном времени, полностью поддерживает требования ACID к транзакциям (атомарность, согласованность, изолированность, надёжность). Система очень похожа на MongoDB как эффективное хранилище JSON-документов с богатыми API для запросов, в то же время выгодно отличается от MongoDB по масштабируемости и надёжности работы, глубокой интеграции JavaScript, поддержке RESTful API, асинхронных запросов и др.
Как и MongoDB, DocumentDB представляет собой иерархию баз данных, коллекций и документов.
Читать полностью »
Несколько фактов о CAP-«теореме»
2014-07-31 в 8:09, admin, рубрики: acid, nosql, sql, базы данных, доступность, разработка, согласованность, устойчивость к разделению сетиВ любом обнаружении NoSQL баз данных кто-нибудь обязательно вспомнит о CAP-«теореме». Я не случайно пишу слово «теорема» в кавычках. CAP-«теорема» вовсе не теорема в математическом понимании этого слова. Это неформальное утверждение, сделанное Эриком Брюером в докладе на конференции Principles of Distributed Computing (PODC) в 2000 году. Эрик утверждал, что невозможно создать распределенное (состоящие из нескольких равноценных экземпляров — звеньев) веб-приложение, которое будет одновременно обладать тремя свойствами: согласованность (consistency), доступность(availability) и устойчивость к разделению(partition tolerance), сокращенно CAP. Неформальность утверждения заключается в том, что Брюер не дал определения этим трем понятиям.
Спустя два года Сет Гилберт и Ненси Линч опубликовали исследование, где дали определения понятиям CAP а также формализовали "отложенную согласованность" (Delayed Consistency), которую потом прозвали "согласованность в конечном счете" (Eventual Consistency) и доказали CAP-«теорему» в терминах указанных определений. Если вы еще не читали исследование, то это обязательно стоит сделать — lpd.epfl.ch/sgilbert/pubs/BrewersConjecture-SigAct.pdf
Эта «теорема» так бы и не была никому нужна, если бы её не взяли на вооружение маркетологи NoSQL.
Читать полностью »
В данном посте описана система блокировок и поддержания атомарности, согласованности, изолированности и надежности (ACID) в SQLite, а также алгоритмы записи и чтения из файла базы.
Читать полностью »
NewSQL — новый виток в эволюции BigData, забираем лучшее из SQL и NoSQL
2012-10-12 в 13:13, admin, рубрики: acid, big data, Facebook, mysql, NewSQL, nosql, sql, Веб-разработка, метки: Facebook, mysql, NewSQL, nosql, sqlNewSQL
Начало
Сегодня очень легко наблюдать стремительный рост данных в интернете. Согласно одной оценке, данные, созданные в 2010, составляют приблизительно 1,200 ЭБ (1018 байт) и вырастут почти к 8,000 ЭБ к 2015 в Интернете, являющимся основным поставщиком данных к потребителю.
Этот рост опережает рост вместимости, приводя к появлению систем управления информацией, где данные хранятся распределенным способом, но получают доступ и анализируют, как будто они находятся на одной машине.
Пока программисты всего мира устраивают глобальные Holywars на тему: «SQL vs NoSQL», крупные компании, такие как Google и Facebook со своей миллиардной аудиторией всеми силами борются с нехваткой мощностей и предельными работами СУБД. Несмотря на появление новой технологии NoSQL, которая позволяла легко масштабировать данные, она так и не решила вопросы связанные с соответствием операций требованиям ACID (atomicity, consistency, isolation, durability — «атомарность, непротиворечивость, изолированность, долговечность») — стандарта, который гарантирует точность выполнения оперативных транзакций средствами СУБД, даже если работа системы прерывалась. На фоне всего этого компания VoltDB при поддержке нескольких других компаний, начали разрабатывать с чистого листа новый opensource проект под название NewSQL, сочетающий в себе лучшие стороны SQL и NoSQL.
Читать полностью »