Expert advice for near real time object tracking

26 views
Skip to first unread message

nova

unread,
Jul 18, 2015, 5:24:22 AM7/18/15
to redi...@googlegroups.com

We are doing some R&D related to tracking objects. For example, let's say we need to track vehicles & plot it's path on a map in real-time. In addition the coordinates will have to be saved to the DB so we can re-call the paths. We think this is similar to a chat application where;


1) Interested parties will login in & SUBSCRIBE to a channel (say RoomX)

2) Vehicles will PUBLISH it's location lat/long to RoomX

3) When new data point (lat/long) gets to RoomX, new coordinates get published to others who have subscribed to RoomX. At client app, we can plot the path based on the receiving lat/long

4) At the server incoming lat/long data will get persist so that we can re-call the path a vehicle took at any given time/date


Vehicles will publish it's locations based on it's speed (ex:- if it's moving slow, lat/long will be sent every 10 seconds, but if it's moving fast lat/long data will be sent every second)


We think Redis pub/sub model is ideal for this situation. But if there are 1000+ vehicles constantly on the move and there are lot of parties subscribed to channels, how well Redis will handle incoming data load? I couldn't find any performance statistics for a similar use case.


I have read about geospatial related techs. which I haven't started to R&D. So I am not sure how useful they are for this use case.


Expert thoughts are appreciated.

Josiah Carlson

unread,
Jul 18, 2015, 5:25:48 PM7/18/15
to redi...@googlegroups.com
Whether Redis will be able to handle your required pubsub load will depend on several things. The biggest factor will be whether you have a fast enough machine on a good network connection - a slow machine on a slow network connection will be slow regardless of the number of vehicles you have sending updates.

Assuming you've got a recent Intel Core i5 or i7, and you're on at least 1gbit ethernet, you should be able to handle 10k vehicles updating their position every second, with each vehicle having 100 subscribers each. If you are doing your math, you shouldn't have any issues with Redis sending out roughly 1 million total location updates to subscribers every second - again assuming a decent server and a decent network connection. If you need more subscribers, you can add slaves and have your subscribers subscribe to the slaves. Or you can run multiple servers and shard based on your "roomX".

Long story short: yes, Redis can handle your use case. As could just about any publish/subscribe system worth talking about.

 - Josiah


--
You received this message because you are subscribed to the Google Groups "Redis DB" group.
To unsubscribe from this group and stop receiving emails from it, send an email to redis-db+u...@googlegroups.com.
To post to this group, send email to redi...@googlegroups.com.
Visit this group at http://groups.google.com/group/redis-db.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages