大数据实时应用是近几年出现的新需求。
以往,由于数据量少、计算简单、并发数量少,数据库压力不大,一台中高端的数据库服务器或集群就有足够的资源可供分配。为了能够对当期数据和历史数据同时快速访问,用户常常会让查询分析系统和生产系统使用同一个数据库服务器,这样既可以降低数据库成本,也更方便数据的管理,实时性也有一定保障。这是数据库实时应用的黄金时期。
近几年,随着信息爆发性的增长和应用程序的多样化,数据增长明显变快,应用日趋复杂,并发访问也越来越多,导致数据库的压力也越来越大,实时应用受到了严重的挑战。
第一个挑战是实时性。数据库性能急剧下降,响应时间大幅延长,用户体验急剧下降,严重影响业务系统的正常运作。实时应用,已经变成了事实上的半实时。
第二个挑战是成本。为了缓解性能压力,用户必须升级数据库,而且数据增长是持续的,升级每隔一段时间可能就要进行一次,数据库服务器、存储介质、用户许可协议昂贵,还有可能会按CPU数量、集群节点数额外收费。
第三个挑战是数据库应用。数据库压力变大,会严重影响核心业务,用户不得不将历史数据剥离,这就形成了两组数据库服务器,分别存储历史数据和核心数据。但数据库的跨库查询能力很弱,性能也很差,应用系统的编写也变得更复杂了。
第四个挑战是数据库管理。为了获得最新的分析结果,同时避免书写复杂低效的跨库程序,很多用户采取了增加管理成本和管理难度的做法——将业务库的最新数据及时同步到历史库中。数据库的高端版本一般会提供类似的订阅分发或数据复制的功能。
大数据实时应用,在这四个挑战面前举步维艰。
如何保证大数据应用的实时性?如何在保证实时性的同时降低数据库的成本?如何方便地实现跨库查询?如何减轻数据库的管理成本和管理难度?这是企业CIO或CTO当前最关注的话题之一。
集算器是解决这一顽症的良药。它是具有完备计算能力的数据库中间件。它支持外存计算、跨库计算和并行计算。数据库配合集算器,可以有足够的能力应对大数据应用的四个挑战。
集算器支持对外存文件和HDFS的计算,大量的历史数据可以存储于普通PC的廉价硬盘上,集算器负责计算;而数据库只需要存储和管理当期核心的业务数据。节省成本和分担计算压力的目的达到了。
集算器支持并行计算,遇到负载较重的大数据访问、或并发较多的集中访问时,计算压力可以被分担到多台廉价节点机上,其实时性可达到甚至超过高端数据库。
集算器具有完备的计算能力,尤其擅长复杂的数据计算,单独使用即可支持业务逻辑复杂的应用。但集算器更擅长和数据库的配合使用,它支持多数据源计算,包括各类结构化数据、非结构化数据、数据库数据、本地文件、HDFS中的大数据文件、分布式数据库。它可以向上级应用程序提供一致的JDBC接口,这就降低了大数据和传统数据库的结合难度、解除了单源报表的限制、降低了大数据应用的复杂度。
由于无缝地支持外存文件和数据库数据的混合计算,用户不必再使用复杂昂贵的数据同步技术,数据库只专注于当期数据和核心业务应用,而集算器则可以同时访问外存文件中的历史数据和数据库中当期的业务数据,由此可以产生最新最及时的分析结果。
集算器的跨库计算和外存计算能力可保证实时查询的同时降低DB的压力,由它协助数据库,可以低成本高效率地实现大数据实时应用。
http://blog.sina.com.cn/s/blog_e4de31d00101eqkx.html
转载于:https://blog.51cto.com/report5/1332377