Рейтинг@Mail.ru
Руководство пользователя / Начало работы / Использование бинарного пакета
Руководство пользователя / Начало работы / Использование бинарного пакета

Использование бинарного пакета

Замечание

Документация находится в процессе перевода и может отставать от английской версии.

Использование бинарного пакета

Для промышленной разработки мы рекомендуем использовать официальные бинарные пакеты. Можно выбрать одну из двух версий Tarantool’а: 1.7 (стабильная) и 1.8 (альфа). Автоматическая система сборки создает, тестирует и публикует пакеты после каждого коммита в соответствующую ветку (1.7 или 1.8) репозитория Tarantool’а на GitHub.

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

Запуск экземпляра Tarantool’а

Для запуска экземпляра Tarantool’а выполните эту команду:

$ # если вы скачали бинарный пакет с помощью apt-get или yum, введите:
$ /usr/bin/tarantool
$ # если вы скачали бинарный пакет в формате TAR
$ # и разархивировали его в директорию ~/tarantool, введите:
$ ~/tarantool/bin/tarantool

Tarantool запускается в интерактивном режиме и показывает приглашение командной строки:

tarantool>

Теперь вы можете вводить запросы в командной строке.

Примечание

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

Создание базы данных

Далее объясняется, как создать простую тестовую базу данных после установки Tarantool’а.

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

$ mkdir ~/tarantool_sandbox
$ cd ~/tarantool_sandbox

Чтобы запустить модуль Tarantool’а для работы с базой данных и сделать так, чтобы запущенный экземпляр принимал TCP-запросы на порту 3301, выполните эту команду:

tarantool> box.cfg{listen = 3301}

Сначала создайте первое пространство (с именем „tester“) и первый индекс (с именем „primary’):

tarantool> s = box.schema.space.create('tester')
tarantool> s:create_index('primary', {
              >  type = 'hash',
              >  parts = {1, 'unsigned'}
              > })

Затем вставьте в созданное пространство три кортежа (наш термин для «записей»):

tarantool> t = s:insert({1, 'Roxette'})
tarantool> t = s:insert({2, 'Scorpions', 2015})
tarantool> t = s:insert({3, 'Ace of Base', 1993})

После этого произведите выборку кортежа из первого пространства в базе данных по первому заданному ключу:

tarantool> s:select{3}

Теперь вывод в окне терминала выглядит следующим образом:

tarantool> s = box.schema.space.create('tester')
2017-01-17 12:04:18.158 ... creating './00000000000000000000.xlog.inprogress'
---
...
tarantool>s:create_index('primary', {type = 'hash', parts = {1, 'unsigned'}})
---
...
tarantool> t = s:insert{1, 'Roxette'}
---
...
tarantool> t = s:insert{2, 'Scorpions', 2015}
---
...
tarantool> t = s:insert{3, 'Ace of Base', 1993}
---
...
tarantool> s:select{3}
---
- - [3, 'Ace of Base', 1993]
...
tarantool>

Для добавления другого индекса по второму полю используйте эту команду:

tarantool> s:create_index('secondary', {
         >  type = 'hash',
         >  parts = {2, 'string'}
         > })

Установка удаленного подключения

В запросе box.cfg{listen = 3301}, который мы отправили ранее, параметр listen может принимать в качестве значения URI (универсальный идентификатор ресурса) любой формы. В нашем случае это просто локальный порт 3301. Вы можете отправлять запросы на указанный URI, используя:

  1. telnet,
  2. коннектор,
  3. другой экземпляр Tarantool’а (с помощью модуля console), либо
  4. утилиту tarantoolctl.

Давайте попробуем вариант с tarantoolctl.

Переключитесь на другой терминал. Например, в Linux-системе для этого нужно запустить еще один экземпляр Bash. В новом терминале можно сменить текущую рабочую директорию на любую другую, необязательно использовать ~/tarantool_sandbox.

Запустите утилиту tarantoolctl:

$ tarantoolctl connect '3301'

Данная команда означает «использовать утилиту tarantoolctl для подключения к Tarantool-серверу, который слушает по адресу localhost:3301».

Введите следующий запрос:

tarantool> box.space.tester:select{2}

Это означает «послать запрос тому Tarantool-серверу и вывести результат на экран». Результатом в данном случае будет один из кортежей, что вы вставляли ранее. В окне терминала теперь должно отображаться примерно следующее:

$ tarantoolctl connect 3301
/usr/local/bin/tarantoolctl: connected to localhost:3301
localhost:3301> box.space.tester:select{2}
---
- - [2, 'Scorpions', 2015]
...

localhost:3301>

Вы можете посылать запросы box.space...:insert{} и box.space...:select{} неограниченное количество раз на любом из двух запущенных экземпляров Tarantool’а.

Закончив тестирование, выполните следующие шаги:

  • Для удаления пространства: s:drop()
  • Для остановки tarantoolctl: ctrl+C или ctrl+D
  • Для остановки Tarantool’а (альтернативный вариант): стандартная Lua-функция os.exit()
  • Для остановки Tarantool’а (из другого терминала): sudo pkill -f tarantool
  • Для удаления директории-песочницы: rm -r ~/tarantool_sandbox