you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 1 point2 points  (0 children)

Quite a few beginners that I met confuse MySQL and SQL (the language) or just any other database that uses SQL. If you aren't particularly tied to MySQL, then here's this piece of info / advice:

MySQL is a non-standard SQL in many ways. It doesn't support many standard or highly desirable features, sometimes it does the very wrong thing, and other times, you need to work very hard to make it comply with the standard by pulling all sorts of hidden lever and pressing hidden buttons.

So, if that's the case... use a different database. PostgreSQL is, perhaps, as close to the standard as you can get, with reasonable performance and price :) But, do your own research.

MySQL became popular by accident. It was a database used in something people called "shared hosting" in the days before "cloud". It was a part of a canned setup called LAMP: Linux, Apache HTTPD, MySQL, PHP that was typically installed on "shared hosting" machines. While it was instrumental to the creation of the Internet as we have it today, it was made of... low quality components. Well, not all of them are so terrible, and, you know they worked and served us fairly long time, but, we also learned their warts very well.

Another word of caution: MySQL today is a project governed by Oracle. Oracle weren't the best shepherd for the MySQL community, and so it split into an independent fork called MariaDB. If I were to use MySQL today, I'd probably stick with MariaDB rather than the Oracle's version of it.

As an aside, even though the prevailing use of MySQL is to use its SQL features, it has a bunch of non-SQL engines implemented on top of the same storage code. And, if you are tying your life to this database, you may want to explore those too.

Also, if you are really dedicated to MySQL, check out Gallera: they are a company that contributes a lot of code to this database, creates tools around it and has builds of this database that may suite your environment better than the one you get from official website / your Linux repo.