IT заметки по программированию
IT заметки по программированию
IT заметки по программированию
IT заметки по программированию

Какие типы полей есть в Clickhouse

ClickHouse поддерживает разнообразные типы данных для эффективной работы с различными типами информации. Вот основные типы полей, которые можно использовать в ClickHouse:

1. Числовые типы:

  • Целые числа:
    • Int8: 8-битное целое число, от -128 до 127.
    • Int16: 16-битное целое число, от -32,768 до 32,767.
    • Int32: 32-битное целое число, от -2,147,483,648 до 2,147,483,647.
    • Int64: 64-битное целое число, от -9,223,372,036,854,775,808 до 9,223,372,036,854,775,807.
    • UInt8: 8-битное беззнаковое целое число, от 0 до 255.
    • UInt16: 16-битное беззнаковое целое число, от 0 до 65,535.
    • UInt32: 32-битное беззнаковое целое число, от 0 до 4,294,967,295.
    • UInt64: 64-битное беззнаковое целое число, от 0 до 18,446,744,073,709,551,615.
  • Числа с плавающей точкой:
    • Float32: 32-битное число с плавающей точкой (одинарная точность).
    • Float64: 64-битное число с плавающей точкой (двойная точность).
  • Числа с фиксированной точностью:
    • Decimal(p, s): Число с фиксированной точностью, где p — общая точность, а s — количество знаков после запятой. Например, Decimal(10, 2) может содержать числа с 10 знаками, из которых 2 знака после запятой.

2. Строковые типы:

  • Строки:
    • String: Строка произвольной длины. Хранит символы в кодировке UTF-8.
    • FixedString(n): Строка фиксированной длины n. Если строка меньше указанной длины, то она будет дополнена пробелами.

3. Дата и время:

  • Дата и время:
    • Date: Дата в формате YYYY-MM-DD.
    • DateTime: Дата и время в формате YYYY-MM-DD HH:MM:SS. Местное время.
    • DateTime64: Дата и время с точностью до миллисекунд или микросекунд, например, DateTime64(3) — с точностью до миллисекунд.

4. Логические типы:

  • Логический тип:
    • Boolean: Логический тип, может быть true или false.

5. Массивы и коллекции:

  • Массивы:
    • Array(T): Массив элементов типа T. Например, Array(Int32) для массива целых чисел.
  • Множества:
    • Set(T): Множество элементов типа T (с уникальными значениями). Например, Set(Int32).
  • Кортежи:
    • Tuple(T1, T2, ...): Кортеж с фиксированными типами элементов. Например, Tuple(Int32, String).
  • Map (карты):
    • Map(K, V): Коллекция пар ключ-значение, где K — тип ключа, а V — тип значения.

6. Типы для работы с IP-адресами:

  • IP-адреса:
    • IPv4: Тип для хранения IPv4-адресов.
    • IPv6: Тип для хранения IPv6-адресов.

7. Типы для работы с UUID:

  • UUID: Универсальный уникальный идентификатор (UUID). Этот тип хранит уникальные идентификаторы.

8. Типы для работы с JSON:

  • JSON: Для хранения данных в формате JSON.
  • JSONEachRow: Тип, который позволяет хранить данные в формате JSON с одной строкой на каждую запись.

9. Типы для работы с бинарными данными:

  • UUID: Для хранения UUID в бинарном формате.
  • Binary: Для хранения произвольных бинарных данных.

10. Типы для работы с географическими данными:

  • GeoPoint: Тип для хранения географической точки (широта, долгота).
  • GeoPolygon: Тип для хранения географического полигона.

11. Типы для работы с материализованными представлениями:

  • MaterializedView: Специальный тип для представлений, которые обновляются автоматически при изменении данных.

Пример использования типов:

Заключение:

ClickHouse предоставляет широкий набор типов данных для различных типов информации, начиная от чисел и строк до более сложных типов, таких как массивы, кортежи, карты и типы для работы с географическими данными. Выбор типа данных зависит от требований к данным и эффективности запросов.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *