I am currently in the process of going through some PHP training with procedural code and will be doing a course in OOP with PHP right after that. The course will provide a solid starting point for me to build a social network project that I originally designed in a relational database format. The design of the site should be fairly simple as there are less than 10 templates to build the site, and then a few static pages to tie it all together.
But as I researched other social networks and sites with larges amount of constantly changing data, I began finding things about social graphs and such that make the sites much faster in handling millions of people all at once.
Since my site will be based mostly on user generated content (article submissions or possible wiki type submissions) and connections with others through groups/ common interest/ and individual friend relationships, I think a standard relational database may not be the most efficient means to operate as the site grows.
So I am trying to decide my growth plan. Should I continue to design my site relationally for now and worry about upgrading to something else as my site grows? Or should I start planning now to use a different database style or programming language?
If the later, What should I look into. NOSQL seems to be the direction I need to go, but there are several types of that as well so trying to figure out what I may need is difficult. Will it work with the PHP code I already have set up, or would it require a complete redesign?
Also, Does OOP design prompt for different database designs than a procedural design?