Coming from a MySQL background, I was surprised to read today about MongoDB's default 16MB namespace file limitation.
As Kinvey cloaks the MongoDB in a Collection, can you explain exactly how this affects us from a development perspective. For example, if I have a "Messages" collection with 8 fields and one field in particular called "messages" that will store string as long as 500 characters, what limitations will be reached? Let's assume that each entity is 1024 bits or 1K.
Does that mean I am limited to roughly 130M records in my "Messages" collection? If that proves to be insufficient (let's hope so!), what are my options? Can Kinvey increase the limit? Do I have to start creating incremented collections like "Message2", "Messages3" etc?
Do you have some general architecture guidelines we can read or do you handle these on a case by case basis with customers as they start to strain the default limits?
Hi Justin, from what I've seen, the namespaces grows with number of collections, not documents/fields. Kinvey collections and Mongo collections map one to one. You can have many more than 130M records, but I am not sure what the limit is. If your collection grows too large, we will shard it behind the scenes and you shouldn't need to care.
almost 5 years ago
I had forgotten all about this question. In the meantime, I've actually learned a bit more MongoDB. The 16MB limit I was referencing is actually for a single Document (tuple) in a collection. As best I've seen, the collection itself has no specific limit.