Snowflake - What is this?
Snowflake is an analytic data warehouse provided as Software-as-a-Service (SaaS). Using SaaS, everything is manage by the provider.
Snowflake’s Data Cloud is powered by an advanced data platform provided as Software-as-a-Service (SaaS). Snowflake enables data storage, processing, and analytic solutions that are faster, easier to use, and far more flexible than traditional offerings.
It uses central data repository and processes queries using compute clusters.
- Data Storage (S3): It uses Amazon S3 (usability, high availability, durability) to store table data and query results. It can have impact in latency and performance. Tables are horizontally partitioned. The data can be sorted along natural dimensions (clusters) to improve the performance.
- Virtual Warehouses (EC2): It handles query execution within elastic clusters of VM. They can be create or destroyed on demand.
- Cloud Services: services to manage virtual warehouse, queries (e.g parsing, optimization, detect failures), transactions (snapshot isolation - SI), etc.