можно сделать таблицу, в которую идут вставки, и вторую - в которой хранятся уже собранные данные по каждому товару. или обработанные данные вообще в кеше типа Redis хранить
вот пишешь ты драйвера базы данных.
соответственно, у тебя должен быть абстрактный класс драйвера. который заставляет потомков реализовать некоторый набор методов, в свою очередь, для некоторых операций может какую-то реализацию предложить.
и потом, есть у тебя допустим модель, которой требуется, чтобы ей передали драйвер базы данных.
если у тебя есть абстрактный класс - ты можешь написать так: function __construct(Db_Driver $driver);