ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

数据仓库、数据湖、数据集市、和数据中台的故事

2020-04-25 15:41:01  阅读:204  来源: 互联网

标签:分析 存储 数据仓库 结构化 中台 数据


数据仓库、数据湖、数据集市、和数据中台的故事

如今,随着诸如互联网以及物联网等技术的不断发展,越来越多的数据被生产出来-据统计,每天大约有超过2.5亿亿字节的各种各样数据产生。这些数据需要被存储起来并且能够被方便的分析和利用。

随着大数据技术的不断更新和迭代,数据管理工具得到了飞速的发展,相关概念如雨后春笋一般应运而生,如从最初决策支持系统(DSS)到商业智能(BI)、数据仓库、数据湖、数据中台等,这些概念特别容易混淆,本文对这些名词术语及内涵进行系统的解析,便于读者对数据平台相关的概念有全面的认识。

目录

数据仓库、数据湖、数据集市、和数据中台的故事

一、数据仓库

1.1、数据仓库基本定义

1.2、数据仓库系统作用和定位

1.3、数据仓库能提供什么

1.4、数据仓库系统构成

二、数据湖

2.1、维基百科对数据湖的定义

2.2、数据湖能给企业带来多种能力

三、数据中台

3.1、产生的背景

3.2、数据中台建设是数字化转型的支撑

3.3、数据中台定义及处理架构

3.4、数据中台带来价值

四、数据湖(Data Lake)和数据仓库(Data Warehouses)理解误区

误解一:数据仓库和数据湖二者在架构上只能二选一

误解二:相对于数据湖,数据仓库更有名更受欢迎

误解三:数据仓库易于使用,而数据湖却很复杂

五、数据仓库、数据集市与数据湖的对比

5.1数据湖保留全部的数据

5.2.数据湖支持所有数据类型

5.3.数据库支持所有用户使用

5.4.数据湖很容易适应变化

5.5.数据湖支持快速洞察数据

5.6 数据仓库vs.数据集市

5.7 数据仓库vs.ODS

5.8 关系型数据库vs.数据仓库和数据湖


 

一、数据仓库

数据仓库平台逐步从BI报表为主到分析为主、到预测为主、再到操作智能为目标。

 

从过去报表发生了什么--->分析为什么过去会发生---->将来会发生什么---->什么正在发生----->让正确的事情发生

 

商务智能(BI,Business Intelligence)**是一种以提供决策分析性的运营数据为目的而建立的信息系统。是属于在线分析处理:On Line Analytical Processing(OLAP),将预先计算完成的汇总数据,储存于魔方数据库(Cube) 之中,针对复杂的分析查询,提供快速的响应。在前10年,BI报表项目比较多,是数据仓库项目的前期预热项目(主要分析为主的阶段,是数据仓库的初级阶段),制作一些可视化报表展现给管理者。

  • 它利用信息科技,将分散于企业内、外部各种数据加以整合并转换成知识,并依据某些特定的主题需求,进行决策分析和运算;

  • 用户则通过报表、图表、多维度分析的方式,寻找解决业务问题所需要的方案;

  • 这些结果将呈报给决策者,以支持策略性的决策和定义组织绩效,或者融入智能知识库自动向客户推送。

1.1、数据仓库基本定义

数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化的(Time Variant)数据集合,用于支持管理决策和信息的全局共享。其主要功能是将组织透过资讯系统之联机事务处理(OLTP)经年累月所累积的大量资料,透过数据仓库理论所特有的资料储存架构,作一有系统的分析整理,以利各种分析方法如联机分析处理(OLAP)、数据挖掘(Data Mining)之进行,并进而支持如决策支持系统(DSS)、主管资讯系统(EIS)之创建,帮助决策者能快速有效的自大量资料中,分析出有价值的资讯,以利决策拟定及快速回应外在环境变动,帮助建构商业智能(BI)。[1]:引自全球数据仓库之父 W.H.Inmon。

  • 所谓主题:是指用户使用数据仓库进行决策时所关心的重点方面,如:收入、客户、销售渠道等;所谓面向主题,是指数据仓库内的信息是按主题进行组织的,而不是像业务支撑系统那样是按照业务功能进行组织的。

  • 所谓集成:是指数据仓库中的信息不是从各个业务系统中简单抽取出来的,而是经过一系列加工、整理和汇总的过程,因此数据仓库中的信息是关于整个企业的一致的全局信息。

  • 所谓随时间变化:是指数据仓库内的信息并不只是反映企业当前的状态,而是记录了从过去某一时点到当前各个阶段的信息。通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。

 

1.2、数据仓库系统作用和定位

数据仓库系统的作用能实现跨业务条线、跨系统的数据整合,为管理分析和业务决策提供统一的数据支持。数据仓库能够从根本上帮助你把公司的运营数据转化成为高价值的可以获取的信息(或知识),并且在恰当的时候通过恰当的方式把恰当的信息传递给恰当的人。

 

图3 数据仓库的作用

  • 是面向企业中、高级管理进行业务分析和绩效考核的数据整合、分析和展现的工具;

  • 是主要用于历史性、综合性和深层次数据分析

  • 数据来源是ERP(例:SAP)系统或其他业务系统;

  • 能够提供灵活、直观、简洁和易于操作的多维查询分析;

  • 不是日常交易操作系统,不能直接产生交易数据。

数据仓库针对实时数据处理,非结构化数据处理能力较弱,以及在业务在预警预测方面应用相对有限。

1.3、数据仓库能提供什么

图4 数据仓库提供价值

1.4、数据仓库系统构成

数据仓库系统除了包含分析产品本身之外,还包含数据集成、数据存储、数据计算、门户展现、平台管理等其它一系列的产品。图5 数据仓库产品构成图6 数据仓库产品构成

 

 

二、数据湖

数据湖(Data Lake)是Pentaho的CTO James Dixon提出来的(Pentaho作为一家BI公司在理念上是挺先进的),是一种数据存储理念——即在系统或存储库中以自然格式存储数据的方法。

Pentaho首席技术官James Dixon创造了“数据湖”一词。它把数据集市描述成一瓶水(清洗过的,包装过的和结构化易于去使用的)。数据湖更像是在自然状态下的水。数据流从源系统流向这个湖。用户可以在数据湖里校验,取样或完全的使用数据。

这个也是一个不精确的定义。数据还有以下特点:

  • 从源系统导入所有的数据,没有数据流失。

  • 数据存储时没有经过转换或只是简单的处理。

  • 数据转换和定义schema 用于满足分析需求。

 

2.1、维基百科对数据湖的定义

数据湖(Data Lake)是一个存储企业的各种各样原始数据的大型仓库,其中的数据可供存取、处理、分析及传输。数据湖是以其自然格式存储的数据的系统或存储库,通常是对象blob或文件。数据湖通常是企业所有数据的单一存储,包括源系统数据的原始副本,以及用于报告、可视化、分析和机器学习等任务的转换数据。数据湖可以包括来自关系数据库(行和列)的结构化数据,半结构化数据(CSV,日志,XML,JSON),非结构化数据(电子邮件,文档,PDF)和二进制数据(图像,音频,视频)。来源:维基百科。

目前,Hadoop是最常用的部署数据湖的技术,所以很多人会觉得数据湖就是Hadoop集群。数据湖是一个概念,而Hadoop是用于实现这个概念的技术。

图7 数据湖的处理架构

图8 数据湖示意图

2.2、数据湖能给企业带来多种能力

数据湖能给企业带来多种能力,例如,能实现数据的集中式管理,在此之上,企业能挖掘出很多之前所不具备的能力。另外,数据湖结合先进的数据科学与机器学习技术,能帮助企业构建更多优化后的运营模型,也能为企业提供其他能力,如预测分析、推荐模型等,这些模型能刺激企业能力的后续增长。数据湖能从以下方面帮助到企业:

  • 实现数据治理(data governance);

  • 通过应用机器学习与人工智能技术实现商业智能;

  • 预测分析,如领域特定的推荐引擎;

  • 信息追踪与一致性保障;

  • 根据对历史的分析生成新的数据维度;

  • 有一个集中式的能存储所有企业数据的数据中心,有利于实现一个针对数据传输优化的数据服务;

  • 帮助组织或企业做出更多灵活的关于企业增长的决策。

3、数据仓库与数据湖差异

  • 在储存方面上,数据湖中数据为非结构化的,所有数据都保持原始形式。存储所有数据,并且仅在分析时再进行转换。数据仓库就是数据通常从事务系统中提取。

  • 在将数据加载到数据仓库之前,会对数据进行清理与转换。在数据抓取中数据湖就是捕获半结构化和非结构化数据。而数据仓库则是捕获结构化数据并将其按模式组织。

  • 数据湖的目的就是数据湖非常适合深入分析的非结构化数据。数据科学家可能会用具有预测建模和统计分析等功能的高级分析工具。而数据仓库就是数据仓库非常适用于月度报告等操作用途,因为它具有高度结构化。

  • 在架构中数据湖通常,在存储数据之后定义架构。使用较少的初始工作并提供更大的灵活性。在数据仓库中存储数据之前定义架构。表1 数据仓库和数据湖的区别

三、数据中台

3.1、产生的背景

企业在过去信息化的历程中形成了大量生产经营及专业业务应用成果,同时也累积了大量的企业数据资产。限于传统的数据仓库技术手段,数据管理和分析能力成为信息化工作中的短板。

企业信息系统众多,系统管理独立,数据存储分散,横向的数据共享和分析应用仅由具体业务驱动,难以对全局数据开展价值挖掘,从规模上和效果上都无法真正体现集团庞大数据资产的价值。

市场竞争和产业链日益全球化,企业不只满足于内部数据的分析,更要通过互联网、微信、APP等新技术手段结合外部市场数据进行整体分析。

1)传统的数据仓库不能满足数据分析需求

企业在数据分析应用方面呈现“五大转变”(从统计分析向预测分析转变、从单领域分析向跨领域转变、从被动分析向主动分析转变、从非实时向实时分析转变、从结构化数据向多元化转变),并且对统一的数据中台平台诉求强烈,对数据中台的运算能力、核心算法、及数据全面性提出了更高的要求。

2)数据中台的处理架构发生了变化

一是以Hadoop、Spark等分布式技术和组件为核心的“计算&存储混搭”的数据处理架构,能够支持批量和实时的数据加载以及灵活的业务需求。

二是数据的预处理流程正在从传统的ETL结构向ELT转变。传统的数据仓库集成处理架构是ETL结构,这是构建数据仓库的重要一环,即用户从数据源抽取出所需的数据,经过数据清洗,将数据加载到数据仓库中去。而大数据背景下的架构体系是ELT结构,其根据上层的应用需求,随时从数据中台中抽取想要的原始数据进行建模分析。

3.2、数据中台建设是数字化转型的支撑

数据中台成为热点,“中台”这个概念,是相对于前台和后台而生,是前台和后台的链接点,将业务共同的工具和技术予以沉淀。数据中台是指数据采集交换、共享融合、组织处理、建模分析、管理治理和服务应用于一体的综合性数据能力平台,在大数据生态中处于承上启下的功能,提供面向数据应用支撑的底座能力。

广义上来给数据中台一个企业级的定义:“聚合和治理跨域数据,将数据抽象封装成服务,提供给前台以业务价值的逻辑概念”。

图9 数据中台建设是数字化转型的关键支撑

中台战略核心是数据服务的共享。中台战略并不是搭建一个数据平台,但是中台的大部分服务都是围绕数据而生,数据中台是围绕向上层应用提供数据服务构建的,中台战略让数据在数据平台和业务系统之间形成了一个良性的闭环,也就是实现应用与数据之间解藕,并实现紧密交互。

  • 敏捷前台:一线作战单元,强调敏捷交互及稳定交付的组织能力建设。

  • 业务中台:能力固化与赋能,固化通用能力,赋能前线部队,提升配置效率,加快前线响应,产品化业务化,开辟全新生态。

  • 数据中台:资产整合与共享,整合多维数据,统一资产管理,连通数据孤岛,共享数据资源,深入挖掘数据,盘活资产价值。

  • 稳定后台:以共享中心建设为核心,为前中台提供专业的内部服务支撑。

3.3、数据中台定义及处理架构

数据中台是指通过企业内外部多源异构的数据采集、治理、建模、分析,应用,使数据对内优化管理提高业务,对外可以数据合作价值释放,成为企业数据资产管理中枢。数据中台建立后,会形成数据API,为企业和客户提供高效各种数据服务。

图10 数据中台架构图

数据中台整体技术架构上采用云计算架构模式,将数据资源、计算资源、存储资源充分云化,并通过多租户技术进行资源打包整合,并进行开放,为用户提供“一站式”数据服务。

利用大数据技术,对海量数据进行统一采集、计算、存储,并使用统一的数据规范进行管理,将企业内部所有数据统一处理形成标准化数据,挖掘出对企业最有价值的数据,构建企业数据资产库,提供一致的、高可用大 数据服务。

数据中台不是一套软件,也不是一个信息系统,而是一系列数据组件的集合,企业基于自身的信息化建设基础、数据基础以及业务特点对数据中台的能力进行定义,基于能力定义利用数据组件搭建自己的数据中台。

3.4、数据中台带来价值

数据中台对一个企业的数字化转型和可持续发展起着至关重要的作用。数据中台为解耦而生,企业建设数据中台的最大意义就是应用与数据解藕。这样企业就可以不受限制地按需构建满足业务需求的数据应用。

  • 构建了开放、灵活、可扩展的企业级统一数据管理和分析平台, 将企业内、外部数据随需关联,打破了数据的系统界限。

  • 利用大数据智能分析、数据可视化等技术,实现了数据共享、日常报表自动生成、快速和智能分析,满足集团总部和各分子公司各级数据分析应用需求。

  • 深度挖掘数据价值,助力企业数字化转型落地。实现了数据的目录、模型、标准、认责、安全、可视化、共享等管理,实现数据集中存储、处理、分类与管理,建立大数据分析工具库、算法服务库,实现报表生成自动化、数据分析敏捷化、数据挖掘可视化,实现数据质量评估、落地管理流程。

四、传统数据仓库与数据中台的差异点

图11 数据中台与传统数据仓库比较

表2 技术路线对比

作为工业企业,一般采用混搭架构:

表3 技术路线选型比较

 

四、数据湖(Data Lake)和数据仓库(Data Warehouses)理解误区

误解一:数据仓库和数据湖二者在架构上只能二选一

很多人认为数据仓库和数据湖在架构上只能二选一,其实这种理解是错误的。数据湖和数据仓库并不是对立关系,相反它们的并存可以互补给企业架构带来更多的好处。数据仓储存储结构化的数据,适用于快速的BI和决策支撑,而数据湖可以存储任何格式的数据,往往通过挖掘能够发挥出数据的更大作为。所以在一些场景上二者的并存是可以给企业带来更多效益的。

误解二:相对于数据湖,数据仓库更有名更受欢迎

人工智能(AI)和机器学习项目的成功往往需要数据湖来做支撑。因为数据湖可让您存储几乎任何类型的数据而无需先准备或清理,所以可以保留尽可能多的潜在价值。而数据仓库存储的数据都是经过清洗,往往会丢失一些有价值的信息。

数据仓库虽然是这两种中比较知名的,但是随着数据挖掘需求的发展,数据湖的受欢迎程度可能会继续上升。数据仓库对于某些类型的工作负载和用例工作良好,而数据湖则是为其他类型的工作负载提供服务的另一种选择。

误解三:数据仓库易于使用,而数据湖却很复杂

确实,数据湖需要数据工程师和数据科学家的特定技能,才能对存储在其中的数据进行分类和利用。数据的非结构化性质使那些不完全了解数据湖如何工作的人更难以访问它。

但是,一旦数据科学家和数据工程师建立了数据模型或管道,业务用户就可以利用建立的数据模型以及流行的业务工具(定制或预先构建)的来访问和分析数据,而不在乎该数据存储在数据仓库中还是数据湖中。

 

五、数据仓库、数据集市与数据湖的对比

 

Pentaho首席技术官James Dixon创造了“数据湖”一词。它把数据集市描述成一瓶水(清洗过的,包装过的和结构化易于去使用的)。数据湖更像是在自然状态下的水。数据流从源系统流向这个湖。用户可以在数据湖里校验,取样或完全的使用数据。

这个也是一个不精确的定义。数据还有以下特点:

  • 从源系统导入所有的数据,没有数据流失。

  • 数据存储时没有经过转换或只是简单的处理。

  • 数据转换和定义schema 用于满足分析需求。

下面让我们分析一下数据湖与数据仓库的5个关键的区别。

 

5.1数据湖保留全部的数据

数据仓库开发期间,大量的时间花费在分析数据源,理解商业处理和描述数据。结果就是为报表设计高结构化的数据模型。这一过程大部分的工作就是来决定数据应不应该导入数据仓库。通常情况下,如果数据不能满足指定的问题,就不会导入到数据仓库。这么做是为了简化数据模型和节省数据存储空间。

相反,数据湖保留所有的数据。不仅仅是当前正在使用的数据,甚至不被用到的数据也会导进来。数据会一直被保存所有我们可以回到任何时间点来做分析。

因为数据湖使用的硬件与数据仓库的使用的不同,使这种方法成为了可能。现成的服务器与便宜的存储相结合,使数据湖扩展到TB级和PB级非常经济。

数据仓库主要存储来自运营系统的大量数据,而数据湖则存储来自更多来源的数据,包括来自企业的运营系统和其他来源的各种原始数据资产集。

由于数据湖中的数据可能不准确,并且可能来自企业运营系统之外的来源,因此不是很适合普通的业务分析用户;数据湖更适合数据科学家和其他数据分析专家。

对于数据仓库与数据湖的不同之处,你可以想象一下仓库和湖泊的区别:仓库存储着来自特定来源的货物,而湖泊的水来自河流、溪流和其他来源,并且是原始数据

数据仓库供应商包括AWS、Cloudera、IBM、谷歌、微软、甲骨文、Teradata、SAP、SnapLogic和Snowflake等。数据湖提供商包括AWS、谷歌、Informatica、微软、Teradata等。

5.2.数据湖支持所有数据类型

数据仓库一般由从事务系统中提取的数据组成,并由定量度量和描述它们的属性组成。 诸如Web服务器日志,传感器数据,社交网络活动,文本和图像等非传统数据源在很大程度上被忽略。 这些数据类型的新用途不断被发现,但是消费和存储它们可能是昂贵和困难的。

数据湖方法包含这些非传统数据类型。 在数据湖中,我们保留所有数据,而不考虑源和结构。 我们保持它的原始形式,并且只有在我们准备好使用它时才会对其进行转换。 这种方法被称为“读取模式”与数据仓库中使用的“写入模式”方法。

5.3.数据库支持所有用户使用

在大多数公司或组织中,80%或更多的用户是运营人员。他们希望获得他们的报告,查看他们的关键绩效指标或每天在电子表格中分割相同的数据集。数据仓库通常是这些用户的理想选择,因为它结构良好,易于使用和理解,并且专门用于回答他们的问题。

接下来的10%左右,对数据做更多的分析。他们使用数据仓库作为数据源,但通常会返回源系统以获取仓库中未包含的数据,有时还会从组织外部导入数据。他们最喜欢的工具是电子表格,他们创建的新报告通常分布在整个组织中。数据仓库是他们的数据源,但他们经常超出其范围

最后,最后几个百分比的用户做了深入的分析。他们可能会根据研究创建全新的数据源。他们混合了许多不同类型的数据,并提出了全新的问题来回答。这些用户可能会使用数据仓库,但往往会忽略它,因为他们通常被控超越其功能。这些用户包括数据科学家,他们可能会使用高级分析工具和功能,如统计分析和预测建模。

数据湖方法同样支持所有这些用户。数据科学家可以去湖边工作,并使用他们需要的非常庞大和多样化的数据集,而其他用户则可以使用更为结构化的数据视图来提供他们使用的数据。

5.4.数据湖很容易适应变化

关于数据仓库的主要抱怨之一是需要多长时间来改变它们。在开发过程中花费大量时间来获得仓库的结构。一个好的仓库设计可以适应变化,但由于数据加载过程的复杂性以及为简化分析和报告所做的工作,这些更改必然会消耗一些开发人员资源并需要一些时间。

许多业务问题都迫不及待地让数据仓库团队适应他们的系统来回答问题。日益增长的对更快答案的需求促成了自助式商业智能的概念。

另一方面,在数据湖中,由于所有数据都以其原始形式存储,并且始终可供需要使用它的人访问,因此用户有权超越仓库结构以新颖方式探索数据并回答它们问题在他们的步伐。

如果一个探索的结果被证明是有用的并且有重复的愿望,那么可以应用更正式的模式,并且可以开发自动化和可重用性来帮助将结果扩展到更广泛的受众。如果确定结果无用,则可以丢弃该结果,并且不会对数据结构进行任何更改,也不会消耗开发资源。

5.5.数据湖支持快速洞察数据

最后的区别实际上是其他四个的结果。由于数据湖包含所有数据和数据类型,因为它使用户能够在数据转换,清理和结构化之前访问数据,从而使用户能够比传统数据仓库方法更快地获得结果。

但是,这种对数据的早期访问是有代价的。通常由数据仓库开发团队完成的工作可能无法完成分析所需的部分或全部数据源。这让驾驶座位的用户可以根据需要探索和使用数据,但上述第一层业务用户可能不希望这样做。他们仍然只想要他们的报告和KPI。

在数据湖中,这些操作报告的使用者将利用更加结构化的数据湖中数据的结构视图,这些视图与数据仓库中以前一直存在的数据相似。不同之处在于,这些视图主要存在于位于湖泊中的数据之上的元数据,而不是需要开发人员更改的物理刚性表格。

 

5.6 数据仓库vs.数据集市

数据集市和数据仓库经常会被混淆,但两者的用途明显不同。

数据集市通常是数据仓库的子集;它等数据通常来自数据仓库 – 尽管还可以来自其他来源。数据集市的数据专门针对特定的用户社区(例如销售团队),以便他们能够快速找到所需的数据。通常,数据保存在那里用于特定用途,例如财务分析。

数据集市也比数据仓库小得多 – 它们可以容纳数十千兆字节,相比之下,数据仓库可以存储数百千兆字节到PB级数据,并可用于数据处理。

数据集市可从现有数据仓库或其他数据源系统构建,你只需设计和构建数据库表,使用相关数据填充数据库表并决定谁可以访问数据集即可。

5.7 数据仓库vs.ODS

操作数据存储(ODS)是一种数据库,用作所有数据的临时存储区域,这些数据即将进入数据仓库进行数据处理。我们可以将其想象成仓库装卸码头,货物在此处交付、检查和验证。在ODS中,数据在进入仓库前可以被清理、检查(因为冗余目的),也可检查是否符合业务规则。

在ODS中,我们可以对数据进行查询,但是数据是临时的,因此它仅提供简单信息查询,例如正在进行的客户订单状态。

ODS通常运行在关系数据库管理系统(RDBMS)或Hadoop平台。ODS中的数据通常通过数据集成和数据提取工具(例如Attunity Replicate或Hortonworks DataFlow)提供。

 

5.8 关系型数据库vs.数据仓库和数据湖

数据仓库、数据湖与关系数据库系统之间的主要区别在于,关系数据库用于存储和整理来自单个来源(例如事务系统)的结构化数据,而数据仓库则用于存储来自多个来源的结构化数据。数据湖的不同之处在于它可存储非结构化、半结构化和结构化数据。

关系数据库创建起来相对简单,可用于存储和整理实时数据,例如交易数据等。关系数据库的缺点是它们不支持非结构化数据库数据或现在不断生成的大量数据。这使得我们只能在数据仓库与数据湖间做出选择。尽管如此,很多企业仍然继续依赖关系数据库来完成运营数据分析或趋势分析等任务。

内部或云端可用的关系数据库包括Microsoft SQL Server、Oracle数据库、MySQL和IBM Db2、以及Amazon Relational Database Service、Google Cloud Spanner等。

标签:分析,存储,数据仓库,结构化,中台,数据
来源: https://blog.csdn.net/murkey/article/details/105725924

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有