Doris

Data source: External DorisEnterprise Edition+

Обзор

Doris можно подключить к NocoBase в качестве внешней базы данных. После подключения NocoBase будет считывать таблицы данных, поля и представления из Doris и использовать их как таблицы данных во внешнем источнике данных.

Doris лучше подходит для аналитических запросов, детализированных широких таблиц, расчёта показателей и отображения отчётов. В отличие от транзакционных баз данных, Doris не подходит в качестве источника данных для частого добавления, редактирования и удаления бизнес-записей в NocoBase.

Параметр конфигурацииОписание
Поддерживаемая версияDoris >= 2.1.0.
Коммерческая версияПоддерживается корпоративной версией.
Соответствующий плагин@nocobase/plugin-data-source-external-doris.
Способ подключенияИспользуется порт Doris, совместимый с MySQL, то есть FE query_port.
Рекомендации по использованиюВ основном используется для просмотра, фильтрации, статистики и отображения отчётов.

Сценарии, подходящие для использования внешнего Doris:

  • Подключение детализированных, агрегированных, широких таблиц или таблиц показателей из хранилища данных
  • Создание в NocoBase операционных панелей, статистических отчётов или страниц запросов
  • Предоставление сотрудникам доступа к запросам только для чтения и уменьшение необходимости прямого доступа к клиенту базы данных
  • Управление правами доступа и визуализация существующих данных Doris
Внимание

В NocoBase Doris рекомендуется использовать как источник аналитических данных только для чтения. Не используйте его в качестве источника данных для записи обычных бизнес-таблиц и не рекомендуется настраивать на страницах операции добавления, редактирования и удаления.

Установка плагина

Этот плагин является коммерческим. Подробные сведения об активации см. в разделе Руководство по активации коммерческих плагинов

Добавление источника данных

В разделе «Управление источниками данных» нажмите «Add new», выберите Doris и укажите сведения для подключения. 20260709211333

Пример распространённой конфигурации подключения:

ПараметрОписание
Data source nameИдентификатор источника данных, используемый для ссылок на него в блоках страниц, правах доступа, рабочих процессах и API. После создания изменить его нельзя.
Data source display nameНазвание источника данных, отображаемое в интерфейсе. Рекомендуется использовать понятное бизнес-пользователям название, например «Хранилище Doris» или «Библиотека показателей».
Host / PortАдрес FE Doris и порт, совместимый с MySQL, то есть query_port. Не указывайте HTTP-порт.
DatabaseНазвание базы данных Doris, к которой необходимо подключиться.
Username / PasswordИмя пользователя и пароль для подключения к Doris. NocoBase может считывать только объекты, к которым у этой учётной записи есть доступ; права на частные объекты других учётных записей не предоставляются и такие объекты не считываются.
Table prefixПрефикс имени таблицы. После настройки NocoBase будет считывать только таблицы данных, соответствующие этому префиксу, и создавать в NocoBase имена таблиц без префикса.
Enabled the data sourceОпределяет, включён ли этот источник данных. После отключения конфигурация источника данных сохраняется, но блоки страниц, права доступа, рабочие процессы и API больше не смогут считывать его данные.
Подсказка

Плагин Doris подключается по протоколу, совместимому с MySQL. Перед настройкой убедитесь, что query_port FE Doris доступен из NocoBase, а учётная запись имеет права на чтение метаданных целевой базы данных, таблиц и столбцов.

Область подключения

На странице Doris нет таблицы с флажками «Collections». Область подключения в основном определяется Database, правами учётной записи подключения и Table prefix.

Если в Doris много таблиц, рекомендуется заранее подготовить для NocoBase отдельную базу данных, учётную запись или префикс имён таблиц, чтобы открыть доступ только к таблицам, которые нужны текущему приложению для просмотра и статистики.

Внимание

Один внешний источник данных может одновременно подключить не более 500 таблиц или представлений. Если в Doris много объектов, рекомендуется заранее сузить область с помощью базы данных, прав учётной записи или Table prefix.

Синхронизация и настройка полей

Структура таблиц внешнего Doris поддерживается на стороне базы данных. NocoBase не создаёт во внешнем Doris поля, не изменяет типы полей и не удаляет реальные поля.

При изменении структуры таблиц в Doris можно выполнить «Sync from database» в источнике данных, чтобы заново считать метаданные таблиц и полей. Синхронизация обновляет сохранённые в NocoBase сведения о таблицах данных, полях, первичных и уникальных ключах, а также сопоставлении типов полей, но не удаляет реальные таблицы или данные в Doris.

После синхронизации полей в NocoBase можно настроить заголовок поля, тип поля (Field type) и компонент поля (Field interface). Если необходимо создать поле связи NocoBase, метаданные связи также сохраняются в NocoBase; реальные внешние ключи в таблицах Doris автоматически не добавляются.

Сопоставление типов полей

NocoBase сопоставляет типы полей Doris с подходящими Field type и Field interface на основе логики совместимости с MySQL и специальных типов Doris. Способ отображения в интерфейсе можно изменить в настройках поля.

Распространённые варианты сопоставления:

Тип поля DorisNocoBase Field typeДоступный Field interface
TINYINTSMALLINTintegerbooleansortInteger、Sort、Checkbox、Switch、Select、Radio group。
INTINTEGERintegerunixTimestampsortInteger、Sort、Unix timestamp、Select、Radio group。
BIGINTbigIntunixTimestampsortInteger、Sort、Unix timestamp、Created at、Updated at。
LARGEINTbigIntInteger。
FLOATfloatsortNumber、Percent、Sort。
DOUBLEdoublesortNumber、Percent、Sort。
DECIMALDECIMALV3decimalNumber、Percent、Currency。
BOOLEANbooleanCheckbox、Switch。
CHARstringInput、Email、Phone。
VARCHARstringuuidnanoidencryptionInput、Email、Phone、Password、Color、Icon、Select、Radio group、UUID、Nano ID。
TEXTSTRINGtextTextarea、Markdown、Vditor、Rich text、URL。
DATEDATEV2dateDate。
DATETIMEDATETIMEV2datetimeDate、Time、Created at、Updated at。
JSONJSONBjsonJSON。
HLLBITMAPQUANTILE_STATEAGG_STATEjsonJSON。
VARIANTARRAYMAPSTRUCTjsonJSON。
IPV4IPV6stringInput。

VARIANT — это динамический тип, доступный начиная с Apache Doris 2.1.0. При использовании Doris версии ниже 2.1.0 поля такого типа подключить нельзя.

Внимание

Типы агрегированного состояния, полу结构ированные и сложные типы в Doris лучше подходят для отображения или отладки и не всегда подходят в качестве полей для ввода в формах. При работе со сложными типами рекомендуется подготовить на стороне Doris представления или детализированные таблицы, более подходящие для просмотра бизнес-пользователями, а затем подключить их к NocoBase.

Первичный ключ и уникальный идентификатор записи

Модели данных и ключей Doris не обязательно соответствуют уникальному идентификатору бизнес-записи. Для таблиц данных, используемых в блоках страниц, по-прежнему рекомендуется подготовить поле, позволяющее однозначно определить запись.

Если подключается таблица или представление без уникального поля, в настройках таблицы данных необходимо вручную указать «Record unique key». При отсутствии доступного уникального идентификатора блоки страниц могут неправильно отображать сведения о записи; также не рекомендуется настраивать операции редактирования или удаления.

20260709211439 20260709211454

Связанные ссылки