返回顶部
首页 > 资讯 > 数据库 >初识GaussDB(for Cassandra)
  • 472
分享到

初识GaussDB(for Cassandra)

初识GaussDB(forCassandra) 2019-06-22 01:06:15 472人浏览 无得
摘要

初识GaussDB(for Cassandra)

摘要:GaussDB(for Cassandra)是一款基于华为自主研发的计算存储分离架构分布式数据库服务。

本文分享自华为云社区《华为云数据库GaussDB(for Cassandra)揭秘第一期: 初识GaussDB(for Cassandra)》,原文作者:高斯Cassandra官方 。

  • “local quorum查询某个分区键的条数,每次查询,条数都不一样。”
  • “按这个分区键的token修复,直接瞬间修复结束。但是再查,还是每次查询条数不一致。”
  • “之前遇到墓碑丢失的问题,单个token查询结果不一致,修复也解决不了”
  • …..

不用再为数据不一致苦恼,因为强一致的Cassandra来了,DBA们不用加班改数据了。

GaussDB(for Cassandra)是一款基于华为自主研发的计算存储分离架构的分布式云数据库服务。是一个强一致性的系统,在华为云高性能、高可用、高可靠、高安全、可弹性伸缩的基础上,提供了一键部署、备份恢复、监控报警等服务能力。高度兼容开源Cassandra接口,并提供高读写性能,具有高性价比,适用于ioT、气象、互联网、游戏等领域。

本文将从架构、主要特性、竞争力、应用场景等方面进行介绍。

设计架构:

GaussDB(for Cassandra)基于计算存储分离架构,该架构基于华为内部强大且广泛使用的自研分布式存储系统DFV(数据功能虚拟化/Data Function Virtualisation),实现了一套Share Everything的云开源架构,充分发挥了云开源的弹性伸缩、资源共享的优势,高度兼容Cassandra协议,拥有超强写入性能,同时相比社区版具有分钟级计算扩容、秒级存储扩容、数据强一致等优势,性能更强更稳定,数据更可靠,扩容更敏捷,适用于IoT、实时推荐、金融反欺诈检测等场景。

GaussDB(for Cassandra)牛在哪?

高可靠:数据强一致,提供企业级数据可靠性

开源Cassandra读写数据采用最终一致性,此处用读场景举例:如果读一致性要求为ONE,会立即返回离客户端最近的一份数据副本,那么这意味着第一次读取到的数据可能不是最新的数据。如果读一致性要求为QUORUM(即读取任一数据中心中quorum数量的节点的结果,返回合并后timestamp最新的结果),则内核会自动触发读修复,然后返回给客户端。假如此时有副本所在节点出现坏盘,在GC_graces的周期内没有完成数据修复,部分副本属于坏盘节点的业务数据,业务查询过程中发现数据会概率性不正确。

GaussDB(for Cassandra)采用存算分离架构,数据的副本在DFV存储平台保证,对计算节点来说数据单副本、数据强一致,查询只需要从协调节点直接到数据节点取数据即可完成,规避了数据不一致修复数据造成的人力成本、业务查询过程中发现数据会概率性不正确等问题。另外支持N-1个节点故障容忍,提供10倍以上的故障重构性能和备份恢复性能,保证数据的可靠性。

高扩展:秒级扩容,快速更神速

开源Cassandra采用一致性Hash算法对数据进行分区打散,整个环代表数据从负无穷到正无穷区间。集群中每个节点会有虚拟节点(Token)在环上,虚拟节点的数量可配置。黄圈代表节点1,蓝圈代表要扩容的节点2,2个Token之间组成整个数据的其中一段Range区间,扩容后加入了新的Token,会产生新的Range,这些Range中的一部分会归新节点2管理。那么就需要把数据从节点1迁移到新节点2上去。迁移是通过读取节点1上的数据写入到节点2上,迁移的速度可以通过配置参数调整,整体迁移的时间由数据量与迁移过程中的读写速率有关。

GaussDB(for Cassandra)把多副本策略下沉到共享存储,大幅提升弹性伸缩能力,如图右侧展示,新扩容的节点2只需要重新映射Token2到节点2,就可以完成,无需做数据的读取与写入的搬迁动作,实现分钟级计算扩容,相比开源扩容时间提升几十倍。随着业务的不断增长,Cassandra可以分钟级水平弹性资源扩展。在类似圣诞节等热门节日,提前1天进行弹性扩容,为业务高峰预留资源,业务高峰过后进行缩容,这些对业务无感知。计算节点可以通过文件系统控制集群在DFV中的数据使用量,扩容缩容磁盘时通过重新分配最大使用量,可实现秒级存储扩容,单实例支持海量数据存储。

高性能:超高写入,读性能数倍提升

GaussDB(for Cassandra)在超强写入性能的基础上,通过使用C语言重构存储引擎,减少系统GC,实现了数倍读性能提升,拓宽了使用场景的外延,使其不仅仅适用于写密集型的业务场景,在读密集的场景中也具备了强竞争优势,整体性能超越开源自建2~3倍。

高安全:构筑多层保护,为数据安全保驾护航

GaussDB(for Cassandra)通过VPC、子网、安全组、DDoS防护以及SSL安全访问等多层安全防护体系,帮助用户抵御网络攻击,让用户上云无忧。

为什么选择GaussDB(for Cassandra)?

适用多种场景

工业制造&气象业

随着科技进度,采集的气象数据指数增长,需要一种系统对地面、高空、海洋、重要天气报、闪电、环境监测等卫星、雷达采集的数据能够高性能写入、查询、在线、离线分析。

  1. 需要存储对地面、高空、海洋、重要天气报、闪电、环境监测等卫星、雷达等降雨量、湿度、温度等PB级数据量
  2. 支撑来自各气象采集点数据高并发写入到Cassandra,GaussDB(for Cassandra)集群性能高于自建2~3倍,更适合高并发写入读取
  3. GaussDB(for Cassandra)数据能够支撑实时在线分析,为气象算法、天气预报做到实时精准分析
  4. 访问数据库进行离线数据分析,GaussDB(for Cassandra)能将离线分析时效缩短到60%

互联网

GaussDB(for Cassandra)具备高并发写入性能和高可扩展性,保障集群高可用和业务连续稳定性,非常适用于写入规模量较大的互联网大数据场景,如记录大规模的用户行为数据等。

  1. 存放用户画像数据,能够完美解决特征:数据量大、可以应对数据结构Scheme频繁变更
  2. 查询性能要求高;比如要买一双鞋,搜索出的鞋子数据会根据用户画像的特征做一定的排序展示,那么要求查询用户特征表的查询性能非常高
  3. 推荐系统:根据用户最近浏览的数据做分析之后,推荐相关资源给用户
  4. 点赞系统:点赞计数系统

实时数据分析场景

GaussDB(for Cassandra)群组今天新来了一个成员,或者yutou今天发布一篇新文章,华为云数据库官方自动向该用户发出欢迎邮件。

昵称为yutou的同学今天发布了一组新照片,那么另外一个程序自动向yutou的好友发送通知。

原生不具备的数据变更捕获能力,GaussDB(for Cassandra)具有变更捕获能力,能对数据的变更做实时在线分析,提供秒级的实时推送动作做出相应处理;具有完善的离线分析解决方案,可以将离线分析时效缩短到60%,为商家争取更多的时间做出相应决策。

购买建议

GaussDB(for Cassandra)性能为开源2倍以上,存储空间仅需开源自建1/3,帮助客户节省成本,举例如下:开源自建8u32g * 3节点 数据量:90G(三副本),购买GaussDB(for Cassandra)可选择创建4u16g * 3节点 数据量:30G(DFV存储三副本)

 

点击关注,第一时间了解华为云新鲜技术~

您可能感兴趣的文档:

--结束END--

本文标题: 初识GaussDB(for Cassandra)

本文链接: https://lsjlt.com/news/8259.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 初识GaussDB(for Cassandra)
    ...
    99+
    2019-06-22
    初识GaussDB(for Cassandra)
  • GaussDB for DWS是如何识别坏味道的SQL
    本篇文章为大家展示了GaussDB for DWS是如何识别坏味道的SQL,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。SQL语言是关系型数据库(RDB)的标准语言,其作用是将使用者的意图翻译成数据...
    99+
    2023-06-19
  • java用jdbc连接GaussDB(for mySQL) 初学个人总结向
      使用工具     IDEA2021.1 x64 java编译器(版本差别不大) 学校提供实验环境华为云数据库GaussDB(for mysql) 初学和mysql8.0 使用一样,数据库部署在服务器上         jar包:mysq...
    99+
    2023-09-16
    java 开发语言 mysql
  • 详解GaussDB for MySQL性能优化
    目录背景灵感来源于生活快递的优化原理GaussDB(for MySQL)的优化实际测试背景 我们先来看看MySQL 8.0的事务提交的大致流程 以上流程,是MySQL8.0对WAL原则的一种实现,这个流程意味着,任...
    99+
    2022-05-18
    mysql gaussdb mysql 性能优化
  • GaussDB for MySQL性能优化的示例分析
    小编给大家分享一下GaussDB for MySQL性能优化的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!背景我们先来看看MySQL 8.0的事务提交的...
    99+
    2023-06-15
  • redis初识
    redis介绍 redis是什么 redis是一种基于键值对的NOsql数据库,与很多键值对数据库不同,redis中的值string,hash,list,set,zset,geo等多种数据机构和算法组成,因为redis会将所有的数...
    99+
    2015-08-13
    redis初识
  • 初识Redis
    初识Redis NoSQL是什么? 数据库: 用来存储数据的仓库 NoSQL: 不仅仅是SQL,是许多非关系型数据库的统称,但本质上还是存储数据的仓库 为什么需要NoSQL? 解决了高并发的读写问题 解决了海量数据的高效率存储和...
    99+
    2019-03-22
    初识Redis
  • 初识Node.js
    1、Node.js是什么 [1]Node是一个服务器端 JavaScript 解释器,可是真的以为JavaScript不错的同学学习Node就能轻松拿下,那么你就错了,总结:水深不深我还不知道,不过确实不浅...
    99+
    2022-06-04
    Node js
  • 初识Android.bp
               初识Android.bp 前言    最近在捣鼓Android 9 和10的build系统,看到一篇比较好的博...
    99+
    2022-06-06
    Android
  • 初识EXPDP
    EXPDP介绍 使用dump文件集导入数据和元数据的工具。dump文件集只能被IMPDP导入。dump文件集是由表数据,数据库对象元数据,控制信息组成。由专用的二进制格式编写。这些dump文件由server...
    99+
    2024-04-02
  • 初识MySQL
    💕与其抱怨生活的不公,不如积极行动改变它。💕 🐼作者:不能再留遗憾了🐼 🎆专栏:MySQL学习🎆 &...
    99+
    2023-09-01
    mysql 数据库 postgresql
  • 初识Java
    一、Java语言概述 1.1 Java是什么 Java是一种优秀的程序设计语言,它具有令人赏心悦目的语法和易于理解的语义 不仅如此,Java还是一个有一系列计算机软件和规范形成的技术体系,这个技术体系提供了完整的用于软件开发和跨平台部署...
    99+
    2023-10-24
    java 开发语言
  • html初识
    web标准web准备介绍:w3c:万维网联盟组织,用来制定web标准的机构(组织)web标准:制作网页遵循的规范web准备规范的分类:结构标准、表现标准、行为标准。结构:html。表示:css。行为:Javascript。web准备总结:结...
    99+
    2023-01-30
    html
  • 初识django
    HTTP协议   超文本传输协议 四大特性:   1.基于TCP/IP作用在应用层上的协议   2.基于请求响应   3.无连接   4.无状态 数据格式之请求   请求首行   请求头(一堆k,v键值对)   /r/n   请求体 数据...
    99+
    2023-01-31
    django
  • 初识urllib
    使用urllibrequest:  是最基本的 HTTP 请求模块,可以用来模拟发送请求,只需要给库方法传入URL以及额外的参数,就可以模拟实现这个过程了。error:  异常处理模块,如果出现请求错误, 可以捕获这些异...
    99+
    2023-01-30
    urllib
  • 初识Tornado
    引言 回想Django的部署方式 以Django为代表的python web应用部署时采用wsgi协议与服务器对接(被服务器托管),而这类服务器通常都是基于多线程的,也就是说每一个网络请求服务器都会有一个对应的线程来用web应用(如Dja...
    99+
    2023-01-31
    Tornado
  • 初识Flask
    Flask简介       Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,微框架中的“微”意味着 Flask 旨在保持核心简单而易于扩展。默认情况下,Flask 不包含数据库抽...
    99+
    2023-01-31
    Flask
  • Python初识
    1.python介绍 python是一门先编译后解释的语言 动态脚本语言 PyCodeObject和pyc文件 pyCodeObject是python编译器真正的编译成的结果。当python程序运行时,编译的结果是保存在位于内存中的PyCo...
    99+
    2023-01-31
    Python
  • 初识P3P
    Google 标签: P3P, 第三方cookie, 隐私策略, http head P3P主要应用于网站跨域访问方面,全称为隐私偏好设定平台(platform for privacy preference, P3P)。而谈到P3P就不得不...
    99+
    2023-01-31
    P3P
  • 初识Linux_3
    1,find 目录 条件 [处理命令]-默认是print操作2,find d6 -name "*cpp" -exec rm{} ";"(或者‘;’或者/;都是Ok的),这条命令的含义是找到d6文件夹中所有以.cpp结尾的文件然后将其进行删除...
    99+
    2023-01-31
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作