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

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException, что имеет смысл.

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
28
задан 4 revs 23 May 2017 в 12:17
поделиться

23 ответа

  • Плоский файл
    • CSV или другие разграниченные данные
    • электронные таблицы
    • почтовые файлы/etc/passwd
    • mbox
  • Иерархический
    • Windows Registry
    • Подрывная деятельность с помощью файловой системы, FSFS, вместо Berkley DB
13
ответ дан Michael Burr 28 November 2019 в 02:17
поделиться

В моем университете существует группа что исследования дедуктивные базы данных .

1
ответ дан mdm 28 November 2019 в 02:17
поделиться
  1. В моей компании, www.smartsgroup.com, у нас есть собственный механизм базы данных, который мы называем "базой данных журнала транзакций". Это основано на плоских файлах, каждый файл, содержащий последовательность "событий" или "сообщений", в двоичном формате, плюс различные индексы на этих данных и алгоритмах для репродуцирования состояния книги заказов фондовой биржи. Это высоко оптимизировано для последовательных обновлений и последовательного доступа.

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

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

1
ответ дан Tim Cooper 28 November 2019 в 02:17
поделиться

Как база данных OO, Межсистемы приходит на ум CachГ©. Некоторые медицинские и системы библиотеки основаны на этом.

1
ответ дан Tomalak 28 November 2019 в 02:17
поделиться

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

1
ответ дан NotMe 28 November 2019 в 02:17
поделиться

Существует много ответов, но они все заканчивают тем, что находились в одной из двух главных категорий:

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

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

РЕДАКТИРОВАНИЕ: И конечно хранилища ключа/значения как BDB не являются реляционными, но это просто само собой разумеется, не делает этого? Я имею в виду, они - просто хранилища ключа/значения.

2
ответ дан David Mathers 28 November 2019 в 02:17
поделиться

Для основанной на графике DBMS у Вас есть neo4j

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

2
ответ дан John Nilsson 28 November 2019 в 02:17
поделиться

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

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

2
ответ дан Kirk Strauser 28 November 2019 в 02:17
поделиться

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

2
ответ дан EBGreen 28 November 2019 в 02:17
поделиться

существовать-дб является xml базой данных, которая была вокруг в течение долгого времени. Это особенно полезно для xquery по тоннам xml документов.

3
ответ дан JarrettV 28 November 2019 в 02:17
поделиться

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

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

3
ответ дан 28 November 2019 в 02:17
поделиться

Нереляционные базы данных просто не отвечают требованиям Codd’s. Межсистемы швы CachГ© общее количество re-write/re-design старого Выбора, Работающего system’s база данных. От небольшого чтения I’ve CachГ© это, кажется, приятно сделанная модернизация. Это разрешает .net программам получать доступ к базе данных точно так же, как это было бы SQL. Caché’s run’s Выбор программы ОС, не требуя никаких изменений. Путем импорта файлов Выбора в CachГ© можно все еще запустить старые зеленые экранные приложения с ним, но также и записать новые программы с помощью .net, таким образом, можно мигрировать на Приложения Windows, не отказываясь от лет you’ve дизайна данных, в который уже инвестируют. Вот некоторый фон на модели Pick DB. База данных Pick использует записи полностью переменной длины и поля. Вся таблица включается единственным уникальным ключом и доступна, не читая индекс. Выберите разработал систему для использования Алгоритма хеширования, который читает объект из диска на обычно на 1-м физическом чтении (предполагающий, что обслуживание системы было выполнено правильно). Поля в Выборе Не вводятся. Все данные хранятся как строка, и Кастинг до программиста. Пустые указатели хранятся как пустая строка, таким образом пустой указатель не поднимает дисковое пространство, как это делает в SQL. Нет никакой потребности во Внешних ключах.  ‘Relational world’ DBA должен создать и таблица Order Header и таблица Order Line Item.  “Pick Model’ существует единственная таблица. Пример был бы, ‘Order Date’ является полем, которое сохранило бы # дней с тех пор ‘Dec 13, 1967’ (Выбор данных, ОС была включена впервые). У программистов выбора не было Относящихся к двухтысячному году проблем. 2-й столбец был бы Потребительским Числом. Большая разница - когда Вы добираетесь до Столбца Номера продуктов, это был бы ‘Multi-Valued’ (Несоответствие Codd). Другими словами, база данных может обработать 1-32000 product#s в том столбце. Другие столбцы как Заказанное Количество были бы в отношениях управления/иждивенца с Номером продуктов и также будут многозначными. Когда Вы добираетесь до Поставленного Количества, Выбор перешел бы к третьему размеру и имел бы поле Sub-Multi-Valued. У Вас был бы Столбец Числа Отгрузки, и это будет Многозначным с методической точностью Объект и Подмногозначным содержащий Количество Отгрузки для той строки для того числа отгрузки. Нет Никаких необходимых Внутренних объединений. Все данные для того Порядка хранятся в Одной Таблице и в единственной записи. Никакие строки висячей строки когда-либо! Во-вторых, определение данных несколько отличается. Наши словари могут содержать определения для данных, которые не находятся в этой таблице или управляются. Несколько примеров, Имя клиента. Это было бы определено как ‘Use Потребительский столбец числа и возвратило бы Поле имени из Потребительской Таблицы. Другим Примером является Расширение Позиции, был бы определен как вычисление Quantity*Price/PricePer. Я полагаю, что читал где-нибудь, CachГ© утверждает, что имел более чем 100 000 установок.

4
ответ дан CurtTampa 28 November 2019 в 02:17
поделиться
  1. базы данных XML, например, объектные базы данных xindice
  2. , например, db4o

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

4
ответ дан johnstok 28 November 2019 в 02:17
поделиться

Размерные Базы данных являются яркими примерами нереляционных баз данных. Они являются очень наиболее часто используемыми для/'Business Аналитики 'Бизнес-Панелей инструментов' для KPIs и других типов агрегированных или статистических данных. Они обычно заполняются от реляционных баз данных и могут предложить лучшую производительность в определенных ситуациях.

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

4
ответ дан Mario 28 November 2019 в 02:17
поделиться

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

  1. Репозитории содержания являются базами данных, разработанными для содержания (т.е. файлы, документы, изображения, и т.д.). У них обычно есть конструкции additioan, такие как иерархический способ просмотреть содержание, поиск, преобразование между различными форматами, управление версиями и много других вещей. Примеры - Под открытым небом, Documentum, JackRabbit, День, OpenText, многие другие поставщики ECM.

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

5
ответ дан Jean Barmash 28 November 2019 в 02:17
поделиться

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

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

5
ответ дан Lance Roberts 28 November 2019 в 02:17
поделиться

Google App Engine Datastore :

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

7
ответ дан Guido 28 November 2019 в 02:17
поделиться

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

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

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

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

8
ответ дан Cruachan 28 November 2019 в 02:17
поделиться

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

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

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

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

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

9
ответ дан FlySwat 28 November 2019 в 02:17
поделиться

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

Apache CouchDB является распределенной, отказоустойчивой и ориентированной на документ базой данных без схем, доступной через УСПОКОИТЕЛЬНЫЙ API HTTP/JSON. Среди других функций это предоставляет устойчивой, возрастающей репликации двунаправленное обнаружение конфликта и разрешение, и является queryable и индексируемым использованием табличного механизма представления с JavaScript, действующим как язык определения представления по умолчанию.

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

13
ответ дан TomC 28 November 2019 в 02:17
поделиться

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

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

  • Tom является братом к , Сан-Франциско Laura
  • расположен в Калифорния
  • , Mike имеет кредитный лимит 10 000$

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

  • (Шина 570 прибывает в 8:15) на воскресенья
  • Mary говорит (круг испекся [1 110] William)

Так, все может быть сведено к [1 111] объекты и ассоциации .

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

"Ассоциативная Модель Данных" является книгой, доступной в формате PDF Simon Williams, одним из создателей Предложений.

14
ответ дан Jeff Jones 28 November 2019 в 02:17
поделиться

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

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

3
ответ дан BoltBait 28 November 2019 в 02:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: