Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
MySQL: Why “My”? (vertabelo.com)
51 points by pai1009 on Aug 22, 2014 | hide | past | favorite | 45 comments


Pedantic quibble but re: "MySQL is the world's most popular and widely used open-source relational database", I'm not sure it is. Popular in terms of most installs would be sqlite that I think is in all android phones and firefox browsers and most popular in terms of people liking the thing would seem to be Postgres.


Definitely pedantic, but it is still an interesting point. sqlite often gets forgotten about when we talk about relational databases, but it's at the heart of a lot more software than I think most people realise. I think the first time I really came to notice it was about 4 years ago in XBMC.


To further your point, to name a few examples of SQLite users:

Adobe (Lightroom's file format), Skype (history/config), Airbus (flight systems), Firefox (data store), Google ("everything"), and more:

https://www.sqlite.org/famous.html

SQLite is everywhere. It is like the Linux of relational databases. If you aren't sure what your Smart TV runs, just assume it is Linux with SQLite as it is a safe bet.


Definitely pedantic. That's like saying the most popular gas is oxygen. Don't confuse popularity with ubiquity.

Phone and browser installs don't count toward the popularity figure, because the users don't pick the DB that gets used there. The only time that choice counts is when the developers decide which DB system to use.

From a developer choice perspective, MySQL probably wins out more than any other open-source relational DB.

It may just so happen that software relying on SQLite makes it to the most consumer devices and software, but that doesn't mean SQLite is more popular than MySQL.


I believe, and my point of view is jaded, that PostgreSQL is mostly only popular with developers; most DBAs I know of much prefer MySQL (or the paycheck associated with Oracle), for a number of reasons.


Interesting. My experience is the opposite. Devs love MySQL's standards-shattering capabilities, while they feel constrained by the way in which PostgreSQL adheres to standards much more strictly. The DBAs I know love pg and loathe MySQL.


You're probably correct, but when MySQL coined that as their slogan, I think that they were those things.


If anyone is curious, mSQL - short for "Mini SQL" - still has a home at http://www.hughes.com.au/products/msql


I always just assumed it was my as in mine, all mine, my very own SQL database. Back when your other choices were proprietary and expensive, it gave me a warm feeling inside.


everytime i use mysql i die a little inside. that said, the amount of work to switch over to postgres isn't worth it.

not that there's a lot of work, more a lack of team experience that makes it currently not a smart move.


Apparently, in Swedish, the name 'My' would be pronounced like the English word 'me'.


Pretty close, but the vowel sound is slightly different. The word 'me' would be prounounced /mi:/ by an American [1] but the name My is prounounced /my/ in Swedish. It's the close front rounded vowel [2], the same vowel sound that is usually represented with ü in German. Apparently, this sound is produced by people speaking with a Scottish accent, when they way "few".

Compare close front rounded and unrounded vowel sounds:

Rounded: http://en.wikipedia.org/wiki/File:Close_front_rounded_vowel....

Unrounded: http://en.wikipedia.org/wiki/File:Close_front_unrounded_vowe...

[1]: http://en.wiktionary.org/wiki/me#Pronunciation

[2]: http://en.wikipedia.org/wiki/Close_front_rounded_vowel


mooSql?


More like mewSQL


It's not.

It is however the pronounciation of the greek letter μ (in Swedish). So it could perhaps be construed as micro-SQL if you wanted to.

Monty's official explanation is that it's named after his daughter, but I'm sure the double meaning with the English word played in as well (and perhaps even the micro-prefix).


Other than being seemingly more closed sourced, is there a reason to choose MariaDB over MySQL?


MariaDB is moving pretty fast in regards to adding more modern features seen in other DB's. Such as JSON data type, NoSQL data engine interfaces, etc. As well as spending time working on the current data engines, such as Aria.

While I believe MySQL is as well, it's hard to see progress/what exactly they are working on.

Pretty much the main reason is Monty is working on MariaDB, not MySQL. And he's pretty amazing.


Mostly because of Oracle. They already have a high performance database that they charge a whole lot of money for. All it'll take is a couple of poor earnings reports and they might swing the axe at MySQL as an easy scapegoat.

Not something I'd like to risk my own company's database on.


What about Postgres? I'm not a database expert, just wondering. Is MariaDB more of a one-to-one replacement for MySQL?


MariaDB is a drop in replacement, as is Percona.

PostgreSQL is a completely different database system, and is definitely preferable if starting from scratch, but migrating from MySQL to it can be a pain.


Yes. Maria is a fork of MySQL, while PostgreSQL is an unrelated product aside from using a dialect of SQL.


considering its a for of MySQL I'd say yes.


MariaDB is more or less a drop-in replacement for MySQL. One reason (while being related to the potentially closed-source leanings of MySQL) is that you don't want to one day suddenly be cut off from performance and security updates because oracle.


As an alternative to this, I offer a reason to choose MySQL over MariaDB based on pure speculation: MariaDB has merged with SkySQL, who is a VC funded company.

Being funded by VCs is not a bad thing in and of itself, but since most VC funded companies seek an exit strategy, it makes the stewardship of MariaDB at risk of being purchased by the next Sun or Oracle. In an ideal world (ideal for the future of MariaDB, that is), SkySQL would want to be acquired by Google or Facebook, but those two companies have thrown their lot in with MySQL by way of WebScaleSQL.

Disclaimer, I work for Percona.


MySQL is already owned by Oracle though, right? How much worse can it get?


I mean, say what you will about Oracle, they've put out some pretty good releases of MySQL, they've done some things I don't approve of but right now they seem pretty committed to improving the product. A lot of the stuff in this thread is speculation about what Oracle COULD do to MySQL, rather than anything they HAVE done.


For people on MySQL, none. For people who chose MariaDB for philosophical reasons, much, much worse.


If you're running replication, both multithreaded replication and galera may be interesting for you. Otherwise, there aren't that many differences. Having a real bug tracker is a nice thing when you need it.

Here's a nice summary page regarding features: https://mariadb.com/kb/en/mariadb/mariadb-vs-mysql-features/


That's enough right there.

Being more open sourced means there's a lot less friction when trying to deploy and maintain your MySQL instance(s).


A project being open-source has no bearing on whether or not it is easy to use and deploy.


Of course it does. Open source projects have a decent chance of being included in your distribution's default repositories. Popular packages will even usually be kept up to date. All that for free, with no effort on your part.


My experience tends to be that distro packaged software is not always what one ends up using in production. Except for some base packages when you start doing more sophisticated deployments. Distros may backport bug fixes and specifically security fixes but they tend to be several versions behind.


It does has a bearing on the ability to migrate to an alternative if it turns out to become awful, because someone will probably write an export script in that case.

It's one of the big advantages of FOSS: no vendor lock-in.


Yes, it does.

A software being open source means that you can deploy for any task in any environment, at any number, without the need to ask anybody's permission.

It being proprietary means that you must ask permission first, and will probably need to keep each piece of software under control, under different terms.


* More active development

* Slightly better performance IIRC

* Not controlled by Oracle, who will likely kill off MySQL to promote their own database at some point in the not-too-distant future.


> * Not controlled by Oracle, who will likely kill off MySQL to promote their own database at some point in the not-too-distant future.

To be fair, if they were going to do this, they wouldn't have invested the thousands of hours required to release 5.6, 5.7, Fabric, the mysql toolkit, etc. I've talked to the developers in person who work on MySQL, and they talk quite a bit about the future of MySQL.

They have also acquired a number of MySQL based companies, and are committed to supporting them on MySQL.


It's also possible (although I considered less likely until around now) Oracle will simply cut off support, new versions, and patches in the future unless you pay, and recent work on it has only been to reassure the existing customer base into not switching to MariaDB/Percona/Postgres.


Given how simple it is to drop in MariaDB/Percona Server without changes, this wouldn't be a terribly sound strategy.

A better strategy is the one they currently use - selling support tools (like Enterprise Support, Enterprise Monitor, and Enterprise Backup) to support the development. It never ceases to amaze me how much people will pay for these tools and services to support a OSS product.


My personal pet conspiracy theory is that Oracle needs to continue to propagate MySQL as the "first one's free", not-quite-good-enough database, so they can provide an easy migration from MySQL to Oracle when your app outgrows MySQL.

I'm guessing there is a sizable slice of applications that would find PostgreSQL to be "good enough", and not need to buy Oracle subsequently.

Perhaps that's just paranoid, and Oracle is running MySQL out of the goodness of its corporate heart?


>so they can provide an easy migration from MySQL to Oracle when your app outgrows MySQL.

Based on personal experience, when databases hit that point, the logical next step is PostgreSQL if you're going to go through the pain of changing database engines. Or just do what $oldjob did and throw more and more resources at MySQL (256GB memory, anyone?).


I don't think so, but I do expect them to monetize the hell out of it (e.g paid support).

It's the Oracle for orgs that can't afford Oracle.


Does anyone know of resources (books, tutorials, gotchas, blog posts) for switching an application (with no orm) from MySQL to Postgres?


What's there to say? Just start chugging away. Do some research when you hit a wall.


The biggest gotcha will almost certainly be the lack of any upsert support in PostgreSQL. If you can live without upserts, you'll never look back, IMO..

MySQL has a much better GUI based query browser than anything I've seen in the postgres world. Postgres has a very good command line query tool though.

But yeah, no upserts.


Go to your ORMs configuration and change 'mysql' to 'pgsql' ;)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: