大数据应用之双色球算奖平台总体设计历史数据存储篇

本文涉及的产品
云原生大数据计算服务 MaxCompute,5000CU*H 100GB 3个月
云原生大数据计算服务MaxCompute,500CU*H 100GB 3个月
简介: 大数据应用之双色球算奖平台总体设计历史数据存储篇 作者:张子良 版权所有,转载请注明出处 1.1 引子:文件OR数据库   历史期次的双色球选注数据的存储,采用什么样的格式比较好呢?这需要重点从三个方面考虑,一、文件访问方便吗?二、文件服务器空间够用吗?三、软硬件故障环境下,如何保障数据的可用性。

大数据应用之双色球算奖平台总体设计历史数据存储篇

作者:张子良

版权所有,转载请注明出处

1.1 引子:文件OR数据库

  历史期次的双色球选注数据的存储,采用什么样的格式比较好呢?这需要重点从三个方面考虑,一、文件访问方便吗?二、文件服务器空间够用吗?三、软硬件故障环境下,如何保障数据的可用性。基于这几个方面的考虑,到底是采用文件存储还是采用数据库存储呢?本文,从传统和前沿技术两个角度给出了两种相应的解决方案。

1.2 文件存储

1.2.1 三大问题

  根据上一篇《大数据应用之双色球算奖平台总体设计数据规模估算篇》分析,双色球单期次数据的存储规模在7G左右,记录数在2亿条左右。可以考虑以文本文件的方式进行存储,这里面面临三大问题,一、单个文件过大的问题,访问不便,文本文件一般来讲超过200M,使用常规文本文件阅读器打开,都会成为问题,各位可以自行尝试。二、历史期次存储空间问题,技术总是在发展的,目前一般的服务器存储空间,单台服务器硬盘配置个NT,从技术和成本角度,都不会成为障碍,双色球每周三期,考虑到节假日的因素,每年约156期,156*7=1092,所需空间约1T。三、数据高可用性问题,传统单点存储方式的缺点,不做说明,考虑一个极端,硬盘坏了,或者服务器宕机,数据怎么访问?

1.2.2 传统方案

  问题的存在,不代表没有解决的方法,一切软件问题的技术解决方案,其实都是在各种妥协中寻求平衡点而已。当然总有无法平衡的时候,而这时总会有技术方面的突破,有需求才有动力。传统的方式,针对问题一,可以按照地域或者期次进行文件夹组织,按照投注站进行文件命名,不同投注站的单独期次的文件存放到同一个文件中,这样做的好处是单个文件的大小变小了,读取成为可能,缺点是你要去管理大量的小文件。针对问题二、如果考虑一台主机就能存个三年五载的数据,不妨搞个磁盘阵列,或者多加几块T级的存储硬盘。这么做的好处是空间问题得到解决了,缺点是仍然面临IO读取速度的问题。针对问题三、可以采用磁带机,或者物理隔离的冗余备份,考虑到数据的特点,数据一次写入,不会发生变更,所以即使是刻盘的方式都是能够解决问题的,这么做自然能做到保障数据的可用性,但是同样的存在问题,那就是即时可用性,无论什么原因,我必须停下当前的工作,重新进行数据的导入和加载。

1.2.3 前沿技术

  如果双色球历史数据存储的问题,结合最新的分布式存储(HDFS),会得到怎么样的效果呢?我们不妨仔细的考虑一下。如果采用分布式单文件存储,每一期作为一个文件,可以很好的解决存储空间和高可用性的问题,但是分段读取还是一个障碍,除非你一次想使用整个文件。所以还是要妥协,那就是把文件按照上一节中提到的方式进行切分。只是考虑业务分析的需求,粒度可以控制在以地域为单位或者以投注站为单位,粒度过细则会涉及到HDFS文件分块的问题(64M)。

1.3 数据库存储

1.3.1 核心问题

  考虑到双色球投注数据的特点,每一个选注为一个独立的数据单元,一条记录。采用关系型数据库进行存储的好处很明显,就是结构清晰,访问方便。但是由于数据规模的问题,单表存储2亿条记录,如果采用传统关系型数据库,面临的核心问题就是单表记录数过大的问题。

1.3.2 传统技术-分区&分表

  历史的因素,关系型数据一致面临大数据应用领域的挑战,当然也衍生出来许多的解决办法,比如说分区,比如说分表。分区的核心思想在于增加单表的空间,而分表的核心思想则在于分而治之。但是都无法逃避单点访问受限的问题,再怎么变,也要受控于RDMS服务器的性能。

1.3.3 前沿技术-NoSQL

  如果采用No-SQL技术(Hbase)又会是怎么样的情形呢?我们以期次为单位组织表结构,每期一个文件,以投注站编号和流水号为rowkey,以红球为family1,以篮球为family2。根据Hbase的特点,则既可以解决记录数的问题,也可以解决访问并发访问性能的问题(Hbase文件存储采用HDFS)。同时Hbase基础之上有很多分布式并行计算的工具可用,可以很好的协调多服务器的并行计算。

1.4 对比分析

  前文已述,很喜欢No-SQL方式的实现,个人认为是目前最为恰当的方式。引玉抛砖,还是多听听各位大牛的意见吧。


作者:张子良
出处:http://www.cnblogs.com/hadoopdev
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
SaaS 模式云数据仓库必修课
本课程由阿里云开发者社区和阿里云大数据团队共同出品,是SaaS模式云原生数据仓库领导者MaxCompute核心课程。本课程由阿里云资深产品和技术专家们从概念到方法,从场景到实践,体系化的将阿里巴巴飞天大数据平台10多年的经过验证的方法与实践深入浅出的讲给开发者们。帮助大数据开发者快速了解并掌握SaaS模式的云原生的数据仓库,助力开发者学习了解先进的技术栈,并能在实际业务中敏捷的进行大数据分析,赋能企业业务。 通过本课程可以了解SaaS模式云原生数据仓库领导者MaxCompute核心功能及典型适用场景,可应用MaxCompute实现数仓搭建,快速进行大数据分析。适合大数据工程师、大数据分析师 大量数据需要处理、存储和管理,需要搭建数据仓库?学它! 没有足够人员和经验来运维大数据平台,不想自建IDC买机器,需要免运维的大数据平台?会SQL就等于会大数据?学它! 想知道大数据用得对不对,想用更少的钱得到持续演进的数仓能力?获得极致弹性的计算资源和更好的性能,以及持续保护数据安全的生产环境?学它! 想要获得灵活的分析能力,快速洞察数据规律特征?想要兼得数据湖的灵活性与数据仓库的成长性?学它! 出品人:阿里云大数据产品及研发团队专家 产品 MaxCompute 官网 https://www.aliyun.com/product/odps 
相关文章
|
2月前
|
SQL 存储 分布式计算
ODPS技术架构深度剖析与实战指南——从零开始掌握阿里巴巴大数据处理平台的核心要义与应用技巧
【10月更文挑战第9天】ODPS是阿里巴巴推出的大数据处理平台,支持海量数据的存储与计算,适用于数据仓库、数据挖掘等场景。其核心组件涵盖数据存储、计算引擎、任务调度、资源管理和用户界面,确保数据处理的稳定、安全与高效。通过创建项目、上传数据、编写SQL或MapReduce程序,用户可轻松完成复杂的数据处理任务。示例展示了如何使用ODPS SQL查询每个用户的最早登录时间。
115 1
|
24天前
|
SQL 数据采集 分布式计算
【赵渝强老师】基于大数据组件的平台架构
本文介绍了大数据平台的总体架构及各层的功能。大数据平台架构分为五层:数据源层、数据采集层、大数据平台层、数据仓库层和应用层。其中,大数据平台层为核心,负责数据的存储和计算,支持离线和实时数据处理。数据仓库层则基于大数据平台构建数据模型,应用层则利用这些模型实现具体的应用场景。文中还提供了Lambda和Kappa架构的视频讲解。
【赵渝强老师】基于大数据组件的平台架构
|
1月前
|
存储 NoSQL 大数据
大数据 数据存储优化
【10月更文挑战第25天】
67 2
|
2月前
|
存储 分布式计算 druid
大数据-149 Apache Druid 基本介绍 技术特点 应用场景
大数据-149 Apache Druid 基本介绍 技术特点 应用场景
63 1
大数据-149 Apache Druid 基本介绍 技术特点 应用场景
|
2月前
|
存储 NoSQL 大数据
大数据中数据存储 (Data Storage)
【10月更文挑战第17天】
67 2
|
2月前
|
机器学习/深度学习 监控 搜索推荐
电商平台如何精准抓住你的心?揭秘大数据背后的神秘推荐系统!
【10月更文挑战第12天】在信息爆炸时代,数据驱动决策成为企业优化决策的关键方法。本文以某大型电商平台的商品推荐系统为例,介绍其通过收集用户行为数据,经过预处理、特征工程、模型选择与训练、评估优化及部署监控等步骤,实现个性化商品推荐,提升用户体验和销售额的过程。
84 1
ly~
|
2月前
|
供应链 搜索推荐 安全
大数据模型的应用
大数据模型在多个领域均有广泛应用。在金融领域,它可用于风险评估与预测、智能营销及反欺诈检测,助力金融机构做出更加精准的决策;在医疗领域,大数据模型能够协助疾病诊断与预测、优化医疗资源管理和加速药物研发;在交通领域,该技术有助于交通流量预测、智能交通管理和物流管理,从而提升整体交通效率;电商领域则借助大数据模型实现商品推荐、库存管理和价格优化,增强用户体验与企业效益;此外,在能源和制造业中,大数据模型的应用范围涵盖从需求预测到设备故障预测等多个方面,全面推动了行业的智能化转型与升级。
ly~
131 2
|
2月前
|
存储 分布式计算 druid
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
大数据-155 Apache Druid 架构与原理详解 数据存储 索引服务 压缩机制
62 3
ly~
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
大数据在智慧金融中的应用
在智能算法交易中,深度学习揭示价格波动的复杂动力学,强化学习依据市场反馈优化策略,助力投资者获取阿尔法收益。智能监管合规利用自然语言处理精准解读法规,实时追踪监管变化,确保机构紧跟政策。大数据分析监控交易,预警潜在违规行为,变被动防御为主动预防。数智化营销通过多维度数据分析,构建细致客户画像,提供个性化产品推荐。智慧客服借助 AI 技术提升服务质量,增强客户满意度。
ly~
131 3
ly~
|
2月前
|
供应链 搜索推荐 大数据
大数据在零售业中的应用
在零售业中,大数据通过分析顾客的购买记录、在线浏览习惯等数据,帮助零售商理解顾客行为并提供个性化服务。例如,分析网站点击路径以了解顾客兴趣,并利用历史购买数据开发智能推荐系统,提升销售和顾客满意度。此外,大数据还能优化库存管理,通过分析销售数据和市场需求,更准确地预测需求,减少库存积压和缺货现象,提高资金流动性。
ly~
387 2