Hello everyone, congratulations for forming part of such a nice open source project!
Now to my question...
I have just been chosen as technology advisor for an online community project. I estimate the website will have a rather large user base and I am wondering if Drupal and MySQL will be able to handle the workload. By rather large I mean over 20 million registered users at its peak level of which maybe 500,000 could be logged in simultanesouly at any given point.
The website should be able to:
-Store user information in over 10 different languages.(MySQL)
-Have search capabilities for that user information.
-Associate members’ records geographically.
-Ability for administrators to send emails by geographical areas and areas of interest. (I guess a query for all emails where "option == true" could do the job)
-have multi-lingual bulletin boards, or if possible (I believe it's not possible) one that translates to each particular language set on users profile.
-Allow members their own blogs or web-pages and to sign up their own members.
I've been doing some research and Drupal also seems like a good option. What do you all think?
I would appreciate any input on this project since I've never been in charge of advising for such a big task. Thanks in advanced!!!!!
Comments
Drupal will do most, if not
Drupal will do most, if not all of this.
As far as I know MySQL will store international characters.
There is a thread to test an update to the search functionality which will include full support for international characters. http://drupal.org/node/33033
You should, more than likely, define a geographical vocabulary in the taxonomy. I am not sure how to associate the users to the taxonomy, but you could certainly have them subscribe to a newsletter posted to it.
See above suggestion for subscriptions. It is conceivable that you could use the taxonomy to filter users into geographical lists, if you know how to associate users with a taxonomy.
I know some modules have translations, but I am not familiar with their implementation. It is likely that both are possible.
Definitely. You can let each member have a blog, only certain members (based on user role), or you can define separate sites for each blog author and make him administrator of that with the user roles. Sites can have independent databases, or share the same data.
I don't have links handy, but you should click the handbook tab and start reading through to get a better feel for the capabilities of drupal. The handbook is largely contributed by the community developers who are using drupal to solve complex problems. Depending on whether or not you like to get your hands dirty, I have no doubt that if drupal does not fulfill your requirements, you could extend it to do so and maintain a clean, fast codebase.
_________
bob-thompson.com
http://www.ecademy.com
Have a look at http://www.ecademy.com
The site is running Drupal.
It is a very busy site with more than 60000 members.
Speed and performance problems has not been an issue for them.
I do some sites in different languages and the translation module in Drupal is fantastic. It is all done in the web interface. No programming.
There are several mailing lists modules for Drupal and you can define user input of geographical areas etc without programming when you configure the system using the profile module.
To have multi-lingual bulletin boards is clearly possible. Automatic translating is not standard but why not. Just some programming needed. no big deal if you ask me. (Sounds fun)
Allow members their own blogs or web-pages and to sign up their own members is what http://ecademy.com is doing. That is standard with the right configuration.
Feel free to contact me if you want more specific advice.
Are Casilla
http://astartelecom.com - Independent VOIP Telecoms Broker. Consulting in Asterisk and Drupal
http://astbill.com - Billing, Routing and Management software for Asterisk and MySQL. Running on Drupal
AstBill DEMO: http://demo.astbill.com
Of course it will depend on
Of course it will depend on your budget, as the hardware requirements would be staggering if you are seriously expecting "500,000 could be logged in simultanesouly".
Download the scalability presentation: http://drupal.org/drupalcon-2005-media
And you might want to see what kind of hardware large communities (but much smaller than 500.000 simultaneous) would require (check the bubbles for interviews with some hardware lists): http://www.big-boards.com/
Any web application software
Any web application software written well should be able to handle from the smallest to the largest of uses. My question to you is not that of the CMS, but that of the requirements of your data.
1) Do you plan on using a master/slave sql setup?
2) Is clustering a must?
3) Is the source language important?
MySQL still is not where it should be insofar as master/slave data integrity are concerned (or even failover). Clustering then could present problems. Wikipedia itself does not employ automatic failover of its master/slave mysql servers. And Google solves the problem of data consistency issues by taking its servers offline during the "google dance".
So really, you need to look at your data -- which is probably your biggest asset. If you require 5 9s, then you may want to look at other options such as MSSQL which has a good clustering environment.
Once you decide those fundamentals, then I'd look at the software that supports the tools you require.
Microsoft MVP Windows-Security
http://castlecops.com
thanks...
Thanks a lot for your responses. I really appreciate the time you are taking to answer my questions.
It appears like Drupal is the answer to our search for a stable platform for this kind of project. Apparently it can provide all the features we need and otherwise they should not be hard to implement and that's great!
About the amount of people that will be logged in simultaneously, maybe 500,000 is far fetched. To be honest the non profit organization that is driving this project hasn't done any rough estimates, but they are trying to target 80% of the global web community which translates to a rather large database.
I don't think clustering will be needed and the nonprofit organization is certainly not thinking THAT big, I believe they will rent a dedicated server but that's about it.
Thanks a lot! I will keep you informed on what's going on.
By the way: This is all very new to me. I am just 23 and have not worked on such a big project but I volunteered for it since it seemed like an altruistic thing to do... any more recommendations would be greatly appreciated. ;)