The only way to directly access the external DB is via an API call. The drawback would be that any calls of significant size would be a heavy resource draw and could potentially time out or require multiple calls and a large amount of time - depending on the API abilities of your 3rd party system.
By far, exporting to a CSV or similar file and then doing an import via FTP is the most efficient way.
My recommendation would be to continue to do the bulk upload daily and then use the API call to do 'real time' updates on the sections you need.
Samples of API calls to push data to SFMC.
REST API to Data Extension (note: there is an async version, but this requires you to get this enabled by SFMC support)
Adding data to a DE via SOAP API
Adding a Subscriber to SFMC
Now you could also use a Script Activity to do a REST or SOAP API call to your external DB via SFMC SSJS, but as each system requires different authentication and requirements, I cannot post any samples here.
A good resource for SFMC API call templates would be the POSTman SFMC library of API calls. This will give you a good starting point on many API calls.