Best practiced is to use data pages as those are called declaratively. Report definitions can be a source for a data page. Otherwise, using a report definition directly may require using an Activity to trigger it.
So if i source a data page will it create any performance issues . i want data to be populated when the record updates. if i use refresh strategy as reload once per interaction its will effect so i want a good approach for this
Data pages are definitely better when compared to RD . You need to carefully evaluate and choose the option to reload once per interaction when you have no viable alternative. If you are aware of certain user actions which would need a data refresh you can rather try performing a Page-Remove with Data Page name as the step page.
Data Pages are better than report definition as you can also the restructure the data into your desire page formats. In addition ther results would be cached.