Почему Nosql не является кислотой

Опубликовано: 2022-11-19

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

База данных NoSQL несовместима с ACID. Последовательное состояние ума в том смысле, что оно податливое, мягкое и последовательное. В результате, если бы Amazon использовал эту функцию, вы всегда могли бы покупать у них книги, но они не могли бы предсказать, когда они будут заполнены. Они предназначены для опровержения теоремы Брюера.

Oracle, MySQL, PostgreSQL и Microsoft SQL способны поддерживать свойства ACID в транзакциях. Давайте взглянем на типичную историю NoSQL.

База данных NoSQL может использоваться для хранения данных ACID . В своем первоначальном проекте система не включала компонент «Система управления» СУБД.

Обладает ли Nosql кислотными свойствами?

Изображение – https://dotnettutorials.net

На этот вопрос нет однозначного ответа, поскольку он зависит от конкретной реализации NoSQL. Некоторые базы данных NoSQL обладают кислотными свойствами, а другие — нет.

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


Является ли Nosql кислотой или основанием?

Изображение – https://infodecisionnel.com

За свойствами ACID (атомарность, согласованность, изоляция и долговечность) реляционной базы данных строго следуют свойства ACID (атрибуция, согласованность, изоляция и долговечность) базы данных NoSQL.

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

База данных NoSQL — это новый тип базы данных, который не использует транзакции ACID. (В широком смысле определяется как доступность, мягкое состояние и согласованность в конечном итоге.) Данные обычно доступны в общем смысле. Если на запрос не ответили, возможно, он будет отклонен. Это наиболее распространенный тип системы баз данных, которая выполняет транзакции ACID. Поддерживаются MySQL, PostgreSQL, SQLite, SQL Server и другие базы данных. Объектно-ориентированные базы данных — это новый вид баз данных, не требующий обработки транзакций ACID. Однако при получении ответа на запрос ответ не может гарантировать доступность данных. Если данные не могут быть получены, они будут доступны в какой-то момент. В мягком состоянии обновления данных не являются постоянными; эта функция позволяет непрерывно обновлять данные. Согласованность имеет решающее значение: гарантирует, что данные всегда актуальны, даже если обновлений много.

Поддержка MongoDB кислотных свойств

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

Почему MongoDB не является кислотой?

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

MongoDB 4.0 добавляет многодокументные ACID-транзакции. PostgreSQL имеет встроенную поддержку соответствия ACID , тогда как MongoDB уже давно не может этого сделать. Нам неясно, делает ли MongoDB приоритет ACID или это волнует пользователей. Версия 4.0 MongoDB включает гарантии транзакций ACID для нескольких документов. По словам Элиота Горовица, документная модель устраняет необходимость в транзакциях ACID. Григорий Мельник, вице-президент по продуктам, серверам и корпоративным инструментам, считает, что это новый способ записи в MongoDB. В выпуске MongoDB V4.2 транзакции будут возможны в нескольких реализациях multi-shard.

Несмотря на то, что в прошлом MongoDB поддерживала ряд механизмов хранения данных, для транзакций можно использовать только WiredTiger. Почему ACID так важен для MongoDB? Мы не уверены, что можем сказать о приверженности EDB транзакциям ACID, но мы можем сказать вам одну вещь: она очень серьезно относится к транзакциям ACID. Несмотря на статус № 7, факт остается фактом: использование стандартного языка запросов, такого как SQL, по-прежнему обеспечивает значительную ценность. По мере того, как вы будете разрабатывать больше приложений для доступа к своим данным, вы будете вынуждены строить их по шаблону разрастания, увеличивая сложность. PostgreSQL, как самая популярная база данных общего назначения, по-прежнему остается лучшим выбором.

Является ли MongoDB полностью совместимым с кислотой?

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

Поддерживает ли Nosql Кислоту

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

Базы данных Nosql: базовая модель более надежна и стабильна

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