数据仓库,也称为企业数据仓库(EDW),是为分析而设计的高度并行的SQLNoSQL数据库。 它们使您可以从多个来源导入数据,并从PB级数据中快速生成复杂的报告。


雪花ID MySQL怎么存储 雪花idc官网_数据仓库

信息世界

数据仓库与数据集市之间的区别在于,通常,数据集市仅限于单个主题和单个部门。 数据仓库与数据湖之间的区别在于,数据湖以其自然格式存储数据,通常是blob或文件,而数据仓库则将数据存储为数据库。

雪花简述

Snowflake是完全为云建立的完全关系ANSI SQL数据仓库。 它的体系结构将计算与存储区分开来,因此即使在查询运行时,您也可以在不延迟或中断的情况下即时扩展和缩小。 您可以在需要时获得所需的性能,而您只需要为使用的计算付费。 Snowflake当前在Amazon Web Services和Microsoft Azure上运行。

Snowflake是具有向量化执行功能的全列数据库,使其能够处理最苛刻的分析工作负载。 Snowflake的自适应优化功能可确保查询自动获得可能的最佳性能,而无需管理索引,分配键或调整参数。

Snowflake可以通过其独特的多集群共享数据体系结构支持无限并发。 这允许多个计算群集同时对同一数据进行操作而不会降低性能。 Snowflake甚至可以利用其多群集虚拟仓库功能自动扩展以处理变化的并发需求,在高峰负载期间透明地添加计算资源,并在负载减少时进行缩减。

雪花竞争对手

云中雪花的竞争对手包括Amazon Redshift,Google BigQuery和Microsoft Azure SQL数据仓库。 可以将其他主要竞争对手(例如Teradata,Oracle Exadata,MarkLogic和SAP BW / 4HANA)安装在云中,内部和设备上。

亚马逊Redshift

Amazon Redshift是一种快速,可扩展的数据仓库,可让您分析整个数据仓库和Amazon S3数据湖中的所有数据。 您使用SQL查询Redshift。 Redshift数据仓库是一个集群,可以通过并发查询负载自动部署和删除容量。 但是,所有群集节点都在同一可用区中配置。

Microsoft Azure SQL数据仓库

Microsoft Azure SQL数据仓库是基于云的数据仓库,它使用Microsoft SQL引擎和MPP(大规模并行处理)在PB级数据中快速运行复杂查询。 通过使用简单的PolyBase T-SQL查询将大数据导入SQL数据仓库,然后使用MPP的功能运行高性能分析,可以将Azure SQL数据仓库用作大数据解决方案的关键组件。

Azure SQL数据仓库在全球40个Azure区域中可用,但是给定的仓库服务器仅存在于一个区域中。 您可以根据需要扩展数据仓库的性能,但是任何正在运行的查询都将被取消并回滚。

Google BigQuery

Google BigQuery是一种无服务器,高度可扩展且具有成本效益的云数据仓库,具有GIS查询,内置的内存BI引擎和内置的机器学习功能。BigQuery可对千兆字节至PB级的数据运行快速的SQL查询,并使其易于直接加入公共数据库或商业数据集以及您的数据。

您只能在创建时设置BigQuery数据集的地理位置。 查询中引用的所有表必须存储在同一位置的数据集中。 这也适用于外部数据集和存储桶。 外部Google Cloud Bigtable数据的位置还有其他限制。 默认情况下,查询在与数据相同的区域中运行。

位置可能是特定地点,例如北弗吉尼亚州,也可能是较大的地理区域,例如欧盟或美国。 要将BigQuery数据集从一个区域移动到另一区域,您必须将其导出到与数据集相同位置的Google Cloud Storage存储桶,将存储桶复制到新位置,然后将其加载到新位置的BigQuery中。

雪花建筑

Snowflake使用虚拟计算实例来满足其计算需求,并使用存储服务来持久存储数据。 Snowflake不能在私有云基础架构(本地或托管)上运行。

没有要执行的安装,也没有配置。 所有维护和调整均由Snowflake处理。

Snowflake使用中央数据存储库存储可从数据仓库中所有计算节点访问的持久数据。 同时,Snowflake使用MPP(大规模并行处理)计算集群处理查询,其中集群中的每个节点都在本地存储整个数据集的一部分。

将数据加载到Snowflake后,Snowflake会将数据重新组织成其内部压缩的列式格式。 内部数据对象只能通过SQL查询访问。 您可以通过其Web UI,CLI(SnowSQL),Tableau等应用程序中的ODBC和JDBC驱动程序,用于编程语言的本机连接器以及用于BI和ETL工具的第三方连接器连接到Snowflake。



雪花ID MySQL怎么存储 雪花idc官网_ui_02

雪花


雪花的体系结构图。 请注意,虚拟仓库的CPU资源可以独立于数据库存储进行扩展。

雪花功能

安全性和数据保护。 Snowflake中提供的安全功能因版本而异。 即使是标准版,也可以对所有数据进行自动加密,并支持多因素身份验证和单点登录。 企业版增加了对加密数据的定期重新加密,企业版敏感数据版增加了对HIPAA和PCI DSS的支持。 您可以选择存储数据的位置,这有助于符合EU GDPR法规

标准和扩展的SQL支持。 Snowflake支持SQL:1999中定义的大多数DDL和DML,以及事务,一些高级SQL功能以及SQL:2003分析扩展的一部分(窗口函数和分组集)。 它还支持横向视图和实例化视图,聚合函数,存储过程和用户定义的函数。

工具和界面。 值得注意的是,Snowflake允许您从GUI或命令行控制虚拟仓库。 这包括创建,调整大小(停机时间为零),暂停和删除仓库。 在查询运行时调整仓库大小非常方便,尤其是当您需要加快查询时间而需要花费太多时间时。 据我所知,这是其他任何EDW软件都未实现的。

连接性 Snowflake具有适用于Python,Spark,Node.js,Go,.Net,JDBC,ODBC和dplyr-snowflakedb的连接器和/或驱动程序, 后者是在GitHub上维护的开源dplyr软件包扩展。

数据导入和导出。 Snowflake可以加载各种数据和文件格式。 其中包括压缩文件; 分隔的数据文件; JSON,Avro,ORC,Parquet和XML格式; Amazon S3数据源; 和本地文件。 它可以批量加载和卸载到表中以及从表中卸载,以及从文件中连续批量加载。

数据共享。 Snowflake支持与其他Snowflake帐户安全共享数据。 通过使用零拷贝表克隆简化了此过程。


雪花ID MySQL怎么存储 雪花idc官网_数据库_03

雪花

雪花费用因版本和位置而异。 功能因版本而异。 VPS实例当前仅在AWS上可用。

雪花教程

Snowflake提供了很多教程和视频 。 您可以从中获得一些帮助,一些特定主题的探索以及一些演示功能。

我建议您仔细阅读《雪花免费试用动手实验指南》中介绍的动手概述。)我花了不到一个小时的时间,花费不到5个学分。 免费试用还剩下195个学分,足以导入一些实际数据并测试一些查询。

本教程大量使用Snowflake工作表,这是在Web UI中运行命令和SQL的便捷方法。 其中包括数据加载; 查询,结果缓存和克隆; 半结构化数据; 和花费时间来恢复数据库对象。


雪花ID MySQL怎么存储 雪花idc官网_雪花ID MySQL怎么存储_04

IDG

动手教程中的Snowflake工作表(右上)。 模式信息位于左上方,查询结果位于左下方,带有时间的查询历史记录位于右下方。

总体而言,我发现Snowflake非常令人印象深刻。 我希望它是笨重的,但事实并非如此。 实际上,它的许多数据仓库操作的运行速度都比我预期的要快得多,而且当其中一个似乎在爬行时,我可以干预和扩大数据仓库而不会中断正在发生的事情。



雪花ID MySQL怎么存储 雪花idc官网_大数据_05

IDG


Snowflake数据仓库配置对话框。 有各种各样的大小,并且有几个选项可以自动执行集群扩展。

许多缩放比例可以自动化。 创建数据仓库时(请参见上面的屏幕截图),有一个选项允许多个集群,一个选项设置扩展策略,一个选项自动挂起,一个选项自动恢复。 默认的自动挂起时间为10分钟,这可以防止仓库在闲置时间超过此时间时消耗资源。 自动恢复几乎是即时的,并且在对仓库进行查询时都会发生。

鉴于Snowflake提供30天的免费试用期以及$ 400的赠金,并且无需安装任何软件,您应该能够确定Snowflake是否适合您的目的而无需任何现金支出。 我建议您试一下。

-

费用:每笔 $ 2的信用,再加上$ 23 / TB /月的存储,标准计划,预付费存储。 一个信用等于一个节点*小时,由第二个节点计费。 较高级别的计划更昂贵。

平台: Amazon Web Services,Microsoft Azure