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

Работа с MongoDB в Glarus BI

Glarus BI поддерживает MongoDB версии 4.2 или выше.

Как Glarus BI синхронизирует данные в MongoDB

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

Подключение к MongoDB

Перейдите в Управление > Базы данных и нажмите кнопку Добавить базу данных. Выберите MongoDB из раскрывающегося списка и введите желаемое Название для этой базы данных.

Есть два способа подключения к MongoDB:

  1. Использование полей Glarus BI для ввода сведений о соединении.
  2. Вставка вашей строки подключения.

Использование полей Glarus BI

По умолчанию подключение к MongoDB осуществляется путём заполнения сведений о подключении в полях, предоставляемых Glarus BI:

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

У вас также будет возможность Использовать защищённое соединение (SSL). Включите SSL и вставьте содержимое цепочки сертификатов SSL сервера в текстовое поле ввода. Этот параметр доступен только для этого метода подключения (т.е. вы не можете включать сертификат при подключении с помощью строки подключения).

Расширенные настройки для прямого подключения

  • Использовать DNS SRV при подключении. Для использования этой опции необходимо, чтобы указанный хост был полным доменным именем (FQDN). При подключении к кластеру Atlas вам может потребоваться включить этот параметр. Если вы не знаете, что это значит, оставьте отключенным.

Использование строки подключения

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

В настоящее время Glarus BI НЕ поддерживает следующие параметры строки подключения:

  • tlsCertificateKeyFile
  • tlsCertificateKeyFilePassword
  • tlsCAFile

Если вам нужно использовать сертификат, подключитесь с помощью метода по умолчанию и включите Использовать защищённое соединение (SSL).

Настройки, общие для обоих вариантов подключения

  • Использовать туннель SSH: к некоторым установкам базы данных можно получить доступ только при подключении через хост-бастион SSH. Эта опция также обеспечивает дополнительный уровень безопасности, когда VPN недоступна. Включение этого обычно медленнее, чем прямое соединение.
  • Повторно запускать запросы для простого исследования: если этот параметр включен, Glarus BI будет автоматически выполнять запросы, когда пользователи выполняют простые исследования с помощью кнопок «Суммировать» и «Фильтровать» при просмотре таблицы или диаграммы. Вы можете отключить это, если запросы к этой базе данных выполняются медленно. Этот параметр не влияет на детализацию или SQL-запросы.
  • Выберите, когда будет выполняться синхронизация и сканирование: по умолчанию Glarus BI выполняет облегчённую ежечасную синхронизацию и интенсивное ежедневное сканирование значений полей. Если у вас большая база данных, мы рекомендуем включить эту функцию и проверить, когда и как часто происходит сканирование значений полей.
  • Периодический слепок таблиц: этот параметр, отключенный по умолчанию, позволяет Glarus BI сканировать дополнительные значения полей во время синхронизации, обеспечивая более разумное поведение, например, улучшенное автоматическое объединение на гистограммах.

Подключение к кластеру MongoDB Atlas

Примечание

Вы можете использовать Glarus BI с выделенными и общими кластерами Atlas. Glarus BI в настоящее время не поддерживает Atlas Serverless.

Белый список IP-адресов

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

  1. Войдите в свой кластер Atlas
  2. Перейдите в Сетевой доступ
  3. Добавьте IP-адреса, которые использует ваш Glarus BI для подключения.

Подключение Glarus BI к вашему кластеру Atlas

Примечание

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

  1. Войдите в свой аккаунт Atlas.

  2. Выберите кластер, к которому вы хотите подключиться, и нажмите Подключить.

Снимок экрана вашего кластера

  1. Выберите Драйверы.

  2. Скопируйте строку подключения из раздела Добавьте строку подключения в код вашего приложения.

Снимок экрана подключения

  1. В Glarus BI перейдите в Управление > Базы данных и нажмите кнопку Добавить базу данных.
  2. Выберите MongoDB из раскрывающегося списка и введите Название для этой базы данных.
  3. Нажмите на "Вставить строку подключения" и вставьте вашу строку подключения.
  4. Отредактируйте строку подключения, чтобы включить Название базы данных после /:
mongodb+srv://metabot:metapass@my-test-cluster.a5ej7.mongodb.net/ИМЯ_БАЗЫ_ДАННЫХ?retryWrites=true&w=majority&appName=my-test-cluster

Если вы используете поля Glarus BI для ввода информации о подключении к кластеру Atlas вместо использования строки подключения, вам может потребоваться включить опцию Использовать DNS SRV при подключении.

Дополнительную информацию см. в разделе Расширенные параметры.

Настройка SSL через командную строку

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

cp /usr/lib/jvm/default-jvm/jre/lib/security/cacerts ./cacerts.jks
keytool -import -alias cacert -storepass changeit -keystore cacerts.jks -file my-cert.pem

Затем запустите Glarus BI, используя хранилище:

java -Djavax.net.ssl.trustStore=cacerts.jks -Djavax.net.ssl.trustStorePassword=changeit -jar glarus-bi.jar

Узнайте больше о настройке SSL с MongoDB.

Общие проблемы с подключением

  • Подключайтесь с помощью DNS SRV, что является рекомендуемым методом для новых кластеров Atlas.
  • Проверили ли вы белый список хостов кластера? При тестировании соединения и обнаружении сбоя, пробовали ли вы установить белый список IP-адресов на 0.0.0.0/0? Внесение этого адреса в белый список позволяет подключаться с любых IP-адресов. Если вы знаете IP-адрес(а) или блок CIDR клиентов, используйте их вместо этого.
  • Подключайтесь к вторичному серверу. При подключении к кластеру всегда используйте аргумент ?readPreference=secondary в строке подключения, который позволяет Glarus BI читать данные со вторичного сервера, а не потреблять ресурсы с первичного сервера.

Я добавил поля в свою базу данных, но не вижу их в Glarus BI

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

Вместо этого Glarus BI получает выборку полей в коллекции, просканировав выборку из 1000 документов в каждой коллекции (первые 500 документов и последние 500 документов в каждой коллекции).

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

Дополнительная информация

См. наше руководство по устранению неполадок Устранение неполадок с подключением.