We're looking to export all the leads, activities, custom objects, etc. in the Marketo database to an external database like SQL database. We can use this to run analysis outside of Marketo and sync to other systems as required. We often require to make bulk updates and push back to Marketo. Are there any suggested tools that we can look at? We used CDATA connector but that fails a lot of times and takes forever to export data.
"Tools" is a bit vague...
For leads and activities, you'll want to use the Bulk Extract feature, and 3rd-party tools are unlikely to have been retrofitted to use this API (it's fully asynchronous, so significantly changes the model of most "real-time" integration middleware).
Having put it through its paces myself, I would say CDATA's engine itself (the .NET side) is actually quite efficient, but it's using the batch -- as opposed to bulk -- export method so will naturally be slower, less efficient, and more likely to encounter error conditions than the single files you get from Bulk Extract (because batch mode requires thousands of independent network requests + reauthentications + needs to assemble/cache files on the client).