Serverless UDFs
TileDB Cloud allows you to run any lambda-like user-defined function (UDF). More specifically, you write the code on your laptop using the TileDB Cloud client (see Installation), your function gets shipped and executed on stateless TileDB Cloud REST workers. You get charged only for the time it took to run the function and the amount of data that got returned to your laptop. You do not need to worry about launching or managing any computational resources.
There are two types of supported UDFs:
    Generic: These can include any code.
    Array UDFs: These are UDFs that are applied to slices of one or more arrays.
Running UDFs is particularly useful if you want to perform reductions (such as a sum or an average), since the amount of data returned is very small regardless of how much data the UDF processes.
TileDB Cloud currently supports only Python UDFs, but support for more languages will be added soon.
TileDB Cloud runs your UDF in a separate dedicated container for security. Any array access is executed in parallel on the same REST worker but separate containers, and the results are sent to the UDF container using zero-copy techniques for performance.
In the environment that the UDF runs, we include the following Python 3.7 packages.
numpy pandas tensorflow numexpr numba xarray tiledb scipy boto3 tiledb-vcf
If you would like additional packages added to the UDF environment, please leave your suggestion on our feedback request board.
Each UDF uses up to 2 CPUs and 2GB RAM on the REST worker. In the future, TileDB Cloud will offer flexibility in choosing the types of resources to run the UDF on.
All UDFs will time out after 15 minutes.
Last modified 5mo ago
Export as PDF
Copy link