I am a student doing my Final Year Project where I need to build an android application for on the road navigation. The problem is the application has a feature that alerts the user of nearby incoming vehicles (that have the same system) when the user is near to a junction by updating and getting positions of vehicle in a database in real time. Hypothetically speaking, if there are millions of vehicle or user using the same system, what database can process these amounts of transactions very fast, let's say maximum response time is 1 second per application?

I have literally no knowledge regarding the types of database.


I don't think the database server will be your bottleneck. Many databases can do sub-second responses to queries provided your database is scaled and designed correctly.

I think you need to be asking yourself questions about how the android devices will connect (mobile internet can be slow sometimes), how your middle tier logic will work and how the devices will communicate with the middle tier.

If you are serious about having millions of vehicles on the system you need to be thinking about how often each of them will update their location and how often the other cars will ask for nearby cars.

Let's say you have a million of cars, and each device has to get a sub-second status update about the nearby cars, that would mean that cars need to update their status every half a second and every car requesting statuses every half a second.

That's millions of requests per second from the devices to your web services and millions of queries per second from your middle tier to your database server. Keeping in mind that your web service will need to calculate proximity, take into account maps and streets and the like, i think your database platform will be the least of your worries.

  • So, let's just leave web services and stuffs out of the picture for now and since I've learned about the basics of Microsoft SQL Server, can it sustain constantly over million queries for a long period of time?
    – K3v
    Feb 13 '15 at 11:24
  • Not easily, you won't be able to install a server on a standard box. To put things in perspective, Facebook has about 10 million queries per second. They have an entire team handling their database servers and development is all about performance too
    – Tom V
    Feb 13 '15 at 12:42

If you really need to handle millions of veicles, you will need a dba. I mean, SQL server is Ok Oracle too, Postgresql fine.
But you will need to know how to index properly, how to partition and when historicize your data.

So, opinion based, I suggest you Postgresql: it has a good Geographic data support (this can be a plus for you), it is free and robust.

Not the answer you're looking for? Browse other questions tagged or ask your own question.