SequoiaDB 巨杉数据库是一款国产自研的金融级分布式数据库。我首次了解到巨杉数据库是在深圳大学的数据库内核课上,再后来参与了巨杉数据库在深圳大学开设的公开课,了解到了巨杉数据库的发展过程、发展理念以及他们的发展方向。之后观看了 SequoiaDB V5.2 发布会视频,了解了巨杉数据库产品的最新特点。
下面我就公开课以及发布会中学习到的一些内容做一个简单小记
首先,大概了解一下什么是结构化数据、半结构化数据、非结构化数据,简单地说就是:
非结构化数据相比于结构化数据的一个问题就是难以存储和利用,在上一个信息化的大数据时代,我们往往用以数据分析挖掘的是结构化的结果数据,非结构化数据的价值还未被充分挖掘和发挥。那巨杉数据库的一个目标就是释放全量数据价值
伴随数字化的发展,企业不但需要面向业务的交易核心,同时需要面向全量数据价值的数据核心
全量行为数据、流水数据相比于结果数据是十分庞大的,可以想象每个人的账户都有一笔钱,但是账户之间的交易流水数据是非常非常多的,每刷一次支付码就多一条流水记录,可以想象这个量级是多么恐怖
相比于聚焦于处理业务结果数据的交易核心数据库,处理海量数据就需要借助分布式技术强大的横向扩展能力,这就对数据核心的数据库提出了与交易核心截然不同的需求:
异步离线:
当下不少企业处理全量数据的方案是通过MPP数据仓库+Hadoop大数据平台构建数据库系统。但是因为MPP和Hadoop的各种限制,很难提供高并发的实时对客查询访问,数据的价值就仅仅停留于对系统的提供离线的数据分析、统计、加工等能力
然而在数字化经济的发展当中,全量数据的实时对客查询以及分析能力,是提升客户满意度的关键的因素。因此这个需求推动着巨杉数据库的发展
实时对客:
巨杉数据库在数据流入以及数据的高并发加粗样式对客两个方向提供实时的能力支持:数据实时流式入户以后除了可以进行实时的分析统计加工以外,更可以提供对结构化、半结构化数据的实时可高并发查询,以及对对象数据提供实时存取的服务能力
巨杉数据库并不是要替代左边或是右边,而是希望通过湖仓一体的能力,服务于面向全量数据价值的全新的数据核心,为客户在不同需求场景提供不同的产品选择
巨杉数据库早在十年前看到Hadoop并不能满足数字化的发展,于是开始自研原生分布式内核。也正是由于中国经济数字化发展领先于全球,中国的金融、银行业对数字化转型的需求是比世界其他国家都要大的,可以说巨杉数据库是带有中国特色的创新。从2013年正式商业化以后,随着客户对于多模数据处理实时高并发,以及数据分析的一个业务需求,推动着巨杉数据库从多模数据湖到实时数据湖,再发展到湖仓一体。v5.2将进一步增强流式处理、查询分析等能力
在数据湖的应用场景中,数据的导入和使用都是离线的。过去几年流批一体的数据导入模式使得数据集成不再依赖于单纯的异步ETL处理,流式处理让数据库的数据输入更实时,但还是只能离线进行数据分析统计,无法提供实时的对客服务。
巨杉数据库基于湖仓一体架构深度优化了实时查询处理能力,针对交易进行了深度的优化,特别是在 BKA Join 和 Index Merge 方面进行了深度优化
为了让高并发的对客实时查询更加平稳,巨杉提供了多维分区技术
基于数据域,按需基于时间范围分类等条件实现数据的精准定位,在基于条件的范围查询中避免形成全标的数据偏离,降低网络IO提升并发效率
在数据域内的数据再进行基于ID、名字等具体属性的二次哈希分区,在进行基于明确属性的精准查询中,可以有效分散数据IO,避免IO拥堵
为了解决客户的实时数据分析需求,巨杉引入全新的列存存储能力,并通过SequoiaDB的引擎级多模能力,将数据统一存储在分布式存储底座中
列存相比于行存的优势:
行存情况下,在选择查询只涉及少数几项属性时,数据库必须读取每一条完整的行记录,读取效率低。列存这时候可以只读取与查询目标相关的列,减少无关IO避免全表扫描
接下来版本中,巨杉还将提供行列转换的能力,同时也可以提供对外的增量数据输出能力,实现湖对下游提供数据服务,实现端到端打通
另外,巨杉引入了自研的微分区技术有效的缓解了数据膨胀,同时将微分区以及分区之上各个列的统计信息相结合,在查询过程当中,更大程度的减少了数据访问量带来额外的性能提升。在极端的场景下也可以直直接使用我们的统计信息,如select count(*)
上面几个特性是巨杉数据库在结构化数据查询、数据分析实施能力的体现,而分片并发加可变变化大小实得非结构化数据处理更实时
非结构化数据系统需要具备的能力:
在巨杉数据库中通过两部分进行非结构化数据的管理和访问——上层的数据引擎层和下层的存储引擎层,它们分别进行专门的数据优化处理以提高非结构化数据的处理能力:
没有中间节点的交互,且分片元数据以及分片数据可以存储在不同的存储介质上,可以将分片元数据存在高性能的SSD上,分片数据存在高密度的HDD上
但是分片并发有个缺点就是分片小了浪费IO,分片大了浪费空间。业界大多采用后台合并来重新压缩空间,这就带来了大量IO放大和分片寻址IO次数增加,对上层业务读写带来性能波动。巨杉数据库采用可变分片大小技术,根据对象自身的大小自适应调整分辨大小,业务对象写入巨杉数据库后后台不会发生任何的IO合并,保障业务读写的性能稳定性确保实施能力
过去的数据平台中,结构化数据和非结构化数据只能采用不同系统来混合搭建,因此在容灾上页只能针对各系统采用独立的容灾方案,这会带来容灾数据不一致的问题
巨杉数据库通过多模的数据管理能力对多模数据进行统一的容灾管理,提供多种在线容灾策略,保证了一致性且极大简化了运维
为了让数据根据本身的访问和价值的特点在不同配置的硬件中实现按需分布,实现全链路的生命周期管理,巨杉数据库通过数据域在统一的平台中,可以实现异构的硬件配置,可以同时实现高性能的热数据域和大容量的温数据域满足不同数据的特性要求。对于长期需要保存、极少参与或不再参与在线业务的冷数据也支持将数据同步至第三方存储,以对象数据的方式进行异构存储的管理
巨杉数据库为客户提供了名为SAC的分布式数据库集群管理工具,面向巨杉的全系列的产品提供一站式的运维管理平台,覆盖了集群管理、系统管理、数据管理、监控、安全管理五大方向。它的监控能力杠杠的,帮助快速定位解决故障问题且提供趋势分析预警
在数据的监控能力方面,又分为性能、集群、查询、事务、会话、死锁六大监控模块
通过发布会的演示可以清晰地看到,SAC分布式数据库集群管理工具的功能非常丰富。首先在趋势分析里能看到某个时间段的数据库整体统计信息、数据库性能信息。在慢查询监控中能看到慢查询详细信息,能看到网络开销情况、访问计划、查询路径等,很多。
主要内容就这么多啦~
图片以及资料来源:
简述结构化数据、非结构化数据、半结构化数据
巨杉数据库SequoiaDB V5.2发布会回放完整版
巨杉湖仓一体技术解读|列存+微分区优化,分析性能10倍提升
详细的内容大家可以自行观看发布会视频,在发布会中更有赛迪顾问对《湖仓一体技术研究报告》进行深度解读。在巨杉数据库的微信公众号也有许多技术解读内容。
另外,巨杉在人才培养方面开设了一个SequoiaDB University,里面有许多学习课程,它致力于培养熟悉分布式架构和数据库技术的一流人才,提供线上线下的培训考试和认证,助力拓展技术视野,共同促进技术生态发展。在官网也有SequoiaDB文档,有兴趣深入学习的朋友们可以去康康。
鄙人资历尚浅,对数据仓库和分布式的了解不多,湖仓一体也是刚刚接触到的一个概念。如有谬误或整理不到位之处,烦请指教~
文章浏览阅读9.7k次,点赞6次,收藏68次。引言 LMS学习算法是由Widrow和Hoff于1960年提出的,该算法也称为Δ\DeltaΔ规则,该算法与感知器网络的学习算法在权值调整上都基于纠错学习规则,但LMS算法那更容易实现,因此得到了广泛应用。 注意:LMS算法只能训练单层网络,但这并不影响其功能,从理论上讲,多层线性网络并不比单层网络强大,它们具有同样的能力,即对于每一个多层线性网络,都具有一个等效的单层..._lms算法
文章浏览阅读9.1k次,点赞9次,收藏14次。作为一个嵌入式开发者,我觉得基于Linux的系统编程,这个应该是绕不开的话题。本文将围绕,为何要掌握Linux系统编程这个问题,给出一些观点,希望对各位有所帮助。_学习了linux系统编程可以结合什么用
文章浏览阅读1k次。在之前的文章中向大家介绍了“该如何选择LoRaWAN终端入的网方式”,本文主要介绍了OTAA节点是如何入网的。此文来自微信公众号“小七说LoRa”,内容已获小七老师授权,小七老师是腾讯云在线课程讲师,点击链接https://mp.weixin.qq.com/s/WvGmi81zBMzbAX8OUb-DpA可以观看课程视频。OTAA的全称是Over The Air Activation。它的入网步骤是这样的:节点发出的Join Request请求通过网关转发到服务器,也就是NS;NS会对该请求做一些判断处_join_devnonce_err
文章浏览阅读6.4k次,点赞2次,收藏15次。7pin0.96寸 OLED模块支持SPI和 IIC接口;默认是SPI接口;如果想用 IIC接口;操作如下几步骤:1.将模块背面的电阻R3换到R1 位置,此时将模块切换为IIC接口;电阻 R8 可以用0 欧姆电阻或是用焊锡短接电阻两端。2.CS脚接地。3.DC脚的处理:在 IIC 通信中 DC的高低电平是用来选择IIC通信地址的;当 DC接地时 IIC从机地址为:0x..._spi的dc怎么接
文章浏览阅读828次。Device Driver BasicsThis section introduces you to device drivers and their entry points on the Solaris platform.What Is a Device Driver? A device driver is a kernel module that is responsible_9、device driver basic
文章浏览阅读786次。Spring Boot整合Shiro完成认证,权限管理,MD5+salt加密整合代码如下Pom.xml后端代码配置文件application.properties前台代码整合代码如下Pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0"..._shiro整合md5+权限
文章浏览阅读2.8k次。转载:https://blog.csdn.net/qq_30624591/article/details/102679377每个属性都有一个名称和值,他们都是字符串格式。属性被大量使用在Android系统中,用来记录系统设置或进程之间的信息交换。属性是在整个系统中全局可见的。每个进程可以get/set属性。属性服务在“init”守护进程中运行。每一个客户端想要设置属性时,必须连接属性服务..._property_value_max
文章浏览阅读1.4k次。SAS学习6(freq过程、tabulate过程、univariate过程、plot过程、chart过程)_sas中vbar什么意思
文章浏览阅读1.9k次。今日在xxl-job任务调度中心,指定定时任务执行的机器地址时,报了xxl-rpc remoting error(no protocol: [指定ip]/run), for url : [指定ip]/run 错误。2、最后发现指定机器地址:http://127.0.0.1:9999/就可正常运行定时任务了。但是手动执行任务时却还是报错,根本就没有进入,猜测是地址问题。1、将执行器节点ip改为:http://127.0.0.1:9999。2、状态码 200 表明请求已经成功,服务器已成功处理了请求。_xxl-job remoting error(no protocol: 10.200.7.184:9999/run), for url : 10.200
文章浏览阅读8.3k次,点赞40次,收藏44次。目录安装前准备服务器数据库安装包依赖的软件修改操作系统配置配置文件准备预安装安装及验证安装前准备这里要准备三个部分,服务器(OS已安装好)+数据库安装包+依赖的软件。服务器首先找小伙伴申请了华为云服务器安装好了OS,这里使用的是x86_64+openEuler 20.03LTS。你要是没有这么给力的小伙伴就自己亲力亲为吧~ 华为云服务器现在可是很划算呢,安装也很方便。[root@pekphisprb70593 ~]# cat /etc/os-_opengauss_3.0.5 企业版安装
文章浏览阅读6.9k次。package com.abcchina;import java.util.ArrayList;import java.util.Collections;import java.util.LinkedList;import java.util.List;public class Suijishu {/*** @param args*/public static void main..._随机七个数
文章浏览阅读2.4k次。1.查询所有班级代码如下:select * from TB_Class;2.查询班级编号是1的班级信息代码如下:select ClassID,className,descript from TB_Class where ClassID=1;3.查询班级编号是2,并且学历是bachelor的学员信息代码如下:select * from TB_St..._navict查询1988年的学生