You will find plenty of documents on this if you Google. A good one is The Force.com Multitenant Architecture whitepaper.
- Salesforce operates multiple instances (pods) and many tenant's data is stored in each one.
- One database is shared by many tenants:
All Force.com data, metadata, and pivot table structures, including
underlying database indexes, are physically partitioned by OrgID (by
tenant) using native database partitioning mechanisms.
On the subject of user scaling, login is handled centrally and after login a user is forwarded to an instance with a specific OrgID. The username has to be globally unique, and each username is tied to an instance and OrgID. I don't know of any documentation on how that login server is made to scale, but it only needs to hold a small amount of information per user so scaling is presumably a manageable problem.