博客
关于我
开源分布式中间件 DBLE Schema.xml 配置解析
阅读量:618 次
发布时间:2019-03-13

本文共 1797 字,大约阅读时间需要 5 分钟。

DBLE技术深入解析

DBLE(Distributed Block Level Encryption)项目旨在为分布式数据库引入块级加密能力,提供多级安全防护。本文将从配置文件和核心组件的角度,详细介绍DBLE的工作原理及实践应用。

1. DBLE项目概述

DBLE是一个专注于数据安全的开源数据库中间件。其核心功能包括表级加密、列级加密、行级加密,以及基于定时任务的自动加密/解密操作。DBLE的应用场景主要涵盖敏感数据保护(如金融、医疗等行业),以及对商业数据库的安全性要求较高的企业环境。


2. DBLE主配置文件解析

DBLE的核心配置文件分布在conf目录下,主要涉及以下几个文件:

  • schema.xml:定义数据库的分片策略,包括表的分片方式、分片节点配置等。
  • rule.xml:配置分片算法规则,决定具体使用的分片策略。
  • server.xml:定义DBLE的运行参数,包括端口设置、定时任务配置、用户认证等。
  • datahost.xml:配置数据主机( Data Host,简称DH)的群组管理,包含每个DH的连接信息、负载均衡设置等。

通过合理配置这些文件,可以实现对数据库表结构的动态管理,并支持多层级加密策略的划分。


3. schema.xml详解

schema.xml是DBLE的核心配置文件,负责将逻辑数据库与物理数据库之间建立映射关系。其主要作用是定义如何将一个逻辑表分配到多个物理数据库中,并指定具体的分片策略。

3.1 XML结构解析

schema.xml采用了基于XML的耦合方式定义数据库分片策略。其主要包含以下标签:

  • schema:定义一个逻辑数据库。

    • table:定义表的分片配置,支持以下属性:
      • name:表名。
      • primaryKey:主键字段名称。
      • type:分片类型,可选值包括:global(全局分片)、sharding-by-date(按日期分片)等。
      • dataNode:指定分片表所在的数据节点(数据主机,Data Node,简称DN)。
  • dataNode:定义单独的数据节点,包含以下属性:

    • name:数据节点名称。
    • dataHost:绑定的数据主机名称。
    • database:所属数据库。

3.2ibling配置示例

以下为DBLE schema.xml的一个典型配置示例:

3.3 分片规则解读

schema.xml中,表的分片规则主要由以下参数决定:

  • dataNode:决定表的分片节点。无入侵分片时,所有数据片分布在分布式数据节点上。
  • rule:定义具体的分片规则,例如sharding-by-date,表示按日期分片。
  • encryption:定义字段加密策略,可设置为column_level,实现列级加密。

  • 4. 分片与加密的协同配置

    DBLE支持与其他开源数据库(如MySQL、PostgreSQL)集成,提供高级数据安全功能。通过schema.xmlrule.xml的灵活配置,管理员可以根据具体需求实现以下场景:

  • 动态分片:基于数据库负载或时间窗口,自动调整分片策略。
  • 混合加密:在列级加密的基础上,定义部分字段需要表级加密或其他高级加密方式。
  • 跨节点读写规则:在datahost.xml中,定义不同数据主机的读写权限策略,保障数据的双向安全性。

  • 5. 高级分片与加密方案

    在实际应用中,schema.xml的配置可以非常灵活。例如,通过如下配置实现多层级加密和分片策略:

    5.1 数据分片与加密结合

    通过rule.xml的支持,DBLE可以实现复杂的分片规则和加密策略。此外,datahost.xml中可以通过定义writehostreadhost规则,实现对不同数据节点的访问控制。


    总结

    schema.xml是DBLE配置中的核心文件,负责定义数据库的分片策略和加密规则。通过合理配置该文件,可以实现对数据库表的灵活分片和高级加密需求。对于刚接触DBLE的开发者,可以参考官方文档和示例配置文件,逐步熟悉其内部逻辑和使用场景。

    转载地址:http://qnraz.baihongyu.com/

    你可能感兴趣的文章
    MySQL5.7.19-win64安装启动
    查看>>
    mysql5.7.19安装图解_mysql5.7.19 winx64解压缩版安装配置教程
    查看>>
    MySQL5.7.37windows解压版的安装使用
    查看>>
    mysql5.7免费下载地址
    查看>>
    mysql5.7命令总结
    查看>>
    mysql5.7安装
    查看>>
    mysql5.7性能调优my.ini
    查看>>
    MySQL5.7新增Performance Schema表
    查看>>
    Mysql5.7深入学习 1.MySQL 5.7 中的新增功能
    查看>>
    Webpack 之 basic chunk graph
    查看>>
    Mysql5.7版本单机版my.cnf配置文件
    查看>>
    mysql5.7的安装和Navicat的安装
    查看>>
    mysql5.7示例数据库_Linux MySQL5.7多实例数据库配置
    查看>>
    Mysql8 数据库安装及主从配置 | Spring Cloud 2
    查看>>
    mysql8 配置文件配置group 问题 sql语句group不能使用报错解决 mysql8.X版本的my.cnf配置文件 my.cnf文件 能够使用的my.cnf配置文件
    查看>>
    MySQL8.0.29启动报错Different lower_case_table_names settings for server (‘0‘) and data dictionary (‘1‘)
    查看>>
    MYSQL8.0以上忘记root密码
    查看>>
    Mysql8.0以上重置初始密码的方法
    查看>>
    mysql8.0新特性-自增变量的持久化
    查看>>
    Mysql8.0注意url变更写法
    查看>>