Оглавление:
Видео: Web Programming - Computer Science for Business Leaders 2016 2024
Хотя некоторые функции довольно распространены для баз данных NoSQL (например, агностицизм схемы и нереляционная структура), нередко для базы данных не хватает одной или нескольких из следующих функций и по-прежнему квалифицируется как современная база данных NoSQL.
Программное обеспечение NoSQL с открытым исходным кодом
уникально, потому что движение с открытым исходным кодом привело к развитию, а не к ряду коммерческих компаний. Поэтому вы можете найти множество продуктов NoSQL с открытым исходным кодом для удовлетворения всех потребностей. Когда разработчики не могли найти базу данных NoSQL для своих нужд, они создали ее и опубликовали ее вначале как с открытым исходным кодом.
Большинство популярных решений NoSQL управляются коммерческими компаниями, причем вариант с открытым исходным кодом не содержит ключевых функций, необходимых для критически важного использования на крупных предприятиях.
Разница между поставщиками NoSQL с открытым исходным кодом и этими полностью коммерческими компаниями заключается в том, что поставщики с открытым исходным кодом имеют бизнес-модель, похожую на модель Red Hat. В основном, они выпускают продукт с открытым исходным кодом, а также продают функции надстройки, поддержки и внедрения корпоративного уровня.
Это не плохо! Стоит отметить, однако, что люди на NoSQL не управляются чисто или даже главным образом разработчиками с открытым исходным кодом, работающими в свободное время, вместо этого они работают для коммерческих компаний, стоящих за продуктами.
Покупатель остерегайтесь! Когда дело доходит до выбора базы данных NoSQL, помните «общая стоимость владения. «Многие организации приобрели продукты с открытым исходным кодом только для того, чтобы найти, что им нужна дорогостоящая подписка, чтобы получить нужные функции.
BASE по сравнению с ACID
До 2014 года большинство определений NoSQL не включали поддержку транзакций ACID в качестве определяющей функции баз данных NoSQL. Это уже не так.
ACID-совместимая транзакция означает, что база данных сконструирована таким образом, что она абсолютно не потеряет данные:
-
Каждая операция перемещает базу данных из одного действительного состояния в другое ( A tomic).
-
Каждый имеет одинаковый вид данных в любой момент времени ( C onsistent).
-
Операции над базой данных не мешают друг другу ( I ).
-
Когда база данных заявляет, что она сохранила данные, вы знаете, что данные безопасны ( D ).
Не многие базы данных NoSQL имеют транзакции ACID. Исключениями из этой нормы являются FoundationDB, Neo4j и MarkLogic Server, которые предоставляют полностью сериализуемые транзакции ACID.
Итак, почему соответствие ACID является не столь распространенной функцией?Когда Oracle RDBMS была выпущена, она также не обеспечивала соответствие ACID. Для обеспечения соответствия ACID в нескольких обновлениях и таблицах баз данных потребовалось семь версий.
Аналогичным образом, если вы посмотрите на дорожные карты всех баз данных NoSQL, вы увидите, что все они относятся к работе по согласованности транзакций. Например, MongoDB привлек 150 миллионов долларов осенью 2013 года специально для решения этой и других проблем предприятия. MongoDB анонсировала новый механизм хранения данных, совместимый с ACID. Обсуждение ACID и BASE является интересным.