您的位置:首页 > 大数据

大数据:OLTP和OLAP

2017-11-16 16:28 246 查看
OLTP(On-line Transaction Processing),联机事务处理,OLTP是传统的关系型数据库的主要应用,OLTP一般就是把大数扰用于在线业务,这种需求要求有实时性,查询以后要在秒级别返回,且对服务稳定性和容错性有一定要求。另外,读操作的数量远远大于写操作,且增量数据的大小要远远小于历史数据。在设计OLTP的数据系统中,主要技术难点有:

(1)分层

(2)分片

(3)分布式事务

OLAP主要是做离线分析,对时效性要求不高,跑几个小时到几天问题都不大,并且机器挂了也没事,大不了restart一下。但是这种系统往往数据量非常大,维数特别多,基本都需要把历史数据全部扫描1-2遍。在设计OLAP系统里主要涉及到技术有:

(1)列存储

(2)除维

(3)切片

OLTP做起来相对容易,并且企业和开源产品非常多。小型项目用mysql+redis+memcached足够应付,大型项目在开源社区的支持下,hadoop+hbase+redis也可以从无到有地应对需求,迅速减少小公怀同大公司的差距。甚至连这前NOSQL的各大产品一直纠结CAP原则,目前也隐隐有了逼近的解决方案,至少在可用性A和分区容忍度P达到的基础上,基本能把一致性C的延迟时间降低到秒级甚至毫秒级。

OLAP相对较为复杂,由于数据是多维的,以往以语义著称的SQL语言也在数据分析时显得力不从心。在这方面建模和抽象变得很重要,如何解决数据的语义性和查询的可描述性变得很困难。目前OLAP主要的开源产品包括HDFS、HIVE和Impala等。

如何根据需求来设计系统者一个技术人员需要考虑的问题,过分的设计和过分的资源消耗都是不合适的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: