А как высококлассные специалисты собираются бороться с фрагментацией памяти?
У меня такой проблемы не возникало. Разнородные данные закачиваются из БД, каждый тип в свою область памяти, там и живут, пока нужны. Когда не нужны, все выбрасываются. Чтобы каждому типу хватило памяти, на этапе проектирования программы формируются карта распределения памяти.
С данными каждого типа работают, как с массивом (хотя количество данных меняется в широких пределах, но назвать этот массив динамическим язык не поворачивается). То есть, под массив отводится максимально нужное количество виртуальной памяти, но физически память выделяется в процессе закачки данных.