Deleting Millions of Rows Efficiently

Hello all

We are evaulating to use Percona MySQL server in our environment. We have collecting millions of rows time series data each day from our customers and we have background jobs to delete these rows at 4 hours interval. We are not able to use partitioning by 4 hours because each customer data time is not same.

Currently we delete 100000 rows at each delete but seems that it is not efficient and create fragementation. Also, we are not able to run optimize table in our production systems.

Do you have any recommendation for such operations in Percona server? Is percona more efficient than normal mysql?