10 NoSQL Заблуждения

10 NoSQL Заблуждения - манекены

NoSQL - это быстро развивающийся рынок, в котором продукты подвергаются постоянным изменениям. Наличие так много доступных баз данных NoSQL является обоюдоострым мечом. С таким количеством различий, распространенные заблуждения формируются и становятся известными.

NoSQL - это единый тип базы данных

NoSQL - это термин для всех типов баз данных, которые демонстрируют общие архитектурные подходы. Эти базы данных не предназначены для связанных данных таблицы, строк и столбцов. Они широко распределены, что означает, что данные распространяются на нескольких серверах, и они терпимы к изменениям структуры данных (то есть они не являются агностиками схемы).

Вы можете найти несколько типов баз данных под баннером NoSQL:

  • Хранилища с ключом обеспечивают простое и быстрое хранение простых данных с помощью ключа.

  • Хранилища столбцов обеспечивают поддержку очень широких таблиц, но не для связей между таблицами.

  • Хранилища документов поддерживают JSON и / или иерархические структуры XML.

  • Тройные (и графические) хранилища обеспечивают такую ​​же гибкость в отношении отношений, которые документируют базы данных NoSQL для записи структур.

Базы данных NoSQL не соответствуют требованиям ACID

Соответствие требованиям ACID является золотым стандартом безопасности данных. Обеспечивая, что операции являются атомарными, представления данных согласованы, операции не мешают друг другу, а данные долго сохраняются на диске, вы защищаете свои данные. Люди часто считают, что базы данных NoSQL не обеспечивают соответствия ACID.

Многие базы данных NoSQL обеспечивают полную поддержку ACID для кластеров. MarkLogic Server, OrientDB, Aerospike и Hypertable полностью совместимы с ACID, обеспечивая либо полностью сериализуемое или чтение-фиксацию соответствия ACID.

Многие другие базы данных NoSQL могут обеспечивать ACID-подобную консистенцию, используя разумные настройки в клиентском коде. Обычно это включает параметр Quorum или All для операций чтения и записи. Эти базы данных включают Riak, MongoDB и Microsoft DocumentDB.

Базы данных NoSQL теряют данные

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

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

Кроме того, в конечном итоге согласованные базы данных также могут обеспечить долговечность данных путем тщательного использования журнала записи вперед (WAL).Многие базы данных NoSQL предоставляют эту возможность.

Базы данных NoSQL не готовы для критически важных корпоративных приложений

Напротив, многие организации используют базы данных NoSQL для критически важных рабочих нагрузок, в том числе следующие:

  • Обороны и разведывательные агентства хранят и распространяют информацию < Медиа-компании, хранящие все свои цифровые активы для публикации и покупки в базах данных NoSQL

  • Медиа-компании, предоставляющие каталоги метаданных для поиска для своих видео и аудио-носителей

  • Банки, использующие базы данных NoSQL в качестве первичных торговых магазинов или брандмауэра для борьбы с мошенничеством и рисками системы оценки

  • Государственные агентства, использующие базы данных NoSQL в качестве первичных контуров для своих систем здравоохранения

  • Это не небольшие системы или простые кеши для реляционных систем. Это случаи, для которых NoSQL хорошо подходит. Конечно, некоторые базы данных NoSQL более готовы к корпоративным системам, чем другие.

Базы данных NoSQL не защищены

Не так! Многие базы данных NoSQL теперь обеспечивают безопасность на уровне записи и даже на уровне элемента данных (ячейки). Microsoft DocumentDB, MarkLogic Server, OrientDB, AllegroGraph и Accumulo обеспечивают мелкомасштабное управление доступом на основе ролей (RBAC) для доступа к записям, хранящимся в этих базах данных NoSQL.

Многие базы данных NoSQL обеспечивают интеграцию с существующими системами безопасности облегченного доступа к каталогам (LDAP), Kerberos и на основе сертификатов. Этим базам данных также обеспечивается поддержка шифрования по кабелю во всех коммуникациях между клиентами и межсетевые коммуникации внутри кластера.

Некоторые базы данных NoSQL даже аккредитованы и используются оборонными организациями. Accumulo пришла из проекта Агентства национальной безопасности (NSA). MarkLogic Server независимо аккредитован в соответствии с сертификатом Common Criteria Министерства обороны США (DoD).

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

Все базы данных NoSQL являются open-source

В мире NoSQL существует множество баз данных с открытым исходным кодом. Многие коммерческие компании пытались реплицировать успех Red Hat, предлагая подмножество возможностей своих продуктов, которые будут использоваться бесплатно по лицензии с открытым исходным кодом.

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

В пространстве NoSQL есть много полностью коммерческих компаний. Microsoft, MarkLogic, Franz (Allegrograph), Hypertable и Aerospike - отличные коммерческие компании, предлагающие базы данных NoSQL, и они очень успешно делают это.

Базы данных NoSQL предназначены только для Web 2. 0 приложений

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

Приложения для социальных сетей обычно используют базы данных NoSQL. Приложения для социальных сетей приносят опубликованные в Интернете данные и объединяют их вместе, чтобы обнаружить ценную информацию.

Подавляющее большинство случаев использования, однако, не являются приложениями Web 2. 0-типа. Они - те же самые приложения, которые были вокруг долгое время, но где реляционные базы данных больше не предоставляют адекватного решения. Сюда относятся сценарии, в которых хранящиеся данные очень разрежены, со многими пустыми (нулевыми) значениями или часто происходят изменения со временем структуры хранимой информации.

NoSQL - это просто шумиха

В настоящее время у Microsoft, Oracle и IBM есть своя база данных NoSQL на рынке. Несмотря на то, что эти компании склонны к взлому, эти компании инвестируют в технологии только тогда, когда они видят прибыль.

Учрежденные игроки, такие как MarkLogic с годами на рынке, также доказали, что технология NoSQL не просто шумиха и ценна для целого ряда реальных клиентов в разных отраслях в критически важных системах.

Разработчики NoSQL не понимают, как использовать RDBMS

Существует распространенное заблуждение (злые разработчики приложений реляционных баз данных, вы знаете, кто вы!), Что NoSQL используется, потому что разработчики не понимают основы, необходимые для настройки реляционных баз данных, чтобы они хорошо работали.

Это абсолютно неверно. NoSQL включает в себя ряд подходов, объединенных для решения принципиально разных проблем с данными, чем решает реляционная система управления базами данных (RDBMS).

Если вы сравниваете СУБД с базой данных NoSQL, вы сравниваете яблоки с мотоциклами! Базы данных NoSQL не заменят СУБД. Они предназначены для данных, которые структурированы принципиально иначе, а также для разных проблем с данными.

Обновленная технология RDBMS устранит необходимость в NoSQL

Многие высокоразмерные подходы NoSQL смешиваются с технологией RDBMS, что привело к появлению многих баз данных NewSQL.

Хотя NewSQL помогает справляться с критикой разработчиков NSQL технологии RDBMS, NewSQL организован вокруг тех же структур данных, что и RDBMS.

Базы данных NoSQL предназначены для различных проблем с данными, с различными структурами данных и прецедентами.