SQLite
Позволяет подключаться к базе данных SQLite и выполнять запросы INSERT и SELECT для обмена данными между ClickHouse и SQLite.
Создание базы данных
Параметры двигателя
db_path— Путь к файлу с базой данных SQLite.
Поддержка типов данных
В таблице ниже показано сопоставление типов по умолчанию, когда ClickHouse автоматически определяет схему на основе SQLite:
| SQLite | ClickHouse |
|---|---|
| INTEGER | Int32 |
| REAL | Float32 |
| TEXT | String |
| TEXT | UUID |
| BLOB | String |
Когда вы явно определяете таблицу с конкретными типами ClickHouse, используя табличный движок SQLite, из столбцов SQLite типа TEXT могут быть интерпретированы следующие типы ClickHouse:
- Date, Date32
- DateTime, DateTime64
- UUID
- Enum8, Enum16
- Decimal32, Decimal64, Decimal128, Decimal256
- FixedString
- Все целочисленные типы (UInt8, UInt16, UInt32, UInt64, Int8, Int16, Int32, Int64)
- Float32, Float64
В SQLite используется динамическая типизация, а его функции доступа к типам выполняют автоматическое приведение типов. Например, чтение столбца TEXT как целого числа вернёт 0, если текст не может быть разобран как число. Это означает, что если таблица ClickHouse определена с типом, отличающимся от исходного столбца SQLite, значения могут неявно приводиться к нужному типу, а не приводить к ошибке.
Особенности и рекомендации
SQLite хранит всю базу данных (определения, таблицы, индексы и сами данные) в одном кроссплатформенном файле на хосте. Во время записи SQLite блокирует весь файл базы данных, поэтому операции записи выполняются последовательно. Операции чтения могут выполняться параллельно.
SQLite не требует отдельного управления службой (например, скриптов запуска) или управления доступом на основе GRANT и паролей. Контроль доступа осуществляется с помощью разрешений файловой системы, заданных непосредственно для файла базы данных.
Пример использования
База данных в ClickHouse, подключённая к SQLite:
Выводит таблицы:
Запись данных в таблицу SQLite из таблицы ClickHouse: