One of the drawbacks of having a schemaless database is that Mongo DB must store all field information along with every document, meaning that it takes up a lot of storage space in RAM and on disk.
A common pattern to limit this is to alias fields to a small number of characters, while keeping the domain in the application expressive.
Changes are recorded from the time a document is instantiated, either as a new document or via loading from the database up to the time it is saved. If no changes have been made, Mongoid will not hit the database on a call to Mongoid supports inheritance in both root and embedded documents.
In scenarios where documents are inherited from their fields, relations, validations and scopes get copied down into their child documents, but not vise-versa. If the document exists in the database, it will get overwritten with the current attributes of the document in memory.
Official native Sphinx API implementations for PHP, Perl, Python, Ruby and Java are included within the distribution package.