1. A method comprising: obtaining semi-structured data; obtaining workload input; selecting an improved semi-structured data storage schema for a relational schema in response to the semi-structured data and the workload input; and segmenting the semi-structured data based on the selected improved semi-structured data storage schema.