Перейти к содержанию

Исправление ошибок синхронизации, сканирования и слепков

Вначале проверьте, не устарели ли ваши данные из-за кэширования браузера:

  1. Удалите кэш браузера.
  2. Обновите страницу Glarus BI.
  3. Откройте страницу Glarus BI в окне инкогнито.

Как только вы убедитесь, что вы смотрите на не кэшированное представление ваших таблиц и столбцов, обратитесь к своему администратору базы данных для помощи в устранении неполадок:

  • Синхронизации, если ваши таблицы или столбцы отсутствуют, или типы данных столбцов неверны.
  • Сканирования, если ваши значения столбцов отсутствуют или неверны (например, в выпадающих меню фильтров).
  • Слепков, если вы запустили ручное сканирование, но изменения не вступают в силу.

Синхронизация

  1. Убедитесь что драйвер базы данных обновлён.
  2. Перейдите в Управление > Решение проблем > Журналы для проверки статуса синхронизации.
  3. Выполните запрос к вашей базе данных из редактора SQL Glarus BI, чтобы проверить наличие ошибок подключения к базе данных или разрешений базы данных, которые не отображаются в журналах:
SELECT
   *
FROM
    "your_schema"."your_table_or_view"
LIMIT 1
  1. Синхронизируйте таблицу или представление вручную, если это необходимо.

Специальные случаи

Если вы только что настроили новую базу данных в Glarus BI, синхронизация может занять некоторое время. Если синхронизация вообще не началась, попробуйте устранить неполадки подключения к базе данных.

Детали

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

SELECT
    TRUE
FROM
    "your_schema"."your_table_or_view"
WHERE
    1 <> 1
LIMIT 0

Для запуска запроса синхронизации Glarus BI должна:

  • успешно подключиться к вашей базе данных, и
  • иметь разрешения для построения запросов этой базе данных.

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

Раскрытие столбцов JSON с записями Object

  1. Откройте Управление > Базы данных > (ваша база данных) > Отобразить дополнительные параметры.
  2. Выключите Разрешить разворачивание столбцов JSON.
  3. Нажмите Сохранить изменения.
  4. Нажмите Синхронизировать схему базы данных.

Детали

Glarus BI пытался развернуть записи JSON и JSONB во время процесса синхронизации, что замедляло выполнения запроса, особенно если записей JSON много. Вы отключили эту опцию и можете оценить результат, используя журналы системы Управление > Решение проблем > Журналы и другие косвенные признаки. Если положительный результат не достигнут, верните настройку в исходное положение.

Сканирование

  1. Выберите Управление > Метаданные таблицы.
  2. Выберите базу данных и таблицу.
  3. Перейдите к столбцу, который вы хотите обновить, и нажмите значок шестерёнки.
  4. Нажмите Сбросить кэшированные значения поля.
  5. Нажмите Пересканировать это поле.
  6. Перейдите в Управление > Решение проблем > Журналы, чтобы следить за статусом сканирования и отладить ошибки.

Специальные случаи

Если вы ожидаете запуска первоначального сканирования после подключения базы данных, убедитесь, что первоначальная синхронизация завершена (вы можете проверить статус из Управление > Решение проблем > Журналы).

Детали

Запросы сканирования выполняются в вашей базе данных для выборки значений столбцов из первых 1 000 строк в таблице или представлении:

SELECT
    "your_table_or_view"."column" AS "column"
FROM
    "your_schema"."your_table_or_view"
GROUP BY
    "your_table_or_view"."column"
ORDER BY
    "your_table_or_view"."column" ASC
LIMIT 1000

Неуспешное сканирование вызвано неудачным запросом сканирования — вы можете просмотреть журналы для отладки запроса.

Обратите внимание, что когда вы изменяете фильтр поля поиска на фильтр выпадающего списка из метаданных таблицы, вы запускаете запрос сканирования для этого поля. Если у вас есть фильтр выпадающего списка, он не выбирает все значения в поле. Помните, что Glarus BI выбирает только первые 1 000 уникальных значений в поле и хранит максимум 100 килобайт текста. Если у вас есть более 1 000 уникальных значений в столбце или много текстовых данных (например, длинные URL или ответы на опросы), вы можете:

Слепки

Для того, чтобы вручную перезапустить запрос слепка для данного столбца:

  1. Выберите Управление > Базы данных > ваша база данных > Отобразить дополнительные параметры.
  2. Переключите Периодический слепок таблиц и нажмите Сохранить изменения.
  3. Перейдите в Управление > Метаданные таблицы.
  4. Выберите базу данных и таблицу.
  5. Измените видимость таблицы на «Скрытый».
  6. Измените видимость обратно на «Доступно в запросах».
  7. Подождите 10 секунд.
  8. Перейдите к вашему столбцу и измените Тип с «Ключ сущности» на «Нет семантического типа» и обратно на «Ключ сущности».

Специальные случаи

Если вы ожидаете запуска первоначального сканирования после подключения базы данных, убедитесь, что первоначальная синхронизация завершена (можете проверить статус из Управление > Решение проблем > Журналы).

Если вы используете MongoDB, Glarus BI снимет слепки первых 10 000 документов из коллекции. Если вы не видите все ваши поля — они могут не существовать в этих первых 10 000 документов. Для получения дополнительной информации см. справочник MongoDB.

Детали

Изначальный запрос снятия слепков "смотрит" на первые 10 000 строк из данной таблицы или представления в вашей базе данных:

SELECT
    *
FROM
    "your_schema"."your_table_or_view"
LIMIT 10000

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

  • неверные типы фильтров , например вы хотите календарь, а получили категории;
  • неверные визуализации, которые не работают (поскольку Glarus BI нужно минимальное и максимальное значение для генерации бинов).

Glarus BI не имеет встроенной опции запуска снятия слепков вручную. Вы можете «сбросить» настройки поля, используя вышеуказанные шаги, чтобы попытаться запустить запрос снятия слепков, но результат не гарантируется.

Синхронизация или сканирование занимает много времени

Чтобы ускорить синхронизацию:

Чтобы ускорить сканирование:

Детали

Синхронизации и сканирование — это в конечном счёте просто два вида запросов, которые выполняются в вашей базе данных, поэтому скорость выполнения ограничена количеством выполняемых запросов, частотой выполнения, размером ваших данных и количеством ресурсов, выделенных для вашей базы данных. Glarus BI даёт вам возможность настраивать количество и частоту запросов синхронизации и сканирования.

Связанные темы

Проблема не решена?

Если вы не можете решить свою проблему, используя руководства по устранению неполадок, спросите решение в сообществе Glarus BI.