in reply to Re^5: Can your site handle this?
in thread Can your site handle this?

Slashdot, yeh I remember a friend of mine mentioning that, way back like 1997 I think when I was at college... scary stuff ^^

I think currently the biggest problem I'm going to face is the database rather than any code problems. I'm currently using MySQL but I've heard that it doesn't scale particularly well, hence the reason for the existence of NoSQL and the like.

Oddly enough until I wrote version 4 of aXML about 3 years ago, it didn't even have a database access system in it, it was pure flat files. I abandoned that route when I got to grips with MySQL because it seemed to be faster at the time, however I have this sneaky feeling that at some point I'm going to end up going back to flat files albeit using them in a more advanced way than I used to.

As for the MMORPG, it's not going to take me that long to build as I have various tricks up my sleeve... for instance being the only person in the world using aXML to develop with; which gives me a huge advantage in terms of development time and debugging time compared with writing lower level code.

Perl Nights there was pretty much fully functional after just a few days work, and that included stopping to have big arguments here with the monks and fixing a few subtle bugs in the new plack based re-write of my core engine and plugin set.

The other thing which will work in my favour is that the MMORPG is going to be set in space like the massively popular "ogame", and thus won't require too much in terms of graphic design work to get going.

Now that I have a server capable of serving a decent amount of traffic, and I've race tested localhost on an AMD Quad Core Phenom II with 4GB ram, I'm pretty confident I will be able to scale up faster than new users arrive unless the game proves to be phenomenally popular, in which case I'll be getting in touch with my mate at IBM to get some big iron behind it.

In the meantime my server provider supports instant scaling by adding extra nodes and node balancers so hopefully I have all the ingredients for the cake lined up now.

Replies are listed 'Best First'.
Re^7: Can your site handle this?
by cavac (Prior) on Nov 06, 2011 at 04:05 UTC

    I think currently the biggest problem I'm going to face is the database rather than any code problems. I'm currently using MySQL but I've heard that it doesn't scale particularly well, hence the reason for the existence of NoSQL and the like.

    The problem with MySQL isn't that it's slow. In my opinion it's just not a full, modern database. YMMV, though, depending on your needs. NoSQL stuff has some good and bad points. If you more or less have a big haystack of data to find your needle in, NoSQL databases are a good choice as any. If you need to have things like transaction, referential integrity and similar stuff (to have a certain confidence that your data is consistent...) you'll want to look into ACID complaint databases like PostgreSQL, Oracle, Microsoft SQL Server,...

    In the case of your MMORPG, you could have the world data in some NoSQL database but put the essential user data (account, payment, billing) into PostgreSQL, for example.

    Perl Nights there was pretty much fully functional after just a few days work

    Don't have a link for that, so i can't talk about that. But for comparison, took me about 12 hours to develop, set up and insert the content of my Diplomatic Cables Database project, including setting up the virtual machine and installing the database.

    Don't use '#ff0000':
    use Acme::AutoColor; my $redcolor = RED();
    All colors subject to change without notice.

      PerlNights.com

      Just had a look at your Cables DB and it looks quite a bit less complicated than PerlNights! Also could I ask, how much of the code base for it was already built? When I have finished the feature set and debugged everything on PerlNights I'm going to use the code to build another forum, a task which I expect to take just a few hours.

        Well, the basis was there, certainly. I had to code the actual handling of the cables, webforms, full text search and registration form.

        I think i spent most of the time getting the Cables CSV to parse and import (fixing a broken 2 Gig CSV-file is not fun). The rest is more or less copy&paste from other forms i already had. Usermanagment, Themeing support, Multilanguage etc was a no-brainer, since they are in Maplat anyway and i just had to enable them.

        Yes, it looks simple. Of course, the framework can do much more than just search and display a few hundred thousand database entries. But for the cables database, i didn't need more. At work, i manage a complete production plant with a server based on this framework, but thats another story and not really relevant to this discussion...

        Don't use '#ff0000':
        use Acme::AutoColor; my $redcolor = RED();
        All colors subject to change without notice.
        A reply falls below the community's threshold of quality. You may see it by logging in.
        Perl Nights - sorry previous link was broken and I wasn't signed in so I can't edit it lol.