I’m going to start a large web application, the app will be powered by PHP (YiiFramework), and I wish to build before launching the app a strong and high scalability architecture able to handle huge amount of traffic.
The app SQL queries approx (80% read, 20% between update & insert), I have actually 15 tables in the database, and many mediumtext columns, it will be many queries searching by text eg(WHERE foo LIKE ‘%VARS%’)
I will use PHP APC to boost performance, as well starting with a Memcached server, and work with Nginx as reserve proxy.
for Database:
can a NoSQL database replace RDBMS like MySQL?
Is NoSQL database is more efficient than MySQL?
What is the best NoSQL database solution for my case (80% read, 20% between update & insert), and why?
LIKE ‘%term%’ will not scale. The queries will always be O(N) based on the number of rows in the table. As you add rows, the query will get slower.
You will want to use text indexes. Look at using Sphinx or SOLR.
Sphinx full text search
SOLR full text search