Is fact, this is quite easy. First thing, you will not be able to connect Marketo to your DWH, the datawarehouse or the ETL will connect to Marketo.
You need to make sure that, whatever the solution you use to connect, it optimizes its usage of the API, as there are some daily limits and Marketo, on the other ends can generate huge quantities of data. Ideally, if your extraction solution could use the brand new bulk API, that would be much better, but it is so new that I am afraid no market / Launchpoint solution will use them yet.
The other important point is that you will need to harmonize on a unique ID so that you can match Marketo records with the DWH records and manage updates. Marketo does not generates UID's, except Marketo built-in one pr the email address. But if you want, in your DWH, to match records with that from other systems, that might be an issue. One way is to have the ETL system generate UIDs and post them to a Marketo field each time a new record is sync'ed from Marketo for the first time.