Jump to content

Trouble choosing a database API for PHP website?


Recommended Posts

I am In the process of trying to create a web comic aggregation website in php/HTML/JavaScript. I already have a mostly functional PHP RSS feed reader that grabs the image source URLs from a given feed. I am now trying to add the functionality to add these URLs to a database, as well as to download the images to a file system. I am trying to decide on a database API, but am having trouble. From my research, it seems like MySQL is pretty much perfect for what I am trying to do, unless the website grows too popular or the database grows too large, in which case I am told that MySQL will slow down significantly. Initially, the database shouldn't be that large, but over time, it will grow from RSS feeds and probably from the addition of new comics. Also, I don't think the website will become incredibly popular, but if it did and then promptly ceased functioning due to lack of a scalable database, that would certainly be a shame.


I am also considering other SQL APIs, such as Microsoft and Oracle SQL. However, from my research, it seems like MySQL is easier to use, cheaper, and has more resources to explain how to use it. So I am torn. Any recommendations for which one to choose?


Another option I am considering is to start developing in MySQL, and then if I ever run into significant performance issues from database size or website popularity, to switch to one of the more robust database APIs. I have read that this isn't too hard, but am suspicious. Can anyone give a second opinion on this assessment?


PS: I am currently running Windows 7 and developing in NetBeans 8 with XAMPP, although if and when I ever launch my website, I plan on getting a hosting plan and not hosting it myself.


Help would be much appreciated


Link to post
Share on other sites

You shouldn't worry about MySQL getting slow. It's more than enough for your website. You don't have complex relational structures on your site.

Link to post
Share on other sites

The database structure plays a big part in how quickly information can be retrieved. When you only have one table the engine does not have to compare each row of one table with multiple rows of another table. If the table is properly indexed it won't even have trouble finding something quickly when there are hundreds of thousands of records.

 

I believe you should only start thinking about changing to a different SQL server once you actually see noticeable slowdowns in queries to your database, which is unlikely to happen.

Link to post
Share on other sites

For what it's worth, the largest installations of our application have databases around 30GB total size, with multiple tables in the tens of millions of rows. Some of the larger tables with the most columns have hundreds of thousands of rows. Any problems with database scaling that we see come from database design. If the database is not efficiently designed then it doesn't matter what software or hardware you're using. It's very easy to design an inefficient database.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...