Experienced mySQL/PHP developer needed for a complex database project. Do not apply unless you can reference several successful projects you have completed involving large mySQL databases.
You will be tasked with creating a unified mySQL database by combining 30 datasets (totaling between 30,000,000 - 60,000,000 records) and developing a search interface and optimizing the database to allow certain queries to be performed very quickly.
This is not a simple project- so DO NOT APPLY UNLESS YOU ARE VERY CONFIDENT IN YOUR mySQL/PHP skills!
## Deliverables
**Database Indexing and Search Project:**
The goal of this project is to take a large set of records and create a database that can be searched using a variety of queries.
The initial goal is to replicate the functionality and query speed of this site: [[login to view URL]][1]
**Project Details:**
We have 30 data sets for various states in the U.S. Each set contains between 100,000 ??" 8,000,000 records. Cumulatively the total number of records is expected to be in the 40,000,000 ??" 60,000,000 range (that is our best estimate and may change a little).
Here is a sample record:
{First Name}{Middle Initial}{Last Name}{Address}{Address2}{City}{State}{Zip Code}{Property Type}{Property Amount}{Property ID}
We need a provider to take all these data sets (some are in .csv and some are in .sql format) and create a single unified structure and database.
We need the provider to create, using whatever technique he deems best, an index and optimize the database so that queries can be performed extremely quickly (none taking longer than 5 seconds). We also want the application to be built to handle a significant number of queries and spikes in the number of queries.
Query #1: {First Name}{Last Name} ->generate an amount that sums all the {Property Amount}s associated with the name entered. The query needs to display {First Name}{Last Name}{Sum of All Property Amounts}. This query will need to execute very quickly even when searching for common names that will match many of the records. Logic will also need to be built to search for common variations of the name entered. (Speed is critical for this query)
Query #2: {First Name}{Last Name}{State} -> generate results that include all the records (with all their information displayed) that match the query.
We have 3-4 other queries that we need to add to the website after the first two are completed.
**System Admin and Ongoing Database Support:**
We are also looking for a provider to recommend the hardware and software configuration (all open source) that will allow for optimal site performance. The provider will also set up (or work with our hosting provider to set up) all the servers and related software. We expect the provider to monitor database performance and perform general database admin functions on an ongoing basis.
**Additional Ongoing Activity:**
As we get user feedback we plan to add additional database driven functionality to the website. We expect the provider to continue to be available to work on these projects.