百万级别数据,数据库Mysql,Mongodb,Hbase如何选择?

情况说明:

现在需要做一个数据存储,500w左右的数据,日后每天大约产生5w条左右的数据。想把这些数据存储起来,供日后的数据分析用?使用上面说的三种数据库中的哪中比较好?是否有必要建立集群?

个人看法是:从长远角度看,由于单台机器的性能瓶颈,后期肯定要做集群,单纯的做复制最终也无法缓解单台master上读的负担。因此,使用mysql的话会使用cluser。但是了解到mysql的cluser要用好的化还要做负载均衡,而mysql的均衡器是第三方的,无法很好的与mysql整合。使用mongodb的自动分片集群能很好的解决这个问题,而且它的读写性能也快。Hbase提供了大数据存储的解决方案。

回到我问题,最终是要在大数据的基础上做数据分析,虽然mongodb也能与Mapreduce整合,但想必Hbase做这一块会更有优势。

我们的需求是做一个数据仓库,不是线上数据,即是OLAP。数据来源是很多的线上数据库(我们用的是mysql),每隔一段时间会同步数据过来(大概是几天的样子)。这些数据将用于日后的数据分析。因此,对实时性要求不是很高。

答案:

百万级的数据,无论侧重OLTP还是OLAP,当然就是MySql了。

过亿级的数据,侧重OLTP可以继续Mysql,侧重OLAP,就要分场景考虑了。

实时计算场景:强调实时性,常用于实时性要求较高的地方,可以选择Storm;

批处理计算场景:强调批处理,常用于数据挖掘、分析,可以选择Hadoop;

实时查询场景:强调查询实时响应,常用于把DB里的数据转化索引文件,通过搜索引擎来查询,可以选择solr/elasticsearch;

企业级ODS/EDW/数据集市场景:强调基于关系性数据库的大数据实时分析,常用于业务数据集成,可以选择Greenplum;

数据库系统一般分为两种类型:

  • 一种是面向前台应用的,应用比较简单,但是重吞吐和高并发的OLTP类型;
  • 一种是重计算的,对大数据集进行统计分析的OLAP类型。

传统数据库侧重交易处理,即OLTP,关注的是多用户的同时的双向操作,在保障即时性的要求下,系统通过内存来处理数据的分配、读写等操作,存在IO瓶颈。

OLTP(On-Line Transaction Processing,联机事务处理)系统也称为生产系统,它是事件驱动的、面向应用的,比如电子商务网站的交易系统就是一个典型的OLTP系统。OLTP的基本特点是:

  • 数据在系统中产生;
  • 基于交易的处理系统(Transaction-Based);
  • 每次交易牵涉的数据量很小;
  • 对响应时间要求非常高;
  • 用户数量非常庞大,主要是操作人员;
  • 数据库的各种操作主要基于索引进行。

分析型数据库是以实时多维分析技术作为基础,即侧重OLAP,对数据进行多角度的模拟和归纳,从而得出数据中所包含的信息和知识。

OLAP(On-Line Analytical Processing,联机分析处理)是基于数据仓库的信息分析处理过程,是数据仓库的用户接口部分。OLAP系统是跨部门的、面向主题的,其基本特点是:

  • 本身不产生数据,其基础数据来源于生产系统中的操作数据(OperationalData);
  • 基于查询的分析系统;
  • 复杂查询经常使用多表联结、全表扫描等,牵涉的数据量往往十分庞大;
  • 响应时间与具体查询有很大关系;
  • 用户数量相对较小,其用户主要是业务人员与管理人员;

感谢知乎网友的贡献,查看原帖:https://www.zhihu.com/question/26518864

本文分享自微信公众号 - CSDN技术头条(CSDN_Tech)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2014-11-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

MongoDB 如何使定制电子商务变得简单

开源电子商务软件市场已经历了众多发展阶段,您可能已经通过 osCommerce、Magento、Zen Cart、PrestaShop、Spree 等流行平台而...

24970
来自专栏微信终端开发团队的专栏

SQLite虚拟机

1 前言 本文主要介绍SQLite虚拟机VDBE,为了更好地了解SQLite虚拟机,文中也加入了一些Lua虚拟机内容来对比学习,更好地了解不同虚拟机之间的异同...

38860
来自专栏腾讯大数据的专栏

PGXZ-腾讯全功能分布式关系数据集群

开头先解释下全功能什么意思,所谓的全功能指的是支持绝大部分的SQL特性,像主键,触发器,约束,函数,存储过程,跨节点join等等。而且这些特性的支持对业务完全透...

45380
来自专栏腾讯技术工程官方号的专栏

后台开发中的时空转换艺术

作者介绍:augustzhang,安全平台部基础架构组员工,先后从事密保、验证码等后台研发工作,现在主要负责安全平台部大数据平台的研发工作,致力于研究每秒GB级...

23170
来自专栏张善友的专栏

FileSystemWatcher 导致Mono ASP.NET应用程序CPU使用率比较高

大家都知道ASP.NET 网站应用程序(WebSite)可以自动检测到你的ASP.NET应用的文件修改,其中要使用到的就是监视磁盘上的文件/目录的更改,以便应用...

241100
来自专栏向治洪

获取手机短信内容

原理是通过,contentprovider获取系统短信数据库中的字段信息而达到获取内容目的 效果图如下: ? 具体代码如下: package com.inter...

25680
来自专栏腾讯大数据的专栏

【揭秘】腾讯大数据 98.8 秒完成 100TB 数据排序的架构和算法

上周,腾讯云大数据联合团队以98.8秒的成绩完成100TB数据排序,摘得2016 Sort Benchmark全球排序竞赛冠军。在这次竞赛中,腾讯云数智分布式计...

32280
来自专栏张善友的专栏

MongoDB核心贡献者:不是MongoDB不行,而是你不懂!

近期MongoDB在Hack News上是频繁中枪。许多人更是声称恨上了MongoDB,David mytton就在他的博客中揭露了MongoDB许多现存问题。...

270100
来自专栏腾讯技术工程官方号的专栏

数据才是永恒的存在

作者介绍:2012年进入腾讯,负责腾讯云数据库平台(CDB)和腾讯云分布式存储平台(CBS)的运维工作,对数据库高可用、数据库调优、分布式存储运维等领域有丰富的...

23690
来自专栏微信终端开发团队的专栏

JSPatch 实现原理详解

JSPatch 是一个 iOS 动态更新框架,只需在项目中引入极小的引擎,就可以使用就可以使用 JavaScript 调用任何 Objective-C 原生接口...

47780

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励