6 ms·
It seems like Mongo in particular is reinventing the RDBMS wheel entirely, except with a frustrating JSON query language. The benchmark blog post a couple of d
by shubber 14y ago
It seems like Mongo in particular is reinventing the RDBMS wheel entirely, except with a frustrating JSON query language. The benchmark blog post a couple of days ago versus an out-of-the-box Postgres deploy (i.e. memory crippled) was not very impressive.
And look: they've implemented clusters - by pushing a Slony equivalent into the DB itself.
Please forgive my bile - I was a little nonplussed with Mongo, and now I have to use it for a client. Now I'm a lot nonplussed.
- defen 14y agoJust an FYI - you're using the word "nonplussed" incorrectly.
- inportb 14y agoPerhaps shubber is nonplussed after learning about MongoDB's query language design and the client's choice of database -- why would anyone actually want such a monstrosity?!
- taligent 14y agoBecause MongoDB is a fantastic database for developers whilst RDBMS can suck big time. In this age of agile development requirements and schemas change very, very rapidly and MongoDB excels at being able to support that.
- bsg75 14y agoI am genuinely interested in why schema changes in RDBMS' are such a point of contention. Is it the addition of new columns that are problematic, or the modification of existing column datatypes? Having written more than one mechanism to automate schema upgrades in remote deployments, and numerous migration scripts, I know it is an extra step in the development process, but I have not considered it an onerous one.
- SystemOut 14y agoFor me, the lack of schema also means that during an upgrade on a large database I can upgrade my app, start batch updating the data in the database and then also perform on-access upgrades and minimize my app downtime. Changing a schema in a large database can potentially require a lot of downtime or other interesting gymnastics to keep downtime to a minimum. I'm not completely sold on Mongo but this is one area where not having a schema can really help.
- jeltz 14y agoWould not any online schema update in a more complicated cases (not just simply adding or removing columns) require interesting gymnastics or downtime in MongoDB too? The application needs to support both the old and new (and possible an intermediate) schemas during the online upgrade. PostgreSQL supports transactional schema modifications. fast adding and removing of columns, and lockless index creation. So in simple cases upgrading the schema is trivial. For complicated cases it can be a mess, but my guess is that that applies to any database.
- taligent 14y agoSchema changes are exclusively an application-layer change in MongoDB. So MongoDB can support as many schemas as you want at the same time whilst you are migrating. Also don't forget that MongoDB can have arrays and sets as a "column" type. Which if you tried to replicate in RDBMS would mean a multi-table migration.
- jeltz 14y ago> Schema changes are exclusively an application-layer change in MongoDB. Which is not by itself an advantage. You still need to write the code which does the schema change if you for example rename a field. > Also don't forget that MongoDB can have arrays and sets as a "column" type. Which if you tried to replicate in RDBMS would mean a multi-table migration. So can PostgreSQL. The sets are not as general as in MongoDB though since they can only store strings.
- bsg75 14y agoMongoDB gets points for including a query language (vs CouchDB), but loses a few for it being JSON/JavaScript. I understand the choice, JSON and JavaScript being so popular in current web platforms, but the SQL developer in me wishes for something more "readable" (see Lua in Redis).
- FooBarWidget 14y agoRDBMSes still do not provide easy support for sharding. That alone makes MongoDB different.