G1 -> serialized data and images stored on filesystem
G2 -> database backend for metadata, stores images on filesystem
byteBabe, @custom fields.
see the G2 custom fields module, may be something different though.
and G2 is modular, so feel free to implement your changes as a G2 module.