These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

EVE General Discussion

 
  • Topic is locked indefinitely.
12Next page
 

What made CCP pick SQL server?

Author
Kalle Demos
Ironic Corp Name
#1 - 2011-12-10 18:19:22 UTC  |  Edited by: Kalle Demos
Hi

I am trying to work out unique differences between MySQL and SQL Server and I dont mean price, installation and cross platform compatibility.

I got rather into .net several several months ago, to the point where I get moist (no really I am such a M$ fanboi its unreal) everytime M$ release anything.

Until recently I didnt do much DB related work, there really wasnt much point but I was happy to work with either MySQL or SQL Server though I found both to be pretty equal, I wont comment on features etc between them as I dont really know the feature differences (minus the price etc). I figured this would be a perfect place to ask with all the 'DB Errors' EVE gets, would things really be different if EVE was using MySQL? However I will mention the SQL Server features seem to be a little more noticeable / obvious than MySQL

I guess im asking 2 things, why did CCP pick SQL Server and would things have been different if they picked MySQL or a different DB?

"Such a broad question noob, be more specific?" <-- Standard stackflow reply

Ok for a MMO such as EVE which would be better to use and why, sure theres other DBs out there but ill ignore them, feel free to comment on them though

Oh and "M$ charge a fortune for a DB" isnt really a good answer since M$ charge a fortune for everything, thats why cracks were created ;)

Would be nice to see a CCP reply considering all the "USE MYSQL KEHIRG(IEIOHIY*" whine they get in every "DB is down" thread they make

Also Windows 8 is going to be super awesome, death to Apple, your reign is over!
Morganta
The Greater Goon
#2 - 2011-12-10 18:26:27 UTC  |  Edited by: Morganta
well back 8-10 years ago mysql was not backed by oracle and was still an upstart open source project and didn't have all the transactional and procedural bells and whistles that mssql had at the time

and once you pick your back end you pretty much need to stick with it as all your interaction with it is in a proprietary format. mysql and mssql have slightly different syntax for queries and whatnot, more than enough to make it no longer a simple matter of replacing a datasource with another without rewriting tons of other stuff.

at least that's my take on it
Othran
Route One
#3 - 2011-12-10 18:35:24 UTC
IIRC the answer to this was basically support and hardware costs. MS-SQL was about the only (formally) supported database which didn't require large up-front capital investment (eg Oracle/Sun/IBM boxes).

I'm sure the decision has bitten them on the bum more than once but it was the right decision for the time.
Titania Hrothgar
Nemesis Retribution
#4 - 2011-12-10 18:36:23 UTC
I like SQL because it seems more stable to me..

All the world's a stage and all the men and women are the players.

Kalle Demos
Ironic Corp Name
#5 - 2011-12-10 18:40:56 UTC  |  Edited by: Kalle Demos
So if CCP had the choice to magically change the DB flawlessly, instantly and without any issues would they? I kind of find it hard to believe that the only reason they are sticking with SQL Server now is because changing DB isnt trivial, thats like staying in a bad marriage because a divorce costs too much :/
Scrapyard Bob
EVE University
Ivy League
#6 - 2011-12-10 18:43:11 UTC
Kalle Demos wrote:
So if CCP had the choice to magically change the DB now would they? I kind of find it hard to believe that the only reason they are sticking with SQL Server now is because changing DB isnt trivial


That depends also on how you do your database interface. Through a framework? Much easier to switch. Old-style embedded SQL queries in the code? Very hard to switch.

Famble
Three's a Crowd
#7 - 2011-12-10 18:46:05 UTC
Kalle Demos wrote:
So if CCP had the choice to magically change the DB flawlessly, instantly and without any issues would they? I kind of find it hard to believe that the only reason they are sticking with SQL Server now is because changing DB isnt trivial, thats like staying in a bad marriage because a divorce costs too much :/


The benefits would have to SERIOUSLY be significant. The word trivial in the current context is wrong. It would be massive amounts of work. I can't imagine the amount of stored procedures that would need tweaking alone.

Somewhere one of the db admins just shot up in bed and said, "something terrible has just been said".

If anyone ever looks at you and says,_ "Hold my beer, watch this,"_  you're probably going to want to pay attention.

Ptraci
3 R Corporation
#8 - 2011-12-10 18:55:12 UTC
Kalle Demos wrote:


I got rather into .net


Sorry you just disqualified yourself.
yumike
Doomheim
#9 - 2011-12-10 18:59:34 UTC
having managed a mssql & mysql database (mssql was for an mmo, ragnarok online) and mysql was for a webserver/tracker

they both held about similiar connections, but mssql was alot bigger (backups were alot more important in a live/game) then some stupid webserver.

mssql is a million times better in a real work environment. mssql is heavier originally but when you break into the hundreds/thousands of connections it handles the load a metric tonne better.

mysql was alot easier to maintain, simple interface very little to learn about the inner workings.
i can't imagine using mysql in a no-downtime environment though, mssql performance and management benefits are far greater.

I'm curious OP, what's your interest?

Borun Tal
Brutor Tribe
Minmatar Republic
#10 - 2011-12-10 19:13:45 UTC  |  Edited by: Borun Tal
Professional developer since '87, so take this for what you will...

MS SQL is the professional choice in terms of scalability and stability (and cost!). It is an enterprise-level product, meaning it's designed for high-end, heavy use environments. MySQL is to SQL Servers what PHP is to web languages: low end, quick to implement, but not meant for anything approaching enterprise applications.

Cassandra is supposed to be an up-and-comer in place of SQL database servers; what I've read of it so far is very interesting for high-end, heavy usage data serving, but I don't have any practical experience with it.
Borun Tal
Brutor Tribe
Minmatar Republic
#11 - 2011-12-10 19:16:18 UTC
Ptraci wrote:
Kalle Demos wrote:


I got rather into .net


Sorry you just disqualified yourself.


Let me guess: you do Java (if at all)?? Blink
Schnoo
The Schnoo
#12 - 2011-12-10 19:22:53 UTC
Ugh, just skimming around your post and seeing "M$" means you probably aren't in the industry and are just another user.

I'm not a DB person myself, in fact I tend to delay choosing a DB whenever I work on any project, choosing stuff like ORMs to make my life easier and independent of any DBMS. However, having talked extensively with my brother (who is a DBA, in his 50s, working for a large Canadian Telcom company), MySQL isn't taken seriously in the industry. People tend to use only Oracle, MSSQL and a bit of DB2 (that IBM thingy).

Even pro-open source sites like Slashdot tend to consider MySQL a flawed DB with many small things that will give you headaches, suggesting you choose PostgresSQL if you really want an open source DBMS.
Steve Ronuken
Fuzzwork Enterprises
Vote Steve Ronuken for CSM
#13 - 2011-12-10 19:23:13 UTC
MySQL - Low cost, low resilience. The clustering options you have for it are minimal and highly restrictive. Multi OS

SQL Server - More clustering options. Easier to manage. a mid-cost option. Windows only. Cheaper DBAs

Oracle Enterprise edition, with RAC. - oh my god expensive (with ongoing support costs of 20% or so). Very powerful. A pain in the ass to manage. Multi OS. Expensive DBAs.



Mysql isn't bad. It can manage fairly big applications. but it's no-where near reliable enough for a high volume 24x7 system.

Woo! CSM XI!

Fuzzwork Enterprises

Twitter: @fuzzysteve on Twitter

Bienator II
madmen of the skies
#14 - 2011-12-10 19:26:44 UTC
well. they are also using windows servers... and single threaded python on the backends. The db not that bad compared to their other technology choices. Take it all together and you are wondering why it still works after so many years ;)

how to fix eve: 1) remove ECM 2) rename dampeners to ECM 3) add new anti-drone ewar for caldari 4) give offgrid boosters ongrid combat value

Lors Dornick
Kallisti Industries
#15 - 2011-12-10 19:38:44 UTC  |  Edited by: Lors Dornick
We're talking about a system with (hopefully) 23.5/7 uptime and an active average user load about 20k.

So wouldn't the question be, why are they using a Microsoft's more or less bastard offspring from Sybase instead of Oracle like most of every other serious datacenter?

If I was in the position to decide I would have chosen Postgres.

But if I would also been held responsible for that choice I would have chosen Oracle ;)

When EvE Online started up (as a small indie game company from a country with less people than a normal city) MS was more likely to provide help and support than Oracle (who have a lot of customers way bigger than the entire Icelandic nation).

If you have to make strategic choices about fundamental software you have to consider way much more than price, performance and features.

CCP Greyscale: As to starbases, we agree it's pretty terrible, but we don't want to delay the entire release just for this one factor.

okst666
Federal Navy Academy
Gallente Federation
#16 - 2011-12-10 19:55:22 UTC  |  Edited by: okst666
wohoo...we are using pervasive SQL / btrieve with our products. :D


I guess noone never ever heard about this :)

[X] < Nail here for new monitor

Lord Zim
Gallente Federation
#17 - 2011-12-10 20:03:53 UTC
Schnoo wrote:
Even pro-open source sites like Slashdot tend to consider MySQL a flawed DB with many small things that will give you headaches, suggesting you choose PostgresSQL if you really want an open source DBMS.

I was going to post saying more or less exactly this. **** MySQL in its sad little face.

Cyno's lit, bridge is up, but one pilot won't be jumping home.

RIP Vile Rat

Richard C Hoagland
Anarchos Syndicate
#18 - 2011-12-10 20:10:50 UTC
I think that CCP is using Microsoft software in a number of areas, including servers and ASP for their web sites. You see that quite often, where a shop tends to devote itself to all MS or little to none.
Halcyon Ingenium
Caldari Provisions
Caldari State
#19 - 2011-12-10 20:27:26 UTC
Bienator II wrote:
well. they are also using windows servers... and single threaded python on the backends. The db not that bad compared to their other technology choices. Take it all together and you are wondering why it still works after so many years ;)

It still works because they are actually pretty talented, despite all the **** we give them, some of it deserved, granted.

By the way, since we're already talking, do you want to buy a rifter? I've got the cheapest rifters in Metropolis. If you can find a cheaper rifter, buy it!

RubyPorto
RubysRhymes
#20 - 2011-12-10 21:01:24 UTC
Halcyon Ingenium wrote:
Bienator II wrote:
well. they are also using windows servers... and single threaded python on the backends. The db not that bad compared to their other technology choices. Take it all together and you are wondering why it still works after so many years ;)

It still works because they are actually pretty talented, despite all the **** we give them, some of it deserved, granted.



The beauty of a codebase that's been around this long is that, despite the talent at CCP, they're wondering why (and how) it still works after all these years.


To everyone who says "Ohh, do this, here's the pseudocode to do it, it'll be easy!" I got a knot in Phrygia you may be interested in undoing, Alexander.

"It's easy to speak for the silent majority. They rarely object to what you put into their mouths." -Abrazzar "the risk of having your day ruined by other people is the cornerstone with which EVE was built" -CCP Solomon

12Next page