pyDatalog: возможно ли определить несколько независимых сеансов регистрации данных?

Я работаю над кодом, который оценивает данные в базе данных, чтобы увидеть, соответствуют ли экземпляры в потоке входящих событий ряду протоколов. Идея состоит в том, чтобы использовать pyDatalog для этого. В идеале мы хотели бы иметь возможность оценивать данные по нескольким независимым наборам правил, которые определяют отдельные протоколы, которым должны соответствовать события.

Другими словами, возможно ли создать несколько логически независимых сеансов pyDatalog, каждый из которых имеет свои собственные наборы правил, но берет данные из одной и той же базовой базы данных?

1 ответ

Решение

Поддержка нескольких наборов правил запланирована на выпуск 0.14, а также безопасность потоков.

В текущем и предыдущем выпусках вы можете хранить разные наборы правил в одном и том же сеансе pyDatalog, при условии, что нет конфликтов имен предикатов. Например, вы можете добавить к каждому предикату префикс по идентификатору набора правил, которому он также принадлежит. Затем, вызвав соответствующий предикат, вы активируете соответствующий набор правил без видимой потери производительности.

Для предикатов с префиксом (ссылающихся на класс Python, например Employee.id[X]==Y), вам необходимо создать подклассы Python с соответствующим префиксом. Вы могли видеть некоторое снижение производительности, но оно должно быть небольшим.

Другие вопросы по тегам