在最新发布的一篇博文中,他表示——大数据概念在十多年前开始兴起,时至今日,销售们仍用“海量数据带来指数级增长曲线”说法,来勾起(唬住)客户为相关服务买单的欲望,否则就将被数字时代抛弃。作者自己也曾是其中之一。但现在,Jordan Tigani不仅认为这种说法行不通,还称——“数据大小根本不是问题所在。”那么问题在哪?他认为,我们已无需担心数据大小,而应专注于如何使用数据来做出更好的决策。如此言论之下,也吸引了不少业内人士的围观和热议。
他的上述观点有何依据?不妨从证明过程看起。值得注意的是,作者表示,证明过程中相关图表曲线并不是严格参考了数据,而是凭记忆手绘的,这位资深从业者强调——重要的是曲线形状趋势,而非确切数值。
亮出曲线后,销售们会顺势鼓吹产品,告诉客户——大数据时代来了!你需要我手里的产品服务!但Jordan Tigani认为,多年来的事实已证明,处理数据的老方法已经行不通了,且大多数应用程序也不需要处理大量数据。一个佐证是近些年传统架构的数据管理系统复兴,诸如SQLite、Postgres、MySQL都增长强劲,与之对比,“NoSQL”甚至“NewSQL”增长却停滞不前。一个明显例子是MongoDB,它是排名最高的NoSQL类数据库,也同样是最火的横向扩展类数据库,此前几年MongoDB增长势头强劲,但最近规模却小幅下降,且与MySQL等主流数据库仍存差距。Jordan Tigani认为——如果大数据真是未来,那情况应该不一样。
鼓吹大数据时代就在眼前的另一个说法是——每个人都会被产生的数据淹没。但Jordan Tigani在研究客户中发现绝大多数客户总数据存储量不超过1TB,即便大型企业,其数据量级也soso。根据他的从业经验,所服务的最大客户数据存储量是第二大客户的2倍,第二大客户又是第三位的2倍。这样一来,客户数据大小与数量服从幂律分布。只有极少数客户拥有PB级数据,成千上万客户每月存储费用不超过10美元,而他们服务客户存储资源使用的中位数,连100GB都不到。
不仅作者本人这么认为,Gartner、Forrester等机构分析师及其他从业者也表示,大部分企业的数据库量级都小于1TB,且100GB是常态。拿一家超千名客户的公司举例,即便每个客户每天下一个订单,里面包含100项数据,每天生成数据仍小于1字节,三年后是1GB,而要达到1TB,这家公司得做几千年生意。另一个例子是之前作者接触了一家E轮独角兽公司,且还在快速成长中,但即便这样,他们的财务数据、客户数据、营销跟踪数据及服务日志加起来,也只有几GB。就这,能叫大数据?还不算完,即便看“已有”部分,也有问题。由于现代云平台将存储与计算分开,两部分利用量级也有很大差距,即——数据存储增长速度,远大于计算资源需求增速。具体来说,企业数据的存储量随时间推移,肯定是线性增加的,但大部分分析计算需求是针对近期数据,不可能一遍又一遍反复读取旧数据。因此,计算需求不会同步迅速增加。
Jordan Tigani的一个客户就是这样。作为全球头部零售商,他们原有100TB本地数据,迁移到云上后,数据量变成了30PB,增加了300倍,如果计算资源需求也随之拉满,那他们在数据分析上的花费将达几十亿美元,但事实上,他们只花了很小一笔费用。作者认为,大量计算服务不被需要,也就意味着前沿架构不太有必要,甚至分布式处理也Duck不必。与之类似,分析数据的工作负载也远小于数据体量。多数时候,人们往往只会查询前1小时、前1天或上周数据,较小的表会被频繁查询,但大表就不一定了。在作者本人BigQuery工作经历中,数据量巨大的客户几乎从不查询大量数据,除非他们正在生成一些报告。这种需求,也不要求性能优先,且仅是企业一周几十万个查询中的极少数。正如下图,90%查询任务涉及的数据量级不超过100MB,仅1%超过10GB,且即便查询巨型表,数据库也可通过一定处理,减少计算量和延迟。
一个侧面佐证是——业内符合原本“大数据”定义的产品也在变少。在当初,大数据的定义之一是“任何单机无法处理相关任务/场景需求”,比如00年代,数据工作负载对于单个商业计算机来说,带不动是常态。但今天,一个AWS的标准实例所用到的物理服务器包含了64核及256GB RAM,如果为优化实例再多掏一点钱,又能在原基础上增加2个数量级RAM,这几乎覆盖所有工作负载需求。既然大数据时代结束了,那是不是说,相关从业者要下岗了?作者也提出了自己的看法——结束了,但没完全结束。具体来说,作者认为,大数据的另一重内涵是“当数据保存的支出小于其挖掘价值,那就应该放弃”,因而,我们需要判定哪些数据需要及时清除,以及背后的原因,这将成为数据工作的重要部分。这当中,也包括不同时期同一数据以不同字段存储,需要有人来加以维护和留有记录。此外,基于相关监管规定,很多类型数据(比如涉及个人隐私的电话号码)也需要定期清除。再有,便是一些公司需要定期判断哪些旧数据要清理,以避免未来可能的法律风险。(手动狗头)
也有网友表示:当XX已死,说明它真实被认可的地方会被保留下来。
值得一提的是,并非所有人都赞同作者的观点。尤其鉴于“XX已死”将话说得太满,有网友认为:在近期AI大火之际,判决AI所依赖的大数据已死,也是挺敢说。
当红炸子鸡ChatGPT背后老板Sam Altman,此前在旧金山一次技术活动中,也谈过对大数据的看法,Sam认为——AI研究领域取得令人印象深刻的进步,不仅依靠海量数据,同时更需要海量的计算。上述观点不仅强调了海量数据重要性,对比Jordan Tigani所认为的“重存储轻计算”看法,正好相反。另一个不同声音来自一位名叫Lewis Gavin的大数据与软件工程师,此前他曾在Medium上发文,主题也是围绕“大数据是否消亡”他认为:
大数据不会死,只会变得更重要。所给出理由是:一方面依据是全球生成的数据总量仍在加速增长,且细分领域中,处理“大数据”正成为常态。基于此,Lewis Gavin认为——所谓“大数据死亡”,只是营销说法的消亡,但Big Data处理技术和应用仍存在,且它会成为习以为常的现象。IDC于1月24日发布的一篇预测证明了大数据市场仍在增长,内容指出——未来几年,全球大数据和分析软件市场将实现强劲增长,且具体到该板块各细分领域,未来几年增长率均为双位数。
有意思的是,有网友提出“大数据的死亡”并不是个技术话题。他表示:数据之所以没发挥价值,其实是商界精英们往往忽略数据内蕴藏的结论。
另一位网友也表示赞同,还称:自己曾开玩笑,数据科学家的工作其实不是搞分析,而是为高管们前瞻性观点提供有力证明。(手动狗头)
我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i
有时我需要处理键/值数据。我不喜欢使用数组,因为它们在大小上没有限制(很容易不小心添加超过2个项目,而且您最终需要稍后验证大小)。此外,0和1的索引变成了魔数(MagicNumber),并且在传达含义方面做得很差(“当我说0时,我的意思是head...”)。散列也不合适,因为可能会不小心添加额外的条目。我写了下面的类来解决这个问题:classPairattr_accessor:head,:taildefinitialize(h,t)@head,@tail=h,tendend它工作得很好并且解决了问题,但我很想知道:Ruby标准库是否已经带有这样一个类? 最佳
我正在尝试使用Curbgem执行以下POST以解析云curl-XPOST\-H"X-Parse-Application-Id:PARSE_APP_ID"\-H"X-Parse-REST-API-Key:PARSE_API_KEY"\-H"Content-Type:image/jpeg"\--data-binary'@myPicture.jpg'\https://api.parse.com/1/files/pic.jpg用这个:curl=Curl::Easy.new("https://api.parse.com/1/files/lion.jpg")curl.multipart_form_
无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD
本教程将在Unity3D中混合Optitrack与数据手套的数据流,在人体运动的基础上,添加双手手指部分的运动。双手手背的角度仍由Optitrack提供,数据手套提供双手手指的角度。 01 客户端软件分别安装MotiveBody与MotionVenus并校准人体与数据手套。MotiveBodyMotionVenus数据手套使用、校准流程参照:https://gitee.com/foheart_1/foheart-h1-data-summary.git02 数据转发打开MotiveBody软件的Streaming,开始向Unity3D广播数据;MotionVenus中设置->选项选择Unit
文章目录一、概述简介原理模块二、配置Mysql使用版本环境要求1.操作系统2.mysql要求三、配置canal-server离线下载在线下载上传解压修改配置单机配置集群配置分库分表配置1.修改全局配置2.实例配置垂直分库水平分库3.修改group-instance.xml4.启动监听四、配置canal-adapter1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步数据同步开关启动4.验证五、配置canal-admin一、概述简介canal是Alibaba旗下的一款开源项目,Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Git地址:https://github.co
我正在尝试在Rails上安装ruby,到目前为止一切都已安装,但是当我尝试使用rakedb:create创建数据库时,我收到一个奇怪的错误:dyld:lazysymbolbindingfailed:Symbolnotfound:_mysql_get_client_infoReferencedfrom:/Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundleExpectedin:flatnamespacedyld:Symbolnotfound:_mysql_get_client_infoReferencedf
文章目录1.开发板选择*用到的资源2.串口通信(个人理解)3.代码分析(注释比较详细)1.主函数2.串口1配置3.串口2配置以及中断函数4.注意问题5.源码链接1.开发板选择我用的是STM32F103RCT6的板子,不过代码大概在F103系列的板子上都可以运行,我试过在野火103的霸道板上也可以,主要看一下串口对应的引脚一不一样就行了,不一样的就更改一下。*用到的资源keil5软件这里用到了两个串口资源,采集数据一个,串口通信一个,板子对应引脚如下:串口1,TX:PA9,RX:PA10串口2,TX:PA2,RX:PA32.串口通信(个人理解)我就从串口采集传感器数据这个过程说一下我自己的理解,
SPI接收数据左移一位问题目录SPI接收数据左移一位问题一、问题描述二、问题分析三、探究原理四、经验总结最近在工作在学习调试SPI的过程中遇到一个问题——接收数据整体向左移了一位(1bit)。SPI数据收发是数据交换,因此接收数据时从第二个字节开始才是有效数据,也就是数据整体向右移一个字节(1byte)。请教前辈之后也没有得到解决,通过在网上查阅前人经验终于解决问题,所以写一个避坑经验总结。实际背景:MCU与一款芯片使用spi通信,MCU作为主机,芯片作为从机。这款芯片采用的是它规定的六线SPI,多了两根线:RDY和INT,这样从机就可以主动请求主机给主机发送数据了。一、问题描述根据从机芯片手
前言一般来说,前端根据后台返回code码展示对应内容只需要在前台判断code值展示对应的内容即可,但要是匹配的code码比较多或者多个页面用到时,为了便于后期维护,后台就会使用字典表让前端匹配,下面我将在微信小程序中通过wxs的方法实现这个操作。为什么要使用wxs?{{method(a,b)}}可以看到,上述代码是一个调用方法传值的操作,在vue中很常见,多用于数据之间的转换,但由于微信小程序诸多限制的原因,你并不能优雅的这样操作,可能有人会说,为什么不用if判断实现呢?但是if判断的局限性在于如果存在数据量过大时,大量重复性操作和if判断会让你的代码显得异常冗余。wxswxs相当于是一个独立