Once the big systems have pretty much been finalized, such as peerless, I will be looking into the possibility of making the shard run in Linux. If it is done and that the performance is good, and that it runs reliably, I will look into making it live. I may try to get the data center to set me up a Linux box without needing to scrap the current server, to minimize downtime, but not sure if they'd be willing to.
Then if all goes smooth I'll make the final migration. Then I'll try some hosting experiments to see if server can handle web hosting without bogging down, if yes I will move all my websites to the server, saving me about $20/month, on top of the money saved by having a Linux server (cheaper). So this move may save me a good $40/mo.
I will leave it run like that for a while, maybe a couple months, and see how it fairs out. If all is good, I may even offer some web hosting just to try and cover price, and maybe even make a small profit for future upgrades.
Then once that has proven stable for a few months, I will look into mysql C# coding. What I plan to do is strictly have data written to a DB but still have the current storage system. But whenever stuff gets added/changed, it will be written to the database. I will be able to work on the update/add queries and proper coding for this to take place. This will involve a major script overhaul on pretty much everything.
This will be tested for a very long time to ensure it's stable and querying the database properly. At this point I may transfer certain items such as accounts to use strictly the mysql database.
The idea behind having both storage systems is that the mysql database will eventually be populated with the entire world data and will always be in sync with the current serialization system.
A few months after this has proven stable, I'll then proceed to coding a world loader to actually load off the db and completely ignore the serialized files. This will really be a big event, as if this works, the shard will officially be running off a live database, rather then serialized files that save at intervals.
There will no longer be world saves, the amount of data in the world will no longer impact save performance, because data will be constantly saved in real time. This will also mean if the shard crashes or goes down hard, when it comes back, nothing will have been lost, except for maybe the last couple changes that may have not made it to the database on time.
The mysql system will not be easy though. I will need to think of a very good way to structure everything properly in tables. Each item type can have it's own field name so I almost need a table per type, but those are all things I'll have to figure out.
This is a series of projects that will probably span over a year, maybe more. during this time regular updates will also be made such as adding new content.
Archived topic from AOV, old topic ID:1385, old post ID:8635
Outlook into the future: Linux and MySQL
- Red Squirrel
- Posts: 29209
- Joined: Wed Dec 18, 2002 12:14 am
- Location: Northern Ontario
- Contact:
Outlook into the future: Linux and MySQL
Honk if you love Jesus, text if you want to meet Him!