SequoiaDB

【巨杉数据库SequoiaDB】24 Hours , 数据库研发实录

亡梦爱人 提交于 2020-02-27 15:32:50
出场人物: 08:10 小H,是巨杉数据库引擎研发的一名工程师。7:20 天还蒙蒙亮,小H就起床了,点亮了心爱的光剑,开始了新的一天。 在08:10时候,他已经洗漱完,锻炼好身体,倒好了咖啡。 整个春节由于疫情防控,他为国家做出了贡献,基本都宅在家里了。但是他觉得,宅在家里,也是一个挺好的春节。 小H查看了手机,发现一封未读邮件,显示是公司 Jenkins 系统发出。 小H打开邮箱,查看了未读邮件,是昨天新提交的优化代码 PR,导致了昨晚自动化测试系统中一个测试用例没有通过。 0 9:15 在平时,大家 9 点上班回到公司,各个小组都会在09:15自发地开一个简短的站立会,组内成员分别大致介绍一下昨天完成的工作内容还有今天的工作计划,然后大家开始了一天的工作。 现在,只是面对面的站立会,变成了“线上站立会“,大家依然按时登入小鱼易联的会议号。 小H在会上介绍了一下昨天提交引擎里 analyze 优化的代码,以及发现新代码会导致一些测试用例失败的情况。他打算今天将这个问题解决。 09:25 小N,是巨杉数据库的测试工程师。 早上刚刚拿出“小黄鸭“准备开始工作,她也收到了昨晚自动化测试系统用例失败的邮件。昨晚失败的测试用例,是她负责的。在刚才的站立会上,她计划今天和小H一起跟进这个失败用例。 开完了早上站立会,她通过 VPN 远程连接公司内部的云桌面。

【巨杉数据库SequoiaDB】社区分享 | SequoiaDB + JanusGraph 实践

▼魔方 西西 提交于 2020-02-27 13:29:39
本文来自社区用户投稿,感谢小伙伴的技术分享 项目背景 大家好!在春节这段时间里,由于一直在家,所以花时间捣鼓了一下代码,自己做了 SequoiaDB 和 JanusGraph 的兼容扩展工作。 自己觉得这个项目还是挺有意思的,本着开源即是美德的想法,我把自己的代码开源出来了,欢迎 JanusGraph 和 SDB 爱好者拍砖,也希望对这块比较感兴趣的朋友,可以和我一起来完善这个项目。 我们团队在做一个项目时,引入了国产数据库 SequoiaDB,感觉效率啊,维护性啊,都比较友好。自己呢,年前也刚好在其他场景需要应用到一些图计算相关的技术,就想着是否可以为 SequoiaDB 加个 JanusGraph 的翅膀。因为根据我的理解,JanusGraph 对存储扩展极度的友好。 (项目地址:https://github.com/ak918808/sequoiadb_for_janusgraph) JanusGraph 介绍 实际上,在图数据领域里,Neo4j 才是真正处于统治地位的,但是无奈它的社区版本,性能“限(yan)制(ge)”得太过分了,功能也是各种被砍,难以使用在生产环境里。至于企业版,目前也没有专门的预算给到这块的需求。 而看看图数据库里的老二 -- JanusGraph ,Apache 基金会顶级项目,顶着当年明星项目 Titan 的光环,继续忍辱负重地前行。

【巨杉数据库SequoiaDB】为“战疫” 保驾护航,巨杉在行动

馋奶兔 提交于 2020-02-26 02:53:51
2020年,我们经历了一个不平静的新春,在这场大的“战疫”中,巨杉数据库也积极响应号召,勇于承担新一代科技企业的社会担当,用自己的行动助力这场疫情防控阻击战! 赋能“战疫”快速响应 巨杉数据库目前服务许多政府部门应用平台,其中在广州市电子政务中心,就管理了全市近1500万人口的海量医保社保相关数据。医保、社保是抗击疫情工作的“弹药库”,也是市民面对疫病的“定心丸”。 目前,服务该业务的巨杉数据库集群,在2020年实现系统0错误,0告警,数据响应时间保持在毫秒级别,保证数据服务“不断档、不延误”,迅速响应疫情相关的紧急需求。在抗击疫情的关键期,为卫生、防疫等部门和广大市民提供了最快速的数据服务。 安全稳定 为金融客户保驾护航 金融稳定给与抗击疫情的所有企业以信心,巨杉数据库支撑了近百家大型金融客户的生产业务系统,在疫情突发期间,我们保持服务7x24小时在线,通过成熟的远程协作体系,巨杉持续对企业客户平台进行远程监控、智能维护以及技术优化。我们还有同事在做好安全保护前提下,按照既定计划要求前往客户现场完成保障任务。最终帮助金融客户很好应对了激增的移动互联网访问需求,为金融客户抗击疫情保驾护航。 免费开放公益课程 防疫学习两不误 延长的假期和在家办公期间,巨杉也为所有用户、客户和合作伙伴,免费开放了丰富的系列线上互动学习活动和认证考试。 同时推出了“巨杉数据库在线实验室”

【巨杉数据库SequoiaDB】巨杉Tech | 巨杉数据库的并发 malloc 实现

為{幸葍}努か 提交于 2020-02-25 19:57:37
本文由巨杉数据库北美实验室资深数据库架构师撰写,主要介绍巨杉数据库的并发malloc实现与架构设计。原文为英文撰写,我们提供了中文译本在英文之后。 SequoiaDB Concurrent malloc Implementation Introduction In a C/C++ application, the dynamic memory allocation function malloc(3) can have a significant impact on the application’s performance. For multi-threaded applications such as a database engine, a sub-optimal memory allocator can also limit the scalability of the application. In this paper, we will discuss several popular dynamic memory allocator, and how SequoiaDB addresses the dynamic memory allocation problem in its database engine. dlmalloc/ptmalloc The GNU C

【巨杉数据库SequoiaDB】巨杉Tech | 巨杉数据库的并发 malloc 实现

江枫思渺然 提交于 2020-02-25 19:39:31
本文由巨杉数据库北美实验室资深数据库架构师撰写,主要介绍巨杉数据库的并发malloc实现与架构设计。 原文为英文撰写,我们提供了中文译本在英文之后。 SequoiaDB Concurrent malloc Implementation Introduction In a C/C++ application, the dynamic memory allocation function malloc(3) can have a significant impact on the application’s performance. For multi-threaded applications such as a database engine, a sub-optimal memory allocator can also limit the scalability of the application. In this paper, we will discuss several popular dynamic memory allocator, and how SequoiaDB addresses the dynamic memory allocation problem in its database engine. dlmalloc/ptmalloc The GNU C

【巨杉数据库SequoiaDB】巨杉数据库 v5.0 Beta版 正式发布

孤人 提交于 2020-02-07 00:26:54
2020年疫情的出现对众多企业运营造成了严重的影响。面对突发状况,巨杉利用长期积累的远程研发协作体系,仍然坚持进行技术创新,按照已有规划­­推进研发工作,正式推出了巨杉数据库(SequoiaDB) v5.0 Beta版。 我们也在这里向大家介绍一下,SequoiaDB v5.0 版本中将会包含哪些激动人心的功能和特性。 ARM架构的官方支持 从 3.2 版本开始,SequoiaDB 已经在有限版本中支持 ARM 芯片服务器与国产操作系统。从 SequoiaDB v5.0 开始,我们正式官方支持飞腾与华为等 ARM 芯片架构,以及包括 UOS、深度、中标麒麟等多种国产操作系统。 新监控与运维体系 一直以来,SequoiaDB的监控与运维体系设计以底层诊断快照(snapshot)调用为基础,通过Restful API返回给上层应用整个或部分集群的运行信息。一般来说,企业客户将会根据自身需求开发接口模块,将SequoiaDB的监控接入自身使用的监控大屏系统或Zabbix、ELK等各类软件。 但是我们发现,使用这种机制对于一些用户存在上手困难,需要较多规划设计与定制化二次开发的问题。因此,在SequoiaDB v5.0 版本中,我们在 SAC(Sequoia Administration Center)中推出了增强的开箱即用图形化监控体系

【巨杉数据库SequoiaDB】巨杉数据库无人值守智能自动化测试实践

让人想犯罪 __ 提交于 2020-02-04 11:55:33
刚刚过去的春节,新型冠状病毒疫情突如其来地横扫大江南北。为了响应国家号召,许多软件公司和互联网公司也将在较长一段时间内建议员工采取远程办公的方式,同时也存在骨干工程师无法及时返岗的问题,使得生产力大受影响。 对于软件企业来说,研发与测试是两大核心命脉。研发团队保障着产品新功能新特性的及时发布,而测试团队则如同马的缰绳,确保产品不会由于迭代速度过快、设计考虑角度不周,而导致软件缺陷的产生。 巨杉数据库在9年的自研和技术创新历程中,在研发体系构建、自动化测试、团队线上线下结合等方面积累了很多经验。从2011年团队成立之初开始,巨杉数据库的整个技术研发体系就以面向流程协作的方式进行构建。其核心思想是,任何员工可以在任何地点,只要遵循正确的流程,就可以与整个团队有机地衔接在一起。 在这个非常时刻,为了帮助在远程办公期间内保质保量完成新版本的迭代与测试工作,我们也将我们自己的一些经验分享给大家,主要介绍巨杉如何在无人值守的环境下,完成产品的自动化测试与研发协作。 基础体系 网络基础设施 我们的整个开发环境分为内外网两大网络,其中外部网络可以连接到广域网Internet,而内部网络则没有广域网连接。外网包括办公室中每个员工的台式机,以及可供员工进行远程连接的***服务器与防火墙。工程师们无论使用办公室的电脑,还是通过配发的笔记本电脑从远程通过***接入,均连入公司的外网网段。

【巨杉数据库SequoiaDB】巨杉数据库无人值守智能自动化测试实践

五迷三道 提交于 2020-02-04 01:47:30
刚刚过去的春节,新型冠状病毒疫情突如其来地横扫大江南北。为了响应国家号召,许多软件公司和互联网公司也将在较长一段时间内建议员工采取远程办公的方式,同时也存在骨干工程师无法及时返岗的问题,使得生产力大受影响。 对于软件企业来说,研发与测试是两大核心命脉。研发团队保障着产品新功能新特性的及时发布,而测试团队则如同马的缰绳,确保产品不会由于迭代速度过快、设计考虑角度不周,而导致软件缺陷的产生。 巨杉数据库在9年的自研和技术创新历程中,在研发体系构建、自动化测试、团队线上线下结合等方面积累了很多经验。从2011年团队成立之初开始,巨杉数据库的整个技术研发体系就以面向流程协作的方式进行构建。其核心思想是,任何员工可以在任何地点,只要遵循正确的流程,就可以与整个团队有机地衔接在一起。 在这个非常时刻,为了帮助在远程办公期间内保质保量完成新版本的迭代与测试工作,我们也将我们自己的一些经验分享给大家,主要介绍巨杉如何在无人值守的环境下,完成产品的自动化测试与研发协作。 基础体系 网络基础设施 我们的整个开发环境分为内外网两大网络,其中外部网络可以连接到广域网Internet,而内部网络则没有广域网连接。外网包括办公室中每个员工的台式机,以及可供员工进行远程连接的VPN服务器与防火墙。工程师们无论使用办公室的电脑,还是通过配发的笔记本电脑从远程通过VPN接入,均连入公司的外网网段。

【巨杉数据库SequoiaDB】巨杉Tech | SequoiaDB 分布式事务实现原理简介

情到浓时终转凉″ 提交于 2020-01-10 17:40:21
1 分布式事务背景 随着分布式数据库技术的发展越来越成熟,业内对于分布式数据库的要求也由曾经只用满足解决海量数据的存储和读取这类边缘业务向核心交易业务转变。分布式数据库如果要满足核心账务类交易需求,则其需要完善分布式事务,向传统关系型数据库看齐。即分布式事务的实现也需要像传统关系型数据库的事务一样满足事务的标准要求及定义,即ACID特征。 分布式数据库的数据是进行多机器多节点分散存储的,这样的存储架构为实现分布式事务带来了极大的难度。数据事务操作时,事务操作会结合数据分布情况,到不同的存储位置上去执行,而这个存储位置位于网络中的不同机器的不同磁盘上。 2 事务基本概念 2.1 事务使用场景 银行应用是一个经典案例,可以解释事务应用的必要性。假设银行数据库有两张表,支票账户表(check)和存款账户表(save)。现在要从LiLei的支票账户里转账200元到她的存款账户,那么需要至少完成3步操作: 检查支票存款账户的余额是否大于200元; 从支票存款账户余额中减去200元; 在存款账户余额中增加200元; 所有的操作被打包在一个事务里执行,如果某一步失败,就回滚所有已完成步骤。事务操作一般用 START TRANSACTION 语句开始一个事务,用 COMMIT 语句提交整个事务,永久地修改数据,或者用 ROLLBACK 语句回滚整个事务,取消已做的修改。事务SQL操作样例如下:

【巨杉数据库SequoiaDB】省级农信国产分布式数据库应用实践

不打扰是莪最后的温柔 提交于 2020-01-10 17:12:21
本文转载自《金融电子化》 作者: 吉林省农村信用社联合社信息科技中心 总经理 孙刚、总经理助理 程永义 随着移动互联网的迅猛发展,分布式架构在互联网IT技术领域广泛应用并积累了大量实践经验。在互联网金融快速发展和利率市场化的大环境下,建设能够支持海量客户、具有弹性扩展能力、高效灵活的分布式架构应用系统已成为国内金融行业迫切的需要。 分布式数据库应用大势所趋 我社普惠金融平台建设,旨在“充分运用金融科技手段,优化信贷流程和客户评价模型,降低企业融资成本,纾解民营企业、小微企业融资难融资贵问题,增强金融服务实体经济能力”。 普惠金融服务是典型的互联网应用,其与传统信贷系统不同,具有互联网场景接入能力,如果沿用集中式的技术架构,在应对海量客户的互联网应用场景和总拥有成本等方面存在以下的潜在问题: 集中式架构普遍缺乏弹性伸缩的能力。随着交易量和数据量的增长,系统整体吞吐量会遇到硬件或技术的瓶颈。尤其在支持面向互联网客户相关业务时,不能有效处理瞬时爆发的高并发交易,制约了客户获取以及大规模业务营销。 集中式架构采用单体应用设计。软件开发和运行管理的最小单元是应用,管理力度较粗,容易“牵一发而动全身”,应用的开发过程不易践行轻量化敏捷开发理念,系统在运行过程中容易出现单点故障,难以有效进行故障隔离。 集中式架构系统的基础设施通常使用高端服务器和存储设备,以及传统关系型数据库