[aprssig] distributed findu possible ?

Michael Conrad do5mc at friggleware.de
Sat Aug 9 16:22:41 EDT 2008


> Mmm...  like that all my embedded APRS IGATE systems would run database
> storage that can be queried from network at large ?
maybe, but there are only responsible for a small part of the whole database.
I think, there would be no need for a classical database, all the data could
be stored directly in memory without any kind of persistent storage. (see below)

> An APRS-IS server needs around 400 MB of history databases and lookup
> storages in order to recall last heard position for station X.
> Why for station X ?  Somebody wants to get packets whose destionation
> location is within 20 km of station X,  or want to know if a message
> to station X is within igate service area, or ....
yes, but if you are only responsible for 1/100 of the world, 4 MB would be sufficient.

> User-interface runs the entire application, and is thus able to interact
> with servers to locate correct database nodes ?
The user interface should be web-based (like findu, aprs.fi, ...). The position report
script could be redirect the user to the responsible node.

> I have ran test extracts of full APRS-IS feed a few times.
> I recall it being 115 000 - 130 000 APRS data records per hour.
> Another view:  10-11 MB/hour of network traffic.  (250 MB per 24h, etc.
> plus lookup indices.)
> Anyway: 30-40 APRS records per second all day around.    That begins to
> make a serious challenge on database insert unless there is really smart
> indexing.
I have read the yearly statistics from aprs.fi (has findu.com somethin similiar?).

Like written above, there are about 30 APRS records per second, coming from less then 15000
unique APRS stations and producing 120000 APRS records per hour.

If we have a distributed system consisting of 100 peers (nodes) in average each peer
is responsible for 150 stations or 1200 APRS records per hour. This will result in 0.3
APRS records per second (or 1 APRS records per 3 seconds) or 2.5 MB data per day.
With a 48h history, each peers has to store 5 MB APRS data.

If such a system has the same user load like findu (2 mio pages), each peer has to perform
20000 pages per day (15 page request per minute). This should be no problem for a cheap
root server, even a small pc connected via dsl could eventually handle this.

I would prefer small embedded pcs (like alix, see http://www.pcengines.ch/alix.htm). Such a system
has 256 MB RAM, 500 MHz AMD Geode CPU and is only consuming 5 W (about 10 EUR costs for power here
in Germany). System will boot from a (read only) flash device, no hard disk, no moving parts.



PS: The data per peer would be much better, if 500 or 1000 peers exist ;-)
PSS: I will write down some information about performance requirements and a possible system design and will be coming 

More information about the aprssig mailing list