On 07.12.2018 05:50, Chinnapaiyan, Nagamani wrote:
> Is there any plan to support redis DB as backend for kea dhcp server?
> Freeradius uses it to get more faster rate…
Not at this time.
Adding additional backend brings in a lot of initial integration work
and then ongoing maintenance effort that is significant. That ongoing
effort is much bigger than the integration. It's easy to not realize how
much extra work an extra backend brings in. We need to make sure the
code builds on all systems we're trying to support, our test executions
become longer and slower. And then, every time we touch anything related
to database backends, it would take at least 33% more time, because we'd
need to apply changes to 4 databases rather than 3.
On top of that there's also the question of how easy or difficult it is
to work with specific database. REDIS is not a relational db and this
raises warning signs all over. We experienced similar problem with
Cassandra. It's a non-relational database, so you can't have typical
relational tables there. In practice that means that every time we
change or add something to a backend, we effectively do it twice: once
for mysql (then copy it over to postgres, which uses different data
types, but the overall approach is very similar) and then scratch our
heads how to stuff things into Cassandra. And Cassandra more often than
not takes more time than mysql and postgres combined...
There's also the question of Redis similarity to memfile. Memfile is our
own in-memory implementation with disk consistency. Sure, there may be
some benefits of Redis compared to memfile, but are they significant
enough to justify the effort?
And finally, there's the business aspect here. If we were approached by
a large existing or prospective customer and they requested a new
database support, we would consider it. But it's a decision we wouldn't
Hopefully this a bit long explanation is better than a single "no".
Sorry if this is not exactly what you hoped to hear.