服务器出现了一个新软件,一帮大佬吵起来了!

一天深夜,加班的程序员都已经下班,而服务器却热闹了起来。

 

“听说了吗?这家公司即将有一个大项目要来!”,tomcat神秘的说到。

隔壁的Nginx闻声说到:“什么大项目?”

“说是什么大数据,要实现10亿级数据秒级检索!”

“啥,10亿,秒级?”

“是啊,这次不知道又是哪个数据库要受苦了”,tomcat笑着说到。

“MySQL呢,来活儿了!”,Nginx喊到。

MySQL一听这项目情况,连连摇头,“别开玩笑了,我这小本买卖,哪承接的了这种业务啊,这数据量太大了,还要秒级检索,我可干不了”

“你这专业的数据库都干不了,那谁能干?”

“我是以事务为基础的关系型数据库管理系统,关注ACID特性和数据完整性,在传统业务场景中是我的强项。你说的这个场景它不是我的擅长啊!我感觉HBase老哥能揽这活儿,他不是号称大数据的数据库吗,铁定能行”

一旁的HBase一脸淡定,毕竟是大数据领域的大佬,气场还是很稳,缓缓问道:“区区10亿数据,有什么好怕的,他们准备用多少台服务器?”

“听说是单机”,tomcat说到。

一听这话,HBase瞪大了眼睛,“单机?那我可干不了”

“你不是干大数据的吗,怎么也干不了?”,Nginx问到。

“我确实是干大数据的,但我要依赖Hadoop生态,从来都是组团战斗,采用集群化部署,这单机要实现这么大数据量秒级检索,我可没把握!”

“还是看我的吧”,一个声音从角落里传来。

大伙寻声看去,原来是ElasticSearch。

“我还没说话呢”,这时,又一个声音从另一个角落出来。

大伙再次看去,MongoDB也从角落里走了过来。

“你们俩,能行吗?”,MySQL有些怀疑的问到。

“我是专门用于全文搜索和分析的数据库,使用倒排索引进行快速搜索。我在处理大型数据集时非常擅长,集群和单机我都能部署,虽然单机10亿数据量还要秒级查询挑战很大,但我相信还是可以试一试”,ES自信的说到。

大伙听完都点了点头。

“再快你也是用Java写的,而我是用C++写的!我是一款基于文档的数据库,提供灵活的数据模型,可以轻松地处理非结构化数据。我的查询速度很快,并且能够支持高并发读写操作,这个项目我也可以试一试”

“你C++写的怎么了,未必有我快!我的全文检索性能,你能比吗?”,ES有些不服。

MongoDB也不退让,“这项目又没说要全文检索,恐怕是英雄无用武之地。反倒是你那写入数据的高延迟才让人担心呢。”

“这项目也没强调数据的实时性啊!”

见两位争执不下,MySQL站了出来,“好了好了,大家都别嘴上工夫逞强了,到底谁更技高一筹,到时候看测试结果就知道了!我打听到明天程序员就要来做性能测试,你们准备准备吧!”

这俩又互放了几句狠话就离开了,喧闹的服务器总算安静了下来。

 

第二天,大家都在关注着这个ElasticSearch和MongoDB的比试,等了很久却一直没有消息。

一直到了下午,Nginx才传来了消息:“兄弟们,ES和MongoDB两位都没戏了!我刚刚听浏览器告诉我,程序员从网上下载了一个新的数据库软件,一会儿就要传上来安装了!”

“叫什么名字?”,大伙齐声问到。

“叫什么Click···,哎,我有点想不起来了!”,Nginx支支吾吾的说到。

“没听过这号人物啊,咱数据库圈啥时候来的新人?”,MySQL说到。

MongoDB不屑的说到,“新人啊,那不用怕”

倒是ES有些不安,眉头紧锁,低声说到:“这名字有点耳熟,好像有点厉害的样子”,

就在大伙说话间,这新的数据库软件已经安装完成。

这一下大家看清楚了他的名字:ClickHouse

 

他热情地跟大家打招呼,“大家好,我是ClickHouse,大家都叫我CK,刚来到这里,多多关照”

大伙一阵寒暄后,程序员对CK的性能测试开始了。

只见数据源源不断的通过网络灌了进来,才没多一会儿就超过10亿条了。

“你的写入速度怎么这么快?”,MySQL惊讶的问到。

“你这确定是写了10亿条数据吗,怎么才占了10几个G存储?”

“我是一个列式存储的数据库,使用高性能的压缩算法压缩数据,来存储和检索大量数据,所以占用空间会省很多,这对查询也有帮助,可以减少很多I/O数量,提升查询性能”

“有那么厉害吗,能查多快?”

ClickHouse只是笑了一下,并没有回答。

 

说话间,程序员开始了查询性能测试。

tomcat说到:“来了老哥,查询请求过来了。”

话音刚落,tomcat就收到了数据,前后不过800毫秒的时间。

接着程序员又进行了多次查询测试,CK基本上都能做到秒级响应,有时候甚至在几十毫秒。这一波操作下来,大伙看得叹为观止。

连一向自负的MongoDB也忍不住问到:“好家伙,你咋这么快”

“我跟您一样,也是用C++写的,除了列式存储、压缩数据,我还有稀疏索引、跳数索引、SIMD指令应用等技术,所以比较快”

大伙都纷纷点头,凑了过来,围了一圈儿,让CK详细的分享起他高性能的秘密。

一旁的HBase叹了口气说到:“真是长江后浪推前浪啊!”

 

好了,这一期的故事就讲到这里了,如果你想查看更多未发布过的新鲜又有趣的技术小故事,可以扫描下方二维码购买我最新出版的《趣话计算机底层技术》图书。书中用一个个的小故事系统性的讲解了计算机底层技术的基本原理,以及如何运用他们解决日常工作中的各种实际问题。
![](https://img2023.cnblogs.com/blog/659280/202306/659280-20230610183139057-562409798.png)

posted @ 2023-04-27 13:40  轩辕之风  阅读(7475)  评论(9编辑  收藏  举报