[op5-users] Ninja backend and architecture

Andreas Ericsson ae at op5.se
Tue Mar 31 10:46:05 CEST 2009


Hendrik Baecker wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> 
> 
> Andreas Ericsson schrieb:
>> Matthias Flacke wrote:
>>> Can you explain your decision a bit more? We all know about
>>> constraints and weaknesses in NDO. But was performance the only
>>> reason to create a proprietary DB model and leave the compatibility
>>> path for all addons based on NDO?
>>>
>> Not entirely. The new database model is also a lot simpler to
>> understand and write queries for. Those two sort of go hand in hand
>> though, since complex queries are often very difficult to optimize
>> well, and difficult to create an optimized database for.
>>
>> However, the primary reason we didn't stick with NDOUtils is that
>> it doesn't scale linearly, and we failed to find a way to fix that.
>> In other words, a query against a database with 100 services may
>> take 1 second, but if you increase the number of services to 1000,
>> the same query takes somewhere around 50 or 60 seconds instead of
>> the expected 10. This behaviour can be seen relatively early, and
>> indicates that the database model just won't work in a network with
>> oh, let's say 50000 services.
>>
> hm... are you talking about INSERT/UPDATE queries or SELECTs?

SELECT's, on one weeks worth of the data stored we need to do what
we do today. The timings are not exact, but it's not a linear scaling,
neither with time nor with objects, and that's where it rather falls
apart. We could sort updating, but we won't since there are other
issues.

> 
> To the rest of Ninja [btw: A realy good name ;) ]:
> I love the idea of a new Web Interface. Your thought about different
> widget handling to get a modular framework is awesome!
> But for the most of the nagios users out there nagios is complex enough.
> Why building another dependency on other software like Merlin?

Because we need the scalability that a database offers, and we already
rely on a database for our reporting solution (which we won't change).
However, since the various components are neatly separated and there's
supposed to be an API to retrieve data, it will be possible to write
a file-based API as well. We won't do that initially, but if someone
else picks up the ball I'm sure we'll help keep it rolling.

> I would appoligize to be straight forward, but I think everyone want's
> to have a new WebUI but only middle up to huge environments will benefit
> from merlin.
> I were realy excited to contribute to ninja,

Awesome to hear! :)

> but I fear the merlin
> dependency as another failuresource in the nagios workflow.
> 

Not so awesome to hear :-/
Have some faith in my mad coding skills ;-)

Merlin will be heavily tested, both for scalability and
stability. We're sort of basing our business on the fact
that our solution *will* work just fine.

Besides, we already have quite a lot of code for parsing
status and things like that from the files, so a file-based
API shouldn't be too hard to hack up. When we have some
time and the db-based API is starting to take shape, I'll
try to add the object parsing stuff to the ninja repository
in its raw state so volunteers can get a kickstart for
writing a filebased API that can be slotted in in place of
the db-based one.

-- 
Andreas Ericsson                   andreas.ericsson at op5.se
OP5 AB                             www.op5.se
Tel: +46 8-230225                  Fax: +46 8-230231

Considering the successes of the wars on alcohol, poverty, drugs and
terror, I think we should give some serious thought to declaring war
on peace.


More information about the op5-users mailing list