前言:
眼前朋友们对“java对话”大概比较关切,各位老铁们都需要知道一些“java对话”的相关内容。那么小编也在网上汇集了一些关于“java对话””的相关文章,希望你们能喜欢,你们快快来学习一下吧!Java微服务-大数据查询的经典产品对话(戏剧性非常好)
一天深夜,加班的程序员都已经下班,而服务器却热闹了起来。
“听说了吗?这家公司即将有一个大项目要来!”,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叹了口气说到:“真是长江后浪推前浪啊!”
标签: #java对话