精华内容
下载资源
问答
  • 技术栈

    2018-09-11 10:34:49
    技术栈 lombok

    技术栈

    展开全文
  • 技术栈是什么鬼?

    万次阅读 多人点赞 2019-05-08 11:27:20
    技术栈是什么鬼? 栈的英文是stack 首先,我们使用金山词霸来查一下stack的中文解释 stack有堆起来的意思,其实就是堆叠,顾名思义,技术栈就是你掌握了一堆的技术(掌握多种技术) 一般来说是指将N种技术互相...

    技术栈是什么鬼?

    的英文是stack

    首先,我们使用金山词霸来查一下stack的中文解释

    stack有堆起来的意思,其实就是堆叠,顾名思义,技术栈就是你掌握了一堆的技术(掌握多种技术)

    一般来说是指将N种技术互相组合在一起(N>1),作为一个有机的整体来实现某种目的或功能。也可以指掌握这些技术以及配合使用的经验。

    这里的栈英文是stack(一些东西堆在一起),而非数据结构的栈的意思

    打个比方,开发一个医疗管理系统,你使用了html + css + javascript + jquery + springmvc + hibernate + spring + linux + mysql等等,这些技术就是一堆技术(一堆技术组合起来),这就可以称为技术栈。

    如果我们说不同种类的技术,会显得很low,但是如果我们说技术栈,就会显得高大上和逼格满满,技术栈其实就是更有逼格的一种说法,说白了,技术栈听起来比较高大上,更装逼,感觉更厉害的样子。(哈哈,不知道是谁发明技术栈这个词,我觉得就是为了让大家不明觉厉:不明白是什么意思,但是感觉很厉害的样子)

    技术栈这个词,听起来也比较简洁,比不同种类的技术简洁一点

    比较常见的说法:

    1.你这个项目中用到的技术栈有哪些?

    2.刚才那个应聘者用到的技术栈有点过时。

    3.面试官问求职者,说说你平时常用的技术栈吧!

    4.面试官问求职者,你知道java目前最新的技术栈有哪些吗?

    展开全文
  • 【摘要】传统的以SQL为中心的技术栈无法有效地应对大数据场景带来的多元异构数据管理、大规模关系网络管理和复杂网络分析等挑战,本文针对新型大数据技术栈展开研究。通过分析图数据模型的优势,结合图技术的发展和...

    【摘要】传统的以SQL为中心的技术栈无法有效地应对大数据场景带来的多元异构数据管理、大规模关系网络管理和复杂网络分析等挑战,本文针对新型大数据技术栈展开研究。通过分析图数据模型的优势,结合图技术的发展和应用现状,提出以图为中心的新型大数据技术栈,该技术栈在生物数据网络、科技知识图谱等实际应用中得到较好的验证。尽管该技术栈的大面积推广还存在支撑工具不足、应用生态不够成熟等困难。但我们相信,以图为中心的新型大数据技术栈会在更多的大数据应用场景中发挥更大的价值。

    1 以SQL为中心的技术栈

      1969年,Codd提出关系模型(Relational Model),旨在以元组(Tuple)和关系(Relation)来表达和组织数据。遵循关系模型的数据库即关系数据库,或称为关系数据库管理系统(RDBMS)。1974年,IBM开始第一个关系数据库System R的研发;1979年,Oracle公司推出第一个商业数据库Oracle。随后,关系数据库得到迅猛发展,并逐渐成为主导的数据库类型,包括DB2、SAP Sybase、Informix等。

      RDBMS广泛应用于联机事务处理(OnLine Transaction Processing,OLTP)和联机分析处理(OnLine Analytical Processing,OLAP)的场景,OLAP系统一般以数据仓库(Data Warehouse,DW)作为基础,即从数据仓库中抽取详细数据的一个子集并经过必要的聚集存储到OLAP存储器中供前端分析工具读取。作为商业智能的关键部分,数据仓库主要用以数据的统计分析,可进一步区分为关系OLAP(Relational OLAP,ROLAP)、多维OLAP(Multidimensional OLAP,MOLAP)和混合型OLAP(Hybrid OLAP,HOLAP)三种类型。其中,ROLAP直接采用RDBMS存储;MOLAP则将OLAP分析所用到的多维数据存储为多维数组的形式,形成“数据立方体”的结构,底层仍以RDBMS为主,综合列式存储、内存数据管理等系统搭建而成。

      结构化查询语言(SQL)的提出和推广,促进了RDBMS以及数据仓库技术的广泛应用。几乎所有的RDBMS都提供了SQL语言的支持,另外,数据仓库经常借助ETL(Extract, Transform,Load)工具,如DataPipeline、Kettle、Talend、Informatica、DataX、Oracle oldenGate等,来实现多源数据的集成和转换,这个过程往往会借助于SQL语言完成。

      SQL语言在云计算和大数据时代仍占有重要地位,这方面的应用具体表现为三种形态:SQL on Hadoop、SQL over NoSQL以及Analytical SQL。

    01 SQL on Hadoop

      基于Hadoop/Spark构建的SQL引擎,如:Hadoop生态中的重要的Hive数据仓库系统,对内屏蔽了HDFS、HBase等存储的差异性,对外仅暴露了HiveQL语言作为查询语言;Spark中相应的模块为Spark SQL,它基于DataFrame和DataSet两个编程抽象,提供了分布式SQL查询引擎;第三方的SQL引擎如Impala,提供了SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据。

    02 SQL over NoSQL

      针对NoSQL数据库对外暴露SQL查询接口,如:Apache Phoenix针对HBase封装了SQL化的操作接口;solr-sql实现了针对文档搜索引擎Solr的SQL接口;著名的SQL引擎Apache alcite则将SQL引入到流式数据的实时查询和分析;2006年,有学者提出CQL(Continuous Query Language)的概念,华为于2015年推出开源其流处理平台SQL引擎StreamCQL。作为华为FusionInsight大数据平台的重要组件,StreamCQL提供了在分布式流处理平台上的类SQL查询能力。

    03 Analytical SQL

      SQL语言不仅用于数据库的查询分析和ETL,还被扩展到更多数据分析的场合。多维分析的例子如Apache Kylin,基于HBase存储,通过采用预计算和分层立方体的方法实现了多维数据的统计和快速查询,其中统计的语言采用SQL,如图1所示。2018年,谷歌在BigQuery服务上推出BigQueryML,作为BigQuery功能的一部分,BigQueryML可以让数据科学家和分析师在大型的结构化或半结构化的数据集上构建和部署机器学习模型。另外一个例子是SQLFlow,SQLFlow的目标是将SQL引擎和AI引擎连接起来,仅需使用几行SQL代码即能描述整个应用或者产品背后的数据流和AI构造。其中所涉及的SQL引擎包括MySQL、Oracle、Hive、SparkSQL、Flink等,AI引擎包括TensorFlow、PyTorch等深度学习系统,也包括XGBoost、LibLinear、LibSVM等传统机器学习系统。

    图1 Apache Kylin提供SQL的多维统计接口

      可以看出,在过去50年的数据管理与分析技术的发展历史中,SQL及关系模型扮演着极其重要的角色。图2从模型、语言、关键技术、工具、场景、应用等层次展示出以SQL为中心的技术栈,信息系统一旦采用以SQL为中心的技术栈,就意味着具有更大的技术开放性、稳定性和可扩展性。

    图2 以SQL为中心的技术栈

    2 新型大数据技术栈的需求

      大数据技术和应用的迅猛发展,给占据主导地位的SQL技术栈带来了新的挑战,这些挑战主要包括:多元异构数据的融合管理、大规模关系网络的管理与复杂的网络分析需求。

    01 多元异构数据的融合管理需求

      大数据具备显著的4V特征,即:体量大(Volume)、多元性(Variety)、速度快(Velocity)、价值大(Value)。从多元性来看,除了结构化数据之外,大数据更多地体现为海量的文本、图像、音频、视频等类型的非结构化数据。有研究指出,在所有的数据中,非结构化数据占据到高达85%的比重。传统的RDBMS不能高效地管理多元异构数据,这些冲突主要体现在以下方面。

      1、RDBMS“先建模(Schema First)”的模式带来建模的不灵活性。

      2、传统架构很难支持水平扩展。

      3、SQL引擎所秉承的ACID(Atomicity, Consistency, Isolation, Durability)原则,成为实现轻型数据管理的沉重包袱。

      基于此,NoSQL的概念被提出。NoSQL数据库自发明之日起,就具备利于大数据存储的特性:无模式(schema-less)、可水平扩展的架构、更为宽松的BASE(Basically Available,Soft-state,Eventual Consistency)原则。通常认为NoSQL数据库包括4种类型,即KV数据库、列式数据库、文档数据库和图数据库。

      SQL/NoSQL/NewSQL技术虽然实现了对多元数据的管理,但数据的孤岛化问题仍然存在,各类数据管理系统之间还是存在明显的边界。基于此,业界推出了诸如Multi-model Database、Polystore等混合式数据管理系统架构,以及Lambda、Kappa等混搭式大数据架构,然而,这种混搭式的技术架构又大大增加了开发和运维的成本及难度。如图3所示,作为Polystore的一个典型实现系统,BigDAWG将数据划分为关系型数据区、数组区以及文本区,底层分别基于PostgreSQL、SciDB、Accumulo作为存储,这种架构要求开发人员掌握不同系统之间的Cast语法,并要求运维人员熟练掌握三类数据库系统,难度较大。

    图3 BigDAWG系统架构

    02 大规模关系网络的管理需求

      “关系”以及实体关系构成的“网络(Network)”广泛存在现实世界和信息世界,常见的网络包括社交网络、通信网络、Internet、道路网络、生物网络、学术资源网络等。以社交网络为例,随着移动互联网时代用户生成内容(UGC)的不断发展,用户可以随时随地在网络上分享内容,由此产生了海量的用户数据。社交网络中需要表达的要素除了人物、内容、事件之外,更多的是它们之间的复杂关系,如人物与人物之间的“关注”关系,人物与内容之间的“点赞”“评论” “转发”等各种关系。以Facebook和Twitter为例,庞大的社交网络中存在数以亿计的用户及用户间好友(关注)关系的数据。2006年以来,知识图谱应用的迅猛发展,更刺激了对大规模关系网络的管理需求。知识图谱本质上是一种叫作语义网络(Semantic Network)的知识库,即具有有向图结构的一个知识库。以学术领域为例,Springer Nature于2017年推出SciGraph关联开放数据平台,发布了科研资助机构、科研项目及拨款、会议、科研单位和出版物的信息,该平台计划累计15~20亿的三元组。另外,微软和清华大学推出了OAG,旨在整合全球学术知识图谱、公开共享学术图谱数据,并提供相关学术搜索和数据挖掘服务。截至2019年1月,OAG 2.0版本包含约7亿实体数据和约20亿实体之间的链接关系。表1列举出一些由SNAP和BigDND收录的关系网络数据集,可以看出,在大规模的网络或知识图谱中,“关系(边)”不仅成为很重要的要素,而且还会比“实体(顶点)”占据更大的比例。

    表1 关系网络数据集的数据规模示例

    03 复杂的网络分析需求

      在社交网络、通信网络、计算机网络、道路网络等场景,也存在较大的数据挖掘分析的需求,包括节点分析、结构分析、路径查找、网络演化分析等。

      以AMiner学术知识图谱为例,AMiner系统收集了7 900多万条论文信息、3 900多万条研究者信息,1.3亿论文引用关系、780万个知识实体以及3万多个学术会议/期刊的信息;AMiner同时提供了领域知识发展趋势可视化分析、人才专家排名与关系分析、引文溯源等功能。这些功能的实现建立在复杂网络分析的基础上,如根据学者之间的合作关系进行学者社区发现、根据论文引用网络对学术成果进行分类、根据引文网络结构对论文进行重要性排序等。

    利用网络生物学的方法对高通量基因表达数据进行分析和挖掘已经成为生物信息学重要的研究方向。目前人们已经对各种类型的分子生物网络进行了广泛的研究,如基因共表达网络(Gene Co-expression Network)、基因调控网络(Gene Regulatory Network)、蛋白质相互作用网络(Protein-protein Interaction Network)、代谢网络(Metabolic Network)等。针对科研人员这一类网络需要提供高效的在线分析功能,如针对全球开放生物资源、文献、序列和疾病等万种数据源100亿级关联数据的知识发现,需在秒级时间内实现6步以上关联挖掘。

      在金融领域,根据资金流动情况和账户、人员信息等信息进行金融风险预测,其相关技术在反洗钱、反欺诈应用中有较大需求。在流行病防控领域有根据人员社会关系,结合路径挖掘、节点重要度计算等技术追溯和预测疾病传播链,及早介入和切断传播路径的需求。在城市运营特别是轨道交通的规划与治理中,有大量站点和路径设计、人流量分析预测、轨道交通脆弱性分析等方面的需求。

      从这些场景中,可以看出,“关系”作为一种重要类型的数据,广泛地存在于各种场景中,甚至比原始的“表记录”数据具备更大的规模,上层应用需要针对庞大的关系网络进行关系查询、计算和挖掘。然而,传统的关系模型采用分表的形式组织数据,缺少对关系的原生支持,当涉及表间数据的关系查询时,计算效率会大幅度下降,这种劣势在大规模数据下表现得尤为明显。

    3以图为中心的新型大数据技术栈

      面对多元异构数据的融合管理、大规模关系网络的管理与复杂的网络分析需求,需要采取新的技术手段并构建新型的技术栈,这种技术栈应该具有如下特征。

      1、对信息世界的数据具有高度的表达能力,能很好地涵盖或映射到现有的SQL模型和NoSQL模型,如关系模型、KV模型、列式模型、文档模型、图模型。

      2、具备灵活的关系管理和关系计算分析的能力。

      3、要自成一体,软件栈自下而上保持简单自洽,而不是多种方法的混搭。

    01 图数据模型的优势

      图数据的基本类型是G=(V,E),V是图G的顶点集合,E是图G的边集合。图的边可以有方向,即当一张图是有向图时,对于任何的顶点u,v∈V,(u,v)≠(v,u)。

      与关系模型相比,图数据模型具备如下优势:

      1、表达直观:图数据模型首先将世界里的数据表达成顶点和关系,其次再定义顶点和关系具有它们的属性。

      2、结构灵活:图的schema不需要预先定义,可以动态调整图的结构,以及增减顶点、边的属性。

      3、原生支持关系:图数据模式天然地适合处理事物之间的关系。

      对于具有M个主键的A表和N个主键的B表,关系模型可借助中间关系表和Join操作来处理两表主键之间的关联关系,中间关系表的搜索空间是两表主键的笛卡尔积,即O(mn),对B表主键做了索引后,搜索空间可以优化为O(mlog(n));而在图数据模型里,主键(顶点)之间的关联关系被直接存储为边。实现这样的查询往往只需要O(m)的搜索空间:通过一个顶点,获取到它的边,是一个O(1)的操作。

      图模型具有超强的表达能力,可以将关系模型、KV模型、列式模型和文档模型通过一些映射方法,映射成图模型,映射如表2所示。

    表2 图数据模型对其他模型的表达能力

    02 图技术发展现状

      近十几年来,图模型及其关键技术,包括图数据库、图计算、图分析挖掘、图可视化等,得到了充分发展。

      近年来,数据库管理系统的发展趋势如图4所示。可以看出,图数据库的发展势头迅猛。比较主流的图数据库系统有Neo4j、OrientDB、JanusGraph、Cosmos DB、InfiniteGraph等。为了应对大规模数据的管理,通常会采用分布式架构、副本等机制实现存储和查询。例如,JanusGraph采用“分布式查询引擎+分布式存储引擎”的组合架构,其数据存储支持Cassandra、HBase、BerkeleyDB,索引存储支持Elasticsearch、Solr、Lucene。

    图4 图数据库发展趋势

      很多图数据库系统都具备实时数据的管理能力,如TigerGraph在单个项目上实现了千亿节点、万亿边的数据规模下,支持每天20亿次的数据查询和更新;与传统的静态图不同,时序图的结构会随时间序列发生改变,时序图相关的代表有TGraph、DeltaGraph等。

      分布式图处理系统可以按其基础模型分为两类,一是基于整体同步并行模型(Bulk Synchronous Parallel, BSP)的专用图数据处理系统,二是基于通用分布式系统(如MapReduce和Spark)的图处理系统。前者如谷歌的Pregel分布式图处理框架,后者如Spark的GraphX系统。它们均采用图的分布式或并行处理方法,即将图拆分成很多的子图,然后分别对这些子图进行计算,计算的时候可以分别迭代进行分阶段的计算,即对图进行并行计算。近年来图计算框架的发展历史如图5所示。

    图5 图计算框架发展历史

      典型的图算法有PageRank、Label Propagation、Random Walk等。典型的图挖掘任务有社区网络分析(社区发现/图分割、连通子图发现)、图分类、图聚类、频繁子图模式发现等。为了使用深度学习方法有效实现图挖掘,往往需要借助于图嵌入(Graph Embedding)和图神经网络(Graph Neural Network,GNN)技术。图嵌入技术包括DeepWalk、Text-Associated DeepWalk (TADW)、Discriminative Matrix Factorization(DMF)等;图神经网络包括图卷积神经网络(Graph Convolutional Network,GCN)和图注意力网络等。

      图比其他可视化展示形式更适合探索数据的内部关系,图的可视化分析包括图数据的基本统计、检索与映射、关系发现、结果展示等任务,典型的图可视化工具包括Gephi、Bloom、Pajek、WebVOWL、PGV(Paged Graph Visualization)等。在大规模图数据的场景下,通常采取层次化摘要、步进式交互探索等方式改善显示复杂等问题。RelFinder是基于RDF数据的交互式关系发现应用,通过SPARQL找到用户选择的元素在数据集中的映射对象,在得到数据集中的对象后,选定实体间的关系,将找到的关系展示给用户,用户可以控制搜索所得数据的可视化效果。

    03 图技术应用现状

      图模型及其技术在企业信息服务、互联网金融、生物医疗、公共安全等领域都有着深入的应用。

      在企业信息服务领域,图技术得到广泛的应用。例如,“天眼查”基于政府公开数据,包括工商数据、法律诉讼、新闻动态、企业年报等全量信息,在线提供全国包含2亿家社会实体、90余种数据维度的信息, 涵盖企业名称、机构类型、地域、经营状况、知识产权等信息,并提供了查人、查关系、查风险、查“老赖”、天眼地图、高级搜索等功能。

      金融行业拥有大量的专业数据,如公司、组织机构、个人的存贷款情况,以及征信和投资数据、交易记录、消费概况,可以通过图数据模型将所有实体的属性及关系全面呈现出来。蚂蚁金服研发的实时金融级分布式图数据库GeaBase已广泛应用于其生态体系中。当用户的金融操作出现异常状况时,可以通过个人特征的监控,操作的不一致性检测,异常状况的分析,发现隐藏其中的潜在风险,进行风险控制及反欺诈检测。在生物医疗领域,Chem2Bio2RDF Dashboard系统集成了化学、生物、药物领域的关联数据,用来发现两个实体或概念之间的路径;BioNav系统能够基于本体技术有效发现药物和疾病之间的潜在的关系。

      Krebs将图技术应用到犯罪分析,介绍了如何使用互联网上新闻源提供的公开数据来绘制隐蔽网络,并针对2001年9月11日的恐怖袭击事件进行研究。通过公开数据,以19个死亡的劫机者为中心,根据嫌疑人的联系人名单绘制形成美国9·11事件的恐怖分子网络,如图6所示。通过社会网络分析方法发掘网络图中更深层次的内在联系,相关的数据分析可以揭示出这个网络最核心的联系人、与其他成员联系最广泛的人、为两个彼此并不直接联系的成员提供联系纽带的人等,从而快速找出恐怖活动的幕后策划者。

    图6 恐怖分子网络

      此外,图技术还应用到城市人口流动分析、政治意识形态检测、公共健康等方面。

    04 以图为中心的新型大数据技术栈

      综上,图数据模型具备表达直观、结构灵活、关系管理高效等多种优势,图技术的发展日趋成熟完善,图技术的应用场景也越来越丰富。基于此,本文提出以图(而不是以SQL)为中心构建新型大数据技术栈的思路。该技术栈具备如下特征。

      1、满足软件栈的层次关系:即上层调用下层的服务。

      2、面向大数据场景:区分于传统的单机、关系型数据管理场景,充分考虑到大数据时代的数据湖、数据中台等需求,同时有效兼容Hadoop/Spark生态。

      3、以图为中心(Graph Centric):提倡采用“一张图”而不是“一堆表”来构建数据基础设施,同时提供系列基于图的数据管理、处理、分析方法。

      完整的技术栈包括模型、语言、关键技术、工具、场景、应用等几个层次,设计如图7。

    图7 以图为中心的新型大数据技术栈

      与传统的SQL技术栈相比,新型技术栈的特色组件包括:基于图模型的数据湖、图数据仓库、gETL、图数据中台。

      1、基于图模型的数据湖

      数据湖概念的提出,旨在为企业提供一个完整的存储库,用以存储原始的或初加工的数据,包括结构化数据(数据库表等)、半结构化数据(CSV、log、XML、JSON)和非结构化数据(邮件、文档、二进制图像、音频、视频等)。

      由于数据湖的多源异构特征,目前针对数据湖的管理往往采用一些混搭的架构完成,如采用分布式文件系统实现非结构化文档的存储、采用HDFS存储结构化和半结构化的数据。华为云基于“云存储+CarbonData”构建的新一代数据湖,实现了实时数据接入、DB数据同步、高性能查询和分析等能力,使云化数据湖可以真正成为企业数据架构的基础。AWS于2019年推出数据湖管理工具AWS Lake Formation,对数据进行撷取、清理、分类、转换以及保护的工作,方便后续分析或是机器学习使用。Databricks则将数据湖和数据仓库结合起来,形成LakeHouse方案,并推出Delta Lake。Delta Lake采用Bronze表、Silver表和Gold表三类表分别存储摄取数据、转换数据以及特征工程数据,并维护它们之间的流转,如图8所示。

    图8 数据湖管理系统Delta Lake

      本技术栈提出基于“一张图”而不是“一堆表”构建数据湖的思路,与传统方法相比,图数据模型可以管理跨域数据、结构化与非结构化数据之间的关系,同时还可以管理分级数据之间的血缘关系。

      2、图数据仓库

      与数据湖的用途不一样,数据仓库主要处理历史的、结构化的数据。传统的数据仓库很难实现跨数据集或数据域的处理,同时提供的分析服务以多维统计分析为主,包括钻取(Roll-up和Drill-down)、切片(Slice)、切块(Dice)以及旋转(Pivot)等多维操作。

      本技术栈提出图数据仓库的概念,提倡基于图模型和图技术构建数据仓库。与传统的数据仓库相比,在多维统计分析服务之外,图数据仓库更适合对图的要素进行统计,如实体统计、关系统计、社区发现、聚类等。图数据的统计同样具有不同的粒度,可以定义上卷(Roll-up)和下钻(Drill-down)等操作。

      ETL在数据仓库的构建过程中扮演着重要的角色,为了与传统的SQL ETL区分开,本技术栈提出gETL。gETL指针对图数据的抽取、转换和载入工作,包括从原始的结构化、非结构化文本中进行实体抽取、关系抽取和预测、实体消歧等。以抽取任务为例,gETL可以将CSV、JSON、XML、SQL等格式的多源数据,转换成“顶点-边”的图数据。

      3、图数据中台

      数据中台的概念最早由阿里巴巴提出,旨在通过企业内外部多源异构的数据采集、治理、建模、分析和应用,实现One Data(汇聚企业各种数据)、One ID(数据遵循相同的标准和统一标识)、One Service(提供统一的数据服务)的目标。

      在数据中台中,基于图模型及图技术可以更好地实现One Linked Data(汇聚并关联企业各种数据)、One Traceable ID(数据遵循相同标准和统一可追溯的标识)和One Graph Service(提供统一的图服务)。图可以表达数据之间的关联以及ETL过程中的数据血缘,从而实现数据资产中内容的关联化以及ID的可溯源。如图9所示,可以针对应用的需求定制“图谱服务”,如针对某类实体的画像、针对某两类实体的合作网络、跨实体间的路径发现等。图计算后台完成这些复杂任务的调度与执行,前端的图数据应用通过服务接口的调用,即可展示出相应的界面。

    图9 图数据中台

      考虑到图在语义网、开放数据、知识图谱等知识应用方面具有较大的价值。在模型层引入资源描述框架(RDF)模型,在工具层引入RDF数据库,数据中台可以基于RDF Graph构建富含语义的知识图谱。

      综上所述,与以SQL为中心的技术栈进行对比, 以图为中心的技术栈在数据库、数据湖、数据仓库、ETL、大数据中台的构建方面具备一些特色和优势,如表3所示。

    表3 以SQL、图为中心的技术栈之间的比较

     

    4 结 语

      自20世纪70年代起,关系模型及SQL语言统治数据管理与分析的世界已长达50年之久,从数据库到数据仓库,即便在大数据时代,它们仍然以SQL on Hadoop、SQL over NoSQL、Analytical SQL等多种形态展示出强大的生命力。本文在新的技术挑战和应用场景下,结合关系模型存在的不足和图数据模型的突出优势,提出基于图模型的数据湖、图数据仓库、gETL、图数据中台等思路,并继而提出以图为中心的新型大数据技术栈。

      与传统的SQL技术栈相比,以图为中心的大数据技术栈具备模型表达能力强、关系网络分析挖掘能力强等优势,可以有效地实现多元异构数据的融合管理、大规模关系网络的管理与复杂的网络分析。然而,作为一种新型的全套方案,以图为中心的技术栈无论是在图数据仓库、gETL、图数据中台等技术的成熟度方面,还是在完整的应用生态方面,与SQL技术栈还存在较大的差距。但随着技术与应用的不断深入,这些不足会逐渐得以克服,以图为中心的新型大数据技术栈终将在企业信息服务、互联网金融、生物医疗、公共安全等应用场景发挥更大的价值。

    注:本文为部分摘抄,原文地址:以图为中心的新型大数据技术栈研究 *

    参考文献:
    [1] E, F. Codd E F. Derivability, redundancy and consistency of relations stored in large data banks[J]. ACM SIGMOD Record, 2009, 38(1): 17-36..

    [2] Codd E F, Codd S B, Salley C T, et al. Providing OLAP (on-line analytical processing) to user-analysts: An IT mandate[J]. 1993.

    [3] the Kettle open source data integration project[EB/OL]. Home

    [4] Talend - A Cloud Data Integration Leader (modern ETL) [EB/OL]. Talend - A Cloud Data Integration Leader (modern ETL)

    [5] Enterprise Cloud Data Management | Informatica [EB/OL]. https://www.informatica.com/

    [6] 离线数据同步工具/平台DataX[EB/OL]. https://github.com/alibaba/DataX

    [7] Oracle GoldenGate-a comprehensive software package for real-time data integration and replication in heterogeneous IT environments. [EB/OL]. Oracle GoldenGate

    [8] Thusoo A, Sarma J S, Jain N, et al. Hive: a warehousing solution over a map-reduce framework[J]. Proceedings of the VLDB Endowment, 2009, 2(2): 1626-1629.

    [9] Kornacker M, Behm A, Bittorf V, et al. Impala: A Modern, Open-Source SQL Engine for Hadoop[C]//Cidr. 2015, 1: 9.

    [10] Akhtar S, Magham R. Pro Apache Phoenix: An SQL Driver for HBase[M]. Apress, 2016.

    [11] SQL interface for solr cloud[EB/OL]. bluejoe2008/solr-sql

    [12] Begoli E, Camacho-Rodríguez J, Hyde J, et al. Apache calcite: A foundational framework for optimized query processing over heterogeneous data sources[C]//Proceedings of the 2018 International Conference on Management of Data. 2018: 221-230.

    [13] Arasu A, Babu S, Widom J. The CQL continuous query language: semantic foundations and query execution[J]. The VLDB Journal, 2006, 15(2): 121-142.

    [14] Cai L, Chen J, Chen J, et al. Fusion insight librA: huawei's enterprise cloud data analytics platform[J]. Proceedings of the VLDB Endowment, 2018, 11(12): 1822-1834.

    [15] Apache Kylin | Analytical Data Warehouse for Big Data [EB/OL]. Apache Kylin | 大数据分析型数据仓库

    [16] Fernandes S, Bernardino J. What is bigquery?[C]//Proceedings of the 19th International Database Engineering & Applications Symposium. 2015: 202-203.

    [17] BigQuery ML[EB/OL]. https://cloud.google.com/bigquery-ml/docs/bigqueryml-intro

    [18] Wang Y, Yang Y, Zhu W, et al. SQLFlow: A Bridge between SQL and Machine Learning[J]. arXiv preprint arXiv:2001.06846, 2020.

    [19] Katal A, Wazid M, Goudar R H. Big data: issues, challenges, tools and good practices[C]//2013 Sixth international conference on contemporary computing (IC3). IEEE, 2013: 404-409.

    [20] Gaag A, Kohn A, Lindemann U. Function-based solution retrieval and semantic search in mechanical engineering[C]//DS 58-8: Proceedings of ICED 09, the 17th International Conference on Engineering Design, Vol. 8, Design Information and Knowledge, Palo Alto, CA, USA, 24.-27.08. 2009. 2009: 147-158.

    [21] Cattell R. Scalable SQL and NoSQL data stores[J]. ACM SIGMOD Record, 2010, 39(4):12-27.

    [22] Wang G, Tang J. The NoSQL principles and basic application of cassandra model[C]//Proc of InComputer Science & Service System (CSSS), 2012:1332-1335.

    [23] Eric B. CAP twelve years later: How the "rules" have changed[J]. Computer, 2012, 45(2): 23-29.

    [24] Lu J, Holubová I. Multi-model Data Management: What's New and What's Next?[C]//EDBT. 2017, 17: 602-605.

    [25] Kiran M, Murphy P, Monga I, et al. Lambda architecture for cost-effective batch and speed big data processing[C]//2015 IEEE International Conference on Big Data (Big Data). IEEE, 2015: 2785-2792.

    [26] Questioning the Lamba Architecture [EB/OL]. http://radar.oreilly.com/2014/07/questioning-the-lambdaarchitecture.html.

    [27] Duggan J, Elmore A J, Stonebraker M, et al. The bigdawg polystore system[J]. ACM Sigmod Record, 2015, 44(2): 11-16.

    [28] Kwak H, Lee C, Park H, et al. What is Twitter, a social network or a news media?[C]//Proceedings of the 19th international conference on World wide web. 2010: 591-600..

    [29] Lars Backstrom, Paolo Boldi, Marco Rosa, Johan Ugander, and Sebastiano Vigna. Four degrees of separation. In ACM Web Science 2012: Conference Proceedings, pages 45−54. ACM Press, 2012. Best paper award.

    [30] 漆桂林,高桓,吴天星.知识图谱研究进展[J].情报工程,2017,3(01):4-25.

    [31] SN SciGraph-A Linked Open Data platform for the scholarly domain[EB/OL]. SciGraph | For Researchers | Springer Nature

    [32] Zhang F, Liu X, Tang J, et al. OAG: Toward linking large-scale heterogeneous entity graphs[C] Proceedings of the 25th ACM SIGKDD International Conference on Knowledge Discovery & Data Mining. 2019: 2585-2595

    [33] Stanford Large Network Dataset Collection. [EB/OL]. https://snap.stanford.edu/data/.

    [34] BigDND: Big Dynamic Network Data [EB/OL]. Dynamic Network Data

    [35] Tang J. AMiner: Toward understanding big scholar data[C] Proceedings of the ninth ACM international conference on web search and data mining. 2016: 467-467.

    [36] 汪涛,蒋庆华,彭佳杰,王亚东.基因共表达网络的构建及分析方法研究综述[J].智能计算机与应用,2014,4(06):47-50+53

    [37] 黎建辉,沈志宏,孟小峰. 科学大数据管理:概念、技术与系统. 计算机研究与发展[J]. 2017(2)

    [38] Liu Z, Chen C, Yang X, et al. Heterogeneous graph neural networks for malicious account detection[C] Proceedings of the 27th ACM International Conference on Information and Knowledge Management. 2018: 2077-2085.

    [39] Jin J G, Tang L C, Sun L, et al. Enhancing metro network resilience via localized integration with bus services[J]. Transportation Research, 2014, 63e(mar.):17-30.

    [40] Seriani S, Fernandez R. Planning guidelines for metro-bus interchanges by means of a pedestrian microsimulation model[J]. Transportation Planning & Technology, 2015, 38(5):569-583.

    [41] Huang Haixing,Song Jinghe,Lin Xuelian,et al.TGraph: A Temporal Graph Data Management System [C]?Proc of the 25th ACM Int on Conf on Information and Knowledge Management.New York:ACM,2016,2469-2472

    [42] Khurana U,Deshpande A.Eficient snapshot retrieval over historical graph data [C]?Proc of IEEE ICDE’13. Piscataway,NJ:IEEE,2013:997-1008.

    [43] DBMS popularity broken down by database model[EB/OL]. DB-Engines Ranking per database model category

    [44] Valiant L G. A bridging model for parallel computation[J]. Communications of the ACM, 1990, 33(8): 103-111.

    [45] Malewicz G, Austern MH, Bik AJ, Dehnert JC, Horn I, Leiser N, Czajkowski G.Pregel:A system for large-scale graph processing.In:Proc.of the 2010 ACM SIGMOD Int’l Conf.on Management of Data.ACM Press, 2010.135-146

    [46] 图计算框架回顾 [EB/OL]. 图计算框架回顾_wjlwangluo的博客-CSDN博客

    [47] Yan S, Xu D, Zhang B, et al. Graph embedding and extensions: A general framework for dimensionality reduction[J]. IEEE transactions on pattern analysis and machine intelligence, 2006, 29(1): 40-51.

    [48] Scarselli F, Gori M, Tsoi A C, et al. The graph neural network model[J]. IEEE Transactions on Neural Networks, 2008, 20(1): 61-80

    [49] Defferrard M, Bresson X, Vandergheynst P. Convolutional neural networks on graphs with fast localized spectral filtering. In: Proc. of the Advances in Neural Information Processing Systems (NIPS). 2016. 3844−3852.

    [50] Veličković P, Cucurull G, Casanova A, et al. Graph attention networks. In: Proc. of the Int’l Conf. on Learning Representations (ICLR). 2018.

    [51] Palmer S, Rock I. Rethinking Perceptual Organization: The Role of Uniform Connectedness[J]. Psychonomic Bulletin & Review, 1994, 1(1):29-55.

    [52] Lohmann S , Link V , Marbach E , et al. WebVOWL: Web-based Visualization of Ontologies.[J]. 2014.

    [53] L. Deligiannidis K K , A. Sheth ' D E . RDF data exploration and visualization[J]. 2007.

    [54] Heim P, Hellmann S, Lehmann J, et al. RelFinder: Revealing Relationships in RDF Knowledge Bases[C]// Proceedings of the 4th International Conference on Semantic and Digital Media Technologies. 2009: 182-187.

    [55] Fu Z, Wu Z, Li H, et al. GeaBase: a high-performance distributed graph database for industry-scale applications[J]. International Journal of High Performance Computing and Networking, 2019, 15(1-2): 12-21.

    [56] 田莉霞.知识图谱研究综述[J].软件,2020,41(04):67-71.

    [57] Dong X, Ding Y, Wang H, et al. Chem2Bio2RDF dashboard: Ranking semantic associations in systems chemical biology space[J]. Future of the Web in Collaboratice Science (FWCS), WWW, 2010.

    [58] María-Esther Vidal, Louiqa Raschid, Natalia Márquez, Jean Carlo Rivera and Edna Ruckhaus. BioNav: An Ontology-Based Framework to Discover Semantic Links in the Cloud of Linked Data. The Semantic Web: Research and Applications Lecture Notes in Computer Science, 2010(6089):441-445

    [59] Krebs V. Uncloaking terrorist networks[J]. First Monday, 2002, 7(4).

    [60] Zhuang C, Yuan N J, Song R, et al. Understanding people lifestyles: construction of urban movement knowledge graph from GPS trajectory[C]//Proceedings of the 26th International Joint Conference on Artificial Intelligence. AAAI Press, 2017: 3616-3623.

    [61] Chen W, Zhang X, Wang T, et al. Opinion-aware Knowledge Graph for Political Ideology Detection[C]//Proceedings of the 26th International Joint Conference on Artificial Intelligence. AAAI Press, 2017: 3647-3653.

    [62] Christakis N A, Fowler J H. The spread of obesity in a large social network over 32 years. New England Journal of Medicine, 2007,357 (4): 370-379

    [63] Fowler J H, Christakis N A. Dynamic spread of happiness in a large social network: Longitudinal analysis over 20 years in the framingham heart study. British Medical Journal, 2008,337: 1-9

    [64] Khine P P, Wang Z S. Data lake: a new ideology in big data era[C]//ITM Web of Conferences. EDP Sciences, 2018, 17: 03025.

    [65] Reliable Data Lakes at Scale. [EB/OL]. Delta Lake - Reliable Data Lakes at Scale

    [66] C. Chen, X. Yan, F. Zhu, J. Han and P. S. Yu, "Graph OLAP: Towards Online Analytical Processing on Graphs," 2008 Eighth IEEE International Conference on Data Mining, Pisa, 2008, pp. 103-112, doi: 10.1109/ICDM.2008.30.

    [67] 车品觉.建设数据中台,赋能创新改革[J].新经济导刊,2018(10):22-24.

    [68] Wu L, Sun Q, Desmeth P, et al. World Data Centre for Microorganisms: An Information Infrastructure to Explore and Utilize Preserved Microbial Strains Worldwide[J]. Nucleic Acids Research, 2017, 45(D1): D611-D618.

    [69] 沈志宏,姚畅,侯艳飞,吴林寰,李跃鹏.关联大数据管理技术:挑战、对策与实践[J].数据分析与知识发现,2018,2(01):9-20.

     

    引用格式:

    沈志宏,赵子豪,王海波. 以图为中心的新型大数据技术栈研究 *[J]. 数据分析与知识发现, 2020, 4(7): 50-65.

    Shen Zhihong,Zhao Zihao,Wang Haibo. Big Data Technology Stack Shifting: From SQL Centric to Graph Centric. Data Analysis and Knowledge Discovery, 2020, 4(7): 50-65.

    展开全文
  • 术语-技术栈技术栈

    2019-09-26 05:59:26
    ylbtech-术语-IT术语-技术栈技术栈 1.返回顶部 1、 IT术语,某项工作或某个职位需要掌握的一系列技能组合的统称。technology stack 技术栈一般来说是指将N种技术互相组合在一起(N>...
    ylbtech-术语-IT术语-技术栈:技术栈

     

    1.返回顶部
    1、
    IT术语,某项工作或某个职位需要掌握的一系列技能组合的统称technology stack 技术栈一般来说是指将N种技术互相组合在一起(N>1),作为一个有机的整体来实现某种目的。也可以指掌握这些技术以及配合使用的经验。
     
    中文名:技术栈
    外文名:technology stack
    性    质:IT术语
    现在流行一个说法,是Full Stack (全栈),简单地说是万金油,说得具体一点就是前端、后台、存储、架构等都懂
    这里的栈就是英文的stack的意思(一些东西堆在一起
      掌握不同种类技术更有概括性的一种说法。
    2、
    2.返回顶部
     
    3.返回顶部
     
    4.返回顶部
     
    5.返回顶部
    1、
    2、
     
    6.返回顶部
     
    warn 作者:ylbtech
    出处:http://ylbtech.cnblogs.com/
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

    转载于:https://www.cnblogs.com/storebook/p/11511800.html

    展开全文
  • CICD技术栈

    2020-04-21 16:52:37
    CICD技术栈
  • 2021技术栈

    2020-10-11 13:16:40
    2023技术栈技术栈 技术栈 python基础高级 python后端框架django,flask 前端基础高级html,css,js 前端框架bootstrap,vue python爬虫逆向 python数据分析 web调优
  • IT项目管理技术栈.xmindIT项目管理技术栈.xmindIT项目管理技术栈.xmindIT项目管理技术栈.xmindIT项目管理技术栈.xmindIT项目管理技术栈.xmindIT项目管理技术栈.xmindIT项目管理技术栈.xmindIT项目管理技术栈.xmindIT...
  • 物联网开发技术栈

    万次阅读 多人点赞 2018-04-12 10:44:17
    作为互联网技术的进化,物联网开发并非孤立的技术栈,而是向上承接了互联网,向下统领了嵌入式硬件开发的一个承上启下的全栈开发技术。 虽然我们并不能预测物联网技术栈最终的样子:统一的开发语言是 JavaScript ...
  • Google 技术栈.xmind

    2019-11-20 14:57:28
    大神整理、Google技术栈,清晰脑图, Google 技术栈.xmind、、、请参考
  • Devops技术栈

    千次阅读 2018-01-31 08:42:33
    Devops技术栈
  • 肖邦技术栈

    万次阅读 2020-05-01 11:15:37
  • 01-技术栈

    2017-10-24 13:48:15
    前端技术栈 安全技术栈 大数据技术栈 云计算技术栈 数据库技术栈微服务技术栈
  • Vue前端技术栈

    2019-10-31 17:16:28
    TIP 前端技术栈 ES6、vue、vuex、vue-router、vue-cli、axios、element-ui 后端技术栈SpringBoot、MyBatis、Spring Security、Jwt
  • JAVA程序员技术栈、业务栈、工具栈

    千次阅读 2017-11-19 13:50:57
    1、技术栈 2、业务栈 3、工具栈
  • 如何为移动开发选择技术栈

    万次阅读 2019-07-21 18:08:01
    如何选择移动应用开发的技术栈 选择合适的技术栈是移动开发领域最关键的决策之一。你选择的技术栈将为你开发的移动应用提供基本的功能、可拓展和维护性。选择技术栈时应该注意项目的类型、预期投入市场的时间和创意...
  • Spring Boot 技术栈.xmind

    2019-11-26 23:40:20
    Spring Boot 技术栈.xmind,这份文档讲述了Springboot的技术栈,是以思维导图的形式描述的
  • JAVA个人发展技术栈

    2017-03-13 15:57:20
    JAVA个人发展技术栈
  • 大数据技术栈

    千次阅读 2018-09-02 17:36:28
    大数据技术栈全貌 下面自底向上介绍各个层的主要项目。 1 采集层和传输层 Sqoop 在hadoop和关系型数据库之间转换数据。 Flume Flume是一个分布式的高可用的数据收集、聚集和移动的工具。通常用于从...
  • Web前端技术栈(送VUE)

    千人学习 2019-08-06 11:56:48
    本课程讲解了VUE技术栈中的各种技术,可以让大家用最短的时间学习最实用的VUE技术栈。 此外,为了完整的掌握VUE课程,本课程赠送了独立的VUE课程。 通过本课程的学习,大家可以学习到VUE技术栈中的各种技术,...
  • 微服务技术栈

    2020-02-05 12:37:38
    什么是微服务技术栈 微服务技术栈:多种技术的集合体。什么意思呢? 我们先看这个问题“我们讨论分布式的微服务架构的话,它有那些维度?” 回答这个问题时候,我们再绕一个圈子,假设现在90后、95后是E时代下的数字...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 27,625
精华内容 11,050
关键字:

技术栈