Okay, fuck IPB - it has now eaten my reply twice, doesn't save drafts, and even breaks my form data saving extension. I'm writing this in an external editor and copying it in - that means you won't have fancy IPB quotes, but e-mail style quotes instead.
--
> @vampireJ: It seems to be a known problem since at least 5 years back.
> http://blog.mongodb....bit-limitations
> Obviously the 32 bit OS has a file size limitation as well which mongodb is not able to workaround with.
The 32-bit limitation is a dumb architectural limitation that's a result of their (questionable) architectural decisions, but it's not even the real problem I was trying to point out. The real problem is that it
quietly throws away data. That is inexcusable for something pretending to be a database.
> It is afterall a NoSQL solution (and quite a pioneer as far as I know) and not RDBMS.
"NoSQL", "schemaless" and "non-relational" are three entirely different concepts. They can exist in the same system, but none of them implies or requires any of the others.
And no, MongoDB is not a "pioneer" - systems like BerkeleyDB and CouchDB have been around for much longer.
> 1. Non integer IDs makes for basically unlimited records / documents. If you have heard about twitter before moving to a string ID. Integer ids would soon all be used up and the headache of working around it is a big problem.
This is in no way related or exclusive to MongoDB or NoSQL. Every major database allows for strings as primary keys, so you can use UUIDs (exactly like MongoDB does) - PostgreSQL even has a special UUID column type for it.
> 2. JSON (actually BSON) support throughout.
As does PostgreSQL.
> 3. Aggregation is very powerful and which relational queries can never do.
Sorry, what? The majority of MongoDB's aggregration functionality is modeled directly after the various constructs that exist in SQL databases. I'd like to see something you can do in MongoDB, that you can't do in PostgreSQL.
> 4. The supposedly no defined schema is a flexibility- and it offers actually an advantage and makes everything easy.
No, it doesn't, did you even read the article I linked?
There is practically always a schema, whether you want it or not. You just end up implicitly defining it in your applications, meaning you can no longer meaningfully migrate your schema, and if you have more than one isolated component accessing the database,
you now need to implement your schema in multiple places.
And again, PostgreSQL offers JSON support. If you believe that "not having a schema" is actually a thing that is possible, then feel free to use that.
> But the performance tradeof is really great.
And I'd like to see a benchmark on that. I have been asking people to provide me with proof of this "great performance" claim for
years now, and nobody has ever been able to show that MongoDB performs better than anything that isn't CouchDB. Indeed, the articles I linked - which, again, you evidently didn't read - show the exact opposite.
As far as I have seen, MongoDB is slow. It isn't fast. Stop claiming it is, unless you can actually back it up with hard numbers.
--
> @Servers4You: If you are looking at making sites and web development I'd recommend PHP, mainly because it is the most widely used for web apps,
That is not a good reason. If you want to
build sites, it's completely irrelevant what language is used the most for
other people's sites.
> however a lot of PHP can be structured around other stuff such as CURL.
cURL bindings exist for practically every language, though you usually don't need them, as those languages have better libraries available. This is in no way exclusive to PHP.
> A proper web developer would also learn C++ and Phyton.
What? C++ is almost
entirely irrelevant to web development. And being a "proper web developer" in no way requires Python, either. It's one language of many.
> The only thing that hurts my head is trying to learn JavaScript, I just can't wrap my head around it.
This is a good place to start.