15. A non-transitory machine-readable storage medium comprising a program containing a set of instructions for causing a machine to execute procedures for improving data compression efficiency of a social network system, the procedures comprising: receiving an instruction to improve data compression efficiency of social graph data of a social graph, the social graph including multiple vertices representing social network users, some of the social network users are friends in a social network; generating based on the social graph a partitioning tree including multiple bottom-level buckets, the partitioning tree dividing the vertices of the social graph into the bottom-level buckets and ordering the bottom-level buckets such that a social network metric regarding the vertices is optimized; assigning user IDs to the vertices of the social network in a numerical sequence based on the ordering of the bottom-level buckets; and storing the social graph data of the users in storage locations in an order according to the numeral sequence of the assigned user IDs of the vertices, wherein the social graph data of the users are stored in a form of differences between the social graph data of respective users and the social graph data of neighboring users.
18. The non-transitory machine-readable storage medium of claim 15 , wherein the partitioning tree divides the vertices of the social graph into the bottom-level buckets and orders the bottom-level buckets such that a log cost or a log gap cost of the vertices of the social graph is minimized.