I've created a new branch on GitHub project to include Oracle tests...I'm not going to merge it to the main branch because Oracle docker image consumes a lot of memory and requires to modify the Docker Desktop configuration, but if anyone is interested on it here is the branch published:

https://github.com/intersystems-ib/workshop-py-performance/tree/oracle

Here is the comparative graph with Oracle included:

As you can see IRIS and Oracle are equivalents in terms of performance.

Well, I did something similar to create a Firebase connector, I created my own inbound adapter and define a business services to use it, after that I configured the interval in the business service and that's all!

You can review the article that I wrote about it:

https://community.intersystems.com/post/connecting-intersystems-iris-and...

For your case the interval would be 86400 seconds to execute the inbound adapter task once each day.

If you have any doubt don't hesitate to ask me.

Yeah, probably is your best option.

Anyway, I think that you could add the pieces of the base64 field as values of the Base64EncodedFile list removing the (1) in my code:

Do stream.Rewind()
While (stream.AtEnd = 0) {
    // Not sure about the len
    Set len = 3641144
    do target.SetValueAt(stream.Read(.len), "LetterAttachment(1).Base64EncodedFile", "append")
}

The problem of this is that you couldn't include more documents attached because all the list would belong to just one document.