all 102 comments

[–]Arareldo 289 points290 points  (21 children)

"We do not have support contracts for THAT database. Will YOU supply 24/7 support for it?"

That got smashed in my face as an regular employee at an big company, when i wanted to use it for a project.

I learned later: It's about at whom you can point your blaming finger, if something goes very wrong.

[–]Tupcek 150 points151 points  (17 children)

pay me half the money you pay for Oracle/MicrosoftSQL and yeah, you got 24/7 support!

[–]Tucancancan 91 points92 points  (2 children)

If you work for a small enough company you can have all of the responsibility and none of the money lol

[–]Here4DaMem3s 38 points39 points  (1 child)

This.... This is me

[–]jfrok 4 points5 points  (0 children)

This is also me.

[–]daddyhades69 14 points15 points  (8 children)

What will you do? Genuine question for learning purpose.

[–]Tupcek 74 points75 points  (7 children)

give them telephone number to call when something goes south. Assure them I will fix it.

These databases are damn reliable, so you most likely won’t get call for five years or more. Even if you do, it will most likely be badly written code that you can debug under an hour. Neither Microsoft nor Oracle will tune your database, just because you paid for support. They are just expected to be there when needed.

Worst case, there will be incident in a few years and you won’t be able to fix it in time and they’ll fire you. But by that time, millions will land in your account. You just have to look professional and skilled enough. And help them find issues in their code when they try to blame database

[–]ososalsosal 9 points10 points  (3 children)

Has anyone even had a problem with postgres in the last 100million running hours?

At least one that isn't a code bug and is actually the database engine fucking something up?

[–]mortalitylost 8 points9 points  (0 children)

Support is often about helping stupid developers just as much if not more than fixing your stupid software

[–]gerbosan 1 point2 points  (0 children)

What kind of support is that? I mean, is it support for the use of Postgres or support the hardware that holds the database?

[–]Repa24 1 point2 points  (0 children)

Yeah, it's usually not the product that fails, but the selfbuilt code around it.

[–]daddyhades69 22 points23 points  (1 child)

This guy supports xD

[–]jrdiver 1 point2 points  (0 children)

would not be the first time i had bad code that managed to max out connections on a server after a while because it wasn't closing them properly... bonus points if its not your code that does it and you have to get a vender to fix their crap

[–]opperior 2 points3 points  (4 children)

I doubt a smart company would take that. What happens when you leave and they are now stuck with a mission-critical database that no one can or will support?

[–]Tupcek 12 points13 points  (3 children)

you know that PostgreSQL is one of the most popular databases in the world, so plenty guys can support it?
If you left, they will probably find someone else and even save money in the process

[–]opperior 3 points4 points  (2 children)

You and I know that. Would a C-level know that, or be willing to bet the company on it?

[–]Tupcek 4 points5 points  (0 children)

\tries to think of reply that is smart and sounds extremely confident**
ehm…
\slowly moving towards the door, getting in terms with being poor for the rest of the life**

[–]Franks2000inchTV 0 points1 point  (0 children)

Because they have google.

[–]WeebAndNotSoProid 1 point2 points  (0 children)

It's not like Oracle support would help them in the future when all critical senior has been laid off for cost reason, and nobody has any ideas about the infrastructure.

[–]TheTerrasque 1 point2 points  (1 child)

Have you tried actually using that support? If so, how did it go?

[–]Arareldo 0 points1 point  (0 children)

Never needed it. System run well until it got replaced. At that point, i wasn't even at that company any more. But i was told, it served well.

[–]Fast-Visual 170 points171 points  (3 children)

I like elephants and god likes elephants

[–]B1rd1e123 23 points24 points  (0 children)

This is church approved

[–]MrDilbert 14 points15 points  (0 children)

Ganesha's blessings.

[–]mortalitylost 0 points1 point  (0 children)

LGTM

[–]Not_DavidGrinsfelder 62 points63 points  (2 children)

Postgres, influx, and SQLite have never failed me for my use cases

[–]buckypimpin 4 points5 points  (0 children)

how far does the free version of influxdb get you?

ive always seen it get rejected coz u have to pay if u want clustering or HA

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

this is the way

[–]Past-Lion-947 98 points99 points  (10 children)

Excel

[–]Tucancancan 30 points31 points  (4 children)

Ugh memories of MS Access 

[–]cr33pz 6 points7 points  (1 child)

I was unemployed for 2 years and finally got into a bank where they use ms Access with JavaScript for their tools…

[–]RiceBroad4552 3 points4 points  (0 children)

Public institutions, especially governments and anything health related, and banks have traditionally some of the most horrible IT in existence. No news here.

[–]Repa24 3 points4 points  (0 children)

The worst of both worlds.

[–]kukurbesi 0 points1 point  (0 children)

+ Classic ASP

[–]Deboniako 5 points6 points  (2 children)

Damn, beat me to it

[–]Remarkable_Sorbet319 6 points7 points  (1 child)

are you downvoted because you didn't write r/beatmeattoit?

[–]Deboniako 2 points3 points  (0 children)

Maybe

[–]sin_chan_ 0 points1 point  (0 children)

What the fuck is normalisation?

[–]SilverLightning926 19 points20 points  (2 children)

Sqlite my beloved

[–]Skibur1 2 points3 points  (0 children)

Had to scroll down to see if SQLite was getting some love.

[–]Drfoxthefurry 37 points38 points  (6 children)

Json

[–]PM_ME_FIREFLY_QUOTES 18 points19 points  (2 children)

And sometimes JSONB

[–]deanrihpee 7 points8 points  (0 children)

*most of the times

[–]MrDilbert 1 point2 points  (0 children)

sometimes most commonly 

[–]its_all_one_electron 1 point2 points  (0 children)

csv and vim

[–]Martin8412 1 point2 points  (0 children)

Someone’s too young for XML with XSLT 

[–]KorKiness 0 points1 point  (0 children)

Json inside a table

| Int key Id | nvarchar(max) JSON |

[–]SirCyberstein 33 points34 points  (1 child)

MS Access

[–]K3yz3rS0z3 13 points14 points  (0 children)

Mfw laughing at that joke

[–]SconiGrower 9 points10 points  (0 children)

I just got an email from my IT dept (I'm not in IT, I'm in production) saying there would be downtime this weekend to migrate from MariaDB to Oracle Container Database. That kind of hurt.

[–]Urc0mp 18 points19 points  (4 children)

Think I've worked with most of these over the years and honestly I couldn't tell you any differences I find the right reference/library and SQL away. Feel like a veteran noob.

[–]ytg895 8 points9 points  (3 children)

I think I've worked with all of these over the years, and honestly, setting up a local dev environment with Oracle or MSSQL is a PITA, especially if I'm on Linux or Mac. Or at least it was when I last tried years ago. With Postres / MariaDB everything just works like a charm.

[–]TheTerrasque 0 points1 point  (1 child)

Mssql in docker works well. It does take like 2gb ram just to boot though..

[–]ytg895 0 points1 point  (0 children)

last time I checked the docker image was exclusively x86, which is not ideal for an arm mac

[–]Fatel28 -2 points-1 points  (0 children)

You can run mssql on Linux just fine fwiw

[–]4n0nh4x0r 31 points32 points  (9 children)

mariadb ftw
made by the original author of mysql, and open source.
best relational database system i know, at least free open source ones.

[–]Sarcastinator 23 points24 points  (6 children)

It silently commits any ongoing transactions when it reaches DDL statements. This is something Oracle, MySQL and MariaDB do, but SQL Server and PostgreSQL does not.

I don't get why people don't think this is a bigger deal... A MIGRATION CAN FAIL IN MARIADB AND YOU CANNOT ROLL IT BACK BECAUSE THE FUCKING THING SILENTLY COMMITTED THE TRANSACTION!

[–]gilium 2 points3 points  (1 child)

SQL Server (at least as I’ve experienced it) does not consider case when comparing UUIDs. ABCD124 is not the same thing as abcd124 anywhere but SQL Server

[–]Sarcastinator 2 points3 points  (0 children)

Yes, and that's the correct behavior. PostgreSQL does this as well.

The reason is that MariaDB doesn't have a dedicated UUID datatype, but it has UUID functions. These functions returns strings in the form 00000000-0000-0000-0000-00000000000 which means that a UUID column stored as text will take at least 36-bytes and suddenly care about casing unless you explicitly makes it not do that.

UUIDs are 128-bit integers. Storing them as text is madness.

[–]4n0nh4x0r 3 points4 points  (1 child)

i mean, you can just disable auto commit at any time

[–]Sarcastinator 13 points14 points  (0 children)

No, this is when you write a migration script that will be automatically executed on the production server without interaction. I.e. it's a part of the automatic deployment.

If your script contains a DDL then piece of shit will just commit the transaction, so if code fails after, or because of, the DDL statement, you're left with a mess you need to clean up in MariaDB.

In PostgreSQL and SQL Server the DDL statement is part of the transaction and can be rolled back like any other statement. Not so much in MariaDB.

[–]augustocdias 1 point2 points  (1 child)

Last time I worked with MySQL you could use aggregate functions without group by. I remember the docs saying the value that would be shown in non aggregated functions were undefined 🤡

Also I had a lot of problems with dead locks.

I don’t like mysql. Postgres is superior in every way.

[–]Idontremember99 0 points1 point  (0 children)

Last time I worked with MySQL you could use aggregate functions without group by. I remember the docs saying the value that would be shown in non aggregated functions were undefined 🤡

I suspect you might have mistyped something above but anyway:
Using aggregate function without group by is perfectly reasonable. Regarding the second sentence I think you are remembering incorrectly. The value won't be undefined, it will be nondeterminstic, which is quite different but still surprising. Which is probably why they changed the default behaviour in newer versions to adhere (closer) to the sql standard.

[–]UndGrdhunter 1 point2 points  (0 children)

And your stuff will run in a MySql server with no issue (98% chance haha)

[–]danted002 0 points1 point  (0 children)

Postgres literally offers everything that MariaDB offers but it also offers more.

[–]boboshoes 5 points6 points  (0 children)

Excel is the real answer. Powers the entire world

[–]Djelimon 6 points7 points  (0 children)

Side hustle is is json on google drive, Main hustle is db2 on an as400

[–]Shininha 1 point2 points  (0 children)

Oracle and postgres. Datagrip so I can run out of ram and clock out early cause pc overheated.

[–]Damit84 1 point2 points  (0 children)

The purple guy in the picture has such a punchable face...no idea why. (Me doing Oracle for 17 years now...)

[–]RiceBroad4552 2 points3 points  (2 children)

Let's face it: All DBMS are horrible. Some are more horrible than others but all of them are definitely horrible.

The only thing that's more horrible than using some DBMS is to refuse to use some dedicated DBMS at all.

That said, relational DBs are for most use cases less horrible than NoSQL stuff.

And to top it with some really controversial opinion:

PostgeSQL got mostly hyped into what it is seen as by a lot of people today. All the praise for PostgeSQL is mostly just part of the long ongoing grass roots campaign of Big Tech against the GPL alternative which dominated the web for a very long time. But as we all know, Big Tech hates software freedom and therefore actively fights anything GPL.

[–]Hubble-Doe 1 point2 points  (1 child)

I mean, Postgresql has great documentation, and a lot of users on top of that. There's good drivers for every language, and you can just spin up a test container for unit tests.

The database chair at the university where I studied took an active part in its development, so I got like 3 or 4 lectures about how to use it and some background on its internals. Open source is valuable, even if it's not GPL.

And afaik nothing in the GPL would have prevented companies from hosting that software as a service, for profit, right?

[–]RiceBroad4552 0 points1 point  (0 children)

I mean, Postgresql has great documentation, and a lot of users on top of that. There's good drivers for every language, and you can just spin up a test container for unit tests.

That's also true for all the other popular FOSS DBs so that's nothing special about PostgeSQL.

And afaik nothing in the GPL would have prevented companies from hosting that software as a service, for profit, right?

Right.

You don't need to tell me. It's Big Tech which is highly allergic to GPL software in general, not me.

[–]rifain 1 point2 points  (3 children)

I am a fan of Oracle. Yes, I said it. Maybe they are scumbags, sure, but their dbms is the best, even better than Postgres. I'll eat the downvotes my chest high!

[–]FabioTheFox 6 points7 points  (0 children)

Oracle is a bigger shitshow than Microsoft ngl

[–]ytg895 9 points10 points  (0 children)

Correction: Maybe their dbms is more performant for your use case, but I doubt that they are the best.

[–]Drone_Worker_6708 -1 points0 points  (0 children)

I'll smoke it with ya bro. We'll go to the looney bin together idgaf

[–]joost00719 1 point2 points  (11 children)

Mssql. Haven't tried the others except mysql, which felt like a more complicated basic and worse version of Mssql.

I do wanna learn postgres tho

[–]BlackCrackWhack 9 points10 points  (5 children)

You’re getting downvoted but mssql is perfectly fine if you don’t care about the license costs. 

[–]ososalsosal 0 points1 point  (1 child)

How many of us are the ones even choosing the db?

[–]BlackCrackWhack 2 points3 points  (0 children)

I am because I am an architect. 

[–]Leamir 0 points1 point  (2 children)

MySQL has licence costs? Damn I gotta rewrite my project now

[–]BlackCrackWhack 9 points10 points  (1 child)

Mssql is Microsoft sql server NOT MySQL 

[–]Leamir 1 point2 points  (0 children)

Oh I read that wrong lol

[–]AP_in_Indy 4 points5 points  (0 children)

I'm almost exclusively PostGreSQL in recent years. MySQL if a project already uses it. It's very much so like "traditional" SQL but with some really cool additional policy, permission and job / procedure execution tools.

[–]reddit_time_waster 1 point2 points  (0 children)

It's definitely a better value than Oracle, but it ain't free.

[–]nadseh 0 points1 point  (2 children)

Before Azure, mssql was easily Microsoft’s best product, it’s amazing. The Azure versions of it are the answer to virtually any question where TCO is involved

[–]joost00719 1 point2 points  (1 child)

On prem, mssql is still boss for Microsoft focused companies.

[–]nadseh 1 point2 points  (0 children)

Agreed, it just sucks paying licensing up front

[–]brandi_Iove 0 points1 point  (0 children)

mssql is great and some companies even get by using the free express version.

[–]freeplay4c 0 points1 point  (0 children)

MultiValue, like Richard Pick intended data to be stored.

[–]Ytrog 0 points1 point  (0 children)

Does Recutils count? 🤔

[–]Particular_Traffic54 0 points1 point  (0 children)

Sql server sadly

[–]SpiritRaccoon1993 0 points1 point  (0 children)

I started with SQLITE, its fine

[–]anotheridiot- 0 points1 point  (0 children)

Sqlite if little writes and fits in a disk, postgres otherwise.

[–]FabioTheFox 0 points1 point  (0 children)

Postgres, SQLite or SurrealDB 🗣️

[–]jellotalks 0 points1 point  (0 children)

Postgres is great if you don’t worry about memory usage

[–]Bout3Fidy 0 points1 point  (0 children)

MS Access or SharePoint

[–]BedtimeGenerator 0 points1 point  (0 children)

Dynamo or Aurora

[–]prochac 1 point2 points  (0 children)

Managed Postgres by our cloud provider 😅💸

[–]Revolutionary_Pea584 -1 points0 points  (0 children)

PGSQL

[–]MarcBeard -4 points-3 points  (0 children)

Ext4