Azure Synapse - what is the difference between native and external tables? What are the use cases for each?

Bruno Ligutti 20 Reputation points
2023-08-14T21:12:15.51+00:00

In Azure Synapse, both native and external tables use Azure Blob Storage as the data source.

Both native and external tables support read and writes.

Then, what is the real difference between them? And under what use cases should I choose one over the other?

Azure Synapse Analytics
Azure Synapse Analytics
An Azure analytics service that brings together data integration, enterprise data warehousing, and big data analytics. Previously known as Azure SQL Data Warehouse.
5,378 questions
{count} votes

Accepted answer
  1. Sedat SALMAN 14,180 Reputation points MVP
    2023-08-15T09:50:55.8566667+00:00

    Native tables store data physically in Azure Synapse Analytics. Since data is stored directly within Azure Synapse, querying native tables generally yields faster performance, especially for large datasets. Data stored in native tables benefit from the inherent capabilities of Synapse, like indexing, statistics, and partitioning.

    You can use Native Tables

    • To get the best performance for your query workloads.
    • If your dataset is integral to your analytics and frequently queried.
    • If you need the advantages of Azure Synapse's built-in data management features.

    External tables do not physically store data in Azure Synapse Analytics. They instead point to data in Azure Blob Storage or other external sources. External tables allow you to define the structure on top of the data, allowing you to query it without importing it into Synapse. Because the data must be read from an external source, performance may be slower than with native tables, especially if there is a large amount of data to process. External tables primarily make use of the storage capabilities of the external storage system, whether blob storage or data lakes. This means you won't have access to Synapse's inherent management features, such as indexing.

    You can use External Tables

    • Data is stored in Azure Blob Storage or etc. and want to query it without moving the data into Synapse.
    • For External datasets that aren't frequently accessed or changed.
    • When you want to combine data or quest data from different sources.
    • Keeping data in blob storage or data lakes might be cheaper than storing it directly in Synapse.
    2 people found this answer helpful.

0 additional answers

Sort by: Most helpful

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.