透过 849亿市值的数仓 Snowflake,看数据库的未来_dbLenis的博客-程序员秘密

技术标签: 人工智能  编程语言  物联网  数据库  大数据  

点击蓝色“有关SQL”关注我哟

加个“星标”,天天与10000人一起快乐成长

图 | L

近些年,很多数据库公司上岸,MongoDB市值 216亿美金,Cloudera 市值 45亿美金。而其中最耀眼的,非 Snowflake莫属,849亿美金。

以上数据截止于2021.1.10

解释下,Snowflake 公司主要做数据仓库产品。早年我在华润做MES/ERP开发时,就隐约感到数据仓库将会是未来的热门方向,所以提前布了局,逼着自己在数仓方向投入了更多的精力。

说这个,我并不想要标榜自己多么有智慧,对未来的方向看得多通透。不,一点都不。这不过是老老实实打工人,应该有的一种职业感觉罢了。

最近看到各路股神又出来炫技。刚入股市第一年,就大几十万的进账,好像真的是看懂了产业,行业,公司的布局,妥妥的晋升股市操盘手,分分钟教人炒股,日进百万那种。

其实,就是目前的一种资本趋势,而这些所谓的股神,站在了这波风口上而已。只要你人没事,不死,以后这样的投机机会,海的多了去了。

放长远去看,遍地机会,某些大V夸起自己的预测,毫不嘴软。我想的是,但凡你会写点字儿,保持着一定专业敏感度,这些行业机会,一抬手就能砸中一大片。

就像我预测数据仓库是未来一样,不过是数据多了,一种必然的发展方向。无他,就是运气到了。如果你做汽车,肯定推电动车,你做生物医药,肯定预判流感疫苗是妥妥热门。

回顾数据库的发展历史,在数据库商业产品这么丰富的年代,Oracle, SQL Server, DB2, MySQL等等,还有大数据产品的围追堵截 Spark/Hive/HBase, 更有集成商 Cloudera/MapR/Amazon RedShift/GCP BigTable 这样的巨型平台,为什么会在数仓市场出现这么一匹黑马呢?


以上截图,出自阿里数据库大牛叶正盛的PPT. 后台回复 Snowflake,可得 Snowflake论文与叶总的这份PPT

看到这幅图,如果你胆子大点,肯定会预判单体的数据库平台,将来一定会受到云数据库的冲击。在2C领域,传统的关系型数据库一定没有空间,一是缺少对非结构化数据的支持,二是扩展受限。

拿 snowflake 论文的架构图一看,就明白:原本的单体数据库,哪怕是集群数据库,走的通常是 shared-disk 架构:

image

这类架构,虽然提供数据库强一致性,但锁独占问题会严重干扰并发;

然后大数据套件出来了,比如 Hadoop, 走了 shared-nothing 架构:

image

提供了分布式数据存储,分布式计算,但计算与存储最终还落脚在一台机器上。此时就会有计算倾斜,比如某台计算节点就弱鸡,严重拖慢了查询。

Snowflake 做了创新,计算资源与存储,严格区分开来:

image

比如10台计算节点和5台存储节点,而且某个用户可以随时启动更多计算节点,也可以关闭更多计算节点。这就使得计算弱鸡的节点,随时都可以被取代。

上图来自 snowflake 论文,后台回复 snowflake 即可下载

爱思考的朋友,看到这,可能会有个疑问,针对每个查询,都会开启不同数量的计算节点,怎么做到的?这对运维得有多大的挑战。

其实,这就是未来数据库的发展方向之一,云化,云原生。如果没有云计算的支持,肯定做不到这点。

市面上,云数据库也有很多,比如 Amazon 的 redshift, Microsoft SQL DW, Google 的BigTable, Spanner,国内也有很多巨头有自己的云数据库,阿里 PolarDB, ADB, 腾讯 TDSQL, 华为高斯数据库,为什么偏偏 snowflake 会获得这么多资本的青睐呢?

此时就要祭出第二张叶总的PPT:


细看不难发现,很多云数据库是有自家的云平台做支撑的。一旦你选定一个云平台提供的数据库,那再转别的供应商,就会有难度。

而 Snowflake 的优点在于,它把存储组件脱离了整个架构,可以部署在 Microsoft Azure 上,也可以使用 Amazon 的ECS,Google 的GCP,也来之不拒。并且数据在这些云提供商之间,无缝迁移。

让利于他人,最终获得了这些云平台的用户。

从数据库最本质的软件逻辑来分析,一条SQL的执行路径,有这么几步:编译,调优,执行,物理访问。把编译,调优,执行控制在核心,而物理访问外包出去,这就是 snowflake 当前的策略。从市场表现来看,目前运营非常成功!

文中略去很多细节的实现,有兴趣的伙伴,可以公众号后台回复 snowflake 来下载技术论文。

--完--

往期精彩:

本号精华合集(三)

如何写好 5000 行的 SQL 代码

如何提高阅读 SQL 源代码的快感

我在面试数据库工程师候选人时,常问的一些题

零基础 SQL 数据库小白,从入门到精通的学习路线与书单

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/wujiandao/article/details/112454348

智能推荐

usaco Section 3.1 Shaping Regions -- 矩形切割_yueashuxia的博客-程序员秘密

听说这道题用矩形切割做,于是学习了2004薛矛的oi论文。             我的做法是:弄一个白纸集合,开始里面只有一张白纸(0,0) (A,B)。然后把输入的N个矩形倒序地,每一个都与白纸集合中的所有白纸依次切割。对于输入的矩形rec[i]与每张白纸,用rec[i]去覆盖它。如果有交集,则交集为rec[i]的颜色,把元素个数统计到rec[i]的颜色中,然后把白纸中

常用Web Service(Web服务)汇总_doupei2006的博客-程序员秘密

天气预报Web服务,数据来源于中国气象局 Endpoint  Disco  WSDL IP地址来源搜索 WEB 服务(是目前最完整的IP地址数据) Endpoint  Disco  WSDL 随机英文、数字和中文简体字 WEB 服务 Endpoint  Disco  WSDL 中国邮政编码 地址信息双向查询/搜索 WEB 服务 En

python实现简易的翻译机器_利用机器学习解决机器翻译问题,并设计界面代码_无敌小熊猫的博客-程序员秘密

# -*-coding: UTF-8 -*-# @Time:2019/9/818:54# @author superxjz# @func 简单的机器翻译实战"""实现一个简单的翻译功能"""import requestsfrom tkinter import Tk,Button,Entry,Label,Text,END#self其实相当于this关键字#将代码进行封装c...

LINUX(Cumulus Linux白盒交换机)开发基础到提高[1]-Cumulus Linux简介_cumulus linux 下载_水木森的博客-程序员秘密

Cumulus Linux是唯一一款开放式网络操作系统,它允许您像世界上最大的数据中心运营商一样,以经济实惠的方式构建和高效地运营网络,为各种规模的企业提供网络规模的网络服务。下载https://cumulusnetworks.com/下载visualbox虚拟机格式...

gdal python | 对shp读取,新建和更新_Prince_Treasure的博客-程序员秘密

1.读取shp文件#-*- coding: cp936 -*-try: from osgeo import gdal from osgeo import ogrexceptImportError: import gdal import ogr defReadVectorFile(): # 为了支...

河北科技大学计算机科学与技术录取分数线,河北科技大学理工学院计算机类(计算机科学与技术、软件工程、网络工程)专业2016年在河北理科高考录取最低分数线..._英论阁Enago科研作者服务的博客-程序员秘密

类似问题答案2016年河北科技大学理工学院计算机类(计算机科学与技术、软件工程、网络工程)专业...学校 地 区 专业 年份 批次 类型 分数 河北科技大学理工学院 河北 计算机类(计算机科学与技术、软件工程、网络工程) 2016 二批 理科 467 学校 地 区 专业 年份 批次 类型 分数 河北科技大学理工学院 河北 计算机类(计算机科学与技术、软件工程、网络工程) 2016 二批 理科 46...

随便推点

入门-初学使用d3.js完成折线图与曲线图_d3.js折线图_琞、小菜的博客-程序员秘密

入门-初学使用d3.js完成折线图与曲线图上一节我们简单的完成了一个柱状图的构造,今天继续学习d3.js,今天的目标是完成一个折线图和一个曲线图,曲线图只不过是在完成曲线图后在添加一个.interpolate("cardinal")属性就可以了。先学习一点新知识在学习柱状图的的时候我们学习几个获取元素与绑定数据的方法,如不知道的可以看我之前的写的柱状图文章今天完成折线图也会有几个新的方法:...

视觉运控平台软件框架(6)---脚本编辑器Qsci_苏林同学的博客-程序员秘密

qscintilla是Qt开源的文本编辑器,可用之来做一个代码编辑器,它支持包括C,C++,Python,Java等多种编程语言的语法,当然也是支持我们用到的lua的。它完整支持源代码的编辑和调试,包括语法高亮、错误指示、代码完成(code completion)和调用提示(call tips)。能包含标记(marker)的页边(margin)可用于标记断点、折叠和高亮当前行。网上说这个编辑器包括有错误提示功能,但我还未能找到相关实现方式。在这个界面编辑lua脚本,点击执行即可执行相应的脚本。

R语言 MCMC算法及其实现_mcmc r语言_littlely_ll的博客-程序员秘密

Metropolis-Hasting算法:Step 1: 选择一个不可约Markov链转移概率q(i,j),i,j∈\inS.再从S={1,2,… ,m}中选择某个整数. Step 2: 令n=0以及x0=kx_0=k. Step 3: 产生一个随机变量X使得P{X=j}=q(Xn,j)P\{X=j\}=q(X_n,j), 再产生一个随机数U. Step 4: 如果U<π(X)q(X,Xn)π

第十二章节-下载文件_djai0102的博客-程序员秘密

图片或者HTML文件这样的静态资源 ,在浏览器中打开 正确的URL就可以下载,只要资源是放在应用程序的目录下面,或者是应用程序的子目录下面,而不是放在WEB-INF下,Servlet/jsp容器就会将这个资源发送到浏览器。然而,有时候静态资源是保存一应用程序目录以外或者是数据库中,则要通过编程来发送资源。例子工程目录ResourceController...

Mac Neo4j安装与使用 2020-05-09_Henry Fox的博客-程序员秘密

关于图数据库的一些介绍https://www.cnblogs.com/mantoudev/p/10414495.html摘录一下:图数据很多,图数据库比普通的要更快neo4j的教程在:https://www.w3cschool.cn/neo4j/Neo4j安装到https://neo4j.com/,点右上角的 DOWNLOAD NEO4J就行。之后填一个表(表单加载挺慢的,得等会),就能下载了。会给一个激活密钥。我用的Mac,下载链接:https://neo4j.com/artifact.

不安全的redis设置,问题居然这么严重!(服务器挖矿病毒的解决方案)_如何查看redis 修改authorized_keys_coderxz的博客-程序员秘密

记录一次解决挖矿病毒的过程(进程:susupdate,networkservice)昨天晚上突然收到阿里云的警报提醒,服务器又被攻击,开始还没当回事,晚上测试的时候发现服务器变的异常卡顿。然后进入后台查看,发现CPU直接飙升到100%…文章目录1.找出病毒进程2.根据进程号找到运行文件的位置3.删除病毒进程4.删除病毒文件4.1 文件无法正常删除如何解决?5.删除定时任务(重要!!)6.修改/root/.ssh/authorized_keys文件7.修复SElinux和wget、curl指令8.被.

推荐文章

热门文章

相关标签