- ?
海量数据-近似最近邻查找(Ann)
冬冬
展开
Ann, Approximate Nearest Neighbor的缩写,就是近似最近邻搜索。
在机器学习领域,语义检索,图像识别,推荐系统等方向常涉及到的一个问题是:给定一个向量X=[x1,x2,x3...xn],需要从海量的向量库中找到最相似的前K个向量。通常这些向量的维度很高,对于在线服务,用传统的方法查找是非常耗时的,容易使得时延上成为瓶颈,因此业界通用的方式就是将最相似的查找转换成Ann问题。
这样查找返回的前K个向量并不一定是最相似的K个向量,衡量Ann算法好不好的一个依据是召回,每次Ann请求返回的K个结果与使用暴力查找的K个结果去比较,如果完全一致,说明是最好的。因为省了搜索时间却没有影响效果。
目前的Ann算法有基于图的,基于树的,基于哈希等,并且有很多关于Ann算法的实现,开源的很多,如annoy, faiss,nmslib, falconn等。下图是一些算法及其实现在搜索效率和召回的一个性能评测。
ann-benchmarks更详细的一些测试在这个网站有数据 http://ann-benchmarks。作者比较了不同的距离度量方式及在不同数据集的效果。
基于图的算法(hnsw)其实在评测上看起来是最好的, 但是其耗费比较多内存,树的方法在维度大时会变成暴力搜索,其它方法也有不同的特点。
- ?
中国人到底有多少资产?(海量数据支撑!)
苦瓜香
展开
来源:进击波(ID:jinbubo)
我认为:
『流动性收入更能够决定对应周期的生活品质。
而金融资产更能够决定相对地位。
这解释了为什么很多人年入百万依然认为自己是屌丝。有的人看起来“一分不赚”,依然是食物链顶层。
很多时候,这是new money 和 old money的区别所在。』
传承下来的资产,往往称为“old money”无论是核心地段的房产,土地,矿产,优质企业股份都是资产。资产或许不能带来短期的流动性收入。但是无数人倾尽一生,不过是为了获得资产。
故而,流动性只要不造成不枯竭,不断裂。我们应当不断去累积资产。
那么,中国人到底有多少金融资产?
▎回望2014
2014年的时候。西南财经大学中国家庭金融调查与研究中心在北京金融街了全国首份《中国家庭金融调查报告》。该报告是西南财大与中国人民银行联手基于全国25个省、80个县、320个社区共8438个家庭的抽样调查数据汇总分析形成,涉及家庭资产、负债、收入、消费、保险、保障等各个方面的数据,全面客观地反映了当时我国家庭金融的基本状况。
下面放核心数据:
『中国家庭资产平均为121.69万元
城市家庭平均资产247.60万元
中国10%最高收入家庭储蓄占全国储蓄总额74.9%
77%的炒股家庭没从股市赚钱
0.5%的中国家庭年可支配收入超过100万元,
有150万中国家庭年可支配收入超过100万元,
10%的收入最高的家庭收入占整个社会总收入的57%,
说明中国家庭收入不均等的现象已经较为严重。
而在2014年的时候。中国家庭负债平均为6.26万元,总体资产负债率为4.76%。其中,城市家庭平均负债100815元,农村家庭平均负债36504元。
从今天来看,这个负债率其实是偏低的。』
▎鸿沟的出现
对于西方而言,三年多的时间,变化不大。但对于我国而言,三年可以说是沧海桑田了。尤其是2015年-2016年周期的又一次房地产猛增。使得以上的数据无法对今天提供准确的参考。
自此,中国家庭因为拥有不动产和不拥有不动产,而产生了一条巨大的鸿沟。
不知为何,这份报告,从2015年之后就没有更新过了。以至于我对数据的梳理花了更多的时间。
拿2016年这一年来看,全国居民的房产净值增长达17.95%,房产净值的增长额已占到家庭人均财富增长额的68.24%。
中国家庭已经不再是量入为出的了,债务问题凸显
每年央行都会发布一份《城镇储户问卷调查报告》,是对全国储户,国家经济、家庭财政状况的一个分析。根据2017年的数据,中国家庭的“负债率”是58%。
『2013年初至2016年底,中国家庭债务占GDP的比重已经由30.7%提升到44.4%,到2017年底高达58%。已经超过2008年美国金融危机前的家庭债务累积速度。但这还不包括公积金贷款等其他渠道的家庭债务,如果将这些因素均考虑其中,这里面个人房贷每年增速都在20%以上。』
那么也就是说大多数正常的家庭,账面有多少资产,那么除以2-1.5 就是他们的负债了。这印证了为什么那么多新晋级的高薪家庭,过得很胆战心惊的原因。
当然,中国也有很多不负债的人。比如大城市国营工厂的老职工,过去分配了1-2套房子,拆迁户等等。这些人的杠杆率极低或者不存在。但是他们往往并不富裕。
如果他们想上更高的资产规模进阶,只有一条路:那就是负债。
事实上,适当的负债是财富进阶的正确方式。
王健林也好,孙宏斌也好,许家印也好。基本靠负债。
在过去长达30年的超发周期里,用明天的价值还今天借到的价格,无疑约等于“财富转移”。
▎高净值资产的家庭有多少?
根据美国波士顿咨询公司的分析报告,2017年全球共有1850万个百万富豪家庭,其中美国拥有超过800万个富豪家庭,中国有207万个,日本有108万个。
即中国有207万个家庭的净资产是高于650万左右的人民币。
而根据胡润研究院数据,中国资产千万(人民币)以上人数是100多万,占人口总数千分之一。一线城市比例百分之一,平均年龄约为39岁。
故而,虽然互联网和媒体让我们产生巨大的错觉,是全中国都是有钱人,但其实总量并不多。
根据胡润研究院的数据,中国新增中产阶级中,私营业主这个职业的家庭百万年收入的比例是17.26%,为所有职业中最高比例。超过了专业技能人员和职业经理人非常多。
▎中国到底有多少汽车?
(虽然汽车算消费品及损耗品,但在中国民间大量人依然把它列为资产属性)
『根据中新社北京1月15日电,截至2017年底,中国机动车保有量达3.10亿辆,其中汽车2.17亿辆;机动车驾驶人达3.85亿人,其中汽车驾驶人3.42亿人。
其中以个人名义登记的小型和微型载客汽车(私家车)达1.70亿辆,占载客汽车的91.89%,也就说中国有1.7亿辆的私家车,每8个人一辆车。』
▲上图是2012年-2016年的私家汽车增长图。
从城市的维度来看,北京汽车保有量是全国第一的,2017年底达564万辆。
全国有49个城市的汽车保有量超过100万辆,23个城市超200万辆,北京、成都、重庆、上海、苏州、深圳6个城市则超过了300万辆。
按照数量的排行是:北京、成都、重庆、上海、深圳、苏州、天津、郑州、西安、杭州、武汉、广州、石家庄、东莞、南京、青岛、宁波、佛山。
『根据北京2150万的常住人口来算,每3.8个人拥有一辆私家车,也就说大约1.5个家庭(平均每个家庭2.5人)就有一辆私家车。而这个数值是7.5-8之间(根据 上海2418万常住人口推算。)这和上海多年来对牌照发放的严控、城市的拥挤度有关。
根据奔驰官网数据。奔驰去年在亚太地区共计售出875,250辆,激增19.2%。中国依然是其最大的单一市场,在中国市场的销量达到587,868辆,攀升25.9%,创下新高。』
2017年中国市场,BMW和MINI两品牌共交付594388辆新车,相比去年同期增长15.1%。而去年奥迪(含进口车)在华累计交付595288辆新车,同比增长1.05%。
第二梯队中,捷豹路虎在中国市场销量为146399辆。凯迪拉克175489辆。
第三梯队约为5-10万的量级(沃尔沃,雷克萨斯,英菲尼迪)
也就说除去一定比例的企业采购,原车主换购,一人购买多台车等。据我粗略估算,中国去年约有180-250万人成为了高档车的车主。(如果谁有这些厂商的汽车会员数据就更精准了。)
值得注意的是:中国再度成为保时捷全球最大单一市场,销量突破71,000台,同比增长10%。宾利在华销售超过2399台。
也就说,中国已然成为顶级豪车最重要的市场。侧面证明了,中国人的财富正在向一小群人迅速集中。
约财MeetMoney
点击关注可弹出隐藏图片
▎中国人的海外配置规模达到了什么程度?
根据2017年11月30日,中华人民共和国国家发展和改革委员会发布的《中国对外投资报告》我们可以看到:中国对海外的投资已经累计达到1.357万亿美元,大约相当于9万亿元人民币。这里面不包括相当数量的资金,以虚假贸易、刷卡购物等方式逃脱了外汇管制,流向世界各地。
光2016年中国投资者海外商业和住宅房地产投资额达到330亿美元,并仍然保持迅速增长。
▎奢侈品 珠宝 字画 黄金等
2008年的时候,中国对全球奢侈品的贡献率是12%,截止2016年已经达到32%,到2025年,有望达到44%,形成一万亿的市场规模。
目前奢侈品行业的门店布局已经体现出巨大的不合理性。GDP前15城市的奢侈品门店比例为80%,但是居住在GDP排名前15城市的中国富裕群体人口仅占25%。
也就说中国高净值人群已经下沉。
▲上图是美国,日本,中国三国的珠宝消首饰人均消费额(美元)可以看到人均来看,中国还是偏低的。
『对于黄金,中国人是有一定的偏爱的。
2017年,全国黄金实际消费量1089.07吨,与去年同期相比增长9.41%。
2017年全国黄金消费量连续5年保持世界第一位。但个人认为:随着中国大妈的逐渐老去,黄金在华增长或许很快就接近峰值。』
在所有的饰品销售量中,黄金占比47%于是只有19%。
▎ 股权投资市场
如果你要问我,错过买房,中国下一个致富的跑道在哪里?我认为只有股权投资。
根据清科中心数据:2017年中国股权投资市场:总计有1.2万家投资机构。7.7亿元的管理资本量。13万登记从业人员。
根据上图,上海/浙江/广东/北京 依然是中国股权投资最活跃的地区。青海省很尴尬,去年前三季度股权交易基本为0。
『而在二级市场,截止2018年4月25日收盘,上证总市值37.62万亿。创业板 5.35万亿。深证23.1万亿。 总计65万亿。
那么我们再看下 《回望》那节的数据:77%的炒股家庭没从股市赚钱。
我估计2018年这个数据会变成85%以上。平均一个散户亏一万元左右。(一首凉凉送给你)』
▎ 总结
综上,随着四十年的改革开放,中国普遍性地解决了大面积的贫困,并已经形成了一批拥有一定资产的中产阶级,以及足够大量的小康家庭,但也受到较高负债率的困扰。财富的分配不均匀仍在加剧。以及资产阶层跨界越来越难的问题。
而实现真正的财富飞跃,或许只有用智慧+奋斗+投资的方式才可以完成。
- ?
掌握这些海量数据算法的面试方法,提高进一线大数据公司的机会
Josie
展开
海量数据处理在面试中是经常会被问的一些问题,处理大量数据的基本功在平常工作中确实是会用到的,今天我就整理了一些这方面的问题。
所谓海量数据处理, 指的是大数据量上进行的各种数据操作,但因为数据量庞大,会出现程序的运行时间过长,单机的存储空间不够或一些程序在运行过程中内存不足的情况,因而需要一些特别的处理方法,本文就尽可能的把这些特别的处理方法汇总,同时希望各路大神帮忙补充。本文里的各种方法对应的面试题内容也会在博客中持续更新。( 可以点击阅读原文查看博客内容)。
通过网络上各种文章的收集以及自己平时面试中的一些积累,掌握海量数据问题的处理方法首先要学会两个方法:一是用分治的方法将大数据问题变成小数据问题,其中分治的方法最常用的就是用hash,之后再对各小块问题的结果进行统计、汇总或排序;另一个方法就是用bit map。 其它网络上经常会提到的Trie树,Hadoop等当然能掌握是更好的。本文就先详细举例介绍分治法和bit map方法。其中部份举例题目来源于网络,相信有这方面准备经验的同学可能早就看过了。
分治法
大多用来hash映射来将大文件或大量数据进行分而治之的处理,分到不同的机器或节点上,再进行处理。处理的结果可能需要再用hash进行统计汇总,进行归并排序或再用堆排序找出TopK。这里值得一得的是面试过程中如果答出用hash来分治,很可能会引出新的关于hash的问题,比如怎么做hash,处理hash中冲突的方法等,最好都提前准备好。
下面是关于这方面的几个题目:(篇幅原因,只举例两题,博客上会持续大量更新)
海量日志数据,提取出某日访次数最多的那个IP
这题是典型的求TopK,TopK问题最先能想到的肯定是堆排序,但这里因为记录很多,还是可以用分治的方法先打散文件。
这里注意到IP是32位的,最多有个2^32个IP,可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大的几个)及相应的频率。然后再在这1000个最大的IP中,找出那个频率最大的IP,即为所求。
因为IP地址最多有2^32=4G种取值情况,所以不能完全加载到内存中处理,我们用“分而治之”的思想,按照IP地址的Hash(IP)%1024值,把海量IP日志分别存储到1024个小文件中。这样,每个小文件最多包含4MB个IP地址。对于每一个小文件,可以构建一个IP为key,出现次数为value的Hash map,同时记录当前出现次数最多的那个IP地址。可以得到1024个小文件中的出现次数最多的IP,再依据常规的排序算法得到总体上出现次数最多的IP。如果1024个小文件中有严重的数据倾斜,则需要再进行进一步的分治打散小文件来处理。
给定a、b两个文件,各存放50亿个url,每个url各占64字节,内存限制是4G,让你找出a、b文件共同的url?
这里明确给出了每个url占用的字节数和内存限制,那么这个内存里存不下URL明显是需要计算难一下的。从条件中可以算出每个文件的大小为5G×64=320G,远远大于内存限制的4G。所以不可能将其完全加载到内存中处理。考虑采取分而治之的方法。
遍历文件a,对每个url取模 ,这里将大文件分散到小文件的方法有很多种,最直观的,按前N个字母打散也行,重点是要找到一种方法,让所有文件里的URL数量尽可能的均匀,否则出现很大的倾斜的话,还需要再次的打散。
然后根据所取得的值将url分别存储到1000个小文件中。这样每个小文件的大约为300M。遍历文件b,采取和a相同的方式将url分别存储到1000小文件中。这样处理后,所有可能相同的url都在对应的小文件中,不对应的小文件不可能有相同的url。然后我们只要求出1000对小文件中相同的url即可。如果因为hash的过程中导致小文件的大小不是均匀分布,而出现有些文件还是太大,则可进行再次的hash分治,直至单个文件可以单机处理为止。
接着用hash进行统计 :求每对小文件中相同的url时,可以把其中一个小文件的url存储到hash_set中。然后遍历另一个小文件的每个url,看其是否在刚才构建的hash_set中,如果是,那么就是共同的url,存到文件里面就可以了。
Bit-Map
所谓的Bit-map就是用一个bit位来标记某个元素对应的Value, 而Key即是该元素。由于采用了Bit为单位来存储数据,因此在存储空间方面,可以大大节省。但在面试过程中可能会让你用自己熟悉的语言来写一个Bit-map的程序,最好也提前准备好吧。
下面是关于这方面的几个题目:(篇幅原因,只举例两题,博客上会持续大量更新)
在2.5亿个整数中找出不重复的整数,内存不足以容纳这2.5亿个整数。
方案1:采用Bit-Map(每个数分配2bit,00表示不存在,01表示出现一次,10表示多次,11无意义)进行,共需内存2^32*2bit=1GB内存,还可以接受。然后扫描这2.5亿个整数,查看Bit-map中相对应位,如果是00变01,01变10,10保持不变。所描完事后,查看Bit-map,把对应位是01的整数输出即可。
方案2:也可采用上题类似的方法,进行划分小文件的方法。然后在小文件中找出不重复的整数,并排序。然后再进行归并,注意去除重复的元素。
已知某个文件内包含一些电话号码,每个号码为8位数字,统计不同号码的个数。
8位最多99 999 999,大概需要99m个bit,大概10几m字节的内存即可。 (可以理解为从0-99 999 999的数字,每个数字对应一个Bit位,所以只需要99M个Bit==12MBytes,这样,就用了小小的12M左右的内存表示了所有的8位数的电话)
5亿个int找它们的中位数
这题也可以用Bit-Map来实现。
首先我们将int划分为2^16个区域,然后读取数据统计落到各个区域里的数的个数,之后我们根据统计结果就可以判断中位数落到那个区域,同时知道这个区域中的第几大数刚好是中位数。然后第二次扫描我们只统计落在这个区域中的那些数就可以了。
实际上,如果不是int是int64,我们可以用分治的方法,经过3次这样的划分即可降低到可以接受的程度。即可以先将int64分成2^24个区域,然后确定区域的第几大数,在将该区域分成2^20个子区域,然后确定是子区域的第几大数,然后子区域里的数的个数只有2^20,就可以直接进行统计了。
欢迎各位大神不吝贡献更多的海量数据处理相关的内容,一同分享,一同进步。
欢迎关注同名微信公共号,共同进步。
- ?
探寻大数据产业公司:走进海量数据年度股东大会
葛伟诚
展开
和讯网消息 近年来,大数据在经济社会发展中的作用越来越受到重视。据工信部发布数据显示,大数据产业规模未来两至三年的市场规模的增长率将保持在35%左右,我国数据行业面临前所未有的发展机遇与政策环境。
在A股市场,与大数据相关的上市公司更是多达百余家。其中,有3家公司直接以“数据”作为了证券简称,分别为中昌数据、数据港和海量数据,而后两者均是2017年登陆资本市场的新秀。
今天要关注的这家就是2017年3月上市的公司——海量数据,2018年5月16日下午,海量数据的2017年年度股东大会,在北京市海淀区科大天工大厦B座6层会议室召开。
公司董事长陈志敏、董秘王贵萍及部分高管到现场参与了会议,不过,赴现场参会的中小股东仅2名。
此前公布的年报显示,2017年,海量数据累计实现营业收入51807.83万元,同比增长10.16%;归属于上市公司股东的净利润5688.99万元,同比增长30.47%。
对于上述业绩情况,公司董事长陈志敏坦言,“不是很满意,因为我们还可以做的更好”。在现场,陈志敏还就投资者关心的未来机遇和行业发展等问题,进行了交流分享。
据了解,海量数据作为数据中心解决方案与服务的提供商,主要针对大中型企事业单位的数据中心,搭建 IT 基础设施数据平台,提供相关的数据存储与安全、数据库与数据管理、云计算等方面的解决方案和技术服务。
5月16日晚间,海量数据发布股东大会决议公告,当日股东大会审议的《2017 年年度报告全文及摘要》等9项议案,均获得通过。
二级市场上,截止5月16日收盘,海量数据报42.59元/股,下跌1.41%。
- ?
遇到海量数据时如何处理?
留恋
展开
本文将介绍一些处理海量数据问题的常见方法,也可以说是对海量数据的处理方法进行了一个简单的总结。
(一)数据库索引
适用范围:大数据量的增删改查
基本原理及要点:利用数据的设计实现方法,对海量数据的增删改查进行处理。
(二)倒排索引(Inverted index)
适用范围:搜索引擎,关键字查询
基本原理及要点:为何叫倒排索引?一种索引方法,被用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。
以英文为例,下面是要被索引的文本:
T0 = “it is what it is”
T1 = “what is it”
T2 = “it is a banana”
我们就能得到下面的反向文件索引:
“a”:{2}
“banana”:{2}
“is”:{0,1,2}
“it”:{0,1,2}
“what”:{0,1}
检索的条件”what”,”is”和”it”将对应集合的交集。
正向索引开发出来用来存储每个文档的单词的列表。正向索引的查询往往满足每个文档有序 频繁的全文查询和每个单词在校验文档中的验证这样的查询。在正向索引中,文档占据了中心的位置,每个文档指向了一个它所包含的索引项的序列。也就是说文档 指向了它包含的那些单词,而反向索引则是单词指向了包含它的文档,很容易看到这个反向的关系。
扩展:
问题实例:文档检索系统,查询那些文件包含了某单词,比如常见的学术论文的关键字搜索。
(三)外排序
适用范围:大数据的排序,去重
基本原理及要点:外排序的归并方法,置换选择败者树原理,最优归并树
扩展:
问题实例:
1).有一个1G大小的一个文件,里面每一行是一个词,词的大小不超过16个字节,内存限制大小是1M。返回频数最高的100个词。
这个数据具有很明显的特点,词的大小为16个字节,但是内存只有1m做hash有些不够,所以可以用来排序。内存可以当输入缓冲区使用。
(四)trie树
适用范围:数据量大,重复多,但是数据种类小可以放入内存
基本原理及要点:实现方式,节点孩子的表示方式
扩展:压缩实现。
问题实例:
1).有10个文件,每个文件1G,每个文件的每一行都存放的是用户的query,每个文件的query都可能重复。要你按照query的频度排序。
2).1000万字符串,其中有些是相同的(重复),需要把重复的全部去掉,保留没有重复的字符串。请问怎么设计和实现?
3).寻找热门查询:查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个,每个不超过255字节。
(五)分布式处理 mapreduce
适用范围:数据量大,但是数据种类小可以放入内存
基本原理及要点:将数据交给不同的机器去处理,数据划分,结果归约。
扩展:
问题实例:
1).The canonical example application of MapReduce is a process to count the appearances of
each different word in a set of documents:
2).海量数据分布在100台电脑中,想个办法高效统计出这批数据的TOP10。
3).一共有N个机器,每个机器上有N个数。每个机器最多存O(N)个数并对它们操作。如何找到N^2个数的中数(median)?
经典问题分析
上千万or亿数据(有重复),统计其中出现次数最多的前N个数据,分两种情况:可一次读入内存,不可一次读入。
可用思路:trie树+堆,数据库索引,划分子集分别统计,hash,分布式计算,近似统计,外排序
所谓的是否能一次读入内存,实际上应该指去除重复后的数据量。如果去重后数据可以放入 内存,我们可以为数据建立字典,比如通过 map,hashmap,trie,然后直接进行统计即可。当然在更新每条数据的出现次数的时候,我们可以利用一个堆来维护出现次数最多的前N个数据,当 然这样导致维护次数增加,不如完全统计后在求前N大效率高。
如果数据无法放入内存。一方面我们可以考虑上面的字典方法能否被改进以适应这种情形,可以做的改变就是将字典存放到硬盘上,而不是内存,这可以参考数据库的存储方法。
当然还有更好的方法,就是可以采用分布式计算,基本上就是map-reduce过程, 首先可以根据数据值或者把数据hash(md5)后的值,将数据按照范围划分到不同的机子,
最好可以让数据划分后可以一次读入内存,这样不同的机子负责处 理各种的数值范围,实际上就是map。得到结果后,各个机子只需拿出各自的出现次数最多的前N个数据,然后汇总,选出所有的数据中出现次数最多的前N个数据。
虽然上述方法并不能完全覆盖所有的海量数据问题,但可以处理绝大多数遇到的问题。
- ?
财务报表之海量数据分析
叶怀柔
展开
财务报表是反映公司财务状况的重要数据报表。结构清晰,展示全面的财务报表能够帮助企业的管理人员深入分析报表数据,挖掘数据价值,帮助企业查找问题,以便使企业运行的更加良好。
下面列举使用葡萄城报表制作出的清晰美观的财务报表。
资产负债结构表
这张报表展示了财务三大报表之一的资产负债表,报表让企业现有资产和负债情况一目了然。
费用报表
通过费用报表,可以清晰的查看公司的费用情况趋势等,以便为节省开支计划提供数据依据。
库存分析报表
库存情况代表了企业的生产成品实际的流动情况,反映了企业的销售等情况是否正常。通过库存分析报表,企业的管理人员能实时掌握企业的运营状态。
以上报表均包含在葡萄城报表模板库中。
了解报表模板库:http://grapecity/enterprise-solutions/activereports_server/library/
转载请注明出自:葡萄城报表
关于报表模板库
报表模板库是葡萄城面向广大报表用户推出的免费报表制作、学习及参考工具。通过该工具,降低用户制作报表难度,人人都可成为报表专家,业务数据分析不再遥不可及!
仅需一步!无需配置环境及参数,即可快速浏览百余套来自真实行业的案例及典型应用模板,在了解专业报表的布局及功能的同时,掌握报表从设计到呈现的全部技术细节,还可通过自带的设计器,所见即所得的修改报表模板,并查看效果。
- ?
万字长文揭秘:阿里如何实现海量数据实时分析?
星星
展开
阿里妹导读:随着数据量的快速增长,越来越多的企业迎来业务数据化时代,数据成为了最重要的生产资料和业务升级依据。本文由阿里AnalyticDB团队出品,近万字长文,首次深度解读阿里在海量数据实时分析领域的多项核心技术。
数字经济时代已经来临,希望能和业界同行共同探索,加速行业数字化升级,服务更多中小企业和消费者。
欢迎转发、收藏此文
挑战
随着数据量的快速增长,越来越多的企业迎来业务数据化时代,数据成为了最重要的生产资料和业务升级依据。伴随着业务对海量数据实时分析的需求越来越多,数据分析技术这两年也迎来了一些新的挑战和变革:
在线化和高可用,离线和在线的边界越来越模糊,一切数据皆服务化、一切分析皆在线化。高并发低延时,越来越多的数据系统直接服务终端客户,对系统的并发和处理延时提出了新的交互性挑战。混合负载, 一套实时分析系统既要支持数据加工处理,又要支持高并发低延时的交互式查询。融合分析, 随着对数据新的使用方式探索,需要解决结构化与非结构化数据融合场景下的数据检索和分析问题。
阿里巴巴最初通过单节点Oracle进行准实时分析, 后来转到Oracle RAC,随着业务的飞速发展, 集中式的Shared Storage架构需要快速转向分布式,迁移到了Greenplum,但不到一年时间便遇到扩展性和并发的严重瓶颈。为了迎接更大数据集、更高并发、更高可用、更实时的数据应用发展趋势,从2011年开始,在线分析这个技术领域,阿里实时数仓坚定的走上了自研之路。
分析型数据库AnalyticDB
AnalyticDB是阿里巴巴自主研发、唯一经过超大规模以及核心业务验证的PB级实时数据仓库。自2012年第一次在集团发布上线以来,至今已累计迭代发布近百个版本,支撑起集团内的电商、广告、菜鸟、文娱、飞猪等众多在线分析业务。
AnalyticDB于2014年在阿里云开始正式对外输出,支撑行业既包括传统的大中型企业和政府机构,也包括众多的互联网公司,覆盖外部十几个行业。AnalyticDB承接着阿里巴巴广告营销、商家数据服务、菜鸟物流、盒马新零售等众多核心业务的高并发分析处理, 每年双十一上述众多实时分析业务高峰驱动着AnalyticDB不断的架构演进和技术创新。
经过这2年的演进和创新,AnalyticDB已经成长为兼容MySQL 5.x系列、并在此基础上增强支持ANSI SQL:2003的OLAP标准(如window function)的通用实时数仓,跻身为实时数仓领域极具行业竞争力的产品。近期,AnalyticDB成功入选了全球权威IT咨询机构Forrester发布"The Forrester Wave™: CloudData Warehouse,Q4 2018"研究报告的Contenders象限,以及Gartner发布的分析型数据管理平台报告 (Magic Quadrant forData Management Solutions for Analytics),开始进入全球分析市场。AnalyticDB旨在帮客户将整个数据分析和价值化从传统的离线分析带到下一代的在线实时分析模式。
整体架构
经过过去2年的架构演进和功能迭代,AnalyticDB当前整体架构如下图。
AnalyticDB是一个支持多租户的Cloud Native Realtime Data Warehouse平台,每个租户DB的资源隔离,每个DB都有相应独立的模块(图中的Front Node, Compute Node, Buffer Node),在处理实时写入和查询时,这些模块都是资源(CPU, Memory)使用密集型的服务,需要进行DB间隔离保证服务质量。同时从功能完整性和成本优化层面考虑,又有一系列集群级别服务(图中绿色部分模块)。
下面是对每个模块的具体描述:
DB级别服务组件:
Front Node:负责JDBC, ODBC协议层接入,认证和鉴权,SQL解析、重写;分区地址路由和版本管理;同时优化器,执行计划和MPP计算的调度模块也在Front Node。Compute Node: 包含MPP计算Worker模块,和存储模块(行列混存,元数据,索引)。Buffer Node: 负责实时写入,并根据实时数据大小触发索引构建和合并。
集群级别服务组件:
Management Console: 管理控制台。Admin Service:集群管控服务,负责计量计费,实例生命周期管理等商业化功能,同时提供OpenAPI和InnerAPI给Management Console和第三方调用。Global Meta Service:全局元数据管理,提供每个DB的元数据管理服务,同时提供分区分配,副本管理,版本管理,分布式DDL等能力。Job Service:作业服务,提供异步作业调度能力。异步作业包括索引构建、扩容、无缝升级、删库删表的后台异步数据清理等。Connector Service:数据源连接服务,负责外部各数据源(图中右侧部分)接入到AnalyticDB。目前该服务开发基本完成,即将上线提供云服务。Monitoring & Alerting Service:监控告警诊断服务,既提供面向内部人员的运维监控告警诊断平台,又作为数据源通过Management Console面向用户侧提供数据库监控服务。Resource Management Service:资源管理服务,负责集群级别和DB级别服务的创建、删除、DNS/SLB挂载/卸载、扩缩容、升降配,无缝升级、服务发现、服务健康检查与恢复。
数据模型
AnalyticDB中表组(Table Group)分为两类:事实表组和维度表组。
事实表组(Fact Table Group),表组在AnalyticDB里是一个逻辑概念,用户可以将业务上关联性比较多的事实表放在同一个事实表组下,主要是为了方便客户做众多数据业务表的管理,同时还可以加速Co-location Join计算。维度表组(Dimension Table Group),用于存放维度表,目前有且仅有一个,在数据库建立时会自动创建,维度表特征上是一种数据量较小但是需要和事实表进行潜在关联的表。
AnalyticDB中表分为事实表(Fact Table)和维度表(Dimension Table)。
事实表创建时至少要指定Hash分区列和相关分区信息,并且指定存放在一个表组中,同时支持List二级分区。
Hash Partition将数据按照分区列进行hash分区,hash分区被分布到多个Compute Node中。List Partition(如果指定List分区列的话)对一个hash分区进行再分区,一般按照时间(如每天一个list分区)。一个Hash Partition的所有List Partition默认存放于同一个Compute Node中。每个Hash Partition配有多个副本(通常为双副本),分布在不同的Compute Node中,做到高可用和高并发。
维度表可以和任意表组的任意表进行关联,并且创建时不需要配置分区信息,但是对单表数据量大小有所限制,并且需要消耗更多的存储资源,会被存储在每个属于该DB的Compute Node中。
下图描述了从Database到List分区到数据模型:
对于Compute Node 来说,事实表的每个List分区是一个物理存储单元(如果没有指定List分区列,可认为该Hash分区只有一个List分区)。一个分区物理存储单元采用行列混存模式,配合元数据和索引,提供高效查询。
海量数据
基于上述数据模型,AnalyticDB提供了单库PB级数据实时分析能力。以下是生产环境的真实数据:
阿里巴巴集团某营销应用单DB表数超过20000张云上某企业客户单DB数据量近3PB,单日分析查询次数超过1亿阿里巴巴集团内某单个AnalyticDB集群超过2000台节点规模云上某业务实时写入压力高达1000w TPS菜鸟网络某数据业务极度复杂分析场景,查询QPS 100+
导入导出
灵活的数据导入导出能力对一个实时数仓来说至关重要,AnalyticDB当前既支持通过阿里云数据传输服务DTS、DataWorks数据集成从各种外部数据源导入入库,同时也在不断完善自身的数据导入能力。整体导入导出能力如下图(其中导入部分数据源当前已支持,部分在开发中,即将发布)。
★ 数据导入
首先,由于AnalyticDB兼容MySQL5.x系列,支持通过MySQL JDBC方式把数据insert入库。为了获得最佳写入性能,AnalyticDB提供了Client SDK,实现分区聚合写的优化,相比通过JDBC单条insert,写入性能有10倍以上提升。对于应用端业务逻辑需要直接写入AnalyticDB的场景,推荐使用AnalyticDB Client SDK。
同时,对于快速上传本地结构化的文本文件,可以使用基于AnalyticDB Client SDK开发的Uploader工具。对于特别大的文件,可以拆分后使用uploader工具进行并行导入。
另外,对于OSS,MaxCompute这样的外部数据源,AnalyticDB通过分布式的Connector Service数据导入服务并发读取并写入到相应DB中。Connector Service还将支持订阅模式,从Kafka,MQ,RDS等动态数据源把数据导入到相应DB中。AnalyticDB对大数据生态的Logstash,Fluentd,Flume等日志收集端、ETL工具等通过相应插件支持,能够快速把数据写入相应DB。
今天在阿里巴巴集团内,每天有数万张表从MaxCompute导入到AnalyticDB中进行在线分析,其中大量导入任务单表数据大小在TB级、数据量近千亿。
★ 数据导出
AnalyticDB目前支持数据导出到OSS和MaxCompute,业务场景主要是把相应查询结果在外部存储进行保存归档,实现原理类似insert from select操作。insert from select是把查询结果写入到内部表,而导出操作则是写入外部存储, 通过改进实现机制,可以方便地支持更多的导出数据源。
核心技术
高性能SQL Parser
AnalyticDB经过数年的发展,语法解析器也经历了多次更新迭代。曾经使用过业界主流的 Antlr(http://antlr.org),JavaCC(https://javacc.org)等Parser生成器作为SQL 语法解析器,但是两者在长期、大规模、复杂查询场景下,Parser的性能、语法兼容、API设计等方面不满足要求,于是我们引入了自研的SQL Parser组件FastSQL。
★ 领先业界的Parser性能
AnalyticDB主打的场景是高并发、低延时的在线化分析,对SQL Parser性能要求很高,批量实时写入等场景要求更加苛刻。FastSQL通过多种技术优化提升Parser性能,例如:
快速对比:使用64位hash算法加速关键字匹配,使用fnv_1a_64 hash算法,在读取identifier的同时计算好hash值,并利用hash64低碰撞概率的特点,使用64位hash code直接比较,比常规Lexer先读取identifier,在查找SymbolTable速度更快。高性能的数值Parser:Java自带的Integer.parseInt()/Float.parseFloat()需要构造字符串再做parse,FastSQL改进后可以直接在原文本上边读取边计算数值。分支预测:在insert values中,出现常量字面值的概率比出现其他的token要高得多,通过分支预测可以减少判断提升性能。
以TPC-DS99个Query对比来看,FastSQL比Antlr Parser(使用Antlr生成)平均快20倍,比JSQLParser(使用JavaCC生成)平均快30倍,在批量Insert场景、多列查询场景下,使用FastSQL后速度提升30~50倍。
★ 无缝结合优化器
在结合AnalyticDB的优化器的SQL优化实践中,FastSQL不断将SQL Rewrite的优化能力前置化到SQL Parser中实现,通过与优化器的SQL优化能力协商,将尽可能多的表达式级别优化前置化到SQL Parser中,使得优化器能更加专注于基于代价和成本的优化(CBO,Cost-Based Optimization)上,让优化器能更多的集中在理解计算执行计划优化上。FastSQL在AST Tree上实现了许多SQL Rewrite的能力,例如:
常量折叠:
SELECT * FROM t1 tWHERE comm_week BETWEEN CAST(date_format(date_add('day',-day_of_week('20180605'),date('20180605')),'%Y%m%d') AS bigint)AND CAST(date_format(date_add('day',-day_of_week('20180605'),date('20180605')),'%Y%m%d') AS bigint)------>SELE...
- ?
全球100款大数据工具汇总
丽莎
展开
1、 Talend Open Studio
是第一家针对的数据集成工具市场的ETL(数据的提取Extract、传输Transform、载入Load)开源软件供应商。Talend的下载量已超过200万人次,其开源软件提供了数据整合功能。其用户包括美国国际集团(AIG)、康卡斯特、电子港湾、通用电气、三星、Ticketmaster和韦里逊等企业组织。
2、DYSON
探码科技自主研发的DYSON智能分析系统,可以完整的实现大数据的采集、分析、处理。DYSON智能分析系统专业针对互联网数据抓取、处理、分析,挖掘。可以灵活迅速地抓取网页上散乱分布的信息,并通过强大的处理功能,准确挖掘出所需数据,是目前使用人数最多的网页采集工具.
3、YARN
一种新的Hadoop资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,解决了旧MapReduce框架的性能瓶颈。它的基本思想是把资源管理和作业调度/监控的功能分割到单独的守护进程。
4、Mesos
由加州大学伯克利分校的AMPLab首先开发的一款开源群集管理软件,支持Hadoop、ElasticSearch、Spark、Storm 和Kafka等架构。对数据中心而言它就像一个单一的资源池,从物理或虚拟机器中抽离了CPU,内存,存储以及其它计算资源, 很容易建立和有效运行具备容错性和弹性的分布式系统。
5、Datale
由探码科技研发的一款基于Hadoop的大数据平台开发套件,RAI大数据应用平台架构。
6、 Ambari
作为Hadoop生态系统的一部分,提供了基于Web的直观界面,可用于配置、管理和监控Hadoop集群。目前已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeper、Sqoop和Hcatalog等。
7、ZooKeeper
一个分布式的应用程序协调服务,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的工具,让Hadoop集群里面的节点可以彼此协调。ZooKeeper现在已经成为了 Apache的顶级项目,为分布式系统提供了高效可靠且易于使用的协同服务。
8、Thrift
在2007年facebook提交Apache基金会将Thrift作为一个开源项目,对于当时的facebook来说创造thrift是为了解决facebook系统中各系统间大数据量的传输通信以及系统之间语言环境不同需要跨平台的特性。
9、Chukwa
监测大型分布式系统的一个开源数据采集系统。建立在HDFS/MapReduce框架之上并继承了Hadoop的可伸缩性和可靠性,可以收集来自大型分布式系统的数据,用于监控。它还包括灵活而强大的显示工具用于监控、分析结果。
10、Lustre
一个大规模的、安全可靠的、具备高可用性的集群文件系统,它是由SUN公司开发和维护的。该项目主要的目的就是开发下一代的集群文件系统,目前可以支持超过10000个节点,数以PB的数据存储量。
11、HDFS
Hadoop Distributed File System,简称HDFS,是一个分布式文件系统。HDFS是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。
12、GlusterFS
一个集群的文件系统,支持PB级的数据量。GlusterFS 通过RDMA和TCP/IP方式将分布到不同服务器上的存储空间汇集成一个大的网络化并行文件系统。
13、Alluxio
前身是Tachyon,是以内存为中心的分布式文件系统,拥有高性能和容错能力,能够为集群框架(如Spark、MapReduce)提供可靠的内存级速度的文件共享服务。
14、Ceph
新一代开源分布式文件系统,主要目标是设计成基于POSIX的没有单点故障的分布式文件系统,提高数据的容错性并实现无缝的复制。
15、PVFS
一个高性能、开源的并行文件系统,主要用于并行计算环境中的应用。PVFS特别为超大数量的客户端和服务器端所设计,它的模块化设计结构可轻松的添加新的硬件和算法支持。
16、QFS
Quantcast File System (QFS) 是一个高性能、容错好、分布式的文件系统,用于开发支持 MapReduce处理或者需要顺序读写大文件的应用。
17、 Logstash
一个应用程序日志、事件的传输、处理、管理和搜索的平台。可以用它来统一对应用程序日志进行收集管理,提供了Web接口用于查询和统计。
18、Scribe
Scribe是Facebook开源的日志收集系统,它能够从各种日志源上收集日志,存储到一个中央存储系统(可以是NFS,分布式文件系统等)上,以便于进行集中统计分析处理。
19、Flume
Cloudera提供的一个高可用的、高可靠的、分布式的海量日志采集、聚合和传输的系统。Flume支持在日志系统中定制各类数据发送方,用于收集数据。同时,Flume支持对数据进行简单处理,并写入各种数据接受方(可定制)。
20、RabbitMQ
一个受欢迎的消息代理系统,通常用于应用程序之间或者程序的不同组件之间通过消息来进行集成。RabbitMQ提供可靠的应用消息发送、易于使用、支持所有主流操作系统、支持大量开发者平台。
21、ActiveMQ
Apache出品,号称“最流行的,最强大”的开源消息集成模式服务器。ActiveMQ特点是速度快,支持多种跨语言的客户端和协议,其企业集成模式和许多先进的功能易于使用,是一个完全支持JMS1.1和J2EE 1.4规范的JMS Provider实现。
22、Kafka
一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模网站中的所有动作流数据,目前已成为大数据系统在异步和分布式消息之间的最佳选择。
23、Spark
一个高速、通用大数据计算处理引擎。拥有Hadoop MapReduce所具有的优点,但不同的是Job的中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。它可以与Hadoop和Apache Mesos一起使用,也可以独立使用。
24、Kinesis
可以构建用于处理或分析流数据的自定义应用程序,来满足特定需求。Amazon Kinesis Streams 每小时可从数十万种来源中连续捕获和存储数TB数据,如网站点击流、财务交易、社交媒体源、IT日志和定位追踪事件。
25、 Hadoop
一个开源框架,适合运行在通用硬件,支持用简单程序模型分布式处理跨集群大数据集,支持从单一服务器到上千服务器的水平scale up。Apache的Hadoop项目已几乎与大数据划上了等号,它不断壮大起来,已成为一个完整的生态系统,拥有众多开源工具面向高度扩展的分布式计算。高效、可靠、可伸缩,能够为你的数据存储项目提供所需的YARN、HDFS和基础架构,并且运行主要的大数据服务和应用程序。
26、Spark Streaming
实现微批处理,目标是很方便的建立可扩展、容错的流应用,支持Java、Scala和Python,和Spark无缝集成。Spark Streaming可以读取数据HDFS,Flume,Kafka,Twitter和ZeroMQ,也可以读取自定义数据。
27、Trident
是对Storm的更高一层的抽象,除了提供一套简单易用的流数据处理API之外,它以batch(一组tuples)为单位进行处理,这样一来,可以使得一些处理更简单和高效。
28、Flink
于今年跻身Apache顶级开源项目,与HDFS完全兼容。Flink提供了基于Java和Scala的API,是一个高效、分布式的通用大数据分析引擎。更主要的是,Flink支持增量迭代计算,使得系统可以快速地处理数据密集型、迭代的任务。
29、Samza
出自于LinkedIn,构建在Kafka之上的分布式流计算框架,是Apache顶级开源项目。可直接利用Kafka和Hadoop YARN提供容错、进程隔离以及安全、资源管理。
30、Storm
Storm是Twitter开源的一个类似于Hadoop的实时数据处理框架。编程模型简单,显著地降低了实时处理的难度,也是当下最人气的流计算框架之一。与其他计算框架相比,Storm最大的优点是毫秒级低延时。
31、Yahoo S4 (Simple Scalable Streaming System)
是一个分布式流计算平台,具备通用、分布式、可扩展的、容错、可插拔等特点。程序员可以很容易地开发处理连续无边界数据流(continuous unbounded streams of data)的应用。它的目标是填补复杂专有系统和面向批处理开源产品之间的空白,并提供高性能计算平台来解决并发处理系统的复杂度。
32、HaLoop
是一个Hadoop MapReduce框架的修改版本,其目标是为了高效支持 迭代,递归数据 分析任务,如PageRank,HITs,K-means,sssp等。
33、Presto
是一个开源的分布式SQL查询引擎,适用于交互式分析查询,可对250PB以上的数据进行快速地交互式分析。Presto的设计和编写是为了解决像Facebook这样规模的商业数据仓库的交互式分析和处理速度的问题。Facebook称Presto的性能比诸如Hive和MapReduce要好上10倍有多。
34、 Drill
于2012年8月份由Apache推出,让用户可以使用基于SQL的查询,查询Hadoop、NoSQL数据库和云存储服务。它能够运行在上千个节点的服务器集群上,且能在几秒内处理PB级或者万亿条的数据记录。它可用于数据挖掘和即席查询,支持一系列广泛的数据库,包括HBase、MongoDB、MapR-DB、HDFS、MapR-FS、亚马逊S3、Azure Blob Storage、谷歌云存储和Swift。
35、Phoenix
是一个Java中间层,可以让开发者在Apache HBase上执行SQL查询。Phoenix完全使用Java编写,并且提供了一个客户端可嵌入的JDBC驱动。Phoenix查询引擎会将SQL查询转换为一个或多个HBase scan,并编排执行以生成标准的JDBC结果集。
36、Pig
是一种编程语言,它简化了Hadoop常见的工作任务。Pig可加载数据、转换数据以及存储最终结果。Pig最大的作用就是为MapReduce框架实现了一套shell脚本 ,类似我们通常熟悉的SQL语句。
37、Hive
是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
38、SparkSQL
前身是Shark,SparkSQL抛弃原有Shark的代码并汲取了一些优点,如内存列存储(In-Memory Columnar Storage)、Hive兼容性等。由于摆脱了对Hive的依赖性,SparkSQL无论在数据兼容、性能优化、组件扩展方面都得到了极大的方便。
39、Stinger
原来叫Tez,是下一代Hive,由Hortonworks主导开发,运行在YARN上的DAG计算框架。某些测试下,Stinger能提升10倍左右的性能,同时会让Hive支持更多的SQL。
40、Tajo
目的是在HDFS之上构建一个可靠的、支持关系型数据的分布式数据仓库系统,它的重点是提供低延迟、可扩展的ad-hoc查询和在线数据聚集,以及为更传统的ETL提供工具。
41、Impala
Cloudera 声称,基于SQL的Impala数据库是“面向Apache Hadoop的领先的开源分析数据库”。它可以作为一款独立产品来下载,又是Cloudera的商业大数据产品的一部分。Cloudera Impala 可以直接为存储在HDFS或HBase中的Hadoop数据提供快速、交互式的SQL查询。
42、 Elasticsearch
是一个基于Lucene的搜索服务器。它提供了一个分布式、支持多用户的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索、稳定、可靠、快速、安装使用方便。
43、Solr
基于Apache Lucene,是一种高度可靠、高度扩展的企业搜索平台。知名用户包括eHarmony、西尔斯、StubHub、Zappos、百思买、AT&T、Instagram、Netflix、彭博社和Travelocity。
44、Shark
即Hive on Spark,本质上是通过Hive的HQL解析,把HQL翻译成Spark上的RDD操作,然后通过Hive的metadata获取数据库里的表信息,实际HDFS上的数据和文件,会由Shark获取并放到Spark上运算。Shark的特点就是快,完全兼容Hive,且可以在shell模式下使用rdd2sql()这样的API,把HQL得到的结果集,继续在scala环境下运算,支持自己编写简单的机器学习或简单分析处理函数,对HQL结果进一步分析计算。
45、Lucene
基于Java的Lucene可以非常迅速地执行全文搜索。据官方网站声称,它在现代硬件上每小时能够检索超过150GB的数据,它拥有强大而高效的搜索算法。
46、Terracotta
声称其BigMemory技术是“世界上首屈一指的内存中数据管理平台”,支持简单、可扩展、实时消息,声称在190个国家拥有210万开发人员,全球1000家企业部署了其软件。
47、 Ignite
是一种高性能、整合式、分布式的内存中平台,可用于对大规模数据集执行实时计算和处理,速度比传统的基于磁盘的技术或闪存技术高出好几个数量级。该平台包括数据网格、计算网格、服务网格、流媒体、Hadoop加速、高级集群、文件系统、消息传递、事件和数据结构等功能。
48、GemFire
Pivotal宣布它将开放其大数据套件关键组件的源代码,其中包括GemFire内存中NoSQL数据库。它已向Apache软件基金会递交了一项提案,以便在“Geode”的名下管理GemFire数据库的核心引擎。
49、 GridGain
由Apache Ignite驱动的GridGrain提供内存中数据结构,用于迅速处理大数据,还提供基于同一技术的Hadoop加速器。
50、MongoDB
是一个基于分布式文件存储的数据库。由C++...
- ?
「统计服务」海量数据唾手可得
何十八
展开
关注“重庆统计微讯”,
一起涨姿势~
海量数据唾手可得
——中国统计资料馆数字馆上线记
在小常的电脑收藏夹里,最近又多了个链接——中国统计资料数字馆。“登陆网上资料馆,能快速查到大量统计数据,再也不用一本本地搬年鉴,一页页地翻书了。找到的数据不仅能生成表格,还能输出任选的条、饼、块图形,真是太棒了!”小常兴奋地告诉记者。
8月21日,中国统计资料数字馆平台在国家统计局内网试运行。这既是资料中心两年多的呕心之作,也是国家统计局积极打造现代服务型统计,创新统计资料管理与服务体系的一大力作,更是政府统计机构为党的十九大的献礼之作。
管理与服务从线下走到线上
政府统计数据是记录国民经济和社会发展等重要国情国力的基础数据,是宏观调控和决策的重要依据,也是国家知识遗产的重要组成部分。“加强统计资料管理意义重大,面对凝结着几代统计人心血的历史珍品,我们深感责任重大。”资料中心副主任张芃告诉记者,下决心花大力气收集管理统计资料源于2012年,国家统计局开展的历史数据资料孤本抢救工作,在资料中心和各专业司的共同努力下,用近一年半的时间,分三批次完成了500多册(约10万页)孤本史料翻印。
如今,随着信息技术的迅猛发展和大数据时代的到来,如何利用现代网络技术及计算机处理能力,更好地把统计资料存好管好用好,是资料管理者之梦。为此,资料中心制定了《统计资料管理工作规划(2013-2017)》,搭建管理服务一体的网络平台,践行规划和实现梦想的奋斗目标——中国统计资料数字馆应运而生!
从顶层设计到与技术方的论证,从模块集成到平台搭建,从网页设计到内容配置,从数据转换到资源加载,资料处和公众服务处两个处不足10人,经过设计、论证、商谈、培训、运行调试和压力测试以及上线前的安全扫描等层层环节,历经无数次细项繁复的修改,两年的努力,结出了今天的硕果——网站上线3天,统计系统内注册人数就达近150人。
“五化”打造管理与服务新模式
打造专业的网上资料馆平台,在国家统计局史无前例,无经验可循;技术合作方广州图创软件公司与国家机关协作,也属首次。资料中心主任钟守洋告诉记者:“中国统计资料数字馆的打造,是我们紧扣时代脉搏,运用先进的技术手段,让统计数据资料更加方便、直观、快捷地服务于社会公众而主动作为的结果。特别是开发数据服务平台,更是我们专注统计数据电子化和探索数据挖掘可视化的自我加压。不久的将来,数字馆逐步推向社会,推动统计服务公众,传播统计知识和文化,向更深层次发展!”
数字馆的建成,实现了统计资料管理、查询、阅览的电子化和网络化,统计系统资料馆的集群化,统计信息咨询的智能化和统计数据的可视化。网站设置了资源、专题、分馆、服务、咨询等栏目,共有馆藏图书13682种29591册,镜像电子资源中国知网15T、人大资料库60G、方正电子书2591册,随书光盘931种,600多条问答知识库。总馆、分馆馆藏图书、期刊均可实现目录检索。除了总馆之外,目前有辽宁、吉林、贵州、广西统计局资料中心和黑龙江、河南、广东、新疆调查总队8个分馆,其中,部分局队的文献资料已全部纳入网上管理系统,初步形成了总分馆模式。值得一提的是,数字馆的搜索引擎能力强大,可实现多个异构数据库统一检索和结果呈现。
创新管理与服务仍在路上
数字馆最大的亮点就是“数据探寻”板块。记者点击“数据探寻”,色彩鲜艳的轮播图,吸引记者进入了自主探究的数据世界。这项创新源于资料中心“依靠技术探索统计数据分析”的初心,即以计算机处理图形及数据模型软件为工具,实现统计数据可视化和数据分析。资料处进行的“数据可视化应用研究”课题理论,在数字馆平台建设中进行了有益的探索和实践。
“我们的可视化是立足于数据分析,而不仅仅是单纯的图表美化。”张芃表示,“欢迎大家使用我们的可视化和建模工具进行数据分析、预测及图形绘制。我们还将定期丰富图形种类,更新R语言工具包,为公众提供高品质的服务是资料管理人永远的追求。”
在采访中记者了解到,未来,资料中心将继续开启政府统计机构传播统计文化,服务社会公众的新里程,使统计知识更普及、统计产品更丰富,让统计走进万户千家。可以预见,中国统计资料数字馆的建设刚刚起步,而统计资料管理与服务的创新,将一直在路上!
编者按
看完这篇文章以后,你心中是不是有个疑问:重庆的统计数据在哪里查呢?
我们为大家提供了两种查询方式:
1.登录“重庆统计”网站:http://cqdata.gov/
2.手机下载APP“数据重庆”
及时发布统计数据
深度分析经济运行
时时关注行业动态
贴心分享重庆生活
欢迎关注
重庆统计微讯
- ?
大数据不仅仅是海量数据
残缺
展开
大数据如果仅仅是海量的结构性数据,那么解决的办法就比较单一,用户可以通过购买更多的存储设备,提高存储设备的效率等解决此类问题。然而,问题似乎没有那么简单。曾经听到过一个对于大数据所下的定义我觉得比较到位:“大数据其实是海量高维度数据的相关性分析”。什么意思呢,我们慢慢说。
量的积累
当类型复杂的数据汹涌袭来,那么对于用户IT系统的冲击会是另外一种处理方式。有调查发现,这些复杂数据中有85%的数据属于广泛存在于社交网络、物联网、电子商务等之中的非结构化数据。这些非结构化数据的产生往往伴随着社交网络、移动计算和传感器等新的渠道和技术的不断涌现和应用。
如今大数据的概念也存在着很多的炒作和大量的不确定性。有人将很多TB的数据集也称作”大数据”。据市场研究公司IDC统计,数据使用预计将增长44倍,全球数据使用量将达到大约35.2ZB(1ZB=10亿TB)。但是单个数据集的文件尺寸也将增加,导致对更大处理能力的需求以便分析和理解这些数据集。
对大企业而言,大数据的兴起部分是因为计算能力可用更低的成本获得,各类系统如今已能够执行多任务处理。其次,内存的成本也在直线下降,企业可以在内存中处理比以往更多的数据,另外是把计算机聚合成服务器集群越来越简单。IDC认为,这三大因素的结合便催生了大数据。同时,IDC还表示,某项技术要想成为大数据技术,首先必须是成本可承受的,其次是必须满足IBM所描述的三个”V”判据中的两个:多样性(variety)、体量(volume)和速度(velocity)。
多样性是指,数据应包含结构化的和非结构化的数据;体量是指聚合在一起供分析的数据量必须是非常庞大的;速度则是指数据处理的速度必须很快。
Garter表示,全球信息量正在以59%以上的年增长率增长,而量是在管理数据、业务方面的显著挑战,IT领袖必须侧重在信息量、种类和速度上。
量:企业系统内部的数据量的增加是由交易量、其它传统数据类型和新的数据类型引发的。过多的量是一个存储的问题,但过多的数据也是一个大量分析的问题。
种类:IT领袖在将大量的交易信息转化为决策上一直存在困扰:现在有更多类型的信息需要分析,主要来自社交媒体和移动(情景感知)。种类包括表格数据(数据库)、分层数据、文件、电子邮件、计量数据、视频、静态图像、音频、股票行情数据、金融交易和其它更多种类。
速度:这涉及到数据流、结构化记录的创建,以及访问和交付的可用性。速度意味着正在被生成的数据有多快,数据必须被多快地处理以满足需求。
综上所述,大数据的基础是多样的,包括结构和非结构的数据,而软硬件架构的进化使得这样规模的数据处理变成了可能。那么能力有了,怎么来很好的利用能力实现价值呢?
质的变化
虽然大数据是一个重大问题,Gartner分析师表示,真正的问题是让大数据更有意义,在大数据里面寻找模式帮助组织机构做出更好的商业决策。尽管”BigData”可以翻译成大数据或者海量数据,但大数据和海量数据是有区别的。在刚才提到的对于大数据的定义中,海量数据以及处理海量数据的能力目前已经满足,那么什么是高纬度数据的相关性分析呢?
著名的奢侈品品牌Prada在其欧洲门店做过这样一个业务改进,他们在衣服的衣架上安装一个电磁芯片,并在试衣间中安装一套传感器装置,每当衣物被带进试衣间试穿就会被相应计数一次。这样一个简单的改进在于,它使得管理人员能够从数据中找到那些试穿多但是购买少的产品,之所以试穿多购买少说明这种产品一定是看上去不错,但是试穿后会发现一些设计上的瑕疵或者不合理的地方,那么设计人员就会有针对性的修改相关产品,这样做明显提高了门店的销售业绩。
从上面的例子看出,prada的管理人员创造性的创立了一个新的描述产品属性的维度,这就属于维度的提升和创新,这样创新出的维度就是高维度,高维度可能是传统维度汇总后更高粒度的维度,有的可能是创造出来的描述事物的新角度。而把这些维度关联起来进行分析,将事物不同的维度作为因,将因和果关联起来分析,就能更好的了解事物属性。
因此可见,硬件性能的提升,价格的下降,以及高扩展性软件架构的应用,使得企业高效的从更多角度,更高频度的收集并分析业务数据变成了可能。作为技术人员,在大数据时代,我们将应用更加高效的软硬件架构构建我们的平台,而要真正的发挥大数据的威力,从业务方面增强创新和创造能力、创新分析方法,提高分析多样性就显得更加至关重要。
海量数据汇总
-
1、只需3秒快速实现求和
-
2、如何快速填充序号
-
3、如何自动填充序号(公式法)
-
4、数据条的神奇应用
-
5、多文本快速合并
-
6、查找与替换的不同玩法
-
7、快速定位到指定区域
-
8、数据排序、工资条制作
-
9、快速筛选(模糊、精确筛选)
-
10、快速插入空行
-
11、快速删除空行
-
12.快速跳转到天涯海角
-
13、.同时查看两个Excel文件
-
14、用条件格式扮靓报表
-
15、一键插入Excel图表
-
16、批量处理行高、列宽
-
17、利用拆分功能查看数据
-
18、批量录入相同内容
-
19、工作表快速跳转
-
20、批量录入表格模板(精品课程)
-
21、Excel函数与公式的应用、公式循环引用的查找
-
22、IF函数单条件判断同比增长
-
23、用sum函数 格式相同,连续多表数据汇总
-
24、excel快捷键
-
25、VLOOKUP函数——根据销售员匹配销售额
-
26、统计各部门销售总额
-
27、统计指定条件个数
-
28、怎样输入当前日期和时间、星期数
-
29、销售业绩排名
-
30、Sumproduct函数-万能函数(销售额汇总求和)
-
31、根据销售员,地区,商品名称汇总
-
32、批量替换PPT字体
-
33、给销售额数据批量添加万元单位
-
34、一秒快速核对两列数据
-
35、快速定位到指定单元格或区域
-
36、快速制作双行标题工资条
-
37、给你的表格做个瘦身
-
38、快速打开常用的Excel文件
-
39、快速打开多个Excel文件
-
40、利用创建组—快速隐藏/展开多列数据
-
41、快速制作下拉菜单
-
42、复制粘贴表格,如何保留数据源列宽格式一致?
-
43、两列数据位置互换
-
44、1秒钟扮靓报表——如何实现表格隔行换色
-
45、快速删除重复记录——保留唯一值
-
46、快速向下填充、向右填充,文本或公式
-
47、给Excel文件添加密码
-
48、插入带图片的批注
-
49、输入公式后不计算?
-
50、如何设置单元格缩进
-
51、快速解决Excel表格总显示货币格式
-
52、批量添加万元单位
-
53、你会四舍五入么?
-
54、用RAND函数机选彩票
-
55、冻结首行你会么?
-
56、超链接的高级应用
-
57、IFERROR函数-屏蔽错误值
-
58、批量填充颜色
-
59、录入数据
-
60、快速输入工号
-
61、快速行列转置
-
62、自定义缩放界面
-
63、多个单元格同时输入
-
64、如何计算立方米?
-
65、快速制作双行标题工资条
-
66、输入带方框的√和×
-
67、快速将姓名对齐
-
68、快速输入性别
-
69、按单位职务排序
-
70、自动计算合同到期日期
-
71、计算时间间隔
-
72、日期和时间的拆分
-
73、快速处理不规范的日期格式
-
74、快速填充合并单元格
-
75、效率加倍的快捷键
-
76、快速复制表格和对象
-
77、快速创建工作表副本
-
78、快速复制序列号
-
79、快速显示公式
-
80、多个单元格同时输入
-
81、快速调整显示比例
-
82、快速自动填充
-
83、快速填充(Ctrl+E)
-
84、Ctrl与数字键结合
-
85、快速将多列数据整理为1列
-
86、快速将1列数据拆分为多列
-
87、快速定位公式
-
88、快速录入数据
-
89、快速累计求和
-
90、身份证号码显示为0怎么办?
-
91、快速制作斜线表头
-
92、文本竖向显示
-
93、神奇的监视窗口
-
94、不一样的格式刷
-
95、快速美化图表
-
96、快速生成当前日期
-
97、快速找出循环引用
-
98、快速提取信息
-
99、二维表快速转换为一维表
-
100、快速多表合并