The Solenoidal Tracker At RHIC (STAR) is a large acceptance collider detector, commissioned for operation at Brookhaven National Laboratory in 1999. STAR is designed to measure the momentum and identify several thousands of particles per event. About 300 Terabytes of data will be generated each year. To handle such a huge amount of data, sophisticated data structures and associated tools were developed. The main features of these data structures are: Data structure is a complicated but flexible set of C++ objects; All data objects are persistent, we do not maintain separate transient and persistent data structures; Persistence of data structure is based on ROOT[?] I/O implementation; Part of ROOT I/O was modified to meet STAR requirements; and The modification of ROOT I/O allows to support automatic schema evolution of STAR data structures. Automatic tools allow reading of old data into new environments. In this paper we present our experience with maintenance of big and complicated OO data structures, especially concerning schema evolution