Am Mittwoch, 21. Februar 2018, 10:33:23 CET schrieb Daniel-Constantin Mierla:
[..]
We were recently in a (lucky) situation to have two new modules
submissions targeting more or less the same purpose: allowing to use
Kamailio with a Redis backend via database API.
[..]
So, there are few things I want feedback on:
1) how do you fill about splitting from a generic-only DB connectors to
have also some dedicated ones? This is more from confusion point of
view, as a general rule so far, we do not deny contributions if there
are other options for same kind of feature (e.g., many lcr or nat
traversal options). As long as the contributor is willing to maintain
the code, we were fine.
2) I guess usrloc, presence and dialog modules would be the main
suspects that would benefit for such dedicated connectors, in other
cases might not worth adding dedicated connectors. Missing any other
module one would like to squeeze more performances with a dedicated
connector?
Hello,
I also think that the possibility to use a generic DB connection module to
interact with several databases from different modules is really beneficial in
Kamailio and we should keep this possibility.
Even if there is a small performance penalty in using a more generic module I
still think the benefits in maintenance over the long term are in favor of
only one generic redis module (as in this example). In the end processors are
still getting faster/getting more cores every year. Our maintenance and
reviewing capacity especially for core and plumping parts stays more or less
the same.
If there are bigger performance differences (like an order of magnitude)
between the two modules then the reason is probably some implementation issues
in the code. In this case they should be simply fixed in the generic module.
Best regards,
Henning
3) should we set a different naming policy for such
modules, for
example: use *dbs_* prefix instead *db_*, to suggest better it is a
DataBase Specific connector?
4) Andreas said he plans to do some performance testing of usrloc module
with the two modules and see the differences. Anyone else that wants to
do it? It can be a good metric to see if it worth going one way or another?
5) Helping to review the pull request, specially if you use Redis, is
appreciated. Personally I am very short in available time these days,
next week I plan do to new Kamailio stable releases, so the schedule is
not getting lighter in my side.
Cheers,
Daniel