нир. Формулировка задачи 3 Предметная область 3
Скачать 0.71 Mb.
|
Документные базы данныхОсновной концепцией в документных базах данных является документ. База данных хранит и извлекает документы в форматах ХМL, JSON, BSON и т.д. Эти документы представляют собой самоописываемые иерархические древовидные структуры данных, которые мoгyт состоять из ассоциативных массивов, коллекций и скалярных значений. Листовые узлы содержат конечные данные, которые при добавлении заносятся в индексы базы, благодаря которым можно осуществлять быстрый поиск даже при достаточно сложной общей структуре хранилища. Фактически документные БД являются более сложной версией хранилищ “ключ-значение”. Механизмы поиска позволяют находить как документы целиком, так и части документов, а древовидная структура позволяет организовывать отдельные коллекции документов одного типа или схожей тематики. К примеру, при создании музыкального хранилища можно создать коллекцию музыки 80-ых годов, в ней сделать отдельные коллекции по годам, а внутри них отдельные документы с треками выпущенных в этот год альбомов. Но если пользователь пожелает увидеть рейтинг самых популярных композиций определенного десятилетия — этот запрос будет выполняться достаточно долго, ведь придется просмотреть каждый документ всей базы данных. Таким образом, можно сделать вывод, что документные БД найдут своё применение в задачах, где требуется упорядоченное хранение информации, но нет множества связей между данными и не нужно постоянно собирать статистику по ним. Couchbase, MongoDB — самые популярные документные СУБД. [2] Документы базы не требуют определения схемы, а это означает, что каждый отдельный документ может состоять из любого количества уникальных полей, в отличие от реляционных баз данных, в которых при попытке хранить разнородные данные появляются пустые поля. Семейство столбцовСемейство столбцов - это строка, содержащая множество столбцов, ассоциированных с ключом строки. Семейства столбцов группируют взаимосвязанные данные, доступ к которым часто обеспечивается как к единому целому. (рис. 2.) Самыми известными примерами являются Google BigTable, HBase и Cassandra. Рис. 2. Моделъ данных, npeдcтaвляющая собой семейство столбцов Как правило, эти хранилища применяются для веб-индексирования и решения прочих задач, предполагающих огромные объемы данных. В сравнении с хранением данных в строках, как в большинстве реляционных баз данных, преимущества хранения в колонках заключаются в быстром доступе, поиске и агрегации данных. Реляционные базы данных хранят каждую строку как непрерывную запись на диске. [2] Разные строки хранятся в разных местах на диске, в то время как колоночные базы данных хранят все ячейки, относящиеся к колонке, как непрерывную запись, что делает операции поиска/доступа быстрее. |