zlacker

[parent] [thread] 37 comments
1. mmaund+(OP)[view] [source] 2023-04-26 19:06:22
I must admit as a web practitioner since 1994 I have a bit of an issue with this:

> In the 2000s, the conventional wisdom selected MySQL because rising tech stars like Google and Facebook were using it. Then in the 2010s, it was MongoDB because non-durable writes made it “webscale“. In the last five years, PostgreSQL has become the Internet’s darling DBMS. And for good reasons!

Different DB's, different strengths and it's not a zero sum came as implied. MySQL was popular before Google was born - we used it heavily at eToys in the 90s for massive transaction volume and replacing it with Oracle was one of the reasons for the catastrophic failure of eToys circa 2001. MongoDB gained traction not because it's an alternative to MySQL or PostgreSQL. And PostgreSQL's marketshare today is on a par with Mongo and both are dwarfed by MySQL which IMO is the true darling of web DB's given it's global popularity.

replies(11): >>Lambda+6b >>p_l+hC >>zaphir+XJ >>hodges+4L >>osigur+PL >>pier25+cO >>steve_+5V >>lmm+371 >>kragen+zn1 >>kermat+I53 >>pmontr+Xu3
2. Lambda+6b[view] [source] 2023-04-26 20:00:30
>>mmaund+(OP)
> in the 2010s, it was MongoDB because non-durable writes made it “webscale“

I think this is the best video on that topic: https://www.youtube.com/watch?v=b2F-DItXtZs

3. p_l+hC[view] [source] 2023-04-26 22:28:50
>>mmaund+(OP)
A non-trivial component to MySQL popularity was that easy installation (not necessarily administration) and comparatively low resource usage with good performance at default settings (even today one needs to run some basic calculations for postgres in production, IMO) meant that cheapest possible dynamic hosting using Linux, Apache, PHP3, and MySQL 3, was what simply was the only available option for many. This codified LAMP stack, people learned from tutorials/courses/word of mouth how to write web apps with PHP and MySQL, used cheap LAMP hosting, optionally installed LAMP servers themselves, etc.

This also led to popularity of bigger reselling setups (I don't miss installing cpanel...) and services like Dreamhost.

MySQL in this way gained a virtuous cycle completely unrelated to Google. Hell, most people I know, who dealt with LAMP space for years, never knew Google had anything to do with MySQL (most people that knew about it were... Lispers. Because of who built the first version of Google Ads)

Even Mac OS X Server shipped with MySQL and PHP because of that, in 2001.

replies(1): >>jasonw+eO
4. zaphir+XJ[view] [source] 2023-04-26 23:27:51
>>mmaund+(OP)
Part of the popularity of the early MySQL was marketing. I hope I’m not wrong here, there was something written about MySQL people posting misinformation in forums. Another is the ease of having it up and running. Another was I think there was some IP address component to setting up users which made it look complicated
replies(1): >>rodger+b41
5. hodges+4L[view] [source] 2023-04-26 23:38:44
>>mmaund+(OP)
> A non-trivial component to MySQL popularity was that easy installation

...Along with replication and being joined with the hip to PHP. As to installation, there was a point in time in the early 2000s where you could sudo to root, type 'mysql' and be talking to a live MySQL on most Linux distros that I used. No wonder a lot of people defaulted to it.

replies(2): >>p_l+gO >>Exotic+143
6. osigur+PL[view] [source] 2023-04-26 23:45:06
>>mmaund+(OP)
>> MySQL which IMO is the true darling of web DB's

A "darling" is something you want to use, not something that you are using. Many do not want to use MySQL due to Oracle control. Postgres is definitely the darling of the past few years.

7. pier25+cO[view] [source] 2023-04-27 00:05:20
>>mmaund+(OP)
> MongoDB gained traction not because it's an alternative to MySQL or PostgreSQL.

Honestly I think it only gained traction because many Node devs refused to learn SQL and the document model is familiar because it's closer to JSON data.

These days Mongo is good but that wasn't the case back 10+ years ago.

replies(1): >>inferi+7l1
◧◩
8. jasonw+eO[view] [source] [discussion] 2023-04-27 00:05:40
>>p_l+hC
Another factor besides performance vs earlier versions of Postgres (they're now more at parity) was Postgres didn't come with replication included. I think that was a big hinderance for adoption during the LAMP stack's hey day.
replies(1): >>p_l+rO
◧◩
9. p_l+gO[view] [source] [discussion] 2023-04-27 00:05:51
>>hodges+4L
Replication came later - but the fact that you could do

  sudo apt-get install mysql-server mysql-client
  sudo -i mysql
and be logged in as admin into mysql database was indeed a huge reason for defaulting to it.

EDIT: Of course, at that time, there was no Ubuntu teaching everyone to sudo all the time, so drop all instances of sudo and add a su - at start ;)

replies(3): >>tomnip+XU >>maskli+Hm1 >>porker+Op1
◧◩◪
10. p_l+rO[view] [source] [discussion] 2023-04-27 00:07:56
>>jasonw+eO
Honestly, at the time when LAMP was gaining the userbase, said userbase for considerable portion did not care about replication because there was only one server they had.

Replication was something you did when you got succesful enough to have it, or were a MSP providing it at premium to others.

replies(1): >>edmund+PW
◧◩◪
11. tomnip+XU[view] [source] [discussion] 2023-04-27 01:09:28
>>p_l+gO
MySQL has had replication since May 2000.
replies(1): >>p_l+nX
12. steve_+5V[view] [source] 2023-04-27 01:10:16
>>mmaund+(OP)
PostgreSQL became the internet's darling DBMS long before that. Oracle's acquisition of MySQL in 2008 made people finally take notice of PostgreSQL. Before that, most developers barely knew it existed.
replies(1): >>tuator+7w2
◧◩◪◨
13. edmund+PW[view] [source] [discussion] 2023-04-27 01:26:57
>>p_l+rO
I remember it differently - we needed replication for "hot" backups. At that time, scalability was a major issue - so anyone (including businesspeople) wanted to have a scalable architecture. MySQL spoke to the practical (default install on cPanel hosts, easy replication) and the aspirational (you're going to blow up and need to scale).

Digg.com also had a really influential technical team - hearing about how they did things set a lot of baseline defaults for a lot of people.

replies(1): >>p_l+bY
◧◩◪◨
14. p_l+nX[view] [source] [discussion] 2023-04-27 01:31:53
>>tomnip+XU
Replication being easier as driver for developers defaulting to MySQL
◧◩◪◨⬒
15. p_l+bY[view] [source] [discussion] 2023-04-27 01:39:16
>>edmund+PW
maybe you were on the more funded side of history in this. As for me, Digg is way after LAMP got solidly plonked into "what I need for a dynamic website on cheap".

Essentially, start at 2000-2001 and more and more people going into running websites for all kinds of reasons (forums, blogs, webshops, etc. often hosted on low end offerings)

replies(2): >>edmund+PA3 >>int_19+rR3
◧◩
16. rodger+b41[view] [source] [discussion] 2023-04-27 02:25:48
>>zaphir+XJ
> there was something written about MySQL people posting misinformation in forums.

They were absolute liars of the first water back in the day, absolutely. In the 3.x era there were claims that transactions were only for people who didn't know how to program! You'd struggle to find most of the absolute nonsense that was being pushed, because it's mostly gone down various memory holes, but it was absolutely breathtaking.

17. lmm+371[view] [source] 2023-04-27 02:52:55
>>mmaund+(OP)
> MongoDB gained traction not because it's an alternative to MySQL or PostgreSQL.

Disagree. It gained traction because it was an alternative to MySQL in the ways that mattered - fast, easy to administer, widely known, good enough. Yes, there are significant differences in the details of what they do - but in terms of someone looking for a backing datastore for their webapp, they're actually competing in a very similar space.

◧◩
18. inferi+7l1[view] [source] [discussion] 2023-04-27 05:24:42
>>pier25+cO
Mongo was so comically bad. I remember trying to sort through a slow query and thought: ah ha! I'll just add an index. Unfortunately on that version of Mongo, creating an index would occasionally just crash the server process.

I think Mongo became popular because it's ad tech and those guys knew how to be buzzword compliant. JSON-esque documents are one thing, but Mongo is Javascript to the core. All of a sudden your JS devs don't have to learn SQL they can just shit out some queries in javascript. Of course that came with some pretty severe drawbacks.

replies(2): >>The_Co+LE1 >>orthox+PE1
◧◩◪
19. maskli+Hm1[view] [source] [discussion] 2023-04-27 05:41:41
>>p_l+gO
Mysql also came with pretty much any webhost.
replies(1): >>p_l+3S1
20. kragen+zn1[view] [source] 2023-04-27 05:53:38
>>mmaund+(OP)
yeah, i was surprised at the cluelessness of that remark. lamp was definitely not a 'rising tech stars' thing. hopefully the author is more careful about accuracy when it comes to database architecture than when it comes to www history

did google even use mysql? certainly if they did they never talked about it publicly in the early 02000s, and of course facebook didn't even exist then

lj, though, they used the fuck out of mysql

/. originally didn't use a database; i (an ordinary user) accidentally posted an article by trying to post a comment on an article that didn't exist yet; i guess they got appended to the same file. but when it did switch to a database (i don't know, about the time google was founded?) it was of course mysql

replies(1): >>geenat+SG1
◧◩◪
21. porker+Op1[view] [source] [discussion] 2023-04-27 06:13:20
>>p_l+gO
> Of course, at that time, there was no Ubuntu teaching everyone to sudo all the time

Maybe that's why I am used to logging in as root rather than a user. I started in 1999 and have been surprised how few users now do

replies(1): >>flumpc+gz1
◧◩◪◨
22. flumpc+gz1[view] [source] [discussion] 2023-04-27 07:33:16
>>porker+Op1
Most prod configs I've seen now days disable SSH-ing in as root and password auth so it just becomes:

$ ssh user@server <rsa key> $ sudo -i <user pass> #

◧◩◪
23. The_Co+LE1[view] [source] [discussion] 2023-04-27 08:18:19
>>inferi+7l1
As I remember, MongoDB got popular before node.js, so there wasn't really a lot of backend JavaScript developers out there to make a difference.

We first used Mongo ~11 years ago with Java. For us the benefit was that we could dump unstructured data into it quickly, but still run queries / aggregations on it later.

◧◩◪
24. orthox+PE1[view] [source] [discussion] 2023-04-27 08:19:07
>>inferi+7l1
My favourite story about MongoDB is that it was so bad and popular at the same time that when a competitor developed a wire-compatible database that was miles better they simply bought it and released it as the next version of MongoDB.
replies(1): >>pier25+gq2
◧◩
25. geenat+SG1[view] [source] [discussion] 2023-04-27 08:34:24
>>kragen+zn1
MySQL (then Vitess) ran Youtube, but nowadays I do believe most product teams are using Spanner.
replies(1): >>audioh+ig3
◧◩◪◨
26. p_l+3S1[view] [source] [discussion] 2023-04-27 09:53:20
>>maskli+Hm1
That's exactly my point. A lot of people started with dynamic websites by using cheap webhosting that you FTP'ed your PHP files to, and used PhpMyAdmin to manage your smallish database, and 2000-2009 they still formed a strong portion of market for starting out (I chose 2009 because that's when EC2 becomes more accessible for this due to RDS)
◧◩◪◨
27. pier25+gq2[view] [source] [discussion] 2023-04-27 13:28:48
>>orthox+PE1
which db was that?
replies(1): >>orthox+Xr2
◧◩◪◨⬒
28. orthox+Xr2[view] [source] [discussion] 2023-04-27 13:36:17
>>pier25+gq2
I think I meant WiredTiger.
replies(1): >>aries1+o36
◧◩
29. tuator+7w2[view] [source] [discussion] 2023-04-27 13:56:02
>>steve_+5V
Yeah, Postgresql was the FreeBSD of DBMSes. Solid, conceptually integral, well documented.*

I recall doing an evaluation of open source databases in 2001. MySQL didn't even have row-level locking, let alone any concept of transactions. I summarised it as "easy to use; but only for data you don't care about".

* Not that Postgres (as it was then) was without warts in 2001. A huge one was its "object orientation": table inheritance. What it needed then, and would still be nice to have, is object orientation at data type (column) level, an extension of the SQL domain.

replies(1): >>mickey+HN2
◧◩◪
30. mickey+HN2[view] [source] [discussion] 2023-04-27 15:05:47
>>tuator+7w2
You can create types in postgresql and use them as columns... so you can have your "object" style encapsulation at a column level. So you can have a "currency" type that has both the amount and the currency.
◧◩
31. Exotic+143[view] [source] [discussion] 2023-04-27 16:10:42
>>hodges+4L
Yes, replication. MySQL made it dead easy to have DB clusters in minutes.

I'd wish PostgreSQL would have as simple when it comes to replication and failover like MySQL does. It's always a pain when switching masters back and forth.

32. kermat+I53[view] [source] 2023-04-27 16:17:20
>>mmaund+(OP)
> Oracle was one of the reasons for the catastrophic failure of eToys circa 2001

Would love to hear a from-the-trenches summary of that.

◧◩◪
33. audioh+ig3[view] [source] [discussion] 2023-04-27 16:54:27
>>geenat+SG1
Yeah I think (heard anecdotally) both google/YouTube and Facebook (and many others) started with MySQL. Spanner for distributed writes has inspired most implementations although Google is the only one I know about that implements TrueTime (atomic clocks). The same year that the Spanner paper came out (after Percolator) an alternate approach (Calvin) was also published, and some of us are using that (our DB's design is inspired by it, but we've done a lot of enhancements since then).
replies(1): >>kragen+DM3
34. pmontr+Xu3[view] [source] 2023-04-27 17:49:26
>>mmaund+(OP)
In the early days of the web MySQL was extremely faster than anything else because it was an ISAM file with no support for transactions. That was OK for many people that self-hosted the db on the not very powerful CPUs of the time.

I remember people stating that transactions are useless, and maybe they are for some workloads, see the success of MongoDB years later.

The transactional engine InnoDB was added in version 3.23 [1] in 2001 [2] .

[1] https://en.wikipedia.org/wiki/Comparison_of_MySQL_database_e...

[2] https://en.wikipedia.org/wiki/MySQL

◧◩◪◨⬒⬓
35. edmund+PA3[view] [source] [discussion] 2023-04-27 18:13:17
>>p_l+bY
I didn't enter the workforce until 2004, so yeah missed some of the early early days of PHP/MySQL. I used it for government work, was definitely not well funded haha! But I suspect digg started with MySQL b/c of similar reasons as anyone else, then helped amplify the cycle.
◧◩◪◨
36. kragen+DM3[view] [source] [discussion] 2023-04-27 19:03:22
>>audioh+ig3
youtube did, but google didn't buy youtube until three years before the end of 'the 2000s'
◧◩◪◨⬒⬓
37. int_19+rR3[view] [source] [discussion] 2023-04-27 19:27:12
>>p_l+bY
"Cheap" is the key word here, and that usually meant shared hosting, which was like 99% MySQL.
◧◩◪◨⬒⬓
38. aries1+o36[view] [source] [discussion] 2023-04-28 14:35:31
>>orthox+Xr2
This is true. And now MongoDB is miles better.
[go to top]