I am looking for a database that could handle (create an index on a column in a reasonable time and provide results for select queries in less than 3 sec) more than
Pretty much every non-stupid database can handle a billion rows today easily. 500 million is doable even on 32 bit systems (albeit 64 bit really helps).
The main problem is:
Both Postgres as well as Mysql can easily handle 500 million rows. On proper hardware.