Насколько большими могут быть постоянные данные Opensplice DDS?
Интересно, могу ли я поместить большой объем данных в свое программное обеспечение или я вынужден использовать внешнее решение?
Сколько данных я могу поместить, используя постоянство OpenSplice DDS или RTI DDS?
1 ответ
Это зависит от вашего определения "размещения постоянных данных". В OpenSplice-DDS есть несколько способов "сохранить" энергонезависимые данные, "сохранив" их на некоторых энергонезависимых носителях. Первый способ - публиковать данные как PERSISTENT (durability-QoS) в сочетании с наличием одного или нескольких durability-services (которые "стандартны" доступны в ядре OpenSplice [LGPL-v3], то есть не являются дополнительной / коммерческой функцией). При запуске системы сервисы durability (обычно первого узла, который запускается) будут внедрять сохраненные данные в "глобальное пространство данных", и таким образом они будут доступны каждому приложению (которое может заблокировать ввод этой информации). через API wait_for_historical_data). Типичным ограничением размера постоянных данных является размер доступной памяти, чтобы "держать ее" после публикации (или поместить в DDS_terminology: ограничения ресурсов, как указано для "службы долговечности", выраженные в max_samples, max_samples_per_instance и max_instances для каждая постоянная тема). Обратите внимание, что вы можете PERSISTENT данные использовать в качестве подмножества данных TRANSIENT, и если у вас настроено несколько служб durability, они будут "выравнивать" друг друга при запуске (и / или добавляя новый узел, для которого также настроена служба durability). в результате этого НАСТОЯЩИЕ данные будут мгновенно доступны при запуске приложений и / или присоединении к уже работающей системе.
Второй способ - использовать надстройку, которая прозрачно "реплицирует" (двухсторонние) данные между DDS и системой СУБД (совместимой с ODBC 3.0). OpenSplice DDS имеет подключаемый сервис для этого, называемый DBMSConnect, который может быть настроен для пересылки данных в обоих направлениях, либо на основе событий, либо на основе состояния (с пониженной выборкой), а также с потенциальной фильтрацией содержимого.
Третий способ (для OpenSplice) заключается в использовании универсального шлюзового продукта под названием "OpenSplice Gateway", который использует Apache Camel и, следовательно, все "коннекторы", доступные для этой инфраструктуры. Здесь вы можете определить "маршруты" и конечные точки, которые позволяют направлять ваши данные DDS в / из более чем 80 технологий, не относящихся к DDS, включая системы реляционных баз данных, которые затем позволили бы "сохранять" вашу информацию DDS.
Надеюсь, это поможет,
-Hans