Hi Yang,
There are a lot fo options here. First, you can select the "File" data type on your custom table. What this will do is create a nvarchar filed on your custom table that holds a GUID for the file. The Depending on how you have your site configured, it will either upload the file to the file system, the database (into the CMS_Attachments table), or both. When it does that, it assigns it a GUID, which it then stores in the custom table field. The CMS_Attachements.AttachmentBinary field is a varbinary data type, much like a BLOB that you mentioned.
Either way, you would call the CMSPages/GetFile.aspx page to get the file, passing it the GUID so really I think it would work for your scenario either way.
This kind of setup is very similar to our MVC support in V9. In that setup, Kentico runs as the repository of data / files and everything is loaded via the API to the MVC app. I would recommend you check out the GitHub project and review how we are loading things as it may be exactly what you are looking for.
https://github.com/Kentico/Mvc