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:
- 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.
- 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
- 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?
- 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?
- 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