当前位置: 首页 > 软件库 > 大数据 > 数据存储 >

ZNBase

NewSQL 分布式数据库
授权协议 Apache-2.0
开发语言 C/C++ Google Go
所属分类 大数据、 数据存储
软件类型 开源软件
地区 国产
投 递 者 袁增
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

ZNBase 是浪潮打造的一款分布式数据库产品,具备强一致、高可用分布式架构、分布式水平扩展、高性能、企业级安全等特性,自研的原生分布式存储引擎支持完整 ACID,支持 PostgreSQL 协议访问。同时提供自动化运维、监控告警等配套服务,为用户提供完整的分布式数据库解决方案。

特性

  • 完全去中心化架构

    ZNBase 集群中各个节点的地位完全对等,同时所有功能封装在一个二进制文件中,可以做到尽量不依赖配置文件直接部署。对外提供标准 SQL 接口,集群中任意节点都可以作为接入节点处理用户的 SQL 请求。

  • 高可用性

    支持不停机在线扩容、故障秒级恢复,可跨数据中心和跨地域分布,以应对来自数据中心电源中断或网络中断,以及区域电力故障等问题。

  • 弹性扩展

    原生分布式存储引擎与上层数据库实例均支持 EB 级数据弹性扩展,提供可动态无限扩展的存储容量。客户端查询请求可以发送到集群任意节点,且每个查询可独立并发执行(无论有无冲突),意味着集群的吞吐能力可以随着节点数的增加线性提升。

  • 强一致性

    支持分布式事务 ACID,使用高效的无锁分布式事务保障 ACID 语义;Raft 算法保证分布式多副本强一致、外部读写一致。

  • 云原生

    提供托管、Docker、二进制进程多种运行态,扩展运维管理容易;逻辑集中,物理分布,资源透明分片。托管服务提供自动故障恢复,自动拓展功能。

  • 安全可靠

    支持权限管理、数据库审计、加密、VPC 协同等功能;可靠性上,数据库引擎原生支持多数据中心容灾机制,无单点故障。多租户隔离,以平台化形式对上层应用与微服务提供数据访问能力,不同微服务的底层数据逻辑隔离。

  • 易于使用

    安装包仅为一个二进制文件,将所有功能、插件、工具都融合其中,极易部署管理。通过管理控制台可在几分钟内启动并投入生产的数据库。控制台提供常见的数据库运维操作,提供常见的系统监控数据和性能分析数据。

  • 协议级兼容

    高度兼容 postgre 通信协议、语法及客户端。对已有应用程序,无需应用程序代码调整,即可无缝切换。

  • 多元业务场景支持

    同时支持联机事务处理 (Online Transactional Processing ,OLTP) 及联机分析处理 (Online Analytical Processing ,OLAP) ,帮助用户基于一套系统同时承载在线交易及数据分析业务,可广泛应用于工业物联网、商业智能分析、电商推荐系统、搜索引擎等业务场景。

  • 成熟稳定

    存储节点为浪潮云存储产品,由浪潮成熟度和稳定性得到保证,ZNBase 团队专注于分布式数据库研发,提优质定的企业级支持。

应用场景

● 金融级商业数据库应用场景

​ ZNBase 数据库系统分布式数据库基于通用 x86 服务器便可轻松支撑起上亿的用户访问,并且完整支持分布式事务、强一致、多副本高可用,满足分布式核心交易业务需求完全基于云计算理念实现,同时支持云服务模式与独立部署,既具有云架构的敏捷与弹性,也兼顾了独立性与高性能,既可满足传统核心应用对安全与性能的要求,又能轻松实现业务上云。

● 多地部署异地多活场景

​ZNBase 数据库系统具有原生数据强一致性的独特优势,支持统一部署,数据地理分区,高延迟网络条件下的数据一致性技术、分布式的多副本强一致,可以满足“中央-地方”多级多地部署需求。分部和各地分支机构在各自数据中心的集群进行常规业务操作,总部通过统一逻辑视图进行数据透明汇总和分析。

● 海量数据存储访问场景

​ZNBase 数据库系统支持节点快速弹性完成垂直、水平扩展缩容,存储容量最大到 4EB,完全满足用户的海量数据存储和查询要求。可以广泛应用于工业远程监控和远程控制、智慧城市的延展、智能家居、车联网、充电桩加油站等传感监控设备多、采样率高、数据上报存储数据量大的场景。

● HTAP 混合场景

​ZNBase 数据库系统充分实现了 HTAP (Hybrid Transactional and Analytical Processing, HTAP) 解决方案,能做到针对同样数据的 OLTP 与 OLAP 业务同时运行且互不干扰,降低数据存储成本。可广泛应用于工业物联网、商业智能分析、电商推荐系统、搜索引擎等业务场景。

总体架构

ZNBase 数据库系统参考自谷歌 Spanner+F1 的设计思想,包含上下两层结构。其中 SQL 层使用 Go 语言开发,基于开源 Cockroach DB 修改,消化吸收并重写、优化其商业代码和开源部分代码,源代码修改率(自主可控度)已达 76%。存储层使用 C++ 开发,采用多模存储引擎,涵盖结构化(行、列存储)、KV 键值存储、文件存储、时序存储、图存储、区块链存储等,目前已实现结构化(行、列存储)和 KV 存储。

ZNBase 目前已经将存储层部分的 KV 存储组件 ZN-KVS 开源,未来还将陆续开源 SQL 层、多模存储引擎以及基于 Go 语言的上下层封装 API。
 

  • ZNBase 是由浪潮于近期开源的一款 HTAP 分布式数据库,也是首个即将被开放原子开源基金会接纳的国产数据库项目。该数据库系统为应对日益剧增的混合负载场景研发,能够混合事务和分析场景,适用更多数据应用需求。为实现 HTAP 的特性,该数据库系统中的列存引擎子系统在整个系统架构中扮演了重要的角色。 优品拍拍 支撑 ZNBase 的 HTAP 功能的是多模存储引擎,在其中结构化数据的处理上,存储可

  •   深入解析 Raft 模块在 ZNBase 中的优化改造   Raft 作为一种管理日志复制的分布式一致性算法,由斯坦福大学的 Diego Ongaro 和 John Ousterhout 在论文中提出。在 Raft 出现之前,Paxos 一直是分布式一致性算法的标准。但 Paxos 相对难以理解,Raft 的设计目标就是简化 Paxos,使得一致性算法更容易理解和实现。优品拍拍   Paxos

 相关资料
  • 分布式支持 数据访问层支持分布式数据库,包括读写分离,要启用分布式数据库,需要开启数据库配置文件中的deploy参数: return [ // 启用分布式数据库 'deploy' => 1, // 数据库类型 'type' => 'mysql', // 服务器地址 'hostname' => '192.168.1.1,19

  • 一个成功的技术,现实的优先级必须高于公关,你可以糊弄别人,但糊弄不了自然规律。 ——罗杰斯委员会报告(1986) 在本书的第一部分中,我们讨论了数据系统的各个方面,但仅限于数据存储在单台机器上的情况。现在我们到了第二部分,进入更高的层次,并提出一个问题:如果多台机器参与数据的存储和检索,会发生什么? 你可能会出于各种各样的原因,希望将数据库分布到多台机器上: 可扩展性 如果你的数据量、读取负载、写

  • 这里我的疑问是,如果我使用多个分布式数据库,cam如何在配置(application.properties)中提到不同的DB源URL?目前我正在使用以下结构来使用一个数据库, 就像上面那样。 所以,如果我使用多个DB用于多个区域,我如何在这里给出有条件的配置?我是微服务世界和分布式数据库设计模式的新手。

  • 我将hazelcast服务器分布在多个节点上。我假设hazelcast将在集群中分发任何IMap数据,这样每个节点都将拥有属于映射的数据。这是建立集群后默认情况下应该发生的事情,还是需要在hazelcast.xml中设置代码或配置?

  • 本文向大家介绍NoSQL数据库的分布式算法详解,包括了NoSQL数据库的分布式算法详解的使用技巧和注意事项,需要的朋友参考一下 今天,我们将研究一些分布式策略,比如故障检测中的复制,这些策略用黑体字标出,被分为三段: 数据一致性。NoSQL需要在分布式系统的一致性,容错性和性能,低延迟及高可用之间作出权衡,一般来说,数据一致性是一个必选项,所以这一节主要是关于 数据复制 和 数据恢复 。 数据放置

  • 主要内容:并行化集合,外部数据集RDD(弹性分布式数据集)是Spark的核心抽象。它是一组元素,在集群的节点之间进行分区,以便我们可以对其执行各种并行操作。 有两种方法可以用来创建RDD: 并行化驱动程序中的现有数据 引用外部存储系统中的数据集,例如:共享文件系统,HDFS,HBase或提供Hadoop InputFormat的数据源。 并行化集合 要创建并行化集合,请在驱动程序中的现有集合上调用的方法。复制集合的每个元素以形成

  • 一、分布式锁 数据库的唯一索引 Redis 的 SETNX 指令 Redis 的 RedLock 算法 Zookeeper 的有序节点 二、分布式事务 2PC 本地消息表 三、CAP 一致性 可用性 分区容忍性 权衡 四、BASE 基本可用 软状态 最终一致性 五、Paxos 执行过程 约束条件 六、Raft 单个 Candidate 的竞选 多个 Candidate 竞选 数据同步 参考 一、分

  • 1. 前言 一个项目中使用多个数据源的需求,我们在日常工作中时常会遇到。 以商城系统为例,有一个 MySQL 的数据库负责存储交易数据。公司还有一套 ERP 企业信息化管理系统,要求订单信息同步录入 ERP 数据库,便于公司统一管理,而该 ERP 系统采用的数据库为 SQL Server 。 此时,就可以在 Spring Boot 项目中配置多个数据源。另外,使用多数据源后,需要采用分布式事务来保