Учитывая ваши данные, я предполагаю, что вы убедились, что ваши файлы действительно содержат 99% общих данных с непрерывной (или почти непрерывной) разницей в них 1%.
Во-первых, вы должны использовать tar для создания одного архива с вашими файлами внутри. Для тестов я бы создал .tar с 10 файлами, размером 300 МБ.
Затем, используя xz, вы должны установить его так, чтобы словарь был больше, чем размер одного файла. Поскольку вы не говорите, если у вас есть ограничения памяти, я бы пошел с xz -9. Нет смысла не использовать всю доступную память.
Я бы также использовал предустановку --extreme, чтобы проверить, имеет ли это значение.
Размер словаря
В одной имеющейся у меня документации - site - сказано, что размер словаря примерно равен использованию памяти декомпрессором. А параметр -1 означает 1 ДБ, -6 означает 10 МБ (или 8 МБ в другой части того же руководства). Вот почему вы не получаете никаких преимуществ, собирая эти файлы вместе. Использование -9 сделает декомпрессор (и, следовательно, словарь) 64 МБ, и я думаю, что это то, что вы хотели.
редактировать
Другая возможность будет использовать другой компрессор. Я бы пошел с 7zip, но сначала скопировал бы эти файлы, а затем 7zip.
В зависимости от содержимого ваших файлов, возможно, вы можете использовать 7zip с методом PPM-D (вместо LZMA или LZMA2, который используется по умолчанию и используется в xz)
Не хорошо: Zip (dict = 32 кБ), Bzip (dict = 900 кБ).