I need your advice on the best DBMS and Setup (High-Scalability, High-Performance, High-Reliability) for the following scenario.
Current structure: Currently I am using MySQL on one server, with INNODB.
But I plan to setup a cluster.
Tables: Person Raw Data (blobs, this data is just archived and will possibly never be used)
Person (This object will be searched and looped for most application operations)
Database use: The database will store about 3 billion people and their details.
My application (distributed-system) will need to verify people, and identify people.
(Unfortunately identification will require looping through every person until a match is found due to the nature of the identification, a simple "select * from `blah` where `blah` = 'abc' " wont work).
The requirements for my database:
Store Up to 3 billion people.
Retrieve all objects quickly. For identification loop.
Store about 15 blob objects with sizes 20-100kb per person
Need some way to join data, but mainly will only be using the person structure.
Identification and verification will need to be as quick as possible
Im thinking maybe MongoDB will be better suited to the task.