Check your mongodb.conf (on ubuntu: /etc/mongodb.conf, not sure where on CentOS) and see if:
bind_ip = 127.0.0.1
If so, comment that line with "#":
#bind_ip = 127.0.0.1
Note that this may have security repercussions.
Note: do not forget that mongodb has a limit to the document size, i think it is 16mb, but you'll need to check the documentation
The entire point of mongodb is to store your data denormalized, and to avoid 'joins', but if your data is entirely separate, it should still be stored in separate collections.
On our site, we have a few different collections, and one of them is linked via reference. It depends which driver you are using if the driver will resolve the references for you or not.
The other thing to consider is how you will be updating the data.
MongoDB mmap's the entire collection in to memory, and allows your OS to determine which parts should be paged out to disk, and which parts of the data should be stored in memory. There shouldn't be much difference in performance between 1 large table and 2 medium sized tables if the size of the entire dataset is the same. A consideration here is indexes, if you combine the data into one collection, and an index can cover it all, you may be able to lookup the data more quickly.
So, you could have a collection with each of your hotels, containing a property called 'customers' which is an array or hashes with the details of each customer, and you can push and pull items off of that array (or you can make it a hash on a unique customer identifier for easier access). Don't forget about the 16mb limit though.
It might be easier to answer your question if I had more context and details about what it is you are trying to store, and what kind of queries you need to run against the data
Best Answer
MongoDB uses memory mapped files - which can be much larger then the actual physical (or swap) available on your machine. The total virtual memory used will usually be the size of all the data on disk at the time as a result.
The resident memory will be the stat that represents the actual working set used, though depending on your resources on the box and the usage pattern this will tend to grow over time and approach the total physical RAM on the host. Basically, unless the OS sees a need to page out old data (memory pressure) it will stay in RAM.
When you restart MongoDB this basically starts again from scratch. So if you have a known time frame for your actual working data set (say you only ever use the last 7 days), then the set size after that time period (assuming regular, predictable use) will represent your approximate working set size in terms of RAM.
More info to be found in the Docs here:
http://www.mongodb.org/display/DOCS/Caching
http://www.mongodb.org/display/DOCS/Checking+Server+Memory+Usage
Finally, MMS (which is free) does a good job of mapping this out for you over time - Mapped, Virtual, Resident and non-Mapped as well as plenty of other stats (look for "i" over each graph for an explanation).
http://mms.10gen.com