点击上方“蓝色字体”,选择 “设为星标”

关键讯息,D1时间送达!

作为一个快速简便的数据仓库,Snowflake可以动态扩展,以便在企业需要时为其提供所需的性能。

数据仓库,也称为企业数据仓库(EDW),是用于分析的高度并行的SQL或NoSQL数据库。它们允许企业从多个源导入数据,并从数PB的数据中快速生成复杂的报告。

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

Snowflake简介

Snowflake是一个完全关联的ANSI SQL数据仓库,它是从头开始为云计算而构建的。它的架构将计算与存储分开,这样即使在查询运行时,用户也可以在不延迟或中断的情况下动态地扩展。当用户需要的时候,就能得到其所需要的性能,而且只需要为其所使用的计算资源支付费用。Snowflake目前运行在亚马逊网络服务和微软Azure云平台上。

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

Snowflake凭借其独特的多集群共享数据架构可以支持无限制的并发性。这允许多个计算集群在同一数据上同时运行,而不会降低性能。Snowflake甚至可以自动扩展以通过其多集群虚拟仓库功能处理不同的并发需求,在峰值负载期间透明地添加计算资源,并在负载减少时缩小规模。

Snowflake的竞争对手

Snowflake在云端的竞争对手包括Amazon Redshif、Google BigQuery和Microsoft Azure SQL数据仓库。其他主要竞争对手,如Teradata、Oracle Exadata,MarkLogic和SAP BW/4HANA,可以安装在云端、内部部署和设备上。

Amazon 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云存储桶,将存储桶复制到新位置,然后将其加载到新位置的BigQuery中。

Snowflake架构

Snowflake使用虚拟计算实例来满足其计算需求,并使用存储服务来持久存储数据。 Snowflake无法在私有云基础设施(内部部署或托管)上运行。

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

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

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

Snowflake架构图。需要注意,虚拟仓库的CPU资源可以独立于数据库存储进行扩展。

Snowflake功能

安全和数据保护。Snowflake提供的安全功能因版本而异。甚至标准版也提供所有数据的自动加密功能,并支持多因素身份验证和单点登录。企业版增加了加密数据的定期重新密钥,企业版增加了对HIPAA和PCI DSS的支持。用户可以选择数据的存储位置,这有助于符合欧盟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帐户安全地共享数据。通过使用零拷贝表克隆简化了这一过程。

Snowflake的价格因版本和地点而异。其功能因版本而异,VPS实例目前仅在AWS上可用。

Snowflake教程

Snowflake提供了不少教程和视频。一些教程帮助用户入门,一些教程探索特定主题,还有一些可以演示功能。

建议用户完成《Snowflake免费试用实践实验室指南》中描述的实践。这应该足以导入一些真实数据,并测试一些查询。

这个教程大量使用Snowflake工作表,这是在Web UI中运行命令和SQL的便捷方式。除其他外,其中包括数据加载、查询、结果缓存和克隆、半结构化数据以及恢复数据库对象的时间旅行。

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

总的来说,发现Snowflake令人印象深刻。原以为它会很笨重,但事实并非如此。实际上,它的许多数据仓库操作都比人们预期的要快得多,当有一个数据仓库似乎在缓步前行时,可以在不中断正在发生的事情的情况下进行干预,并增加数据仓库的大小。

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

大部分扩展都可以自动化。在创建数据仓库时(参见上面的屏幕截图),可以选择允许多个集群,设置扩展策略的选项、自动挂起的选项,以及自动恢复选项。默认的自动挂起时间为10分钟,这使得数据仓库在空闲时间超过该时间时不会消耗资源。自动恢复几乎是即时的,只要对数据仓库进行查询就会发生。

考虑到Snowflake提供30天的免费试用期,有400美元的信用额度,而且不需要安装任何软件,用户应该能够确定Snowflake是否适合其目的,而无需任何现金支出。

费用:2美元/信用额外加上23美元/TB/月的存储空间,并且存储空间需要预付费。一个信用额度等于一个节点*小时,按秒计费。更高级别的计划成本更加昂贵。

(来源:企业网D1Net)

如果您在企业IT、网络、通信行业的某一领域工作,并希望分享观点,欢迎给企业网D1Net投稿 投稿邮箱:editor@d1net.com

点击蓝色字体关注

您还可以搜索公众号“D1net”选择关注D1net旗下的各领域(云计算,数据中心,大数据,CIO, 企业通信 ,企业应用软件,网络数通,信息安全,服务器,存储,AI人工智能,物联网智慧城市等)的子公众号。

企业网D1net已推出企业应用商店(www.enappstore.com),面向企业级软件,SaaS等提供商,提供陈列,点评功能,不参与交易和交付。现可免费入驻,入驻后,可获得在企业网D1net 相应公众号推荐的机会。欢迎入驻。扫描下方“二维”即可注册,注册后读者可以点评,厂商可以免费入

pb 窗口数据修改sql_Snowflake将成为在云中变得更好的数据仓库相关推荐

  1. pb 窗口数据修改sql_大数据hadoop,数据中台选型你应该看到这些分布式数据库

    长期以来,由于以hadoop为核心的生态系统霸占了大数据的各个角度,以至于我们以为大数据就是hadoop.诚然,自hadoop诞生以来,hive+hbase掀起第一个高潮,而后Spark和Flink更 ...

  2. pb 修改数据窗口种指定字段位置_如何在PB数据窗口中修改数据---设置数据窗口的更新属性...

    如何在 PB 数据窗口中修改数据 --- 设置数据窗口的更新属性 数据窗口对象非常强大的原因之一就是能够很容易地修改数据库.当用户修 改了数据窗口中的数据,插入了新的数据行或者删除了数据行以后,只要调 ...

  3. pb 放弃数据窗口所做修改_为什么我放弃在线数据课程进行基于项目的学习

    pb 放弃数据窗口所做修改 by Josh Temple 通过乔什·坦普尔 为什么我放弃在线数据课程进行基于项目的学习 (Why I abandoned online data courses for ...

  4. pb 数据窗口更新mysql_如何在PB数据窗口中修改数据---设置数据窗口的更新属性...

    如何在PB数据窗口中修改数据 如何在PB数据窗口中修改数据---设置数据窗口的更新属性 数据窗口对象非常强大的原因之一就是能够很容易地修改数据库.当用户修改了数据窗口中的数据,插入了新的数据行或者删除 ...

  5. PB 数据窗口数据导入Excel, 如果存在则追加,不存在则创建。

    PB 数据窗口数据导入Excel, 如果存在则追加,不存在则创建. [转] OLEOBJECT ExcelServer,Excelbooks long ll_count ,ll_loop,ll_i,l ...

  6. pb从数据窗口获得数据的方法总结(转自颜建荣ID:jeron1999)

    pb从数据窗口获得数据的方法总结 pb从数据窗口获得数据的方法总结 通过PowerBuilder的数据窗口对象属性,我们可以指定一定格式的表达式来直接从数据窗口中获得数据.这种直接的数据操作方法让我们 ...

  7. pb日期数据窗口显示英文日期

    pb日期数据窗口显示英文日期 如何把2022年4月5日显示成 5-APR-22 或 Monday-March-22 ? 如下图红框框下的显示: 本来想写个全局函数的太麻烦了,其实只要显示属性设置下就可 ...

  8. pb中数据窗口函数小结

    一.连接数据库 连接数据库也就是指定事务对象.PowerBuilder提供了两个函数:SetTrans()和SetTransObject(). 语法格式: dw_control.SetTrans(Tr ...

  9. python输入数据pyqt5_python GUI库图形界面开发之PyQt5信号与槽多窗口数据传递详细使用方法与实例...

    在pyqt5编程过程中,经常会遇到输入或选择多个参数的问题,把多个参数写到一个窗口中,主窗口会显得很臃肿,所以,一般是添加一个按钮,调用对话框,在对话框中进行参数的选择,关闭对话框将参数返回给主窗口 ...

最新文章

  1. c++ 结构体地址 转换成ulong_零基础入门之结构体字节对齐
  2. Nginx 源码分析-- 模块module 解析执行 nginx.conf 配置文件流程分析 一
  3. 【Python 】绘制惊艳的桑基图
  4. 如何跑通第一个 SQL 作业
  5. EM Algorithm
  6. 通过字符串引入模块下的属性
  7. 卡巴斯基将支持微软企业安全解决方案Forefront
  8. 解决嵌套块级元素垂直外边距的塌陷
  9. SI9000常用共面阻抗模型的解释
  10. C语言里的符号重载《C专家编程》
  11. 2FSK在瑞利衰落信道下的相干与非相干解调误码率-MATLAB基带仿真
  12. 苹果4s怎么越狱教程_苹果手机:iPhone 11/XS系列iOS13-13.3越狱教程
  13. PHP腾讯云短信接口
  14. 记忆减退之---钽电容
  15. 程序员的“三十而已”,你都30岁了,职业该如何规划?
  16. DynamicFusion之预处理共轭梯度下降(Pre-conditioned Conjugate Gradient Solver)
  17. 关于登陆百度等网站显示‘’隐私设置错误”的问题
  18. 支付宝周期扣款(支付后签约)业务功能总结(php+golang)
  19. 从画家到黑客:成功在于特立独行,不在于随波逐流
  20. 图书管理系统Java

热门文章

  1. web前端技术分享:使用react实现简易路由
  2. python3 long类型_Python3 基本数据类型
  3. spring框架_一篇文章带你理解Spring框架
  4. 万事开头难!Python 初学者最容易犯的几个错误
  5. 二进制包安装MySQL数据库
  6. wxWidgets:wxMediaCtrl 示例
  7. wxWidgets:在所有平台上分发应用程序
  8. boost::math::fisher_f用法的测试程序
  9. boost::EccentricityProperty用法的测试程序
  10. boost::put_get_helper用法的测试程序