Особенности использования NoSQL

Информация - Компьютеры, программирование

Другие материалы по предмету Компьютеры, программирование

?а данных, дерево поиска);

каждое B-дерево хранится в виде отдельного файла на диске;

одновременно может быть запущенно несколько потоков для чтения базы данных и только один - для записи; ЦЕЛОСТНОСТЬ БАЗЫ ДАННЫХ ОБЕСПЕЧИВАЕТСЯ ТОЛЬКО ПРИ ЗАПИСИ ДАННЫХ НА ДИСК;

представления хранятся в базах данных и их индексы обновляются непрерывно, однако при каждом обновлении функций представления или отображения обновляется всё B-дерево целиком;

при обработке данных с помощью функций-представлений используется упрощённая модель технологии MapReduse, что позволяет производить параллельные вычисления, в том числе и на многоядерном процессоре;

распределение вычислений на несколько узлов не поддерживается - вместо этого используется миханизм репликации (копирования данных из одного источника на множество других и наоборот);

обработка данных с помощью цепочки последовательных функций MapReduse не поддерживается;

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

внешний интерфейс (API) к данной СУБД построен на основе архитектуры REST, то есть сама база данных, отдельные записи, отображения и запросы - суть ресурсы, которые имеют уникальный адрес (URL) и поддерживают операции GET, PUT, POST, DELETE;

поэтому для взаимодействия с базой данных было написано много клиентских библиотек, в том числе на таких языках JavaScript, PHP, Ruby, Python и Erlang;

взаимодействие между отдельными компонентами СУБД, то есть с серверами представлений осуществляется опять-таки с помощью текстового протокола, а данные передаются в формате JSON;

это позволило использовать различные языки программирования для написания этих компонентов - Java, Python, JavaScript и пр.

CouchDB используется во многих программных продуктах и на множестве веб-сайтов, в том числе:

UbuntuOne, Firefox, TomBoy, Akonadi, Evolution - для синхронизации адресов, заметок и закладок.

Ajatus - распределённая CRM-система.

Mozilla Raindrop - агрегатор сообщений электронной почты, социальных сетей, систем обмена мгновенными сообщениями (Skype, Jabber).

eXist - СУБД с открытым исходным кодом, полностью основанная на технологии XML.

В отличие от большинства систем управления базами данных, eXist использует XQuery, язык который является рекомендацией консорциума W3C.

Apache Jackrabbit

Тип - хранилище данных.

Разработчик - Apache Software Foundation.

Написана на Java.

ОС - кросс-платформенное программное обеспечение.

Apache Jackrabbit - хранилище данных с открытым исходным кодом для платформы Java.

Проект Jackrabbit был начат 28 августа 2004 года, когда компания Day Software начала разработку API хранилища содержимого для Java (JCR). Jackrabbit также был использован как пример реализации JCR-170 и JCR-283.

Проект вышел из инкубатора Apache 15 марта 2006 года и сейчас является проектом верхнего уровня в Apache Software Foundation. JCR определяет API для разработчиков приложений (и фреймворков), которое позволяет взаимодействовать с современными хранилищами содержимог, предоставляющими такие сервисы поиск, версионирование, транзакции и т.д.

Lotus notes

тип - Groupware.

Разработчик - IBM Lotus Software.

Написана на Java/Eclipse, C и C++.

ОС - кросс-платформенное ПО.

IBM Lotus Notes (также Lotus Notes, Lotus Notes/Domino) - программный продукт, платформа для автоматизации совместной деятельности рабочих групп (Groupware).

Производится компанией IBM Lotus Software, входящей в компанию IBM Software Group.

Lotus Notes является платформой для построения приложений автоматизации управленческих и документных процессов. Особенностью системы является объектно-ориентированная архитектура, благодаря которой возможно создание информационных систем, автоматизирующих работу со сложноструктурированными данными и неформализованными динамическими процессами. В составе программного продукта содержатся только базовые функции, позволяющие организовывать работу распределённых рабочих групп и создавать приложения автоматизации процессов, поэтому Lotus Notes некорректно считать законченной системой автоматизации деятельности предприятия (так же как, например, не может считаться бухгалтерской системой MS SQL сервер). Lotus Notes - платформа для таких приложений. Системы электронного документооборота и другие законченные решения на платформе Lotus Notes/Domino разрабатывают и распространяют другие сторонние производители ПО.

Основные функции входящие в базовую поставку Lotus Notes/Domino Standard версии 8.5:

Среда исполнения приложений автоматизации групповой деятельности;

Криптозащита (шифрование и электронная подпись);

Клиент электронной почты;

Почтовый сервер;

Персональный и групповой календари, планировщик задач;

Набор офисных приложений IBM Lotus Symphony (текстовый редактор, электронные таблицы, подготовка презентаций);

Клиент среды обмена мгновенными сообщениями (Instant Messenger) Lotus Sametime (сервер Sametime является самостоятельным продуктом);

Веб-браузер;

Веб-сервер;

Сервер каталогов LDAP (облегченный протокол доступа к каталогам);

Сервер приложений;

Репликация - синхронизация между дистанционно удалёнными экземплярами баз данных;

Службы интеграции данных DECS (Domino Enterprise connection servisis).

Особенности.

Значимой особенностью является кроссплатформенность Lotus Notes. Текущая версия сертифицирована IBM для работы со следующими операционными системами:

Сервер Lotus Domino - Windows (32 и 64 бит), Linux (Red Hat, SUSE), Solaris, i5/OS (OS/400), AIX, z/OS (OS/390);

Клиент Lotus Notes - Windows (32 b 64 бит), Mac OS, Linux.

Масштабируемость.

Вертикальная масштабируемость обеспечивается следующими возможностями:

Увеличение