hapifhir / hapi-fhir

🔥 HAPI FHIR - Java API for HL7 FHIR Clients and Servers
http://hapifhir.io
Apache License 2.0
2.04k stars 1.33k forks source link

Bulk data export to external storage #1651

Open chgl opened 4 years ago

chgl commented 4 years ago

Describe the issue Instead of storing bulk-exported ndjson files on a HAPI FHIR server, there should be an option to write these directly to external object storage (such as S3, Ceph, Minio, etc.). This should reduce the load on the server and will store the files in a way that is better suited for subsequent processing.

Additional context As the de-facto standard for object storage, implementing a S3-API-based bulk export service provider would support the largest number of external storage providers (besides AWS).

jamesagnew commented 4 years ago

The IBinaryStorageSvc interface is intended for exactly this kind of thing- It offloads the binary contents out of the DB into whatever implementation of the interface is provided.

Currently only a filesystem implementation exists, but it should be possible to create one backed by S3. PRs welcomed!