Databases now and in the future

Dear all,

I'm working on a project that needs a solid base for future growth.
It's currently build in PHP with MySQL, its a very simple registration system in itself.
But we foresee large transactional load for the system, like a few million users doing one or more transactions per day.
The details of the transactions are not complex more like 40 or something items on a form.

Now what i know is that my current setup is not able to handle this profile and i need some information based on research or experience

How can a NoSQL database help me in this respect if at all?
How can a NewSQL Database help me in this respect if at all?
If I stay with the current solution how should i go about this?

I ask this because it looks like a NoSQL db is very attractive for my setup, every form could be a single complete item in the db instead of having it linked throughout the table set that marks a relational db. But i just have been looking on the surface and would like to have a few more informed opinions on this topic.

Thanks
Brian
LVL 44
bruintjeAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

 
Dave BaldwinFixer of ProblemsCommented:
Here is a discussion of Wordpress for high traffic sites that addresses some of your concerns.  http://codex.wordpress.org/High_Traffic_Tips_For_WordPress
0
 
Dave BaldwinFixer of ProblemsCommented:
Notice that they are talking about 100,000 hits a day and you're talking about 40 times that.  When you have that kind of traffic, you may need more servers in a well-connected data center, not a 'better' database.
0
 
bruintjeAuthor Commented:
>>you may need more servers in a well-connected data center, not a 'better' database.

i read up a bit on the alternatives and high traffic low complexity databases

and yes i realize that we need more servers to spread the load, databases will be split up by group of users and run on their own server

i'm starting to believe that a nosql database are delivering to a specific need and it comes very close to the requirements we have

but then i still would like to know what kind of database and how to implement them on the hardware as we plan for our own servers it's easy to configure them per our requirements
0
 
Dave BaldwinFixer of ProblemsCommented:
I looked up "NoSQL" and it describes a number of different databases and "NewSQL" is not a database but a scripting language to access existing databases.  You probably need to set up some test servers with some of the databases you're looking at.  You need to make sure you can get the interfaces running with the code you have.  Companies like Google have very large resources to create their own database systems.  Most others don't.
0
 
DubouxCommented:
You should first have a look at your code and db structure...
Usually this is the largest area wherein you can win on speed and saving resources.

Have as little queries as possible, optimize your queries, recheck your indexes.
Take a good look at queries that take longer than a second or half a second, and fix those issues.
Use MySql only for fetching and inserting data. Don't sort. Use PHP for all the rest.

If still needed, 2nd step could be "rsyncing" ur db with every insert/update/delete query (there's a general function/setting for this in MySql) on another server which u'll only use for selects for ur own.


If u're just talking abt inserting a 40 field form into a db, then there's not much to do for a MySql process...

U could also create "archive" tables... Duplicates of the table(s) u use, but with data that won't be used by the visitors, so u can keep ur live tables as small as possible, so your selection queries won't have to go through so many records.
0

Experts Exchange Solution brought to you by ConnectWise

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.