With xtrabackup you can take incremental and partial backups.
For incremental: Incremental Backup
for partial backups: Partial Backups
Check this note from the official doc:
Incremental backups simply read the pages and compare their LSN to the last backup’s LSN. You still need a full backup to recover the incremental changes, however; without a full backup to act as a base, the incremental backups are useless.
So, the incremental backup will only contain and apply the changes on the subset of partially backed up tables.
Last, a partial backup must be restored one table at a time as explained in https://www.percona.com/doc/percona-xtrabackup/2.3/innobackupex/restoring_individual_tables_ibk.html
Otherwise, restoring the partial backup will overwrite the mysql internal table dictionary. Restoring each individual table to MySQL will require MySQL to read the entire .ibd file
Usually taking and restoring a physical backup should be faster than a logical backup.You can test with the commands and examples from the official doc to check how faster is for your database and workload. Make sure you check the examples with the correct version of xtrabackup you are using (i.e xtrabackup 2.4 for 5.7 and 5.6, xtrabackup 8.0 for 8.0, mariabackup for mariaDB)