SequoiaDB

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 01:03, 20 января 2018.
SequoiaDB
Разработчики: Sequoiadb Corporation
Выпущена: 2013
Постоянный выпуск: 2.6.3
Состояние разработки: Активная
Локализация: English
Веб-сайт www.sequoiadb.com

SequoiaDB - это документо-ориентированная база данных NOSQL, которая поддерживает обработку транзакций JSON и SQL. База данных масштабируется по горизонтали и обеспечивает высокую производительность. SequoiaDB поддерживает анализ запросов и данных в реальном времени, а также хорошо интегрируется с Spark и Hadoop. Первый выпуск SequoiaDB - в 2013 году, а последняя версия - 2.6.3. Также присутствует поддержка приложений, работающих с BigData.

Инфраструктура

SequoiaDB имеет распределенную структуру.[1] В клиентском терминале (или терминале приложения) локальные и/или удаленные приложения связаны с клиентской библиотекой SequoiaDB. Локальные и/или удаленные приложения взаимодействуют с НОДой-каталогом по протоколу TCP/IP. НОДа-каталог не хранит никаких пользовательских данных. Это НОДа, которая получает запросы и распространяет их на целевые узлы данных. НОДа-координатор хранит информацию о метаданных системы. Такие НОДы получают местоположение данных на НОДах, хранящих данные пользователей, обмениваясь данными с НОДами-каталогами.

Особенности

Архитектура SequoiaDB
  • Транзакция: Транзакция является единицей работы системы. Операции в транзакции либо выполняются польностью, либо не выполняются вовсе. SequoiaDB выполняет распределенные транзакции путем реализации протокола 2PC(Two-phase commit protocol).
  • Репликация: один или несколько узлов данных могут представлять собой набор реплик. В наборе данные во всех узлах данных в конечном итоге согласованы. Набор реплик данных также называется "осколок". Различные "осколки" хранят разные данные. Каждый "осколок" содержит один или несколько узлов данных. Когда в нем несколько узлов, выполняется асинхронная репликация. В "осколке" есть главный узел и несколько подчиненных узлов. Мастер-узлы позволяют выполнять операции чтения и записи. Ведомые узлы позволяют выполнять операции чтения.
  • Аварийное восстановление: поддержка репликации централизованного мультисервисного центра, обеспечение аварийного восстановления.
  • Распределенный OLTP: предоставление распределенного OLTP со стандартным доступом SQL, распределенной транзакцией и высокопроизводительным индексом распределения.
  • Распределенная архитектура: SequoiaDB использует изначально распределенную архитектуру MPP из ядра базы данных, достигая горизонтальной масштабируемости и более высокой производительности с помощью кластеров.
  • Хранение объектов: SequoiaDB использует JSON (BSON) в качестве базовой структуры хранения данных, что делает базу данных доступной для неструктурированных, структурированных и полуструктурированных данных.
  • Блочная структура: SequoiaDB обеспечивает блочное хранение для файлов, с помощью этой функции база данных может делить большие файлы, такие как изображения, документы, на несколько блоков данных и распространять их на разные узлы или серверы.
  • Веб-интерфейс управления: SequoiaDB обеспечивает полноценный веб-интерфейс управления.
  • Техническая поддержка: SequoiaDB обеспечивает профессиональную техническую поддержку, которая базируется в Китае, работающую в режиме 24/7

Лицензия

SequoiaDB функционирует с лицензией GNU Affero General Public License (AGPL V 3.0), а клиенты и драйверы - с лицензией Apache License V2.0. [2]

Поддерживаемые языки

SequoiaDB поддерживает множество языков программирования, таких как: C, C++, C#, Java, PHP, Python и другие.[3] SequoiaDB также сертифицирована для работы с CDH5 от Cloudera. [4]


Запуск SequoiaDB

1. Установка SequoiaDB

Первое, что стоит сделать - скачать SequoiaDB с официального сайта. Далее стоит выбрать один из двух видов БД - для компьютеров на базе х86 или Power PC.

  • Распаковка пакета:

tar -zxvf sequoiadb-1.10-linux_x86_64-installer.tar.gz chmod 755 sequoiadb-1.10-linux_x86_64-installer.run

  • Установка:

При установке SequoiaDB создаст нового пользователя ОС с именем sdbadmin. Стандартный путь установки - /opt/sequoiadb.

./sequoiadb-1.10-linux_x86_64-installer.run --mode unattended

2. Запуск SequoiaDB Service

После установки SequoiaDB не запустится автоматически, нужно вручную настроить БД для запуска.

  • Меняем пользователя:

su - sdbadmin

  • Настраиваем нужные параметры:

mkdir -p /opt/sequoiadb/conf/local/11810 cp /opt/sequoiadb/conf/samples/sdb.conf.standalone /opt/sequoiadb/conf/local/11810/sdb.conf

  • Запуск SequoiaDB Service:

/opt/sequoiadb/bin/sdbstart -c /opt/sequoiadb/conf/local/11810/

3. Простейшие операции

  • Для управления базой данных можно использовать sdbshell:

> var db = new Sdb("localhost",11810);

  • Просмотр доступных команд:

> help

  • Создание Collection Space:

> var cs = db.createCS("foo");

  • Просмотр созданных Collection Space:

> db.listCollectionSpaces();

  • Создание коллекции:

> var cl = cs.createCL("bar");

  • Просмотр созданных коллекций:

> db.listCollections();

  • Запись данных:

> cl.insert({name:"sequoiadb",web:"www.sequoiadb.com"}); > cl.insert({name:"test",web:"www.sequoiadb.com"});


Видео установки:

Источники

  1. SequoiaDB Infrastructure [Электронный ресурс] :Материал из http://www.sequoiadb.com: - Режим доступа: http://www.sequoiadb.com/en/index.php?m=Files&a=index Infrastructure
  2. Github SequoiaDB Licence [Электронный ресурс] :Материал из https://github.com: - Режим доступа: https://github.com/SequoiaDB/SequoiaDB#license Licence
  3. SequoiaDB Drivers [Электронный ресурс] :Материал из http://www.sequoiadb.com: - Режим доступа: http://www.sequoiadb.com/en/index.php?m=Files&a=index Drivers
  4. Cloudera Cerfifacation Partners [Электронный ресурс] :Материал из https://www.cloudera.com: - Режим доступа: https://www.cloudera.com/partners/partners-listing.html?category-16=cloudera-partners%253Apartner-category%252FDatabase&category-21=cloudera-partners%253Acertified%252Fcertified&q= Partners