50亿海量数据如何高效存储和分析? GaussDB (for Cassandra) 3个秘诀搞定
摘要:信息社会正在从互联网时代走向物联网时代,企业不可避免的要面对数据量剧增带来的一系列问题:如何高效存储和扩容,如何在对原有业务改动最小的情况下做到智能化和实时分析。
本文分享自华为云社区《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服务+实时分析解决方案,在损失小部分读写性能的前提下,客户端无需改造即可做到数据读写和实时分析并行,解决方案如下图,该解决方案主要有以下几个阶段:
- 客户业务用过开源驱动写入数据到GaussDB (for Cassandra)
- GaussDB (for Cassandra)对外提供streaming接口,该接口可获取数据变更捕获
- 客户构建的流服务组件读取streaming接口数据写入到指定的Kafka队列
- Kafka 队列将streaming数据写入到Spark或者Flink中
- 客户在Spark中可对增量数据做分析,也可合并之后做全量分析
全量数据导出分析
客户的另一个业务需要周期性对全量数据进行分析和处理,但不想影响在线业务,希望在闲时处理。GaussDB (for Cassandra)提供了全量数据导出和分析解决方案,可在业务低峰期触发任务进行数据导出和冷数据分析,数据导出速率是开源的10+倍,同时做到对业务读写基本无影响。如下为互联网客户每周定期导出数据分析用户画像的解决方案,该方案有以下几个阶段:
- 客户根据需求配置ECS规格,并挂载obsfs并行文件系统
- 客户在DLF上配置导出作业,包括ECS信息,导出参数和定时任务
- CDM下发作业任务
- ECS上的导出任务将GaussDB (for Cassandra)中的指定表指定条件的数据导出到obsfs
- Spark从obsfs中读取全量数据进行数据分析
通过这3个秘诀,华为云GaussDB (for Cassandra)完美解决了难扩展、高成本、变更不及时等问题,实现了海量数据的高效存储和实时分析,为互联网公司和IOT企业的数字化发展提供了更多可能。欲了解更多GaussDB (for Cassandra)详情信息,欢迎移步华为云官网。
本文作者:华为云高斯Cassandra团队
杭州西安深圳简历投递:zhaojuan.zhao@huawei.com
50亿海量数据如何高效存储和分析? GaussDB (for Cassandra) 3个秘诀搞定的更多相关文章
- ASP.NET MVC中分析淘宝网页发生乱码标题搞定方法
ASP.NET MVC中分析淘宝网页发生乱码标题搞定方法 近来正在分析淘宝中商品的信息,效果发生乱码,如: 原因便是中文字符格式发生冲突,ASP.NET MVC 默认采用utf-8,可是淘宝网页采用g ...
- BigData NoSQL —— ApsaraDB HBase数据存储与分析平台概览
一.引言 时间到了2019年,数据库也发展到了一个新的拐点,有三个明显的趋势: 越来越多的数据库会做云原生(CloudNative),会不断利用新的硬件及云本身的优势打造CloudNative数据库, ...
- 给定a、b两个文件,各存放50亿个url,每个url各占用64字节,内存限制是4G,如何找出a、b文件共同的url?
给定a.b两个文件,各存放50亿个url,每个url各占用64字节,内存限制是4G,如何找出a.b文件共同的url? 可以估计每个文件的大小为5G*64=300G,远大于4G.所以不可能将其完全加载到 ...
- [大牛翻译系列]Hadoop(19)MapReduce 文件处理:基于压缩的高效存储(二)
5.2 基于压缩的高效存储(续) (仅包括技术27) 技术27 在MapReduce,Hive和Pig中使用可分块的LZOP 如果一个文本文件即使经过压缩后仍然比HDFS的块的大小要大,就需要考虑选择 ...
- [大牛翻译系列]Hadoop(18)MapReduce 文件处理:基于压缩的高效存储(一)
5.2 基于压缩的高效存储 (仅包括技术25,和技术26) 数据压缩可以减小数据的大小,节约空间,提高数据传输的效率.在处理文件中,压缩很重要.在处理Hadoop的文件时,更是如此.为了让Hadoop ...
- 智能合约语言 Solidity 教程系列4 - 数据存储位置分析
写在前面 Solidity 是以太坊智能合约编程语言,阅读本文前,你应该对以太坊.智能合约有所了解, 如果你还不了解,建议你先看以太坊是什么 这部分的内容官方英文文档讲的不是很透,因此我在参考Soli ...
- 发布一个高效的JavaScript分析、压缩工具 JavaScript Analyser
发布一个高效的JavaScript分析.压缩工具 JavaScript Analyser 先发一段脚本压缩示例,展示一下JSA语法压缩和优化功能. try { //xxxx(); } catch (e ...
- 一文搞定 SonarQube 接入 C#(.NET) 代码质量分析
1. 前言 C#语言接入Sonar代码静态扫描相较于Java.Python来说,相对麻烦一些.Sonar检测C#代码时需要预先编译,而且C#代码必须用MSbuid进行编译,如果需要使用SonarQub ...
- 云存储?不依赖三方服务自己也可以搞,利用Docker来搭建分布式文件系统FastDfs
原文转载自「刘悦的技术博客」https://v3u.cn/a_id_78 对于文件存储来说,一般情况下简单的处理就是在Django配置文件中配置存储目录,按照规则对文件进行上传或者下载. 实际上,当文 ...
- Linux最佳的云存储服务分析
什么样的云服务才适合作为 Linux 下的存储服务?兄弟连www.itxdl.cn来帮大家分析一下! 大量的免费空间.毕竟,个人用户无法支付每月的巨额款项. 原生的 Linux 客户端.以便你能够方便 ...
随机推荐
- CSP 初赛复习
想要做一些不需要思考也算不得摆烂的事,但发现很难找到符合上述要求的学习内容. 突然想到还剩两天就 CSP 初赛了.虽然在 LN 想过不了初赛纯属搞笑,但为了不让自己的分数太难看还是简单复习一下. 没有 ...
- MongoDB 中的锁分析
MongoDB 中的锁 前言 MongoDB 中锁的类型 锁的让渡释放 常见操作使用的锁类型 如果定位 MongoDB 中锁操作 1.查询运行超过20S 的请求 2.批量删除请求大于 20s 的请求 ...
- RSA总结 From La神
常用工具 分解大素数 factordb (http://www.factordb.com / API: http://factordb.com/api?query=) yafu (p q 相差过大或过 ...
- angular:响应式表单(Reactive Forms)和模板驱动表单(Template-Driven Forms)分别进行验证
2022-01-18 响应式表单 响应式表单是围绕Observable的流构建的. 使用响应式表单时,FormControl类是最基本的构造类. 在使用响应式表单前,需要先导入 ReactiveFor ...
- 微软微服务构建框架Dapr基础入门教程
最近学习dapr,决定将过程在此记录,也为小伙伴们学习的时候提供一份参考. Dapr的介绍这里就不多说了,大家直接可以去百度或者去官网上进行查阅,本文就简单介绍下如何使用. Dapr官方中文文档 一. ...
- k8s-服务网格实战-配置 Mesh(灰度发布)
在上一篇 k8s-服务网格实战-入门Istio中分享了如何安装部署 Istio,同时可以利用 Istio 实现 gRPC 的负载均衡. 今天我们更进一步,深入了解使用 Istio 的功能. 从 Ist ...
- Vite4+Typescript+Vue3+Pinia 从零搭建(3) - vite配置
项目代码同步至码云 weiz-vue3-template 关于vite的详细配置可查看 vite官方文档,本文简单介绍vite的常用配置. 初始内容 项目初建后,vite.config.ts 的默认内 ...
- Electron-Vue中引入vue-devtools
效果图 先看下我引入后的效果图: 可以看到,跟在Chrome浏览器一样,会在开发者工具中出现一个Vue的标签,使用方式没有差别. 引入步骤 步骤一:下载安装vue-devtools 到vue-devt ...
- MySQL-安全更新参数
版权声明:原创作品,谢绝转载!否则将追究法律责任. ----- 作者:kirin 注意! 生产环境中,updata必须要加where条件 1.开启安全功能,会提示你加where,不加会提示语法不正确. ...
- Go笔记(4)-流程控制
5.Go语言流程控制 程序流程的控制结构一般有三种,顺序结构,选择结构,循环结构 (1)选择结构 if语句 if流程控制与其他语言的if流程控制基本相同 package main import &qu ...