暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

你没有大数据

四海内皆兄弟 2022-06-22
449

 今天在一个群里,看到有人说:“国产数据库都这么强大了,把大数据的功能都实现了,大数据只需提供计算引擎就行。”我随后跟了一句:“我一直觉得大部分大数据场景,就是SQL没写好或者表设计问题导致的。有大数据场景的公司不多。” 随后有几个朋友觉得我说的不错。于是我就觉得写写吧。

    什么是大数据定义不管是4V还是5V,第一个要解决的是量级。2000年左右一般没人说大数据,因为谷歌是2003/2005和2006年发表三篇论文以后才有。但是我们说个常识2000年时候中国人口有13亿不到14亿这是常识吧。我刚毕业的时候做公安系统,经常看到公安人员因为需要在人口库中,输入姓名或者身份证号进行查询。我想全国人口库的数据库至少也有10亿级别吧。即使不在世的人也在人口库中。有人可能说人口库数据不准,要不然为什么不count一下,而是要人口普查呢?以我之愚见,我认为人口普查查的是些和户籍对不上的。大致数量count一也能查出来。那么我想说的是2000年左右人口库的10亿级的表。比起今天有些业务系统的表的数据量如何?大数据吗?

   如果查询一个人的名字是前后%,那么绝对的全表查,10几亿一定慢,数据量绝对大。那么如果精确查询呢?比如查询我薛晓刚。排除音同字不同等,完全匹配的当时全国一共就9个。(我当时请公安查了一下,所以说那个就是全国库)。用时不到1秒。大不大呢?就9条。说到这里大家都应该明白我开头提到今天群里的故事了吧。大家也都是专业的,所以也心领神会的赞同了。那么如果一个系统中从设计、开发到运维等等都不知道怎么优化查询检索的话,那么遇到一定数据量的表全表查询必然会很慢,必须要用大数据全家桶了。反之其实可以不用。也就是今天的主题。

    但凡数据库都有索引,可能会有质疑说,关系型数据库的前后%在es中就很快。这里要说的是es本身又叫做全文索引,他也是有索引的。我们可以尝试一下没有分词的快不快?比如有20G的日志中搜索%12%,也非常慢。所以我一直说大部分大数据场景,就是SQL没写好或者表设计问题导致的。我没说所有,只是说大部分。BATJTMD等等一线互联网公司妥妥的有大数据,五大行三大运营商作为非互联网行业也是妥妥的有大数据的。有大数据的依然有很多企业,但是更多的企业是没有。

    如果说真的遇到需要优化但是没有相关人员和技术怎么办?那就提升硬件,2000年时候硬盘速度每秒200M左右差不多了。现在请看看因特尔的傲腾,每秒几百GB。也就是说如果要用传统数据库+传统硬件,执行一个小时的,大数据可能10分钟完成了,而传统数据库+新硬件可能3-5秒就完成了。


文章转载自四海内皆兄弟,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论