Определение модели ThingWorx в Composer > Хранилище данных > Поставщики хранилищ данных > Использование PostgreSQL в качестве поставщика хранилища данных
Использование PostgreSQL в качестве поставщика хранилища данных
PostgreSQL - объектно-реляционная база данных с открытым исходным кодом. Поставщик хранилища данных PostgreSQL поддерживает поставщиков как моделей, так и данных.
* 
Для начала работы с PostgreSQL требуется регистрация, установка и конфигурирование. Большая часть этого процесса выполняется независимо от ThingWorx и описана в разделе Установка ThingWorx.
Высокая доступность в PostgreSQL
Можно также использовать функциональность высокой доступности (HA) в PostgreSQL как часть вашего решения для данных. HA предоставляет опцию настройки отдельных серверов для получения возможности чтения и записи данных в случае сбоя на основном сервере базы данных. Подробные сведения и инструкции по установке и развертыванию функциональности HA, используемой в составе вашей реализации PostgreSQL, см. в соответствующих разделах руководства.
Процесс верхнего уровня для реализации PostgreSQL
1. Определите, является ли PostgreSQL подходящим решением для ваших данных. Дополнительные сведения см. в разделах по определению размеров и планированию.
2. Загрузите и установите PostgreSQL. Этот процесс выполняется независимо от ThingWorx. Это руководство содержит пример развертывания.
* 
В стандартную реализацию PostgreSQL включен поставщик хранилища данных, недоступный для редактирования в ThingWorx. Однако его можно отредактировать в файле platform-settings.json или с помощью сервисов.
3. Если нужно создать дополнительные экземпляры поставщиков хранилищ данных, которые будут соединены в ThingWorx с хранилищем данных PostgreSQL, перейдите в меню Хранилище данных > Поставщики хранилищ данных и щелкните зеленый значок плюса (+).
4. На экране Общая информация введите наименование поставщика хранилища данных.
5. В поле Пакет поставщика хранилища данных используйте магическое средство выбора, чтобы выбрать пакет поставщика хранилища данных PostgreSQL.
6. Щелкните Конфигурация и сконфигурируйте следующие настройки.
Для редактирования доступны следующие настройки очереди потоков и потоков значений, которые должны применяться ко всем потокам и потокам значений. Невозможно изменить эти настройки для конкретного потока или потока значений.
Настройки процессора потоков
Базовый тип
По умолчанию
Заметки
Максимальный размер очереди
Число
250000
Максимальное количество записей потока для постановки в очередь.После того как указанное значение будет достигнуто, следующие записи будут отклонены.
Максимальное время ожидания перед сбросом буфера потока (мс)
Число
2000
Число миллисекунд, в течение которых система ожидает, прежде чем сбросить буфер потока
Число потоков обработки
Число
5
Число потоков обработки, выделенных данному потоку
Максимальное число элементов перед сбросом буфера потока
Число
500
Максимальное число элементов, которое может быть накоплено перед сбросом буфера потока
Максимальное число операций записи потока в блоке обработки
Число
2500
Максимальное число операций записи потока в блоке обработки
Частота сканирования статуса буфера (мс)
Число
5
Статус буфера проверяется в соответствии с указанным значением частоты (в миллисекундах).
Тайм-аут запроса
Число
600000
Длительность времени ожидания выполнения запроса (в миллисекундах) перед его отменой.
Тайм-аут сети
Число
900000
Длительность времени ожидания потоком ответа от базы данных (в миллисекундах).
Если ответ не получен за сконфигурированный промежуток времени, платформа закрывает базовое соединение и освобождает поток, ожидающий ответа.
Тайм-аут производителя
Число
3000
Эта настройка применяется к процессорам записей потока и в настоящее время действует только для процессора сохраняемых свойств.
Если очередь заполнена и в ней нет места для новой записи, это максимальное время (в миллисекундах, в течение которого производитель будет ожидать помещения записи в очередь. Если после превышения времени ожидания очередь все еще заполнена и в ней нет доступного места, запись не будет добавлена в очередь.
Настройки процессора потоков значений
Базовый тип
По умолчанию
Заметки
Максимальный размер очереди
Число
250000
Максимальное количество записей потока значений для постановки в очередь.После того как указанное значение будет достигнуто, следующие записи будут отклонены.
Максимальное время ожидания перед сбросом буфера потока значений (мс)
Число
2000
Число миллисекунд, в течение которых система ожидает, прежде чем сбросить буфер потока значений
Число потоков обработки
Число
5
Число потоков обработки, выделенных данному потоку значений
Максимальное число элементов перед сбросом буфера потока значений
Число
500
Максимальное число элементов, которое может быть накоплено перед сбросом буфера потока значений
Максимальное число операций записи потока значений в блоке обработки
Число
2500
Максимальное число операций записи потока значений для обработки в одном блоке
Частота сканирования статуса буфера (мс)
Число
5
Статус буфера проверяется в соответствии с указанным значением частоты (в миллисекундах).
Тайм-аут производителя
Число
3000
Эта настройка применяется к процессорам записей потока и в настоящее время действует только для процессора сохраняемых свойств.
Если очередь заполнена и в ней нет места для новой записи, это максимальное время (в миллисекундах, в течение которого производитель будет ожидать помещения записи в очередь. Если после превышения времени ожидания очередь все еще заполнена и в ней нет доступного места, запись не будет добавлена в очередь.
Настройки трассировки стека соединения с базой данных
По умолчанию
Заметки
Насыщение порога пула соединений с базой данных для инициирования трассировки стеков (в процентах)
90
Пороговое значение для пула соединений с базой данных, чтобы достичь насыщения для инициирования отслеживания стека.
Число наборов трассировки стека после инициирования регистрации
5
Количество записей набора трассировок стека, зарегистрированных после инициирования настроек трассировки стека
Интервалы регистрации трассировки стека (в секундах)
10
Временной интервал, в течение которого будут регистрироваться отслеживания стека.
Минимальное прошедшее время перед следующим инициированием регистрации трассировки стека (в минутах)
60
Минимальное время, затраченное до повторного инициирования регистрации трассировки стека.
Продолжительность удерживания соединения для регистрации трассировки стека (в миллисекундах)
1000
Длительность времени удержания соединения для регистрации трассировки стека.
Для соединения с PostgreSQL необходима информация о соединении
Наименование
Значение по умолчанию
Заметки
URL-адрес JDBC
jdbc:postgresql://localhost:5432/thingworx
URL-адрес JDBC базы данных, соединения с которой должны быть получены. Можно указать несколько схем в этом URL-адресе.
Имя пользователя
thingworx
Имя пользователя, используемое для получения соединения с базой данных
Пароль
Н/Д
Пароль, используемый для получения соединения с базой данных
Начальный размер пула подключений
5
Число подключений, которые пул пытается получить при запуске
Инкремент получения подключения
5
Определяет, сколько подключений будет получено, когда пул будет исчерпан
Максимальный размер пула подключений
100
Максимальное количество подключений, которое сохраняется в пуле в любой момент времени
Минимальный размер пула подключений
5
Минимальное количество подключений, которое сохраняется в пуле в любой момент времени
Максимум кэшированных операторов
100
Размер глобального кэша PreparedStatement
Класс драйвера
org.postgresql.Driver
Класс драйвера JDBC базы данных
Получить значение повторных попыток
3
Определяет, сколько раз пул подключений может пытаться получить новое подключение
Задержка между попытками получения
10000
Время в миллисекундах, в течение которых пул подключений будет выжидать между двумя попытками получения
Время ожидания повтора получения
1000000
Число миллисекунд, в течение которых клиент, выполняющий вызов getConnection, будет ожидать выделения (получения) подключения, если пул исчерпан
Максимальное время неиспользования
0
Число секунд, в течение которых подключение может оставаться в пуле без использования, прежде чем оно будет отменено. Ноль означает, что время ожидания для подключений не ограничено.
Максимальное время подключения
0
Подключения, которые существуют дольше этого времени (в секундах), будут разорваны и удалены из пула. Ноль означает, что время существования не ограничено.
Число вспомогательных потоков
8
Медленные операции JDBC обычно выполняются вспомогательными потоками, которые не содержат конфликтных блокировок. Распределение этих операций по нескольким потокам может значительно повысить производительность благодаря возможности одновременного выполнения нескольких операций.
Невозвращенное время ожидания соединения
0
Если приложение получает подключение, но не закрывает его в течение заданного периода времени (в секундах), пул разорвет соединение. Ноль означает отсутствие времени ожидания, и предполагается, что приложения сами должны закрывать свои соединения.
Максимальное время для избыточных подключений
300
Число секунд, в течение которых разрешено, чтобы подключения сверх minPoolSize оставались неактивными в пуле, прежде чем они будут разорваны. Ноль означает отсутствие ограничения, т. е. избыточные подключения не разрываются.
7. При необходимости выполните миграцию сущностей и данных.
8. Контролируйте и поддерживайте вашу реализацию PostgreSQL. В этом руководстве приведены рекомендации по успешному созданию плана технического обслуживания.
Было ли это полезно?