1. 概述:
uxdb系统主要包含uxdb、uxdbweb、uxdbadmin。UXDB是一款企业级分布式数据库,数据处理引擎(DB)和分布式存储(UXFS)是非常重要的两个功能模块。
2. 特性:
-
兼容关系型数据库
-
吸纳Nosql高吞吐的性能
-
拓展Json数据格式(结构化数据和半结构化数据的无缝结合)
-
uxdb是一种将数据处理和存储分离的混合式的数据库架构,既可以满足OLTP的高并发、高可用性特点,又可以满足OLAP的大数据处理要求。
-
避免将处理和数据绑定的架构,将磁盘i/o瓶颈转化为网络I/O
-
系统的高可用(分布式存储本身、DFS)和数据的高可用(数据处理和存储分离、osd)
-
分布式存储由DIR(目录服务器),MRC(元数据服务器)和OSD(内容服务器)组成。DIR和MRC均可以配置为多副本的高可用配置,OSD则采用OSD Farm的方式进行部署,其核心是保障数据高可用,而非OSD本身的高可用,具体的是通过多份replication的方式实现数据本身的高可用。
-
数据类型的多样化(网络地址CIDR、多维数组、几何类型、json/jsonb)
-
索引(B-Tree、hash、gin、gist、brin、局部索引、表达式索引)
-
特色查询:通用表达式和递归、物化视图、集合查询、窗口函数等
-
安全性:黑白名单、全数据库级别加密、列数据加密、访问权限控制(系统权限和对象权限)、行级数据库访问控制、通信信道加密(openssl)、基于会话的资源隔离、强制身份验证、支持多租户、数据库审计
3. 管理工具:
-
UXSQL:UXDB数据库内置交互式命令行工具,用于数据库连接、创建与管理,可使用SQL语言和元命令操作数据库对象,具有命令自动补齐等特性。
-
UXDBAdmin:桌面客户端模式的数据库图形化管理和维护工具,用于数据库连接、数据库对象管理、SQL语句编写、执行、调试,数据逻辑备份和恢复、运行监控等。
-
UXDBWeb:基于B/S架构设计的分布式集群监管工具,用于对数据库实例、对象、角色、权限、主机认证、监控、告警、操作日志、自动部署、许可证等的管理和使用情况的实时监控。
-
UXMigrator:数据迁移工具,支持国内外主流数据库或标准化数据文件一键迁移到UXDB的工作;支持命令行及图形化操作;国内外主流数据库包括:Oracle、MySQL、SQLServer、DB2、Sybase、国产数据库等;数据文件包括:CSV、TXT、XLS等。
4. 与其他数据库产品的对比:
5. 部署模式
-
单机主备模式部署:主库的数据以流复制的方式同步到备库上(流复制方式支持:同步、异步),当主库出现问题时,主备快速切换,备库接管主库全部功能,从而保证业务系统的正常运行,实现高可用。主库具备读写功能,备库具有只读功能,当主库出现读压力时,通过负载均衡,可以将主库读压力分摊到备库上。从而,减轻主库压力,大幅提升系统性能。
-
大规模并行处理(MPP)部署
-
实时应用集群部署
-
云环境部署
6. uxdb常用命令:
// 启动数据库集群 systemctl start uxdb // 关闭数据库集群 systemctl stop uxdb // 创建本地集群 ./initdb -W -D uxdblocal01 ./initdb -W -D /home/uxdb/uxdbinstall/dbsql/bin/uxdblocal02/ // 启动DB server uxdb -D uxdblocal01 ux_ctl -D uxdblocal01 start uxdb -D /home/uxdb/uxdbinstall/dbsql/bin/uxdblocal02/ ux_ctl -D /home/uxdb/uxdbinstall/dbsql/bin/uxdblocal02/ start // 停止DB server ux_ctl -D uxdblocal01 stop ux_ctl -D /home/uxdb/uxdbinstall/dbsql/bin/uxdblocal02/ stop // 查看DB server状态 ux_ctl -D uxdblocal01 status // 访问uxdb uxsql -U uxdb -d uxdb-p 5432 // uxdb查看数据库列表 uxsql -l