摘要:信息社会正在从互联网时代走向物联网时代,企业不可避免的要面对数据量剧增带来的一系列问题:如何高效存储和扩容,如何在对原有业务改动最小的情况下做到智能化和实时分析。

本文分享自华为云社区《50亿海量数据如何高效存储和分析? GaussDB (for Cassandra) 3个秘诀搞定》,作者: Cassandra官方 。

当下,信息社会正在从互联网时代走向物联网时代,信息交互变得更加庞杂、高效和智能。对于互联网公司和IOT企业来说,既是机遇,也是挑战。因为,企业不可避免的要面对数据量剧增带来的一系列问题:如何高效存储和扩容,如何在对原有业务改动最小的情况下做到智能化和实时分析。

针对挑战,华为云GaussDB (for Cassandra) 为客户提供了强扩展、高存储、高效导入/导出和实时分析等一系列能力,并成功服务了众多互联网公司和IOT企业,获得了客户的高度认可和支持。本文将以其中一个客户业务的痛点问题举例,聊聊高效存储和实时分析的3个秘诀。

海量存储,PB级无感扩展

该用户在线下本地化部署使用数据库或者使用其他的存储为云盘的数据库时,常常需要在容量达到阈值时,提前规划和申购存储资源,可能还需要连带扩容不必要的计算资源。而使用GaussDB (for Cassandra)之后,便再无此烦恼。GaussDB (for Cassandra)采用存算分离架构,可单独扩展存储,高效扩容,业务无感,最高可扩展到PB级。

此外,客户为了做大数据分析,将数据库中的数据再写入一份到HDFS中,供MapReduce和Spark分析,同时需要维护两套资源,维护和资源成本成为了痛点。而客户使用GaussDB (for Cassandra)之后,可以仅采用GaussDB (for Cassandra)即可完成数据库存储和对接大数据分析的功能,同时GaussDB (for Cassandra)提供了更为易用的CQL接口,让用户更加专注功能开发,而不是资源管理。

数据变更捕获和实时分析

客户的一个使用场景需要将爬虫或用户输入的数据,进行在线分析和实时推荐业务,该业务中全量数据达到了50亿条,但增量数据不足5亿,分析对象主要是每日新增数据。在这个场景中,GaussDB (for Cassandra)为客户提供了streaming服务+实时分析解决方案,在损失小部分读写性能的前提下,客户端无需改造即可做到数据读写和实时分析并行,解决方案如下图,该解决方案主要有以下几个阶段:

  1. 客户业务用过开源驱动写入数据到GaussDB (for Cassandra)
  2. GaussDB (for Cassandra)对外提供streaming接口,该接口可获取数据变更捕获
  3. 客户构建的流服务组件读取streaming接口数据写入到指定的Kafka队列
  4. Kafka 队列将streaming数据写入到Spark或者Flink中
  5. 客户在Spark中可对增量数据做分析,也可合并之后做全量分析

全量数据导出分析

客户的另一个业务需要周期性对全量数据进行分析和处理,但不想影响在线业务,希望在闲时处理。GaussDB (for Cassandra)提供了全量数据导出和分析解决方案,可在业务低峰期触发任务进行数据导出和冷数据分析,数据导出速率是开源的10+倍,同时做到对业务读写基本无影响。如下为互联网客户每周定期导出数据分析用户画像的解决方案,该方案有以下几个阶段:

  1. 客户根据需求配置ECS规格,并挂载obsfs并行文件系统
  2. 客户在DLF上配置导出作业,包括ECS信息,导出参数和定时任务
  3. CDM下发作业任务
  4. ECS上的导出任务将GaussDB (for Cassandra)中的指定表指定条件的数据导出到obsfs
  5. Spark从obsfs中读取全量数据进行数据分析

通过这3个秘诀,华为云GaussDB (for Cassandra)完美解决了难扩展、高成本、变更不及时等问题,实现了海量数据的高效存储和实时分析,为互联网公司和IOT企业的数字化发展提供了更多可能。欲了解更多GaussDB (for Cassandra)详情信息,欢迎移步华为云官网

本文作者:华为云高斯Cassandra团队

杭州西安深圳简历投递:zhaojuan.zhao@huawei.com

更多技术文章,请关注:高斯Cassandra官方博客

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

50亿海量数据如何高效存储和分析? GaussDB (for Cassandra) 3个秘诀搞定的更多相关文章

  1. ASP.NET MVC中分析淘宝网页发生乱码标题搞定方法

    ASP.NET MVC中分析淘宝网页发生乱码标题搞定方法 近来正在分析淘宝中商品的信息,效果发生乱码,如: 原因便是中文字符格式发生冲突,ASP.NET MVC 默认采用utf-8,可是淘宝网页采用g ...

  2. BigData NoSQL —— ApsaraDB HBase数据存储与分析平台概览

    一.引言 时间到了2019年,数据库也发展到了一个新的拐点,有三个明显的趋势: 越来越多的数据库会做云原生(CloudNative),会不断利用新的硬件及云本身的优势打造CloudNative数据库, ...

  3. 给定a、b两个文件,各存放50亿个url,每个url各占用64字节,内存限制是4G,如何找出a、b文件共同的url?

    给定a.b两个文件,各存放50亿个url,每个url各占用64字节,内存限制是4G,如何找出a.b文件共同的url? 可以估计每个文件的大小为5G*64=300G,远大于4G.所以不可能将其完全加载到 ...

  4. [大牛翻译系列]Hadoop(19)MapReduce 文件处理:基于压缩的高效存储(二)

    5.2 基于压缩的高效存储(续) (仅包括技术27) 技术27 在MapReduce,Hive和Pig中使用可分块的LZOP 如果一个文本文件即使经过压缩后仍然比HDFS的块的大小要大,就需要考虑选择 ...

  5. [大牛翻译系列]Hadoop(18)MapReduce 文件处理:基于压缩的高效存储(一)

    5.2 基于压缩的高效存储 (仅包括技术25,和技术26) 数据压缩可以减小数据的大小,节约空间,提高数据传输的效率.在处理文件中,压缩很重要.在处理Hadoop的文件时,更是如此.为了让Hadoop ...

  6. 智能合约语言 Solidity 教程系列4 - 数据存储位置分析

    写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合约有所了解, 如果你还不了解,建议你先看以太坊是什么 这部分的内容官方英文文档讲的不是很透,因此我在参考Soli ...

  7. 发布一个高效的JavaScript分析、压缩工具 JavaScript Analyser

    发布一个高效的JavaScript分析.压缩工具 JavaScript Analyser 先发一段脚本压缩示例,展示一下JSA语法压缩和优化功能. try { //xxxx(); } catch (e ...

  8. 一文搞定 SonarQube 接入 C#(.NET) 代码质量分析

    1. 前言 C#语言接入Sonar代码静态扫描相较于Java.Python来说,相对麻烦一些.Sonar检测C#代码时需要预先编译,而且C#代码必须用MSbuid进行编译,如果需要使用SonarQub ...

  9. 云存储?不依赖三方服务自己也可以搞,利用Docker来搭建分布式文件系统FastDfs

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_78 对于文件存储来说,一般情况下简单的处理就是在Django配置文件中配置存储目录,按照规则对文件进行上传或者下载. 实际上,当文 ...

  10. Linux最佳的云存储服务分析

    什么样的云服务才适合作为 Linux 下的存储服务?兄弟连www.itxdl.cn来帮大家分析一下! 大量的免费空间.毕竟,个人用户无法支付每月的巨额款项. 原生的 Linux 客户端.以便你能够方便 ...

随机推荐

  1. 请教shell读写XML问题

    请教shell读写XML问题 现有 123.xml文件,内容是:<?xml version="1.0" encoding="GBK"?><vi ...

  2. Ocserv整合Radius认证

    目前社区主流SSL VPN有两个分支:openvpn和ocserv,通过官网和检索到的资料对比前者服务端比较强大,后者客户端和移动端支持更好,二者并不兼容: 另外前者商业化封装更好,偏向商业化,后者对 ...

  3. Welcome to YARP - 4.限流 (Rate Limiting)

    目录 Welcome to YARP - 1.认识YARP并搭建反向代理服务 Welcome to YARP - 2.配置功能 2.1 - 配置文件(Configuration Files) 2.2 ...

  4. DocTemplateTool - 可根据模板生成word或pdf文件的工具

    你是否经常遇到这样的场景:产品运营有着大量的报告需求,或者给客户领导展现每周的运营报告?这些文档类的任务可以交给运营同事,他们负责文档排版和样式,你作为开发人员你只需要提供数据源,和一个映射表,告诉制 ...

  5. 关于一类最优解存在长度为 $k$ 的循环节的问题

    灵感来源 问题形式:给定长度为 \(n\) 的序列,要求选出一些位置,使这些位置满足限制条件 \(T\),其中 \(T\) 可以表述为一个长度为 \(k\) 的环满足条件 \(T'\),选出第 \(i ...

  6. [GitOps] 白嫖神器Github Actions,构建、推送Docker镜像一路畅通无阻

    [GitOps] 白嫖神器Github Actions,构建.推送Docker镜像一路畅通无阻 引言   当你没找到合适的基础的Docker镜像时,是否会一时冲动,想去自己构建.然而因为网络问题,各种 ...

  7. 快速上手Prompt,让你的LLMs更智能

    前言 在当前社会中,随着AIGC的盛行,使用好prompt可以让自己更上一层楼.今天,我将通过星火大模型重新认识prompt设计,并与大家分享一些使用技巧. 如果你想体验星火大模型的强大魅力,请登录h ...

  8. MAUI Blazor 如何通过url使用本地文件

    前言 上一篇文章 MAUI Blazor 显示本地图片的新思路 中, 提出了通过webview拦截,从而在前端中显示本地图片的思路.不过当时还不完善,随后也发现了很多问题.比如, 不同平台上的url不 ...

  9. Java八股面试整理(3)

    21.说一说hashCode()和equals()的关系 hashCode()用于获取哈希码(散列码),eauqls()用于比较两个对象是否相等,它们应遵守如下规定: 如果两个对象相等,则它们必须有相 ...

  10. [GDOIpj221C] 流水线

    第三题 流水线 提交文件: line.cpp 输入文件: line.in 输出文件: line.out 时间空间限制: 2 秒, 256 MB 在计算机组成原理这门课中,小明的老师布置了实现 CPU ...