欢迎光临散文网 会员登陆 & 注册

21 -【cmu15-721】【高级数据库系统】【卡内基梅隆大学】【中英字幕】

2023-07-22 00:37 作者:alexphil  | 我要投稿

1. Snowflake是一个管理的OLAP数据库系统,它使用C++编写,采用共享磁盘架构。

2. Snowflake使用本地附加磁盘作为计算节点的缓存,以提高性能。

3. Snowflake采用自定义的SQL方言和客户端-服务器网络协议。

4. Snowflake的架构包括数据存储、虚拟数据仓库和云服务三个部分。

5. Snowflake的执行架构由工作节点和云服务组成,工作节点是运行在虚拟数据仓库中的单个实例。

6. Snowflake使用本地磁盘上的缓存来存储之前的工作进程访问或检索的文件以及可能生成的任何结果。

7. Snowflake使用一种简单的缓存替换策略(LRU)来管理缓存,而不需要复杂的策略。

8. Snowflake使用一种一致性哈希分配文件给各个工作节点的方法,并通过直接通信发送数据,而不是像Dremel和Spark SQL那样使用洗牌阶段。

9. Snowflake是一个向量化引擎,可以执行多个查询计划片段,并使用LLVM风格的编译来进行序列化和反序列化。

10. Snowflake支持工作节点之间的工作窃取和灵活计算,以提高查询的性能。它还支持将查询结果存储到共享磁盘存储中,以便其他查询可以访问。

11. Snowflake决定不再使用HDFS作为默认选择,而是在本地磁盘上构建更好的缓存层,以隐藏S3上的查找成本。

12. Snowflake使用自己的专有格式将表分割成微分区,每个微分区约为50到500兆字节,压缩后平均每个文件约为16兆字节。

13. Snowflake通过后台服务自动重写微分区以重新聚集和重新组织数据,以优化查询性能。

14. Snowflake支持半结构化数据,提供了三种特殊的数据类型:variants、arrays和objects。

15. Snowflake使用一致性哈希映射来保证节点之间的负载均衡,并避免在节点变动时清除本地缓存。

16. 在处理元组时,需要使用另一个评估引擎来直接处理统计数据。

17. Databricks和Snowflake之间的争论涉及到他们各自的性能和成本。

18. Snowflake声称Databricks的数字是错误的,并提供了自己的实验结果来证明。

19. Databricks反驳Snowflake的说法,并坚持他们的实验结果是正确的。

20. Snowflake在2022年推出了混合表和事务支持的功能。

21. Snowflake是一个成功的云数据库服务公司,主要竞争对手是微软、亚马逊和谷歌的BigQuery。

22. Snowflake最初使用FoundationDB作为其事务性目录服务的存储引擎,但FoundationDB在2015年被苹果收购,导致Snowflake需要将自己的开发成果与开源的FoundationDB进行合并。

23. FoundationDB是一个具有强大容错性和可靠性的事务性键值存储系统,其独特之处在于它们首先构建了一个数据系统的模拟器,以测试系统的容错性和鲁棒性。

24. Snowflake在构建核心OLAP引擎的同时,也有一个相当庞大的团队专门负责FoundationDB的开发和维护。

25. 尽管关于Snowflake内部系统的详细信息不太清楚,但Snowflake公司在CMU进行了一些演讲,可以从中了解到一些关于他们的工作方式的信息。

21 -【cmu15-721】【高级数据库系统】【卡内基梅隆大学】【中英字幕】的评论 (共 条)

分享到微博请遵守国家法律