Сама по себе задумка осуществления быстрого доступа с помощью seek() на практике оказалась неудачной. Да и ClickHouse подводит отсутствием вторичных индексов. Новая программа high-perf-bio создаёт полноценные MongoDB-базы и позволяет работать с большими наборами данных без заметных проблем производительности. Код index-tools я удалять не буду - пусть остаётся в качестве шпаргалки по SQL:).
Характеристика или требование | Index-tools | Tabix |
---|---|---|
Универсальность | Индексирует по любым столбцам каких угодно таблиц. Это открывает программе как широкое применение в биоинформатике, так и выход за пределы этой науки | Поддерживает только VCF-таблицы и индексирует их строго по номеру хромосомы и геномной позиции |
Предварительная сортировка индексируемых столбцов | Не требуется | Обязательно нужно сортировать по хромосоме и позиции |
Архивация исходных файлов | Сжимать нужно, но с помощью GZIP, идущего в комплекте с популярными ОС | Поддерживается работа только с архивами, созданными экзотическим, нуждающимся в компиляции, BGZIP |
Командная строка | Пригождается однократно для установки ClickHouse. На этапе эксплуатации забудьте о ней | Чисто command-line программа |
Трудности установки | Отсутствуют | Компиляция из исходников, требующая разрешать вручную многочисленные зависимости |
Производительность | Для таблиц, весящих десятки ГБ — средней паршивости. Очевидно, это плата за универсальность | Всегда очень высокая |
- Убедитесь, что в ОС установлен Python не ниже версии 3.6.
- Если не хотите запускать программу из командной строки, установите любую понравившуюся вам среду разработки для Python. Я рекомендую IDLE.
- Установите модуль, позволяющий использовать внутри Python-кода ClickHouse-инструкции.
pip3 install clickhouse-driver --user
- Скачайте архив с программой.
Clone or download
(зелёная кнопка наверху страницы репозитория).
- Распакуйте его в любую папку.
- Установите ClickHouse по инстукции ниже.
Здесь придётся чуть покрасноглазить:).
- В Linux программы, позволяющие запускать команды, называются эмуляторами терминала. В составе вашего дистрибутива таковой будет, скорее всего, под названием
Терминал
илиКонсоль
. Для тру-хакеров есть ещё чисто текстовое окружение, в которое можно переключиться сочетанием клавишCTRL+ALT+F2
. CTRL+ALT+C
- скопировать что-либо из эмулятора терминала (в elementary OS — проще —CTRL+C
);CTRL+ALT+V
- вставить что-либо в эмулятор терминала (в elementary OS — проще —CTRL+V
).CTRL+D
- завершить работу запущенной в эмуляторе терминала программы. Это как нажатие на всем знакомый крестик у окон в графических окружениях.sudo
в начале команды означает то, что планируемое действие может совершить только человек с правами суперпользователя (root). При работе на собственном компьютере вы можете легко задать root-пароль либо во время установки дистрибутива, либо уже потом командойsudo passwd
.- При вводе или вставке пароля вы, возможно, будете ожидать появление звёздочек. Но этого, вероятнее всего, не произойдёт: пароли в линуксовой командной строке, как правило, набираются/вставляются в невидимом режиме.
Ubuntu Linux/elementary OS/Linux Mint.
Открываем файл управления репозиториями (хранилищами программ) в консольном редакторе GNU Nano
.
sudo nano /etc/apt/sources.list
Вставляем в любое место этого файла (рекомендую в конец) строку deb http://repo.yandex.ru/clickhouse/deb/stable/ main/
, дающую право устанавливать программы стабильных версий из репозитория Yandex ClickHouse. Сохраняем изменения: CTRL+X
→ y
→ <enter>
.
Добавляем ключ ClickHouse-репозитория:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv E0C56BD4
Обновляем базу доступных в репозиториях пакетов.
sudo apt update
Устанавливаем компоненты ClickHouse.
sudo apt install clickhouse-client clickhouse-server
Когда появится сиреневый экран с предложением задать пароль пользователя ClickHouse, просто нажимаем <enter>
.
Перезагружаем ОС. Это, кстати, тоже можно из командной строки сделать.
systemctl reboot