Подтвердить что ты не робот

Что такое NoSQL?

Что такое NoSQL? Являются ли это системами баз данных, которые работают только с парами {ключ: значение}?

Насколько я знаю, MemCache - одна из таких систем баз данных, я прав?

Какие еще популярные базы данных NoSQL существуют и где именно они полезны?

Спасибо, Бода Сидо.

4b9b3361

Ответ 1

Из Википедии:

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

Мотивацией для такой архитектуры была высокая масштабируемость, поддержка сайтов, таких как Facebook, advertising.com и т.д.

Ответ 2

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

Я думаю, сначала вы должны определить, что такое SQL-решение, и затем вы можете поставить перед ним "Не только", это будет более точное определение того, что представляет собой решение NoSQL.

С учетом этого подхода:

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

Теперь поставьте "Не только" перед последним предложением, и вы получите определение того, что означает "NoSQL". NoSQL группирует все магазины, созданные как попытка решить проблемы, которые не могут вписаться в структуры таблицы/столбца/строки или даже в SQL-выражениях, в большинстве случаев эти базы данных не поддерживают отношения, они отказываются от хорошо известных структур, просто потому что проблемы изменились с момента их зачатия.

Если у вас есть текстовый файл, и вы создаете API для хранения/получения/упорядочивания этой информации, тогда у вас есть база данных NoSQL в ваших руках.

Все это означает, что существует несколько решений для хранения информации таким образом, что традиционные системы SQL не позволят добиться большей производительности, гибкости и т.д. Каждый провайдер NoSQL пытается решить другую проблему и почему вы не будете иметь возможность сравнивать два разных решения, например:

  • djondb - это хранилище документов, созданное для использования в качестве Корпоративное решение NoSQL поддерживает транзакции, согласованность и т.д. но жертвуйте результатами своих коллег.
  • MongoDB - это хранилище документов (аналогично djondb), которые достигают больших результатов, но торгуют некоторыми из Свойства ACID для достижения этого.
  • CouchDB является еще одним хранилищем документов, которое решает несколько разных запросов, предоставляя представления для извлечения информации без выполнения полного запроса каждый раз.
  • ...

Как вы могли заметить, я только говорил о хранилищах документов, потому что я хотел показать вам, что у трех разных реализаций хранилищ документов есть другой подход, поэтому вы должны иметь в виду золотое правило магазинов NoSQL "Использовать правильный инструмент для правильной работы".

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

Ответ 3

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

Ответ 5

Я использовал что-то, называемое Raima Data Manager более десятка лет назад, которое квалифицируется как NoSQL. Он называет себя "Set Oriented Database". Он не основан на таблицах, и нет "языка" запроса, просто API C для запроса подмножеств.

Быстро и легко работать с C/С++ и SQL, нет возможности создавать строки для передачи интерпретатору запросов, а данные возвращаются как перечислимый объект, а не как массив. записи с переменным размером являются нормальными и не теряют места. Я никогда не видел исходный код, но были некоторые намеки на интерфейс, который внутри, код использовал указатели много.

Я не уверен, что продукт, который я использовал, даже продан, но компания все еще рядом.

Ответ 6

MongoDB выглядит интересно, SourceForge теперь использует его.

Я слушал подкаст с членом команды. Идея с NoSQL заключается не столько в замене SQL, сколько в предоставлении решения проблем, которые не решаются с использованием традиционных СУБД. Как упоминалось в других разделах, они быстрее и лучше масштабируются за счет надежности и атомарности (разные решения в разной степени). Вы не хотите использовать его для финансовой системы, но система на основе документов будет работать отлично.

Ответ 8

Что такое NoSQL?

NoSQL - это аббревиатура для Not Only SQL. Основные свойства баз данных NoSQL являются схематичными, распределенными и масштабируемыми по горизонтали на товарном оборудовании. Базы данных NoSQL предлагают множество функций для решения различных задач с различными типами данных, где "blob" использовался как единственный тип данных в РСУБД для хранения неструктурированных данных.

1 Динамическая схема Базы данных NoSQL позволяют гибкости схемы. Новые столбцы можно добавлять в любое время. Строки могут иметь или не иметь значений для этих столбцов и не требуют строгого соблюдения типов данных для столбцов. Эта гибкость удобна для разработчиков, особенно когда они ожидают частых изменений в течение жизненного цикла продукта.

2 Разнообразие данных Базы данных NoSQL поддерживают любые типы данных. Он поддерживает структурированные, полуструктурированные и неструктурированные данные, которые необходимо сохранить. Его файлы поддержки, файлы изображений, видео, графики, jpegs, JSON, XML хранятся и управляются, так как без предварительной обработки. Таким образом, это уменьшает потребность в ETL (Extract - Transform - Load).

3 Кластер высокой доступности Базы данных NoSQL поддерживают распределенное хранилище с использованием товарного оборудования. Он также поддерживает высокую доступность благодаря масштабируемости по горизонтали. Эти функции позволяют базам данных NoSQL извлекать выгоду из эластичности услуг инфраструктуры Cloud.

4 Open Source Базы данных NoSQL - это программное обеспечение с открытым исходным кодом. Использование программного обеспечения является бесплатным, и большинство из них могут свободно использоваться в коммерческих продуктах. Кодовая база с открытыми исходными кодами может быть изменена для решения бизнес-задач. Существуют незначительные различия в лицензиях на программное обеспечение с открытым исходным кодом, пользователи должны знать о лицензионных соглашениях.

5 NoSQL - не только SQL Базы данных NoSQL не только зависят от SQL для извлечения данных. Они предоставляют богатые интерфейсы API для выполнения операций DML и CRUD. Это API-интерфейсы, которые поддерживают взаимодействие с разработчиками и поддерживают различные языки программирования.