MongoDB Client Details

Author
Sumita Barahmand
Schema Description
  • Data is stored as collections: "users", "resources" and "manipulation".
  • The unique identifier of friends and pending friends for a user, as well as the unique identifier of resources posted on a user's wall and those created by a user, are maintained as separate arrays with other user attributes.
  • Profile and thumbnail images for a user, are stored as arrays of bytes along with other user attributes.
Index Structures
  • The "users" collection is indexed on userid.
  • The "resources" collection is indexed on resourceid and walluserid (the userid for the wall, where the resource is posted on).
  • The "manipulation" collection is indexed on manipulationid and resourceid.
Database Load Time
(10 Load Threads)
  • 10,000 members, 100 friends per user, 100 resources per user, no user images: 7 Minutes
  • 10,000 members, 100 friends per user, 100 resources per user, 12KB profile images and 2KB thumbnail images: 8 Minutes
SoAR Rating# †
10,000 members, 100 friends per user, 100 resources per user, no user images
  • VeryLowUpdateActions: 6400 actions/sec
  • LowUpdateActions: 6300 actions/sec
  • HighUpdateActions: 5800 actions/sec
Source
Download

# 10,000 members, 100 friends per user, 100 resources per user, no user images.

† The reported performance numbers were obtained using Amazon EC2 instances with the following specifications: M1 Extra Large instances, 8 ECUs, 4 cores, 15 Gigabyte. One instance hosted the data store while multiple BGClients were used to generate workload. Processor and network resources of the BGClients were not a bottleneck while obtaining these numbers. The experiments were conducted using MongoDB-Server 2.0.8 and MongoDB-Client 2.10.1.