精华内容
下载资源
问答
  • 一种支持多租户大数据平台租户访问方法
    2020-12-22 10:33:49

    一种支持多租户的大数据平台及租户访问方法

    【技术领域】

    [0001]本发明涉及大数据技术领域,特别涉及一种支持多租户的大数据平台及租户访问方法。

    【背景技术】

    [0002]在大数据时代,为了存储和处理海量数据,需要规模较大的服务器集群,一般说来,这些集群上运行着数量众多类型纷杂的应用程序和服务,比如离线作业,流式作业,迭代式作业等,传统的做法是,每种类型的作业或者服务对应一个单独的集群,以避免相互干扰。这样,集群被分割成数量众多的小集群,由于不同类型的作业/服务需要的资源量不同,这些小集群的利用率通常很不均衡,有的集群满负荷、资源紧张,而另外一些则长时间闲置、资源利用率极低。

    [0003]因而现有技术还有待改进和提高。

    【发明内容】

    [0004]本发明要解决的技术问题在于,针对现有技术的不足,提供一种支持多租户的大数据平台及租户访问方法,其能够解决现有每种类型的作业或者服务对应一个单独的集群,而造成的小集群的利用率不均衡的问题。

    [0005]为了解决上述技术问题,本发明所采用的技术方案如下:

    一种支持多租户的大数据平台,其包括:hadoop集群、管理模块和登录模块;

    所述hadoop集群用于部署多个业务;

    所述管理模块设置于hadoop集群上,用于验证租户访问hadoop的权限,并根据所述权限进行相应操作;

    所述登录模块用于获取租户登录请求,验证租户信息。

    [0006]所述登录模块用于管理租户操作数据、提交任务请求和查看任务进度。

    [0007]所述管理模块包括:权限管理模块、任务调度模块和资源管理模块;

    所述权限管理模块,用于管理多租户的权限,根据不同租户授权,系统管理员配置租户与数据、租户与应用的对应关系;

    所述任务调度模块,用于管理员设置任务的调度规则,根据任务调度规则执行工作任务,并监控任务的执行情况;

    所述资源管理模块,用于系统管理员根据租户分配集群资源,多租户之间按分配使用存储资源和计算资源。

    [0008]所述资源管理模块还用于为多租户划分独立的存储空间来实现租户之间的数据隔离,将每个租户的数据信息存储在独立的存储空间中,每个租户数据模型的更改不会影响其他租户的数据。

    [0009]所述权限管理模块还用于委派给不同管理员对不同数据集设置权限。

    [0010]一种租户访问大数据平台方法,所述租户访问上述大数据平台,其具体包括: A、租户通过统一登录模块登录hadoop集群;

    B、租户登录成功后,向hadoop集群发送任务请求;

    C、管理模块的权限管理模块验证租户是否具有访问任务用到的数据的权限和使用任务用到资源的权限;

    D、租户通过验证后,在hadoop集群上执行任务。

    [0011 ] 所述步骤C,其具体为:

    Cl、管理模块的权限管理模块验证租户是否具有访问任务用到的数据的权限;

    C2、当租户具有访问数据权限,管理模块的权限管理模块验证租户是否具有使用任务用到资源的权限。

    [0012]有益效果:与现有技术相比,本发明所提供支持多租户的大数据平台,其包括:hadoop集群、管理模块和统一登录模块;所述hadoop集群用于部署多个业务;所述管理模块设置于hadoop集群上,用于管理员管理多租户访问数据和资源的权限,所述统一登录模块用于多租户登录访问hadoop集群。本方法将多个业务统一部署在一个集群上,通过在hadoop集群上设置管理模块和统一登录模块,实现hadoop集群的多租户模式,让多租户同时使用统一的大数据平台,建立统一的调度平台,实现了数据的统一化管理。从根本上解决了现有每种类型的作业或者服务对应一个单独的集群,而造成的小集群的利用率不均衡的问题。

    【附图说明】

    [0013]图1为本发明提供支持多租户的大数据平台示意图。

    [0014]图2为本发明提供支持多租户的大数据平台具体实施例示意图。

    [0015]图3为租户访问大数据平台的流程图。

    【具体实施方式】

    [0016]本发明提供一种支持多租户的大数据平台及租户访问方法,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

    [0017]下面结合附图,通过对实施例的描述,对

    【发明内容】

    作进一步说明。

    [0018]请参见图1,图1为本发明提供一种支持多租户的大数据平台示意图。所述平台包括:hadoop集群、管理模块和登录模块;所述hadoop集群用于部署多个业务;所述管理模块设置于hadoop集群上,用于验证租户访问hadoop的权限,并根据所述权限进行相应操作;所述登录模块用于获取租户登录请求,验证租户信息。

    [0019]在本实施例中,所述hadoop集群为单一集群,将多个业务部署在集群上,其可以满足多个租户的不同需求。多个业务可以是多种作业方式,也可以是多个服务等。这里不做限定,仅以作业方式为例,其可以为离线作业、流式作业、迭代式作业等。

    [0020]进一步,所述登录模块用于管理租户操作数据、提交任务请求和查看任务进度等。租户可以通过登录模块在登录后,提交任务请求,操作公共数据和查询任务进度;还可以对任务进度进行反馈和催告等。

    [0021]在本实施例中,所述管理模块包括:权限管理模块、任务调度模块和资源管理模块。所述权限管理模块,用于管理多租户的权限,根据不同租户授权,系统管理员配置租户与数据、租户与应用的对应关系;所述任务调度模块,用于管理员设置任务的调度规则,根据任务调度规则执行工作任务,并监控任务的执行情况;所述资源管理模块,用于系统管理员根据租户分配集群资源,多租户之间按分配使用存储资源和计算资源。其中,所述的系统管理员配置租户与数据、租户与应用的对应关系,系统根据租户的权限,为租户配置相应的数据和应用,可以按照租户的权限越高,可以访问的数据和资源就越多的关系进行对应。这样,可以通过管理模块验证多租户的访问权限,根据其访问权限调用相应的数据和资源;使得不同租户可以通过管理模块的限制,在同一个hadoop集群上完成不同的业务,实现了hadoop集群的多租户模式,让多租户同时使用统一的大数据平台,并且通过管理模块限制,为大

    更多相关内容
  • 大数据平台使用者为个,需要为每个用户划分不同的模块和资源,cloudera 通过sentry 等安全组件进行用户管理,表管理 ,库管理。
  • 技术领域本发明涉及大数据技术领域,特别涉及一种支持多租户大数据平台租户访问方法。背景技术在大数据时代,为了存储和处理海量数据,需要规模较大的服务器集群,一般说来,这些集群上运行着数量众多类型纷杂的...

    技术领域

    本发明涉及大数据技术领域,特别涉及一种支持多租户的大数据平台及租户访问方法。

    背景技术

    在大数据时代,为了存储和处理海量数据,需要规模较大的服务器集群,一般说来,这些集群上运行着数量众多类型纷杂的应用程序和服务,比如离线作业,流式作业,迭代式作业等,传统的做法是,每种类型的作业或者服务对应一个单独的集群,以避免相互干扰。这样,集群被分割成数量众多的小集群,由于不同类型的作业/服务需要的资源量不同,这些小集群的利用率通常很不均衡,有的集群满负荷、资源紧张,而另外一些则长时间闲置、资源利用率极低。

    因而现有技术还有待改进和提高。

    发明内容

    本发明要解决的技术问题在于,针对现有技术的不足,提供一种支持多租户的大数据平台及租户访问方法,其能够解决现有每种类型的作业或者服务对应一个单独的集群,而造成的小集群的利用率不均衡的问题。

    为了解决上述技术问题,本发明所采用的技术方案如下:

    一种支持多租户的大数据平台,其包括:hadoop集群、管理模块和登录模块;

    所述hadoop集群用于部署多个业务;

    所述管理模块设置于hadoop集群上,用于验证租户访问hadoop的权限,并根据所述权限进行相应操作;

    所述登录模块用于获取租户登录请求,验证租户信息。

    所述登录模块用于管理租户操作数据、提交任务请求和查看任务进度。

    所述管理模块包括:权限管理模块、任务调度模块和资源管理模块;

    所述权限管理模块,用于管理多租户的权限,根据不同租户授权,系统管理员配置租户与数据、租户与应用的对应关系;

    所述任务调度模块,用于管理员设置任务的调度规则,根据任务调度规则执行工作任务,并监控任务的执行情况;

    所述资源管理模块,用于系统管理员根据租户分配集群资源,多租户之间按分配使用存储资源和计算资源。

    所述资源管理模块还用于为多租户划分独立的存储空间来实现租户之间的数据隔离,将每个租户的数据信息存储在独立的存储空间中,每个租户数据模型的更改不会影响其他租户的数据。

    所述权限管理模块还用于委派给不同管理员对不同数据集设置权限。

    一种租户访问大数据平台方法,所述租户访问上述大数据平台,其具体包括:

    A、租户通过统一登录模块登录hadoop集群;

    B、租户登录成功后,向hadoop集群发送任务请求;

    C、管理模块的权限管理模块验证租户是否具有访问任务用到的数据的权限和使用任务用到资源的权限;

    D、租户通过验证后,在hadoop集群上执行任务。

    所述步骤C,其具体为:

    C1、管理模块的权限管理模块验证租户是否具有访问任务用到的数据的权限;

    C2、当租户具有访问数据权限,管理模块的权限管理模块验证租户是否具有使用任务用到资源的权限。

    有益效果:与现有技术相比,本发明所提供支持多租户的大数据平台,其包括:hadoop集群、管理模块和统一登录模块;所述hadoop集群用于部署多个业务;所述管理模块设置于hadoop集群上,用于管理员管理多租户访问数据和资源的权限,所述统一登录模块用于多租户登录访问hadoop集群。本方法将多个业务统一部署在一个集群上,通过在hadoop集群上设置管理模块和统一登录模块,实现hadoop集群的多租户模式,让多租户同时使用统一的大数据平台,建立统一的调度平台,实现了数据的统一化管理。从根本上解决了现有每种类型的作业或者服务对应一个单独的集群,而造成的小集群的利用率不均衡的问题。

    附图说明

    图1为本发明提供支持多租户的大数据平台示意图。

    图2为本发明提供支持多租户的大数据平台具体实施例示意图。

    图3为租户访问大数据平台的流程图。

    具体实施方式

    本发明提供一种支持多租户的大数据平台及租户访问方法,为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

    下面结合附图,通过对实施例的描述,对发明内容作进一步说明。

    请参见图1,图1为本发明提供一种支持多租户的大数据平台示意图。所述平台包括:hadoop集群、管理模块和登录模块;所述hadoop集群用于部署多个业务;所述管理模块设置于hadoop集群上,用于验证租户访问hadoop的权限,并根据所述权限进行相应操作;所述登录模块用于获取租户登录请求,验证租户信息。

    在本实施例中,所述hadoop集群为单一集群,将多个业务部署在集群上,其可以满足多个租户的不同需求。多个业务可以是多种作业方式,也可以是多个服务等。这里不做限定,仅以作业方式为例,其可以为离线作业、流式作业、迭代式作业等。

    进一步,所述登录模块用于管理租户操作数据、提交任务请求和查看任务进度等。租户可以通过登录模块在登录后,提交任务请求,操作公共数据和查询任务进度;还可以对任务进度进行反馈和催告等。

    在本实施例中,所述管理模块包括:权限管理模块、任务调度模块和资源管理模块。所述权限管理模块,用于管理多租户的权限,根据不同租户授权,系统管理员配置租户与数据、租户与应用的对应关系;所述任务调度模块,用于管理员设置任务的调度规则,根据任务调度规则执行工作任务,并监控任务的执行情况;所述资源管理模块,用于系统管理员根据租户分配集群资源,多租户之间按分配使用存储资源和计算资源。其中,所述的系统管理员配置租户与数据、租户与应用的对应关系,系统根据租户的权限,为租户配置相应的数据和应用,可以按照租户的权限越高,可以访问的数据和资源就越多的关系进行对应。这样,可以通过管理模块验证多租户的访问权限,根据其访问权限调用相应的数据和资源;使得不同租户可以通过管理模块的限制,在同一个hadoop集群上完成不同的业务,实现了hadoop集群的多租户模式,让多租户同时使用统一的大数据平台,并且通过管理模块限制,为大数据平台提供安全稳定的保障。

    进一步,所述权限管理模块还用于委派给不同管理员的不同数据集设置权限。

    进一步,所述任务调度模块还用于系统管理员针对租户私有区域进行比特级的数据加解密,提供对业务软件、业务数据进行统一保护,保障每个租户特有数据的安全性。这样保证租户数据的安全性。

    进一步,所述资源管理模块还用于为多租户划分独立的存储空间来实现租户之间的数据隔离,将每个租户的数据信息存储在独立的存储空间中,每个租户数据模型的更改不会影响其他租户的数据。这样,保证每个租户的数据相互隔离,单独存储;实现了多租户同时在一个hadoop集群上执行任务,有彼此不互相影响,即每个租户数据模型的更改不会影响其他租户的数据。

    为了进一步理解所述支持多支持大数据平台,本申请提供一个具体实施例加以说明。如图2所示,所述大数据平台包括:登录层、管理层和操作层,所述登录层为统一模块,所述租户通过统一模块登录并对操作层发送操作请求;所述操作层为一个hadoop集群,所述hadoop集群上部署多个业务,同时满足多个租户的要求。所述登录层与操作层之间为管理层,所述管理层用于管理租户的权限、数据管理、资源管理和任务的调度。

    具体地,所述管理层包括:应用管控模块、数据管控模块、任务管控模块和资源管控模块。

    所述应用管控模块用于应用管理、应用授权、应用日志和应用统计分析等。

    所述数据管控模块用于管理元数据存储、数据质量、存取权限和数据生命周期等,保证各租户之间的数据以及环境的相互隔离和相互不影响。

    所述任务管控模块用于任务管理、任务调度和任务监控;满足多租户的各类差异需求。

    所述CPU管控、内存管控、网络管控和存储管控,其为多租户划分独立的存储空间来实现租户之间的数据隔离,将每个租户的数据信息存储在独立的存储空间中,每个租户数据模型的更改不会影响其他租户的数据;保证各租户下的应用都有独立的运行空间。

    本发明还提供一种租户访问大数据平台方法,所述租户访问上述大数据平台,如图3所示,其具体包括:

    S1、租户通过登录模块向管理模块发送登录hadoop集群请求;

    S2、租户登录成功后,向hadoop集群发送任务请求;

    S3、管理模块的权限管理模块验证租户是否具有访问任务用到的数据的权限和使用任务用到资源的权限;

    S4、租户通过验证后,在hadoop集群上执行任务。

    所述步骤S3,其具体为:

    S31、管理模块的权限管理模块验证租户是否具有访问任务用到的数据的权限;

    S32、当租户具有访问数据权限的后,管理模块的权限管理模块验证租户是否具有使用任务用到资源的权限。

    上述基于租户访问大数据平台方法的单元模块都已经在上述方法中进行了详细介绍,这里就不再赘述了。

    可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。

    展开全文
  • 为了配合公司产品K8S化,方便产品快速扩展以及部署,需要对当前的大数据组件进行相关的多租户以及资源隔离的配置,组件暂时包含但限于HBase、ElasticSearch、Kafka和Redis。 下面将从不同角度对上面提到的四个组件...

    背景

    为了配合公司产品K8S化,方便产品快速扩展以及部署,需要对当前的大数据组件进行相关的多租户以及资源隔离的配置,组件暂时包含但限于HBase、ElasticSearch、Kafka和Redis。

    下面将从不同角度对上面提到的四个组件进行多租户以及资源隔离方案的描述,并根据需求选取效果明显且性价比高的方案进行适配与实现。

    正文

    目标

    • 实现单集群支持多租户,租户之间相互不影响

    • 能够快速方便的管理单租户的数据

    • 对当前已经存在的产品代码和架构的侵入在可控范围之内尽量的小

    方案

    HBase

    多租户

    HBase多租户方案可以使用HBase的namespace来实现,单套威胁感知测试程序使用单独的namespace,由于namespace中资源是可以单独管理的,所以将单套威胁感知数据放入特定的namespace中便于后续该套威胁感知测试环境HBase资源的管理和回收

    资源隔离

    HBase的资源隔离包含RSGroup、Quota管理以及读写分离的相关配置。

    其中RsGroup应用的场景是针对服务器资源异构的HBase集群,根据服务的重要程度或者业务特点将Region分组用来满足不同的需求

    而读写分离以及读写控制则是针对大数据高并发下针对读写的特点进行请求数量的比例控制,保证不同场景的协同工作

    上面两种场景明显不符合公司当前的需求,所以暂时不考虑。

    而Quota管理可以针对namespace的资源分配来满足不同的测试产品的配额来满足资源管控的需求。主要的控制方法和维度如下:

    配置的维度limit限制的类型请求size还是请求次数单位时间

    NAMESPACE

    USER

    TABLE

    USER+NAMESPACE USER+TABLE

    READ WRITE READ+WRITE

    请求次数:req

    请求Size:B, K, M, G, T, P

    sec, min, hour, day

    注:Space Quotas使用的是filesystem quotas,这个特性是随着HBASE-16961在HBase 2.0之后实现的,而当前产品HBase的版本是1.2,所以该功能暂时无法支持,后续升级HBase版本后可以考虑。

    ElasticSearch

    ElasticSearch没有主流的官方多租户的方案,现在比较流行的多租户方案包含两种:

    • 基于索引的多租户方案,即每个用户使用不同前缀的一套表,最后基于该套表完成对不同租户的管理。这针对集群规模不算太大时候的场景比较友好,当集群和租户规模过大时,元数据膨胀率会比较高,集群的负载会比较高。

    • 基于索引中的路由进行多租户管理的方案,即所有的用户使用一套表,通过routing来进行数据分发和隔离。这样做的好处是能保持很好的扩展性以及较好的性能,但是缺点是如果在原有代码的基础上改动较大,且按用户删除数据时并不是很方便。

    根据上面两种方案的对比,结合当前产品K8S环境的需求以及特点,第一套方案比较合适,暂时采取第一套方案。

    Kafka

    多租户

    kafka多租户可以使用两种方式实现:

    • 基于不同的用户使用不同的topic组分开消费,优点是代码改动较小,只需要配置适配即可,方便资源管理。配合权限管理,可以做到资源隔离。但是缺点是针对部分公用数据的数据膨胀率过高,资源浪费,元数据膨胀率高,用户多的时候集群压力较大。

    • 基于不同的用户使用相同的topic来存储数据,根据不用的key来进行区分和消费。优点是代码改动小,元数据膨胀率可以得到有效控制,适用于多用户的场景。但是缺点是无法做到资源隔离,且消费数据时需要根据key进行判断,影响数据处理效率,不适合大数据高并发处理场景,且没办法很容易地按照用户来单独管理数据。

    根据上面两种方案的对比,结合当前产品的K8S环境的需求以及特点,第一套方案比较合适,暂时采取第一套方案。

    资源隔离

    kafka资源隔离包含两个层面,即Quota(配额)管理以及ACL权限管理。

    Quota管理适用于对kafka的各种流量进行控制和限制,保证kafka的broker的资源不会被一个或者几个client耗尽,保证整个集群的稳定性和可用性。适用于高性能高并发场景下的集群稳定性的阿提升与保证。

    权限ACL管理则是进行资源隔离的重要实现方式,在开启认证后,可以管理用户对于topic的访问权限,实现kafka的资源隔离。

    Redis

    redis通用的多租户的实现方式和kafka以及elasticsearch的方式类似,都是在key的前面加上租户的前缀来进行管理。

    有种极端的情况可以投机取巧,那就是如果保证redis是单机版的前提下,可以使用redis自带的数据库进行多租户的管理,但是这个方案有有很大的制约:

    • redis必须是单机版,集群模式的redis不支持分库即select操作;

    • 该隔离只是逻辑层面上的隔离,底层并没有做隔离,FLUSHALL命令可以清空一个Redis实例中所有数据库中的数据;

    • redis也不支持为每个数据库设置不同的访问密码,所以一个客户端要么可以访问全部数据库,要么一个数据库也没有权限访问;

    从上面可以看出,其实redis的分库操作并没有想象中的那么美好。

    最后考虑到公司产品对redis的占用比较少,所以更简单的方式就是使用docker快速部署多个redis实例来支撑多版本多租户,效果和单实例多套key效果差别不大。不仅不需要修改代码而且在实施上更容易把控。

    总结

    K8S的出现极大的提升了产品以及系统运维的效率以及效果,成为各个公司以及各个场景的宠儿也在意料之中。但是我们也没有必要过分神话K8S的作用,从而事事都K8S化,这样显然是矫枉过正的。

    回到今天的需求,通过分析,对于公司产品来说,大数据组件由于其稳定性,对K8S的需求并不是很强烈,而且每个产品和系统都部署各自的存储集群的话,对整个K8S的资源也是一个浪费,更推高了K8S使用成本以及性能调优成本,得不偿失。

    所以换个思路,将大数据组件以及存储单独部署在物理机上形成一个集群,而产品的应用利用K8S的特性进行管理,可以算是各取所需,扬长避短,也算是一个比较实际和高效的方案了。而实现这个目标的基础就是要实现大数据组件多租户以及资源隔离,也就是本文的需求来源了。

    最后,如果想一起入门学习K8S的小伙伴,欢迎点赞转发加关注,下次学习不迷路,我们在K8S的路上共同前进!

    最后挂个公众号二维码,公众号的文章是最新的,CSDN的会有些滞后,想追更的朋友欢迎大家关注公众号,谢谢大家支持。 

    公众号地址:

    展开全文
  • ​Greenplum 是最出色的开源MPP数据库,经过15年的发展,从数据仓库发展成了云时代的理想大数据平台。 1. 什么是多租户 多租户指一套系统能够支撑租户。一个租户通常是具有相似访问模式和权限的一组用户,典型的...

    了解更多Greenplum技术干货,欢迎访问Greenplum中文社区网站

    ​Greenplum 是最出色的开源MPP数据库,经过15年的发展,从数据仓库发展成了云时代的理想大数据平台。

    1. 什么是多租户

    多租户指一套系统能够支撑多个租户。一个租户通常是具有相似访问模式和权限的一组用户,典型的租户是同一个组织或者公司的若干用户。

    要实现多租户,首先需要考虑的是数据层面的多租户。数据层的多租户模型对上层服务和应用的多租户实现有突出影响。本文重点介绍数据层多租户及Greenplum数据库对各种多租户模型的支持。

    权衡不同的多租户实现方式时,需要考虑如下因素:

    • 扩展性:租户数量级别,以及未来发展趋势

    • 安全性:租户之间数据隔离级别要求

    • 资源共享:多租户通常有某种形式的资源共享,需要避免某个租户的糟糕SQL吃掉系统资源,影响其他租户的响应时间

    • 灵活性:不同租户可能有不同的需求,对特定租户需求的扩展能力

    • 跨租户分析和优化:对全部租户或者多个租户的数据和行为进行分析的能力

    • 运维和管理:运维管理的复杂度和便宜性,包括监控、修改数据库模式、创建索引、收集统计数据、数据加载等

    • 成本:总体拥有成本,包括方案实现成本、运维成本等

    2. 多租户模型

    多租户模型描述了租户和该租户的数据之间的映射关系。不同的多租户模型会影响数据库和应用程序的设计、管理和维护。

    使用较多的多租户模型有三种。 Greenplum 对这三种模型都有出色的支持。

    2.1 一租户一数据库

    最简单的多租户实现方式是为每一个租户创建一个Greenplum集群,如下图所示。应用程序为每个租户分配一个租户id,并为每个租户配置相应的数据库连接信息(包括数据库ip、端口等)。应用程序根据租户id连接到为其分配的数据库。

    这种模型中不同租户的数据物理隔离,安全级别高。如果每个租户的Greenplum集群使用不同的硬件,则他们之间的资源使用也是物理隔离的;如果租户的Greenplum集群共用同一套硬件,则需要对资源进行合理分配和管理,避免相互影响。由于不同租户使用独立的数据库,灵活性好,容易满足不同租户的特定需求(譬如需要额外的字段)。出现故障时影响面小。缺点是数据库数量大,维护复杂,拥有成本高。适合租户数目比较少的场景。

    2.2 一租户一名字空间

    多个租户共享同一个数据库,每个租户拥有独立的名字空间(或模式)。应用程序为每个租户分配一个id,并把每个租户的所有操作限制在为其分配的名字空间/模式之中。如下图所示。

    这种多租户模型下,不同租户的数据逻辑上相互隔离,安全控制相对简单。不同租户有不同的模式,可以简便的满足不同租户的特定需求,灵活性高。对资源管理能力要求高,以避免不同租户竞争资源。结合 Greenplum 的 filepace 和 tablespace 特性,可以把不同租户的数据存储在不同的磁盘上,降低了对磁盘IO的竞争。运维和管理较复杂,不易实现大量租户的跨租户分析。适合租户数目适中的场景。

    2.3 全共享方式

    不同租户共享同一个数据库、同一个名字空间。不同租户的数据在同一组表中共存,通过租户id标记和访问不同租户的数据(应用需要调整访问数据的SQL以包含租户id)。如下图所示。

    这种多租户模型中,不同租户的数据物理存储在一起,对系统的资源隔离和安全隔离要求很高。运维相对简单。扩展能力好,可以支持较多数量租户。由于租户数据存储在一起,跨租户数据分析和优化非常简单。成本低,可以较低的代价支持更多的租户。

    全共享模型中,很多数据库采用添加大量自定义字段的方式满足不同租户的特定需求,以提高灵活性。这种方式有诸多局限性,譬如字段数目不能太多、管理复杂等。Greenplum 自 5.0 开始支持更多半结构化数据,包括JSON、Hstore 等,通过这种半结构化数据,可以更灵活、高效、便捷的满足不同租户的特定需求。

    2.4 混合模型

    这种模型不是一个新的实现方式,而是混合前面介绍的三种模型以满足不同用户的服务级别需求。譬如对于最大的少数几个租户采用一租户一数据库的模型,其他租户采用全共享方式。或者对资源隔离级别要求高、服务响应时间要求高的客户采用一租户一数据库的模型,其他租户采用一租户一名字空间方式或者全共享方式。

    2.5 对比

    下表列出了不同模式的特点。混合模型兼具不同模型的优缺点,不再单独列出。根据不同需求可以采用不同的实现方式。

    在这里插入图片描述

    3. Greenplum 资源管理

    上面提到,不管使用何种多租户模型(除非是不同的物理集群),否则都涉及到资源管理的问题,以满足不同租户的不同资源使用需求,避免某个租户过度使用资源,影响其他租户。

    Greenplum 5 设计实现了一个全新的基于资源组的资源管理器,相比之前的资源队列,可以做到灵活高效的资源管理。

    下表对资源组和资源队列进行了对比:

    在这里插入图片描述

    Greenplum 可以实现细粒度的资源管理,在云上多租户场景下,非常适合实现租户的资源隔离,避免某个租户过度占用资源,确保资源合理使用。

    有关更多细节,请参考官方文档:

    https://gpdb.docs.pivotal.io/580/admin_guide/workload_mgmt_resgroups.html

    4. 总结

    多租户是云数据库的基本要求,本文介绍了Greenplum的四种多租户实现方式,并对之进行了对比。还介绍了 Greenplum 新的基于资源组的资源管理器,以实现多租户的资源共享和隔离。

    在这里插入图片描述

    展开全文
  • 方案,以管理视角来看,是以构建区域性中小企业生态链为己任的模式,形成适合的社会化服务效应;以技术视角老看,基于大数据、云计算多租户PaaS搭建中小企业运营服务平台
  • 80%以上企业可套用的大数据平台整体架构方案及实施细则。 包含:大数据平台总体架构设计、数据统一管理、元数据管理、数据质量、数据ETL、数据分析与挖掘、数据可视化、大数据平台监控运维等!
  • 集团大数据平台整体方案业务需求分析 总体需求 大数据平台应...大数据平台需支持应用管理即支持对应用的服务级别管理SLA能够实现应用的访问资源控制支持资源隔离同时支持多租户功能例如多租户管理租户的操作员管理
  • 租户的安全大数据存储和共享方案
  • 集团企业数字化转型:集团企业大数据可视化展现平台建设及应用方案 集团企业大数据可视化平台建设方案 大数据平台应支持集团总部、省和地市三级使用方式。使用单位还包括下属单位和控股公司等。大数据平台要求使用...
  • 智慧数字政府政务创新大数据服务云平台规划方案 大数据平台应支持XXX总部、省和地市三级使用方式。使用单位还包括下属单位和控股公司等。大数据平台要求使用Hadoop系统应实现主流数据仓库的功能,同时支持与现有系统...
  • 集团大数据平台系统功能设计整体方案 概述 图5-1系统功能设计内容 参见上图系统功能设计主要包括平台管理多租户管理应用管理作业调度管理统一运维监控数据管理结构化数据管理半/非结构化结构数据管理数据采集数据...
  • 博主本人由于在写方案次涉及写到 —— 云中心之多租户应用。但是我就费解了,百度一下【多租户】,真是百花齐放,各有各的多租户理解!!!!!!!十分汗颜!到底谁说的对了,于是查看了不低于100篇文章,以及...
  • 内容来源:yq.aliyun.com/articles/46…阅读字数:3994 | 10分钟阅读摘要本内容是由来自阿里巴巴计算平台的高级技术专家李雪峰带来的主题为《金融级别大数据平台多租户隔离实践》的分享。在分享中,李雪峰首先介绍...
  • 互联网和移动互联网技术开启了大规模生产、分享和应用数据的大数据时代。面对如此庞大规模的数据,如何存储?...经过十几年的发展,如今的大数据技术生态已相对成熟,围绕大数据应用搭建的平台架构和技术选型也逐
  • 摘要:在2017年云栖大会•北京峰会的大数据专场中,来自阿里云的高级技术专家李雪峰带来了主题为《金融级别大数据平台多租户隔离实践》的演讲。在分享中,李雪峰首先介绍了基于传统IaaS单租户架构做隔离时面临的...
  • 点击上方 "大数据肌肉猿"关注,星标一起成长点击下方链接,进入高质量学习交流群今日更新| 950个转型案例分享-大数据交流群作者 | 褚杏娟如今,企业都面临着日益增长的数据量、各种类...
  • 近年来,数据中台之火爆,什么数据平台、数据中台、数据湖、数据集市等等,不同的叫法把大家绕的云里雾里,概念混淆不清,着实让人摸不着头脑……
  • 某企业经过多年的系统建设和演进,内部系统间存在一些壁垒,通过在运营商的各个内部系统,如经分、VGOP、大数据平台、集团集市等中构建基于ESB 的能力开放平台,解决了系统间调度、封闭式开发、数据孤岛等系统问题,...
  • 企业的大数据平台;这些企业都选择了虚拟化作为大数据基础平台;企业需要成熟高效可扩展的大数据平台;您应该把VMWare的虚拟化作为大数据的首选平台;...虚拟化是最佳的多租户整合方案;VMWare为企业提供了成熟高效
  • 大数据平台架构解析——以讯飞大数据平台Odeon为例 定义 Odeon大数据平台以全图形化Web操作的形式为用户提供一站式的大数据能力:包括数据采集、任务编排、调度及处理、数据展现(BI)等;同时提供完善的权限管理、...
  • 大家好,我是一哥,整理了一下之前写的搭建大数据平台的5个篇章,请大家收藏,文末可以获取完整PDF版本。01如何从0到1搭建大数据平台大数据时代这个词被提出已有10年了吧,越来越的企业已经...
  • 今天的内容分享来自于蓝桥云课合作作者:朱乐陶,联通数字科技有限公司架构师。...ELK提供了一整套解决方案,并且都是开源软件,之间互相配合使用,完美衔接,高效的满足了很场合的应用,是目前的主流选择之一...
  • 随着互联网以及物联网等技术的不断发展,越来越的数据被生产出来。基于 IDC 的报告预测,从 2013 年到 2020 年,全球数据量会从 4.4ZB 猛增到 44ZB,而到了 2025 年,全球会有 163ZB 的数据量,这些数据中蕴藏着不...
  • 大数据集群搭建 一、基础环境准备 (虚拟环境or服务器环境) 1. 虚拟环境准备(服务器安装跳过此步骤) 1.1 安装vmware [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f1N35Du3-...
  • * 关注公众号,后台回复关键词【大咖】,获取视频直播回放。策划 | 褚杏娟来源 |InfoQInfoQ《大咖说》本期嘉宾:智领云联合创始人兼CEO 彭锋博士,拥有20余年软件开发,大数据...
  • 从中我们可以看到一些趋势,在大数据生态发展的过程中,大数据系统的管理系统,大数据系统的安全,易用性,机器学习不断的补充到生态系统中来并不断完善。 早期是 Google 一家独有。2003 GFS paper 发表的时候,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 7,967
精华内容 3,186
关键字:

大数据平台多租户方案