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

Каков пример нереляционной базы данных? Где/как они используются?

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

Каковы некоторые примеры нереляционных баз данных и где/как они используются в реальном мире? Почему вы решили использовать нереляционную базу данных по реляционным базам данных?

Изменить. В ответах были упомянуты два других подобных вопроса:

4b9b3361

Ответ 1

  • Плоский файл
    • CSV или другие данные с разделителями
    • таблицы
    • /и т.д./пароль
    • почтовые файлы mbox
  • Иерархическая
    • Реестр Windows
    • Subversion с использованием файловой системы FSFS вместо Berkley DB

Ответ 2

По общему признанию, туманная, но интересная альтернатива типам баз данных, упомянутых здесь, представляет собой ассоциативную базу данных, такую ​​как Sentences, из LazySoft Technology. Существует бесплатная личная версия, которую вы можете скачать и попробовать самостоятельно. Enterprise Edition также бесплатна, но требует запроса в компанию.

По сути, ассоциативная база данных позволяет хранить информацию так же, как и наши мозги: как вещи и ассоциации между этими вещами. Имя "Предложения" происходит от того, как эта информация может быть представлена ​​в синтаксисе subject-verb-object:

  • Том - брат Лауры.
  • Сан-Франциско находится в Калифорнии.
  • Майк имеет кредитный лимит в размере 10 000 долларов США

Предложение может быть предметом или объектом другого предложения:

  • (автобус 570 прибывает в 8:15 утра) по воскресеньям.
  • Мэри говорит (пирог был испечен Уильямом)

Итак, все может быть сведено к сущностям и ассоциациям.

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

"Ассоциативная модель данных" - это книга, доступная в формате PDF Симоном Уильямсом, одним из создателей предложений.

Ответ 3

Реляционная документально ориентированная база данных, на которую мы смотрели, Apache CouchDB.

Apache CouchDB - это распределенная, отказоустойчивая и безрисковая документально-ориентированная база данных, доступная через API RESTful HTTP/JSON. Среди других функций он обеспечивает надежную, инкрементную репликацию с двунаправленным обнаружением и разрешением конфликтов, а также может быть запрограммирован и индексирован с использованием ориентированного на таблицу механизма просмотра с JavaScript, действующим в качестве языка определения вида по умолчанию.

Наш интерес заключался в предоставлении хранилища предпочтений пользователей распределенного доступа, которые были бы невосприимчивы к изменениям формы, в которые мы могли бы сериализовать объекты предпочтений из Java и получить доступ к ним так же легко с помощью Javascript из клиентского приложения на основе XULRunner.

Ответ 4

Любая база данных, которая утверждает, что это "база данных стиля Беркли" или база данных "ключ/значение", не является реляционной.

Эти базы данных обычно основаны на сложных алгоритмах хэширования и обеспечивают очень быстрый поиск O (1), основанный на ключе, но оставляют любую форму реляционной доброты конечным пользователям.

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

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

Если вам нужно извлечь данные из двух источников, вам нужно будет объединить полученный результат вручную.

Ответ 5

Хранилище Google App Engine:

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

Ответ 6

Все базы данных изначально были нерелятивными, только с появлением DB2 и Oracle в середине 1980 года они стали обычным явлением. Перед этим большинство баз данных, где либо плоские файлы, либо иерархические.

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

DB/1 (так что теперь неясно, что я даже не могу найти ссылку на wikipedia) была предшествующая IBM предшественница базы данных в DB2 (отсюда и название). Это было иерархическое - в основном у вас был файл, состоящий из любых числовых или "корневых" записей, обычно доступных напрямую ключом. Каждая корневая запись может содержать любое количество дочерних записей, каждая из которых, в свою очередь, может иметь своих собственных детей. Чистый эффект - это индексный файл или корневые записи, причем каждый корень является вершиной потенциальной древовидной структуры. Доступ к дочерним записям может быть сложным - есть ограничения прямого доступа, так что обычно вы заканчиваете обход дерева, ищущего требуемую запись. "База данных" может содержать любое количество этих файлов, обычно связанных с ключами.

У этого были большие недостатки - не в последнюю очередь, что на самом деле что-то требовало полной программы, написанной - в основном, эквивалентной работе в течение нескольких дней для того, что мы теперь можем сделать в SQL за несколько минут. Однако на самом деле это действительно зависело от скорости выполнения, в те дни мейнфрейм имел о мощности обработки вашего iPhone (хотя и оптимизирован для ввода-вывода данных), а плохие запросы DB2 могли убить многомиллионную установку. Это никогда не было проблемой с DB/1 и в мире, где программисты были менее дорогими, чем время процессора, это имело смысл.

Ответ 7

Историческая база данных PI от OSIsoft не является реляционной. Это сделано только для архивирования временных данных. Он широко использовал промышленность, особенно в качестве базовой базы данных для всех этих "панелей мониторинга".

В этом нет необходимости быть реляционным, поскольку нет объединений.

Ответ 8

Другие два типа баз данных, которые еще не появились:

  • Репозитории контента - это базы данных, предназначенные для контента (например, файлы, документы, изображения и т.д.). Обычно они имеют additioan-конструкции, такие как иерархический способ просмотра контента, поиска, преобразования между различными форматами, управления версиями и многих других. Примеры - Alfresco, Documentum, JackRabbit, Day, OpenText, многие другие продавцы ECM.

  • Каталоги, то есть каталоги Active Directory или LDAP. Это базы данных, предназначенные для сценариев с низким уровнем записи/высокой четкости и высоко распределенные по высокому географическому расстоянию/соединениям с высокой задержкой. Хотя в большинстве случаев они используются для аутентификации/авторизации, они не должны быть, если ваш пример использования соответствует требованиям.

Ответ 9

Размерные базы данных - отличные примеры нереляционных баз данных. Они очень часто используются для "Business Dashboards" / "Business Intelligence" для KPI и других типов агрегированных или статистических данных. Обычно они заполняются реляционными базами данных и могут обеспечить лучшую производительность в определенных ситуациях.

http://en.wikipedia.org/wiki/Dimensional_database

Ответ 10

  • XML-базы данных, например. xindice
  • Базы данных объектов, например. db4o

Помните, что концепция реляционных баз данных очень спорна. Пуристы, такие как C. J. Date будет утверждать, что многие базы данных, используемые совместно (например, Oracle и SQL Server), недостаточно соответствуют реляционной модели, называемой реляционной.

Ответ 11

Реляционные базы данных просто не соответствуют требованиям Codds. Intersystems Caché объединяет общую переписку/переработку старой базы данных операционных систем Pick. Из маленького Ive, прочитанного Caché, это, по-видимому, красиво сделанный редизайн. Он позволяет программам .net обращаться к базе данных так же, как SQL. Cachés запускает программы Pick OS без каких-либо изменений. Импортируя свои файлы Pick в Caché, вы все равно можете запускать свои старые приложения с зеленым экраном, но также пишите новые программы с использованием .net, чтобы вы могли перейти на Windows Applications, не отказываясь от тех лет разработки данных, в которые вы уже вложили. Ниже приведен пример фона модели Pick DB. База данных Pick использует записи с полной переменной длины и поля. Вся таблица управляется одним уникальным ключом и доступна без чтения индекса. Pick спроектировал систему для использования алгоритма Хеширования, который читает элемент с диска, как правило, на первом физическом считывании (при условии, что обслуживание системы было выполнено правильно). Поля в подборке не указаны. Все данные хранятся в виде строки, а Casting - до программиста. Нули хранятся как пустая строка, поэтому нуль не занимает места на диске, как в SQL. Для внешних ключей нет необходимости. В "Реляционном мире" администратор базы данных должен создавать таблицу "Заказ заголовка" и таблицу позиций позиции заказа. В "Модели выбора" есть одна таблица. Например, "Дата заказа - это поле, в котором будет храниться # дней с" 13 декабря 1967 года (впервые была выбрана операционная система выбора данных). у программистов не было проблем с Y2k, а во втором столбце был бы номер клиента. Большая разница в том, что вы попадаете в колонку Product Number Column, это будет "Multi-Valued (Codd Non-Conformance)). Другими словами, база данных может обработайте 1-32000 продуктов # s в этом столбце. Другие столбцы, такие как Quantity Ordered, будут находиться в контролируемом/зависимом соотношении с номером продукта, а также будут многозначными. Когда вы дойдете до отправленного количества, Pick перейдет к третьему размер и поле Sub-Multi-Valued. У вас будет колонка номера поставки, и она будет многозначной по позиции и суб-многозначной, содержащей количество отправления для этой линии для этого номера отгрузки. Требуется объединение. Все данные для этого заказа хранятся в одной таблице и в одной записи. Нет сиротских рядов! Во-вторых, определение данных немного отличается. Наши словари могут содержать определения для данных, которых нет в этой таблице, или их манипулируют. Несколько примеров: имя клиента. Он будет определен как "Использовать столбец номера клиента и вернуть поле" Имя "из таблицы" Клиент ". Другим примером является расширение линии, которое будет определяться как расчет количества * Цена/цена. Кажется, я читал где-то Caché утверждает, что имеет более 100 000 инсталляций.

Ответ 12

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

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

Ответ 13

Объектно-ориентированные базы данных представляют собой один интересный тип нереляционной базы данных.

Торговый сектор иногда использует базы данных OO, поскольку каждая сделка/контракт может выглядеть как другие в этой категории, но также имеют уникальные атрибуты. ОЧЕНЬ сложно представить его реляционно.

Ответ 14

eXist-db - это XML-база данных, которая существует уже давно. Это особенно полезно для xquery над тоннами XML-документов.

Ответ 15

Любой файл или группа файлов, содержащих данные, но не выражающие отношения внутри этих данных, являются нереляционной базой данных.

Ответ 16

RRDtool предназначен для хранения и агрегирования данных журнала. Вы настраиваете интервал выборки и подаете данные в нее, затем возвращаете результаты, основанные на времени. Он оптимизирован для хранения в фиксированном размере и начинает агрегировать прошлые результаты через некоторое время. Например, предположим, что у вас есть циклическая база данных с 5-минутным интервалом времени. Даже если вы отправляете данные о температуре один раз в секунду, он сохраняет результаты только с 5-минутным шагом. Через неделю он усредняет эти результаты в почасовых значениях. Через месяц почасовые результаты усредняются по дневным числам и т.д.

RRDtool обычно используется в качестве бэкэнд для таких инструментов, как Cricket и MRTG для отслеживания сетевых и экологических данных в течение нескольких месяцев и нескольких лет.

Ответ 17

Для основанных на графе dbms у вас есть neo4j

Для hierarichal dbms у вас есть стандартная файловая система или с "схемой", поддерживающей любую реализацию LDAP.

Ответ 18

Есть много ответов, но все они попадают в одну из двух основных категорий:

  • Навигационное. Включает базы данных Tree/Hierarchy и базы данных Graph.

  • Базы данных, которые разбивают первую нормальную форму (несколько значений). Включает в себя базы данных Pick и Lotus Notes и их потомков, таких как CouchDB.

EDIT: И, конечно, магазины ключей/значений, такие как BDB, не являются реляционными, но это само собой разумеется, не так ли? Я имею в виду, что они просто хранилища ключей/значений.

Ответ 19

Dbase. Хотя он был продан как таковой, он не отвечает требованиям.

Ответ 20

Как база данных OO, IntSystems Caché приходит на ум. Некоторые медицинские и библиотечные системы построены на этом.

Ответ 21

  • В моей компании www.smartsgroup.com у нас есть проприетарный механизм базы данных, который мы называем "база данных журнала транзакций". Он построен на плоских файлах, каждый файл содержит последовательность "событий" или "сообщений" в двоичном формате, а также различные индексы по этим данным и алгоритмы для воспроизведения состояния биржевой книжки. Он оптимизирован для последовательных обновлений и последовательного доступа.

  • В научных приложениях также распространено использование проприетарных систем баз данных, а не РСУБД. Я также работал в компании, которая имеет самую большую в мире базу данных записей ЭЭГ: www.brainresource.com. Там мы используем плоскую файловую базу данных, и она хорошо сработала для нас.

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

Ответ 22

Страница Wiki для размерных баз данных, связанных с выше, кажется, исчезла.

Некоторые OLAP Системы поддерживаются многомерными базами данных (MOLAP), которые часто используются в финансовом анализе. Они предоставляют интерактивные клиенты, которые позволяют перемещаться по данным на разных уровнях агрегации.