I have a project in which I need to develop a database, so I am posting a bid request to find someone to help me do this. There are a few quarks to the database though. The DB is not built yet, so please read the description of what I need and decide if you can help complete it, and how.
One column of the database will be binary data of 144 bytes. A second column will be an identifier column (string). Then of course a unique identifier column so there aren't duplicate entries.
However, querying the database is where I am having some conceptual issues. To query I have another binary variable of 144 bytes that I need to multiple by the binary column of the database to take the dot product. In other words, the first byte of the query data multiplied by the first byte of the binary database record. Then add that to the second byte of the query data multiplied by the second byte of the database record. Then add that to the third....you get the idea. This results an integer, and is called the scalar dot product of the two binary datasets.
Moving on, the query needs to compute the dot product between the query binary data and the binary data for each record in the database and return the highest value.
The problem is that I have millions of records, so using a recursive loop to calculate the dot product seems out of the question. Additionally, the speed of the query is always a concern. Faster is better :)
Can someone see how this type of database should be setup? I am open to using any architecture, so long as it runs on Windows. MSSQL, MySQL, MongoDB, Whatever, etc.
When bidding, please give me a little information about how you might be able to accomplish this...please no "I can do it" bids consisting of one line and doesn't tell me anything about your database programming skills.