Log is an inmemory commitlog (per topic) which splits data in segments.
It drops the oldest segment when retention policies are crossed.
Each segment is identified by base offset and a new segment is created
when ever current segment crosses disk limit