颇有成效:去O
随着大数据的到来,采用Oracle数据库进行数据分析面临的问题越来越严峻。究其根源在于传统分析系统大多都是基于行式数据库和共享磁盘的纵向扩展架构。行数据库在执行查询时,需读取表中所有列,然后再进行过滤、关联、分组等操作,因此会非常浪费I/O。同时,传统分析系统采用共享磁盘纵向扩展架构,因服务器硬件的纵向扩展能力限制,其分析计算能力的扩展也会非常有限。因此,在大数据面前,传统分析系统面临着严重的I/O和扩展能力瓶颈。
更佳选择:VERTICA
VERTICA是基于无共享大规模并行MPP架构的列式数据库,具有高性能、高扩展性、高压缩率、高稳定性的特点。
基于数据分析业务场景特点,VERTICA为能作为最佳选择,究其原因主要在于以下差异对比:
指标 | ORACLE | VERTICA |
---|---|---|
架构 | Shared everything架构,Shared everything架构无法扩展过多节点 | Shared nothing MPP架构, shared nothing 的MPP架构扩展性更好,更适合于大数据量的并行处理 |
扩展性 | 坚持SMP体系架构,依靠高配硬件来解决体系架构存在的问题 | 依靠MPP的体系架构,基于x86工业标准,使用低廉的设备横向扩充 |
并行性 | 服务器并行和语句并行需要调度进行设置,并进行精细调优 | 所有数据库操作都是并行的,无需任何配置和监控 |
数据存储方式 | 行式存储+混合列压缩,只有在以direct load方式进入的数据才能被列压缩 | 纯列式数据存储 |
压缩方法 | 6种压缩算法(2种行压缩,4种列压缩)。只能针对表进行压缩指定 | 12种压缩方式。可以对表的各列分别指定不同压缩算法 |
加载与实时查询同时进行 | 在进行direct load加载时通常要disable index,因此实时查询无法同时进行 | Vertica支持在数据加载的同时进行高并发查询 |
数据库管理 | 复杂的管理,需要非常有经验的DBA和专用的OEM工具 | 简单,自动,无需过多人为干预 |
分析函数 | 少数简单的分析函数 | 内嵌多种分析函数与灵活的分析查询 |
Hadoop接口 | 不支持 | 支持 |
Kafka接口 | 不支持 | 支持 |
容灾性 | 通过集群进行容灾,Stroage Server通过ASM实现中度、高度冗余实现容灾 | 通过集群进行容灾,存储通过K-Safe技术实现K倍冗余用于容灾 |
成本 | 高,除基础设备采购成本外,诸多选件还需额外采购,且每年还需高额的服务费用 | 低,传统解决方案30%的成本,实现50~1000倍的性能提升 |
得益于VERTICA数据库的优势,完成了将原有ORACLE承担的数据分析场景迁移至VERTICA数据库的架构演进。 通过MPP高效数据处理能力对数据进行加工、汇总,然后将处理后的数据推送至报表数据库进行报表查询。充分利用了VERTICA的特性,提升了系统处理能力和高可用能力。
爱不释手:EON模式
随着对MPP架构数据库的深入使用,逐步暴露出这类分布式并行架构的不足,各类数据库厂商开始了架构和技术的革新。如何降低数据冗余、提高吞吐量、解决并发能力不足、提高资源利用率成为MPP数据库的关键问题。
为云而生:EON模式
Vertica EON模式是基于新一代MPP架构的企业级数据分析型数据库,采用计算资源和存储资源分离的方式,优化了数据库的可伸缩性和工作负载动态管理,为大数据场景下的数据库演进提供了先进的解决方案,可支撑业务高效持续发展。
得益于计算与存储分离的架构优势,完成了数据集市场景的优化改造,成功构建了支持多租户共享的部门数据集市服务平台。实现了“数据服务革新、数据开放共享”的目标。
不久之后:容器化
随着信息行业的快速发展,数据中心在建设及管理层面也面临诸多新的需求。对数据中心基础设施提高资源利用率、降低运营成本、资源调配(扩容及收缩)灵活性、运维管理的需求也发生了变化。这些都要求数据中心基础设施从系统架构上进行新的转变。
开箱即用:容器化
为迎接行业快速发展带来的挑战,VERTICA 11带来的容器化部署技术能够有效解决上述问题,可灵活实现跨各种基础架构快速交付的需求。
- 统一管理运维: 基于Kubernetes容器编排平台,提供跨代硬件共存的细粒度资源控制,降低运维难度和管理成本。
- 缩短部署周期: 容器化VERTICA通过自动化工具支持Kubernetes,可快速、灵活的部署一致、可重复的环境。
Containerized Vertica
Vertica Eon Mode leverages container technology to meet the needs of modern application development and operations workflows that must deliver software quickly and efficiently across a variety of infrastructures. Containerized Vertica supports Kubernetes with automation tools to help maintain the state of your environment with minimal disruptions and manual intervention.