I have a problem of syncing data from MySQL to PowerBi cloud for reporting purpose. The footprints of the flow of the information is as below:
[Live Database] can not be connected on public network -> download database to a Linux os based MySQL server which can be connected on public network. -> Above download/mysqldump runs every hour to export/import data. -> Lots of views runs to consolidate/prepare analytical data from different tables and insert it into simple MySQL tables. -> A powerBi gateway is installed on a separate windows server to fetch data from mysql server and send to PowerBI cloud -> A new gateway is required for each new client but the main dataset remains same, which means there are more gateways and powerbI cloud accounts to connect and fetch data. this increases load on MySQL server
Size of data downloaded and imported on MySQL server is 9GB size. Views runs to consolidate data into simple MySQL tables takes 40 mins Above two tings happens every two hour There is only one MySQL server which hold data for each new client Number of gateways increases with each new client There is one powerBi cloud account for each powerbi gateway There is scheduled refresh of data on each powerBi cloud account. As the number of account have increased it increases load on main MySQL server and it crashes frequently.
I want to know if this is the best way of syncing data to powerBI? How can I reduce the load on main MySQL server?
There 5 gateways, on for each client,
[Live Database] -> Mysql Server1 -> Windows Gateway1 -> PowerBi CLoud1 [Live Database] -> Mysql Server1 -> Windows Gateway2 -> PowerBi CLoud2 [Live Database] -> Mysql Server1 -> Windows Gateway3 -> PowerBi CLoud3 [Live Database] -> Mysql Server1 -> Windows Gateway4 -> PowerBi CLoud4 [Live Database] -> Mysql Server1 -> Windows Gateway5 -> PowerBi CLoud5