本文首发于 Nebula Graph Community 公众号

在 #云原生# 主题分享中,来自 Nebula 云组的 Cloud 专家乔雷同大家分享云的相关知识,本文整理自该次主题直播

云原生是什么

这里简单介绍下云原生是什么,包括 DBaaS 又是什么?它在云的整套体系内又处于一个什么样的层级?

云原生从本质上来说,是一个不断演进的技术理念。一开始并不存在云原生这一概念,它从早期的虚拟化 VM 演进到容器化,再发展到到今天的 FaaS,逐步发展成一整套体系化的事物。换而言之,云原生便是将基础设施打包在一起构建成的整套技术,而这套技术在不断地向周边延伸。可以看下云原生金字塔这幅图,IaaS 层基于硬件虚拟化提供存储、计算、网络,安全防火墙等产品;再上层是 CaaS 层,基于 Kubernetes 编排系统提供容器化产品;最上层是基于云原生理念构建的应用服务,整套组合构成了云原生概念体系。

某种技术产生一定是服务某项业务,所以我们要明白,云原生最终要服务于什么?云原生是希望更好地将业务同基础设施进行解耦,让大家更专注于业务层面的开发,无需去关心运维操作,比如:机器资源不够;流量爆发时,进行资源的扩容;流量高峰期过后进行缩容…这些常见的运维操作都是可以把它沉淀到整个基础设施体系内的。

DBaaS 是什么

DBaaS 是依托云原生技术体系内的一个概念,就是 Database as a Service。DBaaS 的理念是希望规模化我们理解的单机版数据库应用技术,使其用起来更简洁、更轻量,让用户感受到开箱即用、用完即走。虽然用户是用完即走,但 DBaaS 的平台运行也是要依托于这套云原生体系,所以我们可以把 DBaaS 依托在 PaaS 层上构建,使用容器的相关技术使数据库具备快速弹性的能力,使用硬件虚拟化技术,提升数据库的性能,这些技术组合使用作为 DBaaS 平台的基座。

Nebula Graph Cloud

下面结合 Nebula Graph 的 DBaaS 产品来直观地讲解下 DBaaS 平台应该是什么样子。

上图为 DBaaS 平台架构,用户角色分为云用户、运营人员、运维人员、开发人员。DBaaS 平台是面向多类人群的,既面向云用户,也面向运营人员、开发运维人员。平台会针对不同的用户角色呈现不同的视图。

举个例子,云用户通过简单的操作点击、选择所需规格实例之后,会有一套完整的流水线作业创建实例并初始化配置,实例就绪后用户可以登录到 Portal 进行图探索、图查询操作,但是实例如何创建、节点如何扩容、数据如何备份用户是无感知的。这里也体现了 DBaaS 概念中很重要的一点,通过 DBaaS 平台将数据库应用跟基础设施分离,用户尽可能地关注数据库层面的操作,数据库运维管理等复杂的工作全部都由 DBaaS 服务商来完成。这样,用户使用 Nebula Graph 的时候会更加方便。

Nebula Graph Cloud 实例

上图为 Nebula Graph 实例创建后,登录可查看到的视图,在左侧的菜单栏可以针对创建的实例进行数据库层面的操作,比如权限管理或者用户管理。

在上图所示的【Applications】页面,页面中罗列了社区用户比较熟悉的 3 款产品:Nebula Studio、Nebula Dashboard、Nebula Explorer,点击上图的【Open】即可登录到对应的应用连接图数据库进行操作。

如果你想更简洁地通过类似终端的方式来使用 Nebula Graph,在 Connectivity 界面我们对接了 Azure 的 VLink,你可以感受到一个直连终端的体验。

Nebula Graph Cloud 的应用

可以直观地感受到,其实在云上使用 Nebula Explorer 和本地部署一套可视化 Nebula Explorer 组件,体验并无差别。

上图为另外一个可视化产品——Nebula Dashboard 展示的监控数据大盘,可以通过数据大盘看到整个集群的机器状况,你也可以基于 Nebula Dashboard 进行简单的运维操作管理。

Nebula Graph Cloud 背后的 Operator

整套 Nebula Graph Cloud 体系基于 K8s 生态实现,通过 Nebula Operator 管理数据库产品。支持下列功能:

  • 实例创建、删除
  • 实例扩容、缩容
  • 实例滚动升级
  • 实例备份恢复(开发中)
  • 实例监控、告警
  • 实例故障自愈
  • 实例日志查看
  • 实例配置参数变更

基于上述产品规划,可将运维人员可能遇到的部署、升级问题,比如:通过 rpm 包安装了 Nebula Graph,修改配置文件之后启动失败,需要捞取日志定位问题;某个机器数据库版本过低需要升级版本…交由 Nebula Operator 自动完成,节省运维人力。目前来说,Nebula Graph Cloud 和 Nebula Operator 都处于持续迭代中,如果你有其他的产品建议可以前往:https://discuss.nebula-graph.com.cn/ 同我们交流。

Nebula Graph Cloud 背后的基础设施

为了将云服务器、网络等云端资源实现安全自动化的创建、配置和组装,这里使用了基础设施及代码(IaC)工具 。不仅仅是上图展示的 Terraform,每个云厂商都提供相对应的产品。像 Azure 的 ARM 模版,AWS 的 Cloud information,但每个云厂商的模版语言并非是通用语言,而是类似 DSL 的语言。如果要多云对接的话,可以使用 Terraform 定义成一套作业流水模板,在初始化基础设施后,再基于此搭建 DBaaS 平台。

社区用户的云交流

这里摘录了部分社区用户的提问,你可以观看视频:https://www.bilibili.com/video/BV1rR4y1T73V 或文末的视频查看本次所有的互动提问。

Nebula Graph Cloud 解决了什么问题

目前同大家见面的 Nebula Graph Cloud 其实是一个 DBaaS 平台,采用全托管模式,用户通过简单的配置在云市场(目前是 Azure)订阅服务,DBaaS 用户为用户创建一整套数据库产品,用户登陆账户即可使用图数据库 Nebula Graph。在未来规划中,会推出半托管的产品,即用户在最近的云租户下选择 Nebula 官方提供的 Nebula 模版,模版里提供了相关的数据库配置参数,通过参数来起对应的 graph、storage、meta 节点,所有相关的数据由用户拥有,可对其进行管理。

总的来说,Nebula Graph Cloud 是屏蔽同业务无关的操作,专注于业务层面的开发,繁琐的部署、运维工作交给 Nebula Graph Cloud 实现。

Nebula Graph Cloud 如何收费

需要根据你的使用方式来选择,如果采用 OP 的方式,可以咨询商务同学如何购买 license;如果选择开箱即用的方式,并拥有 Azure 账号,可以访问 Azure 的 MarketPlace 订阅产品,目前 Azure Nebula Graph Cloud 3 折优惠中:https://azuremarketplace.microsoft.com/en-us/marketplace/apps/vesoftcompanylimited1625556994617.nebula_graph_cloud?tab=Overview

Nebula Graph Cloud 的未来规划

今年年底之前,会对接国内大家比较熟悉的云厂商,比如阿里云、腾讯云、华为云…,海外的话,我们也会争取在 AWS 上线 Nebula Graph Cloud。


Nebula 社区首届征文活动进行中! 奖品丰厚,全场景覆盖:撸码机械键盘⌨️、手机无线充、健康小助手智能手环️,更有数据库设计、知识图谱实践书籍 等你来领,还有 Nebula 精致周边送不停~

欢迎对 Nebula 有兴趣、喜钻研的小伙伴来书写自己和 Nebula 有趣的故事呀~

交流图数据库技术?加入 Nebula 交流群请先填写下你的 Nebula 名片,Nebula 小助手会拉你进群~~

关注公众号

云原生 on nLive:云上 Nebula Graph的更多相关文章

  1. 阿里云祝顺民(江鹤):云原生SDWAN加速企业上云 引领未来智能网络

    第二届中国SD-WAN峰会于11月16日在北京盛大开幕,阿里云以黄金赞助商之名隆重参与.作为全球前三,亚太第一的云计算厂商,阿里云一直引领云网技术的演进及应用落地.过去一年,阿里云发布以云为中心的云原 ...

  2. 【视频】k8s套娃开发调试dapr应用 - 在6月11日【开源云原生开发者日】上的演示

    这篇博客是在2022年6月11日的[开源云原生]大会上的演讲中的演示部分.k8s集群套娃(嵌套)是指在一个k8s的pod中运行另外一个k8s集群,这想法看上去很疯狂,实际上非常实用. k8s集群套娃( ...

  3. 规模化落地云原生,阿里云即将重磅亮相 KubeCon China

    2019 年 6 月 24 日至 26 日, 由 Cloud Native Computing Foundation (CNCF) 主办的云原生技术大会 KubeCon + CloudNativeCo ...

  4. DTCC 2020 | 阿里云李飞飞:云原生分布式数据库与数据仓库系统点亮数据上云之路

    简介: 数据库将面临怎样的变革?云原生数据库与数据仓库有哪些独特优势?在日前的 DTCC 2020大会上,阿里巴巴集团副总裁.阿里云数据库产品事业部总裁.ACM杰出科学家李飞飞就<云原生分布式数 ...

  5. 【云享专刊】开源遇上华为云,OCP架构变身“云原生框架”

    摘要:华为云DTSE团队出品云原生改造指南,助力轻松实践OCP上云. 本文分享自华为云社区<[云享专刊]开源遇上华为云,OCP架构变身"云原生框架">,作者:华为云社区 ...

  6. 技术分享 | 云原生多模型 NoSQL 概述

    作者 朱建平,TEG/云架构平台部/块与表格存储中心副总监.08年加入腾讯后,承担过对象存储.键值存储,先后负责过KV存储-TSSD.对象存储-TFS等多个存储平台. NoSQL 技术和行业背景 No ...

  7. 进击的.NET 在云原生时代的蜕变

    你一定看过这篇文章 <进击的 Java ,云原生时代的蜕变>,  本篇文章的灵感来自于这篇文章.明天就将正式发布.NET Core 3.0, 所以写下这篇文章让大家全面认识.NET Cor ...

  8. Knative 暂时不会捐给任何基金会 | 云原生生态周报 Vol. 22

    作者 | 新胜.心贵.进超.元毅.衷源 业界要闻 谷歌:不会向任何基金会捐赠 Knative 自 Knative 项目开始以来,一直存在关于是否将 Knative 捐赠给基金会(例如 CNCF)的疑问 ...

  9. Helm 3 发布 | 云原生生态周报 Vol. 27

    作者 | 墨封.元毅.冬岛.敖小剑.衷源 业界要闻 1.Helm 3 发布 美国时间 11 月 13 日,Helm 团队发布 Helm 3 第一个稳定版本.Helm 3 以 Helm 2 的核心特性为 ...

  10. 阿里云如何基于标准 K8s 打造边缘计算云原生基础设施

    作者 | 黄玉奇(徙远)  阿里巴巴高级技术专家 关注"阿里巴巴云原生"公众号,回复关键词 1219 即可下载本文 PPT 及实操演示视频. 导读:伴随 5G.IoT 的发展,边缘 ...

随机推荐

  1. 【网络流,dp】Gym102220A Apple Business

    Problem Link 有一棵 \(n\) 个点的完全二叉树(点 \(i\) 的父亲是 \(\lfloor i/2\rfloor\)),第 \(i\) 个点有 \(a_i\) 个苹果.现在有 \(m ...

  2. vue3中context.emit遇见的坑

    场景描述 今天遇见一个问题 ,子组件向上抛出去的事件. 被执行了两次,原因是 context.emit('click', item.id) 你的事件名是click 将click更改为其他事件名称,就可 ...

  3. 【记录一个问题】VictoriaMetrics的vmstorage因为慢查询导致大量写入失败

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 见上图. 一直以为vmstorage中的查询协程会让位于写 ...

  4. docker上部署启动RabbitMQ

    在docker上部署启动RabbitMQ及使用 一.docker上部署启动RabbitMQ 1.查询rabbitmq镜像 docker search rabbitmq:management 2.拉取r ...

  5. easyUI 多表头设置

  6. 加快ios的出包速度

    在导出ipa时,通过这几种方法,可以更快地导出ipa来进行测试 不勾选bitcode 在导出ipa时,不勾选bitcode,这样会加快出包的速度,但导出来的ipa会大一些,关于bitcode可查看:& ...

  7. 《最新出炉》系列初窥篇-Python+Playwright自动化测试-37-如何截图-上篇

    1.简介 这个系列的文章也讲解和分享了差不多三分之一吧,突然有小伙伴或者童鞋们问道playwright有没有截图的方法.答案当然是:肯定有的.宏哥回过头来看看确实这个非常基础的知识点还没有讲解和分享. ...

  8. Python Coroutine 池化实现

    Python Coroutine 池化实现 池化介绍 在当今计算机科学和软件工程的领域中,池化技术如线程池.连接池和对象池等已经成为优化资源利用率和提高软件性能的重要工具.然而,在 Python 的协 ...

  9. 神经网络优化篇:将 Batch Norm 拟合进神经网络(Fitting Batch Norm into a neural network)

    将 Batch Norm 拟合进神经网络 假设有一个这样的神经网络,之前说过,可以认为每个单元负责计算两件事.第一,它先计算z,然后应用其到激活函数中再计算a,所以可以认为,每个圆圈代表着两步的计算过 ...

  10. Swift中指针UnsafePointer的常见用法

    指针类型 //基本指针 UnsafePointer<T> const T * UnsafeMutablePointer T * //集合指针 UnsafeBufferPointer con ...