You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@syncope.apache.org by Andrea Patricelli <an...@apache.org> on 2020/02/18 10:12:57 UTC
[DISCUSS] Propagation task executions and no-SQL persistence
Good morning all,
In my experience, in almost each Syncope project I worked on, I had to
face sooner or later with the huge size of the tables storing
propagation tasks and their executions (TASK and TASKEXEC). Despite the
possibility to tune execution storage and verbosity, in the first phases
of the projects (in test or even in production mode) it is useful to set
the most verborse trace level for CRUD operations and sometimes also for
pull/push ones. This because information stored (mainly) into the
propagation tasks executions are very useful for debugging purposes and
to understand what happened in case of errors, but also in case of
successful operations.
Thus most of the times, due to the too large size of TASK and TASKEXEC
tables, we are forced to clean up them (usually by date) to speed up
queries on propagation tasks and to make the console section that shows
resource propagation tasks usable.
Moreover in some cases it is very useful to analyze execution details,
that for propagation tasks, for example, contain the payload (in JSON
format) sent to the resource. At the moment there isn't the possibility
to parse and to make granular queries on task executions.
This said, I would suggest to add to Syncope the possibility to manage
such information, at least the ones into task executions (TASKEXEC
table) as big data or, generally speaking, as no SQL information. The
nearest solution could be the use of Elasticsearch as a possible
storage, mainly because it has successfuly been embedded into Syncope
[1] and is easily queriable (also through a free console as Kibana [2]).
Obviously no-SQL world is wide, so we can consider usign another
technology as MongoDB, a graph database, ecc. But, sincerely speaking, I
do not see the need to add another technology and dependency(ies) to the
project.
Lastly, I'm not suggesting to implement it right now, but at least to
discuss about to add this feature to the roadmap or not.
WDYT?
Best regards,
Andrea
[1] https://syncope.apache.org/docs/2.1/reference-guide.html#elasticsearch
[2] https://www.elastic.co/kibana
--
Dott. Andrea Patricelli
Tel. +39 3204524292
Engineer @ Tirasa S.r.l.
Viale Vittoria Colonna 97 - 65127 Pescara
Tel +39 0859116307 / FAX +39 0859111173
http://www.tirasa.net
Apache Syncope PMC Member