数据库圈出现了一个新秀,一帮大佬吵起来了……

轩辕之风 2023-06-23 10:38:00
一天深夜,加班的程序员都已经下班,而服务器却热闹了起来。

 

“听说了吗?这家公司即将有一个大项目要来!”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叹了口气说道:“真是长江后浪推前浪啊!”

 
作者丨轩辕之风
来源丨公众号:编程技术宇宙(ID:xuanyuancoding)
dbaplus社群欢迎广大技术人员投稿,投稿邮箱:editor@dbaplus.cn
最新评论
访客 2024年04月08日

如果字段的最大可能长度超过255字节,那么长度值可能…

访客 2024年03月04日

只能说作者太用心了,优秀

访客 2024年02月23日

感谢详解

访客 2024年02月20日

一般干个7-8年(即30岁左右),能做到年入40w-50w;有…

访客 2023年08月20日

230721

活动预告