1. A method for optimizing storage of schema-less data in a data storage system, the method comprising: receiving at least one of a schema-less dataset comprising a plurality of resources, and at least one query workload associated with the plurality of resources, wherein each resource in the plurality of resources is associated with at least a plurality of properties; identifying, for one or more of the plurality of resources, at least one set of co-occurring properties from the plurality of properties; generating a graph comprising a plurality of nodes, wherein each of the plurality of nodes represents a unique property in the at least one set of co-occurring properties, and wherein the graph further comprises an edge connecting each of the plurality of nodes representing a pair of co-occurring properties in the at least one set of co-occurring properties; and generating, based on the graph, a storage schema, wherein the storage schema assigns a column identifier from a table to each unique property represented by one of the plurality of nodes in the graph, where each of the plurality of nodes connected by an edge is assigned the same column identifier.