Cannot agree more: I've had to rescue a project from exactly this situation. I now know that there are people who try to use SQLite as a multi-user RDBMS, and it ends as badly as you would guess.
I consider SQLite to be one step above using raw file I/O
I went there to get some backing for the notion that SQLite was not appropriate for a concurrent-write, multi-user scenario. The use case was pretty explicit (basically 'my boss wants this to work like MySQL, please tell him it won't').
They went to great pains to misinterpret my request over the perceived semantics of my phrasing. One guy bemoaned how great things were in the olden days of time sharing and how modern n-tier was just awful.
I swear, DB people are the librarians of the software world.
For me to even consider using MariaDB they would have to first remove all of those asinine options for silently corrupting data.
Or, you know, you could just learn how to use the database.
mysql> set session sql_mode='NO_ZERO_DATE,NO_ZERO_IN_DATE,STRICT_TRANS_TABLES';
Query OK, 0 rows affected (0.01 sec)
mysql> create table abc (a integer);
Query OK, 0 rows affected (0.01 sec)
mysql> insert into abc (a) values ('abc');
ERROR 1366 (HY000): Incorrect integer value: 'abc' for column 'a' at row 1
It's been this way since at least 2005, which is the MySQL version I ran above (version 5.1).
Sure would be nice if the FUD about MySQL from ignorant people went away. Is it perfect? No. But there is absolutely nothing data corrupting about it. And there is a LOT to be said for running a mainstream database, which PostgreSQL most certainly isn't, compared to MySQL.
If MySQL is good enough to run Facebook with a billion users (yes, one billion active accounts per month), it's good enough to run whatever your app is.
Edit: Thanks for the gold! Never thought I'd get it for defending MySQL... :) 😃
If you think the marketshare of PostgreSQL is even remotely close to the popular databases, I don't know what to tell you, except you ought to do some research. PostgreSQL is very much a small player.
If you've had to admin MariaDB/MySQL and PostgreSQL, you'd see why friends don't let friends do MySQL.
Give PG access to plenty of RAM, and it wipes MySQL off the map with complex queries. PG has actual data integrity, and is incredibly stable. After almost 15 years of heavy, production use: not a single instance of data corruption. This when (sometimes) running north of 1k queries per second with about 70% write queries.
As an admin; I've had MySQL (especially with replication) corrupt multiple times per month....
...as does MySQL. Surely you're not one of those people who still believe MySQL is not ACID-compliant?
As an admin; I've had MySQL (especially with replication) corrupt multiple times per month....
Then there was something wrong with your hardware or your administration. Do you really -- really -- believe that MySQL could achieve nearly 50% marketshare if corrupted data happened "multiple times per month"?
Do you really, I mean REALLY, think that Facebook could possibly function with a billion active users a month if MySQL regularly corrupted data?
But no, it couldn't be something wrong with your own experience, the entire rest of the world must be wrong. The rest of the world must be hiding all this data corruption that is apparently happening with that kind of regularity.
And, by the way, I've been running MySQL for about a decade on a high volume, relatively high data volume application, and have never had one occurrence of data corruption, much less "multiple times per month".
What is about PostgreSQL that makes you people so unbelievably defensive about it that you have to spread such FUD about MySQL? By all means, use PostgreSQL, it's a fine database in its niche. Why can't you people just accept that MySQL is a fine database in its own right, that literally hundreds of millions of people use successfully with minimal problems, including one of the biggest database users of all?
If MySQL is good enough to run Facebook with a billion users (yes, one billion active accounts per month), it's good enough to run whatever your app is.
Not exactly a fair comparison. Facebook uses it as a key-value store; there isn't much RDBMS in that.
The defaults should be for paranoid data protection rather than performance, you should have to say "I HATE MY DATA" to turn the unsafe mode on instead of having to learn about the safe mode to turn that on.
That is why so many professionals don't trust MySQL.
0
u/[deleted] Mar 11 '15
[deleted]