Работа с MongoDB в Glarus BI¶
Glarus BI поддерживает MongoDB версии 4.2 или выше.
Как Glarus BI синхронизирует данные в MongoDB¶
Поскольку MongoDB содержит неструктурированные данные, Glarus BI использует другой подход к синхронизации метаданных вашей базы данных. Чтобы получить представление о схеме, Glarus BI просканирует первые десять тысяч документов каждой коллекции в вашей MongoDB. Эта выборка помогает Glarus BI делать такие вещи, как отличать поля даты и времени от строковых полей, а также предоставлять людям предварительно заполненные фильтры. Причина, по которой Glarus BI сканирует только образцы документов, заключается в том, что сканирование каждого документа в каждой коллекции при каждой синхронизации может создать слишком большую нагрузку на вашу базу данных. И хотя выборка довольно хорошо поддерживает актуальность Glarus BI, это также может означать, что новые поля иногда могут не отображаться, что приводит к проблемам с визуализацией или даже к тому, что поля не отображаются в ваших результатах. Для получения дополнительной информации ознакомьтесь с нашим руководством по устранению неполадок.
Подключение к MongoDB¶
Перейдите в Управление -> Базы данных и нажмите кнопку Добавить базу данных. Выберите MongoDB из раскрывающегося списка и введите желаемое Отображаемое имя для этой базы данных.
Есть два способа подключения к MongoDB:
Использование полей Glarus BI для ввода сведений о соединении.
Вставьте свою строку подключения.
Использование полей Glarus BI¶
По умолчанию подключение к MongoDB осуществляется путём заполнения сведений о подключении в полях, предоставляемых Glarus BI:
хост;
имя базы данных;
порт;
имя пользователя;
пароль;
база данных аутентификации (необязательно);
дополнительные параметры строки подключения (необязательно).
У вас также будет возможность Использовать безопасное соединение (SSL). Включите SSL и вставьте содержимое цепочки сертификатов SSL сервера в текстовое поле ввода. Этот параметр доступен только для этого метода подключения (т.е. вы не можете включать сертификат при подключении с помощью строки подключения).
Расширенные настройки для прямого подключения¶
Использовать DNS SRV при подключении. Для использования этой опции необходимо, чтобы указанный хост был полным доменным именем. При подключении к кластеру Atlas вам может потребоваться включить этот параметр. Если вы не знаете, что это значит, оставьте отключенным.
Использование строки подключения¶
Если вы предпочитаете подключаться к MongoDB с помощью строки подключения, нажмите Вставить строку подключения. В пользовательском интерфейсе Glarus BI появится поле для вставки строки подключения.
В настоящее время Glarus BI НЕ поддерживает следующие параметры строки подключения:
tlsCertificateKeyFile
tlsCertificateKeyFilePassword
tlsCAFile
Если вам нужно использовать сертификат, подключитесь с помощью метода по умолчанию и включите Использовать безопасное соединение (SSL).
Настройки, общие для обоих вариантов подключения¶
Использовать туннель SSH: к некоторым установкам базы данных можно получить доступ только при подключении через хост-бастион SSH. Эта опция также обеспечивает дополнительный уровень безопасности, когда VPN недоступна. Включение этого обычно медленнее, чем прямое соединение.
Повторно запускать запросы для простого исследования: если этот параметр включен, Glarus BI будет автоматически выполнять запросы, когда пользователи выполняют простые исследования с помощью кнопок «Суммировать» и «Фильтровать» при просмотре таблицы или диаграммы. Вы можете отключить это, если запросы к этой базе данных выполняются медленно. Этот параметр не влияет на детализацию или SQL-запросы.
Выберите время синхронизации и сканирования: по умолчанию Glarus BI выполняет облегчённую ежечасную синхронизацию и интенсивное ежедневное сканирование значений полей. Если у вас большая база данных, мы рекомендуем включить эту функцию и проверить, когда и как часто происходит сканирование значений полей.
Периодически повторять отпечатки таблиц: этот параметр, отключенный по умолчанию, позволяет Glarus BI сканировать дополнительные значения полей во время синхронизации, обеспечивая более разумное поведение, например, улучшенное автоматическое объединение гистограмм.
Настройка 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 glarusBI.jar
Узнайте больше о настройке SSL с MongoDB.
Подключение к кластеру MongoDB Atlas¶
Чтобы убедиться, что вы используете правильную конфигурацию подключения:
Войдите в свой кластер Atlas.
Выберите кластер, к которому вы хотите подключиться, и нажмите Подключить.
Нажмите Подключить приложение.
Выберите Java и версию.
Результирующая строка подключения содержит соответствующую информацию для предоставления в Glarus BI формы «Добавить базу данных» для MongoDB.
Скорее всего, вы захотите выбрать параметр «Использовать DNS SRV», который более новые кластеры Atlas используют по умолчанию.
Общие проблемы с подключением¶
Подключайтесь с помощью
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 получит выборку полей в коллекции, просканировав выборку из 1 000 документов в каждой коллекции (первые 500 документов и последние 500 документов в каждой коллекции). Если в этих документах не будет обнаружено новых полей, Glarus BI не будет знать о них.
Если вы не видите все поля в коллекции в Glarus BI, один из способов решения проблемы — включить все возможные ключи в первый документ коллекции и присвоить этим ключам значения null. Так Glarus BI сможет распознать правильную схему для всей коллекции.
Дополнительная информация¶
См. наше руководство по устранению неполадок устранение неполадок с подключением.