Cassandra Client Details

Author
Yuri Gurevich
Schema Description
  • Data is stored in the following 3 Column Families: Members, Resource, Manipulation.
  • userid, combination of resourceid and walluserid, and manipulationid are the keys for "Members", "Resource" and "Manipulation" column families, respectively.
  • PengingRequests and ConfirmedFriendship are stored as a collection-type columns within Members column family. These columns contain sets of user ids for the corresponding users.
  • Profile and thumbnail images for a user are stored as Blobs (Binary Large OBjects) columns within Members column family.
Index Structures
  • The "Resource" column family is indexed on creatorid.
  • The "Manipulation" column family is indexed on resourceid, "rid".
Database Load Time
(10 Load Threads)
    Replication Factor = 1 and durable writes = false
  • 10,000 members, 100 friends per user, 100 resources per user, no user images: 18 Minutes
  • 10,000 members, 100 friends per user, 100 resources per user, 12KB profile images and 2KB thumbnail images: 19 Minutes

  • Replication Factor = 3 and durable writes = true
  • 10,000 members, 100 friends per user, 100 resources per user, no user images: 33 Minutes
Source
Download

† The reported loading numbers were obtained using a 3-node Cassandra cluster using Cassandra Release Version: 2.1.2. Each Cassandra Cluster Node was an AWS m3.medium instances with the following characteristics: 1 vCPU, 3.75 GB Memory, 1 x 4 (GB) SSD Storage. Cassandra Client (CQL3) version 2.1.1 was installed on AWS m3.2xlarge instance with the following characteristics:8vCPU, 30 GB Memory, 2 x80 (GB) SSD Storage.