What are the performance differences between using the REST API and the Firebolt Python SDK

Using a Firebolt database can be done several different ways, the two most common being using REST API calls or the Firebolt Python SDK.

The Python SDK offers several benefits, such as authorization token management, simplified resource management (creating/modifying databases/engines), simplified asynchronous query execution, and the widespread support of Python by ETL tools.

The REST API can have slightly better performance because it bypasses overhead Python has in parsing the query and bypasses overhead Python has in parsing the result into Python objects. It is most noticeable when there is an exceptionally large query (hundreds of thousands or millions of characters), or the result set is large (thousands of rows) with many (more than 10) date/timestamp columns.

The vast majority of the time, the overhead is negligible and is outweighed by the benefit of faster and easier integration with other tools and less complex management.