Goodbye MongoDB, Hello PostgreSQL (article)



  • Guys from olery.com writes about their move from MongoDB to PostgreSQL. Reasons why Mongo sucks. Reasons why they chose Postgres. And the move itself (how do you do that without breaking things and a huge downtime).

    Interesting.

    In my mind, this solidifies MongoDB as a "toy" database. I might use it for a tiny project (being easy to setup and consume in some environments), but for real, core data, PostgreSQL (SQL Server in the MS land) is the king.

    Now if only they fixed their atrocious GUI tools and added just a few more features from their TODO list...


  • Discourse touched me in a no-no place

    @cartman82 said:

    PostgreSQL (SQL Server in the MS land) is the king.

    Now if only they fixed their atrocious GUI tools...


    pg's GUI tools? Wasn't aware there were any - I've been largely relying on phpPgAdmin for my GUI requirements and the command line for the rest.


  • BINNED

    @PJH said:

    pg's GUI tools?

    pgAdmin?


  • Discourse touched me in a no-no place

    @Onyx said:

    pgAdmin?

    I... just don't recall having seen that. Then again having never been a fan of any of mySQL's GUI stuff and having found phpmyadmin more than sufficient for my needs I, probably, simply searched for the pg equivalent and have no problems with it.

    To save me trying phAdmin, (given @cartman82's comments) am I better off sticking with what I'm using?


  • FoxDev

    pgAdmin III isn't exactly a stellar piece of software (it's certainly not to the standards of SSMS), but it's not totally useless. Having said that, phpPgAdmin's probably easier to use for the basic stuff, so unless you need the advanced stuff, you may as well stick with phpPgAdmin ;)

    Edit: Silly girl; he's using Postgres. Learn to read!


  • BINNED

    I haven't used phpPgAdmin so I cannot compare 😛

    It works. I'm ok with it, does the job. More usable than MySQL Workbench if you want to compare it with that.

    I know, low bar, but I haven't used that many other DB GUI tools to compare and contrast.


  • Discourse touched me in a no-no place

    @RaceProUK said:

    pgAdmin III

    @RaceProUK said:

    phpMyAdmin's probably easier to use for the basic stuff

    One of those things isn't like the others.

    Braino I'm sure...


  • Discourse touched me in a no-no place

    @Onyx said:

    More usable than MySQL Workbench if you want to compare it with that.

    .. I was. Utterly useless piece of software - at least when I tried to use it on my own site when I was considering moving to one of the template frameworks and needed to do something about documenting and rationalising my database.


  • FoxDev

    @PJH said:

    Braino

    This guy?

    But yeah, I dun goofed 😊
    Post corrected.



  • You can also use SquirrelSQL which can connect to any database with JDBC support.

    @cartman82 said:

    Now if only they fixed their atrocious GUI tools and added just a few more features from their TODO list

    Not like MongoDB had any GUI tool which was at least useful. Anyway, I've been pushing pg for more than 10 years in every project I start and now with JSON support it just kills even NoSQL key/value and document databases unless you have very specific needs which other NoSQL databases like Neo4j or CouchDB do. Too bad JSON support is still not build into all pg libraries. Hell, from what I read last time, the guys responsible for the JDBC driver might not even add it.

    BTW @cartman82 there's this early stage project called ToroDB which adds a MongoDB like layer on top of pg which you might find useful.



  • @PJH said:

    To save me trying phAdmin, (given @cartman82's comments) am I better off sticking with what I'm using?

    Whatever you pick, it's sadness. I use a combination of pgAdmin and Navicat, switching between them for different types of jobs (or when one crashes / pisses me off). But there is no really good postgres GUI tool, like SSMS or even MySQL Workbench.


  • Discourse touched me in a no-no place

    @cartman82 said:

    Navicat

    I'd need it for hobby/non-work stuff only - I have very few work day-to-day interactions wearing a DBA hat.

    That seems to be a paid product, and I couldn't justify.... $700??!?!? (They seem to have also broken that product into $SQL_SERVER_TYPE products of which I'd need at least two, and would probably use some of their addons, so no real saving there.)



  • @Eldelshell said:

    BTW @cartman82 there's this early stage project called ToroDB which adds a MongoDB like layer on top of pg which you might find useful.

    Meh. Don't see the need. The major remaining advantage of MongoDB is the ease of getting started. If you need to install postgres, then set up postgresql.conf, then open up md5 access through TCP in pghba, then create users, then create a db, then install this thing... kind of loses that "just get started" vibe.

    @PJH said:

    I'd need it for hobby/non-work stuff only - I have very few work day-to-day interactions wearing a DBA hat.

    For some time I've been having feverish delusional dreams that I could write a good GUI postgresql monitor (see active queries and such), which is a major pain point in pgadmin. And then maybe start expanding it with database tree and queries and schema inspector....

    LOL. That's what world needs. More half-baked OSS projects.


  • BINNED

    @cartman82 said:

    LOL. That's what world needs. More half-baked OSS projects.

    Just build it as a Discourse plugin!


  • Discourse touched me in a no-no place

    @Onyx said:

    Just build it as a Discourse plugin!

    Strange you should mention that....


  • BINNED

    @PJH said:

    Strange you should mention that....

    That's why I said that tbh. But I wasn't aware it's actually a plugin, I thought it was a standalone thing.


  • Discourse touched me in a no-no place

    Ah. I just ass-u-me'd it was a plugin.


  • ♿ (Parody)

    Schemaless storage engines promise to make your life easier by removing the need to worry about a schema.

    I've never understood this worry. It always sounds like someone who doesn't understand what they're doing.



  • Not all data can/should be "schemed", that discussion is pretty much closed by now.



  • @Eldelshell said:

    Not all data can/should be "schemed", that discussion is pretty much closed by now.

    Agreed. I have zero issues with redis, for example. I'm using it all the time for all sorts of caches and temp data stores. Even as an ad-hoc messaging system between processes.

    But for your permanent data, it seems there are still huge advantages to having a normal ACID-compliant centralized store.


  • ♿ (Parody)

    @Eldelshell said:

    Not all data can/should be "schemed",

    I don't disagree. But if you're using a normal RDBMS for that stuff, there are easy key / value things. And then you aren't really worried about a schema, either.

    @cartman82 said:

    But for your permanent data, it seems there are still huge advantages to having a normal ACID-compliant centralized store.

    +⍙



  • @boomzilla said:

    worry about a schema.

    I worry that my schemas will get mixed up with the wrong cloud, start stealing resources, end up locked in a cell with some serial data killer, and then get kill9ed.



  • @PJH said:

    pg's GUI tools? Wasn't aware there were any

    There are. They're atrocious.

    @PJH said:

    I've been largely relying on phpPgAdmin

    How does this not count as a PostgreSQL GUI tool? It's a website built in PHP that somehow isn't a GUI? Like the website is just scrolling text?

    But they also have one that's a native application called (IIRC) pgAdmin.


  • Discourse touched me in a no-no place

    @blakeyrat said:

    How does this not count as a PostgreSQL GUI tool? It's a website built in PHP that somehow isn't a GUI?

    To appease your inner pedantry, I took tool in this context to mean something like a standalone application that's compiled into the Windows OS and requires rebooting the computer every time it's updated, not something that's OS agnostic when being used, and certainly not a web-app.

    @blakeyrat said:

    But they also have one that's a native application called (IIRC) pgAdmin.

    Just tried it. Prefer the web application.



  • @PJH said:

    I took tool in this context to mean something like a standalone application that's compiled into the Windows OS

    Compiled into the Windows OS? #pedantry

    But in the interest of "using words correctly", all webapps (at least all I've been exposed to) are GUIs.

    @PJH said:

    Just tried it. Prefer the web application.

    Right; it's atrocious. Remember the conversation to this point?



  • @Onyx said:

    That's why I said that tbh. But I wasn't aware it's actually a plugin, I thought it was a standalone thing.

    @PJH said:

    Ah. I just ass-u-me'd it was a plugin.

    nah, I actually stuck it into the core code. It would appear that I broke it somehow, however...


Log in to reply