> 首頁 > 雲數據庫 UXDB

産品概述

为雲平台打造的NewSQL数据库系统

为雲平台打造的NewSQL数据库系统

优炫雲數據庫(UXSINO Database,简称UXDB)是一款为雲平台打造的NewSQL数据库系统。UXDB全面兼容传统的关系型数据库的数据建模模式并保证事物处理的一致性(ACID),用户可继续使用其熟悉的SQL语言使用UXDB。同时,UXDB还吸纳了NoSQL的横向扩展性和高速的吞吐性能的特性,突破传统关系型数据库无法支持海量数据的局限,以及NoSQL数据存储不能使用SQL语言进行查询的不足。

支持大數據分析,UXDB産品除了支持標准SQL-2003的DDL,DML,DCL以外,還擴展了對JSON數據格式的支持,並實現了JSON數據項和其他數據庫表之間的鍵關聯關系,從而達到將結構化數據(數據庫表)和半結構化數據(JSON)的無縫結合,使UXDB的用戶可以在同一個數據庫産品中使用結構化和半結構化數據。

支持统计分析,UXDB内置了一些常用的基于大数据的统计,例如GROUPING SET、CUBE和ROLLUP是将数据统计之后进行归集。此外,UXDB还支持SAMPLETABLE的概念,SAMPLETABLE适用于统计抽样。

注:NewSQL是由Matt Aslett在2011年提出的新的数据库分类。NewSQL数据库在提供传统的标准的SQL关系型数据库的同时,吸纳了NoSQL的扩展性和高效等特性,NoSQL是对不同于传统的关系数据库的数据库管理系统的统称。

産品生態環境

産品生態環境
优炫雲數據庫核心组件由四个子系统(数据处理引擎、分布式存储、雲數據庫管理平台、以及雲數據庫开发IDE)、外部连接器、Plug-in框架和多语言链接渠道组成。
数据处理引擎和分布式存储是优炫雲數據庫的核心组成部分,所有的数据处理以及数据持久化都在这个核心部分中完成。
雲數據管理平台是基于Web的雲管理平台,可以在一個平台中管理多個數據庫集群,並進行實時監控。
雲數據庫开发IDE是一个基于桌面的应用,意在提供一套完整的可供客户进行数据库开发的集成环境。
此外,优炫雲數據庫是基于扩展设计的,通过外部连接器可以与第三方数据源进行对接;同时,客户可通过plug-in框架在数据库中植入自定义的逻辑(如内置函数、特殊数据处理模块等)来满足客户的扩展性需要。

産品部署邏輯結構圖

産品部署邏輯結構圖




UXDB的逻辑部署架构既可以满足以DBaaS(数据库及服务)方式进行部署,也可以满足以雲數據庫环境进行部署。如左图:
客戶端將數據寫入數據庫引擎後,實際數據將被分片寫入分布式存儲,分布式存儲會在存儲端持久化的時候進行多複本寫入。
當需要擴展存儲的時候,只需要增加更多的分布式存儲節點,系統將會自動平衡存儲,新的數據將寫入新增的存儲節點。

産品特性

特性描述

伸縮性
分布式存儲打破數據庫數據的上限
分布式存儲,是將數據分散存儲在多台獨立的設備上。傳統的網絡存儲系統采用集中的存儲服務器存放所有數據,存儲服務器成爲系統性能的瓶頸,也是可靠性和安全性的焦點,不能滿足大規模存儲應用的需要。分布式存儲采用可擴展結構,利用多台存儲服務器分擔存儲負荷,利用位置服務器定位存儲信息,它不但提高了系統的可靠性、可用性和存取效率,還易于擴展。
分布式存儲提升數據訪問性能
磁盤的I/O一直是數據庫産品的軟肋(這裏提及的磁盤是HDD、SSD),尤其當數據增加到TB甚至PB級別之後,這種I/O的延遲將變得更爲明顯。分布式系統將數據訪問分散在不同的數據服務節點上,其效果是多個硬盤的同時讀寫操作(並發處理),該方式將傳統數據庫的磁盤I/O的壓力轉化爲網絡I/O,從而提升整體性能。
高可用性
分布式存儲集群和容錯
UXDB是将数据处理(数据库引擎)和数据存储(分布式存储)分离的数据库系统,数据库引擎不再参与数据的复制(replication),该工作将由分布式存储接管,UXDB的分布式存储系统支持:无复制(none replication)、读复制(read only replication)和读写复制(read-write replication)。当启动了复制功能后,同一份数据会分别存储在不同的数据内容服务节点上(缺省为3份replication的副本),当集群中任何一台数据内容服务结点失败时,分布式存储都将能够提供完整的数据,这将不会影响数据库引擎的正常工作。
此外,分布式存儲還包括DIR-目錄服務器、元數據和複制服務器,這兩種服務器均支持Hot-Standby的集群。
數據庫引擎的Hot-Standby集群
数据库引擎支持Hot-Standby集群方式,该方式是通过以流方式实时复制WAL(write、head log)实现的。
流複制傳遞日志的方式有兩種,一種是異步方式,一種是同步方式。異步方式是事務提交後不必等日志傳遞到Standby即可返回,所以Standby數據庫通常比Primary數據庫落後很少;同步方式在Primary數據庫提交事務時,一定會等到WAL日志傳遞到Standby後才會返回,這樣當主備庫切換時可以做到零數據丟失。
數據一致性
支持ACID
ACID是指數據庫事務正確執行的四個基本要素的縮寫,包含:原子性(Atomicity)、一致性(Consistency)、隔離性(Isolation)和持久性(Durability)。UXDB支持事務的這四種特性,可以使開發人員的開發工作得到最大限度的簡化,不必考慮過于複雜的並發問題,有易于保證程序在並發狀態下的正確性。
MVCC
MVCC(Multiversion Concurrency Control)即多版本并发控制,它可以避免读写事务之间的互相阻塞,与通常的封锁技术相比极大的提高了业务的并发性能。
WAL (Write-Ahead Log)
當系統意外宕機後,恢複時需要回退未完成事務所做的更改,並確保已提交事務所作的更改均已生效。
支持多租戶
基于數據庫的多租戶
UXDB支持基于數據庫的多租戶,采用该种方式的多租户使得数据库的隔离较为彻底,从认证层面就开始隔离,数据库与数据库之间无法直接访问,必须登陆到对方的数据库中才能访问记录。
同時,UXDB支持進一步的通過預先配置的方式進行來源IP控制,即只允許某些IP白名單中的IP訪問數據庫。
基于SCHEMA的多租戶
UXDB支持基于SCHEMA的多租戶方式,该方式是单库多SCHEMA的方式,通过UXDB的权限体系进行隔离用户,访问不同的SCHEMA。
基于數據和訪問的多租戶
除了上述两种传统的方式之外,UXDB还可提供第三种基于數據和訪問的多租戶模式,该方式是在同一个数据库,同一个SCHEMA下,针对每个用户建立一个不同的角色,对需要进行隔离的数据库表,设置针对角色和操作的行級數據訪問控制(参见“(5)安全性-行級數據訪問控制”)来达到多个用户在同一个数据库中的数据访问和操作范围的控制和隔离。
安全性
全數據庫級別加密
UXDB支持全數據庫級別數據加密,即數據在持久化到分布式存儲之前就進行了數據加密。
列數據加密
UXDB支持對關鍵表的關鍵列進行加密設置,該設置將在該列數據持久化到分布式存儲之前就進行了數據加密。
表級訪問控制
UXDB支持基于用戶級別的對象訪問控制。
行級數據訪問控制
UXDB支持對行級數據的訪問授權,這是一種基于用戶的訪問控制,用來根據用戶權限來進行數據訪問的控制。
通信信道加密
UXDB支持全程通信信道的加密,全程通信信道指的是從客戶端到數據庫處理引擎,數據庫處理引擎到分布式存儲的所有通信信道。
基于會話的訪問隔離
UXDB采用多進程的方式處理請求,這確保了每個連接會話都將由一個獨立的UXDB服務進程來處理。
內置數據庫審計
UXDB提供可定制的基于會話和操作的數據庫審計功能,實時記錄數據庫活動,對數據庫操作進行細粒度審計(誰在什麽時候做了什麽以及結果)。它通過對用戶訪問數據庫行爲的記錄、分析和彙報,用來幫助用戶事後生成合規報告、事故追根溯源,同時加強內外部數據庫網絡行爲記錄,提高數據資産安全。
二次開發和擴展
UXDB是基于扩展设计的雲數據庫系统,该系统提供了针对扩展外部数据源和自定义数据处理的二次開發和擴展的框架。

主要功能

  • (1)支持RDBMS的所有功能以及擴展外部數據源

    RDBMS即关系数据库管理系统(Relational Database Management System),是将数据组织为相关的行和列的系统。
    UXDB數據庫支持標准SQL,以及常用的數據庫操作,包括觸發器、存儲過程和用戶自定義函數。
    UXDB数据库通过Foreign Data Wrapper的方式为客户提供自定义的外部数据源,UXDB数据库将通过标准SQL查询的方式对外部数据进行操作。
  • (2)支持JSON數據格式

    UXDB數據庫支持JSON(JavaScriptObjectNotation)數據類型,該類型可以作爲數據表的一個數據項,並內置了針對JSON數據格式的操作函數,對JSON數據進行直接操作,而不需要將JSON數據讀出再在數據庫客戶端應用程序中進行再處理。此外,JSON數據項還可以作爲鍵值與其他數據庫表的項目進行關聯和約束。
    JSON數據類型可以用來存儲JSON數據,當然也可以使用text、varchar等類型存儲JSON數據。而且JSON數據類型還可以使用豐富的函數。
  • (3)支持JDBC、ODBC和Hibernate

    UXDB數據庫提供UXDB的JDBC連接庫,以及爲Hibernate提供UXDB的Delegator庫。
    UXDB提供了UXSQLDialect的驅動jar包,結合uxdb-jdbc的驅動jar包實現Hibernate框架連接數據庫。UXDB還支持ODBC方式連接數據庫。
  • (4)數據庫備份和恢複

    UXDB提供了一系列的數據庫備份和恢複的方式。目前這些方式包括:SQL純文本備份和基線備份。
  • (5)重置索引

    UXDB提供索引重置機制來確保當數據索引失效之後的恢複。
  • (6)産品的安裝和卸載不影響業務

    産品在安裝和卸載時均不需要重啓操作系統,可以保障一些重要的服務器不怠機,爲客戶提供持續穩定的服務。

應用場景

  • 大數據處理

    大數據處理

    智慧城市、日志分析、數據倉庫、商業智能、機器學習、科學模擬等。
  • 大型聯機交易系統

    大型聯機交易系統

    銀行系統、賬務系統、高頻聯機交易系統。
  • 大型Web應用

    大型Web應用

    在線系統、在線查詢平台、在線交易平台。
  • 數據業務分析

    數據業務分析

    分布式分析處理,適用于商業分析、大數據挖掘等場景。
  • 數據異地容災

    數據異地容災

    灾备解決方案,防止硬件故障导致数据丢失。

文檔中心

MORE+