当前位置:首页 » 编程语言 » sql数据仓库推荐
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql数据仓库推荐

发布时间: 2022-07-12 20:37:54

Ⅰ 哪种数据仓库架构最成功

一直想整理一下这块内容,既然是漫谈,就想起什么说什么吧。我一直是在互联网行业,就以互联网行业来说。
先大概列一下互联网行业数据仓库、数据平台的用途:

  • 整合公司所有业务数据,建立统一的数据中心;

  • 提供各种报表,有给高层的,有给各个业务的;

  • 为网站运营提供运营上的数据支持,就是通过数据,让运营及时了解网站和产品的运营效果;

  • 为各个业务提供线上或线下的数据支持,成为公司统一的数据交换与提供平台;

  • 分析用户行为数据,通过数据挖掘来降低投入成本,提高投入效果;比如广告定向精准投放、用户个性化推荐等;

  • 开发数据产品,直接或间接为公司盈利;

  • 建设开放数据平台,开放公司数据;

  • 。。。。。。


  • 上面列出的内容看上去和传统行业数据仓库用途差不多,并且都要求数据仓库/数据平台有很好的稳定性、可靠性;但在互联网行业,除了数据量大之外,越来越多的业务要求时效性,甚至很多是要求实时的 ,另外,互联网行业的业务变化非常快,不可能像传统行业一样,可以使用自顶向下的方法建立数据仓库,一劳永逸,它要求新的业务很快能融入数据仓库中来,老的下线的业务,能很方便的从现有的数据仓库中下线;

  • 其实,互联网行业的数据仓库就是所谓的敏捷数据仓库,不但要求能快速的响应数据,也要求能快速的响应业务;

  • 建设敏捷数据仓库,除了对架构技术上的要求之外,还有一个很重要的方面,就是数据建模,如果一上来就想着建立一套能兼容所有数据和业务的数据模型,那就又回到传统数据仓库的建设上了,很难满足对业务变化的快速响应。应对这种情况,一般是先将核心的持久化的业务进行深度建模(比如:基于网站日志建立的网站统计分析模型和用户浏览轨迹模型;基于公司核心用户数据建立的用户模型),其它的业务一般都采用维度+宽表的方式来建立数据模型。这块是后话。

  • 整体架构下面的图是我们目前使用的数据平台架构图,其实大多公司应该都差不多:

  • 逻辑上,一般都有数据采集层、数据存储与分析层、数据共享层、数据应用层。可能叫法有所不同,本质上的角色都大同小异。

  • 我们从下往上看:

  • 数据采集数据采集层的任务就是把数据从各种数据源中采集和存储到数据存储上,期间有可能会做一些简单的清洗。


  • 数据源的种类比较多:

  • 网站日志:


  • 作为互联网行业,网站日志占的份额最大,网站日志存储在多台网站日志服务器上,

  • 一般是在每台网站日志服务器上部署flume agent,实时的收集网站日志并存储到HDFS上;

  • 业务数据库


  • 业务数据库的种类也是多种多样,有Mysql、Oracle、SqlServer等,这时候,我们迫切的需要一种能从各种数据库中将数据同步到HDFS上的工具,Sqoop是一种,但是Sqoop太过繁重,而且不管数据量大小,都需要启动MapRece来执行,而且需要Hadoop集群的每台机器都能访问业务数据库;应对此场景,淘宝开源的DataX,是一个很好的解决方案(可参考文章 《异构数据源海量数据交换工具-Taobao DataX 下载和使用》),有资源的话,可以基于DataX之上做二次开发,就能非常好的解决,我们目前使用的DataHub也是。

  • 当然,Flume通过配置与开发,也可以实时的从数据库中同步数据到HDFS。

  • 来自于Ftp/Http的数据源:


  • 有可能一些合作伙伴提供的数据,需要通过Ftp/Http等定时获取,DataX也可以满足该需求;

  • 其他数据源:


  • 比如一些手工录入的数据,只需要提供一个接口或小程序,即可完成;


  • 数据存储与分析毋庸置疑,HDFS是大数据环境下数据仓库/数据平台最完美的数据存储解决方案。


  • 离线数据分析与计算,也就是对实时性要求不高的部分,在我看来,Hive还是首当其冲的选择,丰富的数据类型、内置函数;压缩比非常高的ORC文件存储格式;非常方便的SQL支持,使得Hive在基于结构化数据上的统计分析远远比MapRece要高效的多,一句SQL可以完成的需求,开发MR可能需要上百行代码;

  • 当然,使用Hadoop框架自然而然也提供了MapRece接口,如果真的很乐意开发Java,或者对SQL不熟,那么也可以使用MapRece来做分析与计算;Spark是这两年非常火的,经过实践,它的性能的确比MapRece要好很多,而且和Hive、Yarn结合的越来越好,因此,必须支持使用Spark和SparkSQL来做分析和计算。因为已经有Hadoop Yarn,使用Spark其实是非常容易的,不用单独部署Spark集群,关于Spark On Yarn的相关文章,可参考:《Spark On Yarn系列文章》

  • 实时计算部分,后面单独说。

  • 数据共享这里的数据共享,其实指的是前面数据分析与计算后的结果存放的地方,其实就是关系型数据库和NOSQL数据库;


  • 前面使用Hive、MR、Spark、SparkSQL分析和计算的结果,还是在HDFS上,但大多业务和应用不可能直接从HDFS上获取数据,那么就需要一个数据共享的地方,使得各业务和产品能方便的获取数据;和数据采集层到HDFS刚好相反,这里需要一个从HDFS将数据同步至其他目标数据源的工具,同样,DataX也可以满足。

  • 另外,一些实时计算的结果数据可能由实时计算模块直接写入数据共享。


  • 数据应用
  • 业务产品


  • 业务产品所使用的数据,已经存在于数据共享层,他们直接从数据共享层访问即可;

  • 报表


  • 同业务产品,报表所使用的数据,一般也是已经统计汇总好的,存放于数据共享层;

  • 即席查询


  • 即席查询的用户有很多,有可能是数据开发人员、网站和产品运营人员、数据分析人员、甚至是部门老大,他们都有即席查询数据的需求;

  • 这种即席查询通常是现有的报表和数据共享层的数据并不能满足他们的需求,需要从数据存储层直接查询。

  • 即席查询一般是通过SQL完成,最大的难度在于响应速度上,使用Hive有点慢,目前我的解决方案是SparkSQL,它的响应速度较Hive快很多,而且能很好的与Hive兼容。

  • 当然,你也可以使用Impala,如果不在乎平台中再多一个框架的话。

  • OLAP


  • 目前,很多的OLAP工具不能很好的支持从HDFS上直接获取数据,都是通过将需要的数据同步到关系型数据库中做OLAP,但如果数据量巨大的话,关系型数据库显然不行;

  • 这时候,需要做相应的开发,从HDFS或者HBase中获取数据,完成OLAP的功能;

  • 比如:根据用户在界面上选择的不定的维度和指标,通过开发接口,从HBase中获取数据来展示。

  • 其它数据接口


  • 这种接口有通用的,有定制的。比如:一个从Redis中获取用户属性的接口是通用的,所有的业务都可以调用这个接口来获取用户属性。


  • 实时计算现在业务对数据仓库实时性的需求越来越多,比如:实时的了解网站的整体流量;实时的获取一个广告的曝光和点击;在海量数据下,依靠传统数据库和传统实现方法基本完成不了,需要的是一种分布式的、高吞吐量的、延时低的、高可靠的实时计算框架;Storm在这块是比较成熟了,但我选择Spark Streaming,原因很简单,不想多引入一个框架到平台中,另外,Spark Streaming比Storm延时性高那么一点点,那对于我们的需要可以忽略。

  • 我们目前使用Spark Streaming实现了实时的网站流量统计、实时的广告效果统计两块功能。

  • 做法也很简单,由Flume在前端日志服务器上收集网站日志和广告日志,实时的发送给Spark Streaming,由Spark Streaming完成统计,将数据存储至Redis,业务通过访问Redis实时获取。

  • 任务调度与监控在数据仓库/数据平台中,有各种各样非常多的程序和任务,比如:数据采集任务、数据同步任务、数据分析任务等;


  • 这些任务除了定时调度,还存在非常复杂的任务依赖关系,比如:数据分析任务必须等相应的数据采集任务完成后才能开始;数据同步任务需要等数据分析任务完成后才能开始;这就需要一个非常完善的任务调度与监控系统,它作为数据仓库/数据平台的中枢,负责调度和监控所有任务的分配与运行。

  • 前面有写过文章,《大数据平台中的任务调度与监控》,这里不再累赘。

  • 总结在我看来架构并不是技术越多越新越好,而是在可以满足需求的情况下,越简单越稳定越好。目前在我们的数据平台中,开发更多的是关注业务,而不是技术,他们把业务和需求搞清楚了,基本上只需要做简单的SQL开发,然后配置到调度系统就可以了,如果任务异常,会收到告警。这样,可以使更多的资源专注于业务之上。

Ⅱ 请问数据仓库都用什么建立

数据仓库是为了管理数据,主要是思想。
具体实施的工具就是为了解决问题而选取了
比如异构/不同源数据的数据抽取问题,要用到etl,可能会用工具 或者自己写程序,看情况而定‘
数据仓库的模型建设,要用到erwin等建模工具;
数据的存放一般是借助关系数据库来实现,那么会用到oracle之类。不过现在已经开始慢慢摒弃传统关系数据库了,借助一些No sql平台,比如hadoop上的hive之类。
不过无论用什么工具,一定要记住,数据仓库的思想是不变的,就是管理数据、把数据的价值通过有效地管理而展现出来,不经管理的数据就是一堆没有提炼的金矿,看着很值钱,直接狗屁用没有。

Ⅲ 公司这边要搭建数据仓库,用什么数据库比较好

开源的数据库不少,公司内部使用的话,看你的实际需求,如果结构比较简单,数据量不大的,从网上下载个mysql和对应的管理工具就行。如果稍复杂的,就用大型的关系型数据库吧,如oracle、SQL SERVER等等。

Ⅳ 选择什么样的数据仓库架构比较好如何选择呢

一直想整理一下这块内容,既然是漫谈,就想起什么说什么吧。我一直是在互联网行业,就以互联网行业来说。
先大概列一下互联网行业数据仓库、数据平台的用途:

  • 整合公司所有业务数据,建立统一的数据中心;

  • 提供各种报表,有给高层的,有给各个业务的;

  • 为网站运营提供运营上的数据支持,就是通过数据,让运营及时了解网站和产品的运营效果;

  • 为各个业务提供线上或线下的数据支持,成为公司统一的数据交换与提供平台;

  • 分析用户行为数据,通过数据挖掘来降低投入成本,提高投入效果;比如广告定向精准投放、用户个性化推荐等;

  • 开发数据产品,直接或间接为公司盈利;

  • 建设开放数据平台,开放公司数据;

  • 。。。。。。


  • 上面列出的内容看上去和传统行业数据仓库用途差不多,并且都要求数据仓库/数据平台有很好的稳定性、可靠性;但在互联网行业,除了数据量大之外,越来越多的业务要求时效性,甚至很多是要求实时的 ,另外,互联网行业的业务变化非常快,不可能像传统行业一样,可以使用自顶向下的方法建立数据仓库,一劳永逸,它要求新的业务很快能融入数据仓库中来,老的下线的业务,能很方便的从现有的数据仓库中下线;


  • 其实,互联网行业的数据仓库就是所谓的敏捷数据仓库,不但要求能快速的响应数据,也要求能快速的响应业务;


  • 建设敏捷数据仓库,除了对架构技术上的要求之外,还有一个很重要的方面,就是数据建模,如果一上来就想着建立一套能兼容所有数据和业务的数据模型,那就又回到传统数据仓库的建设上了,很难满足对业务变化的快速响应。应对这种情况,一般是先将核心的持久化的业务进行深度建模(比如:基于网站日志建立的网站统计分析模型和用户浏览轨迹模型;基于公司核心用户数据建立的用户模型),其它的业务一般都采用维度+宽表的方式来建立数据模型。这块是后话。


  • 整体架构下面的图是我们目前使用的数据平台架构图,其实大多公司应该都差不多:


  • 逻辑上,一般都有数据采集层、数据存储与分析层、数据共享层、数据应用层。可能叫法有所不同,本质上的角色都大同小异。


  • 我们从下往上看:


  • 数据采集数据采集层的任务就是把数据从各种数据源中采集和存储到数据存储上,期间有可能会做一些简单的清洗。



  • 数据源的种类比较多:


  • 网站日志:


  • 作为互联网行业,网站日志占的份额最大,网站日志存储在多台网站日志服务器上,


  • 一般是在每台网站日志服务器上部署flume agent,实时的收集网站日志并存储到HDFS上;


  • 业务数据库:


  • 业务数据库的种类也是多种多样,有Mysql、Oracle、SqlServer等,这时候,我们迫切的需要一种能从各种数据库中将数据同步到HDFS上的工具,Sqoop是一种,但是Sqoop太过繁重,而且不管数据量大小,都需要启动MapRece来执行,而且需要Hadoop集群的每台机器都能访问业务数据库;应对此场景,淘宝开源的DataX,是一个很好的解决方案(可参考文章 《异构数据源海量数据交换工具-Taobao DataX 下载和使用》),有资源的话,可以基于DataX之上做二次开发,就能非常好的解决,我们目前使用的DataHub也是。


  • 当然,Flume通过配置与开发,也可以实时的从数据库中同步数据到HDFS。


  • 来自于Ftp/Http的数据源:


  • 有可能一些合作伙伴提供的数据,需要通过Ftp/Http等定时获取,DataX也可以满足该需求;


  • 其他数据源:


  • 比如一些手工录入的数据,只需要提供一个接口或小程序,即可完成;



  • 数据存储与分析毋庸置疑,HDFS是大数据环境下数据仓库/数据平台最完美的数据存储解决方案。



  • 离线数据分析与计算,也就是对实时性要求不高的部分,在我看来,Hive还是首当其冲的选择,丰富的数据类型、内置函数;压缩比非常高的ORC文件存储格式;非常方便的SQL支持,使得Hive在基于结构化数据上的统计分析远远比MapRece要高效的多,一句SQL可以完成的需求,开发MR可能需要上百行代码;


  • 当然,使用Hadoop框架自然而然也提供了MapRece接口,如果真的很乐意开发Java,或者对SQL不熟,那么也可以使用MapRece来做分析与计算;Spark是这两年非常火的,经过实践,它的性能的确比MapRece要好很多,而且和Hive、Yarn结合的越来越好,因此,必须支持使用Spark和SparkSQL来做分析和计算。因为已经有Hadoop Yarn,使用Spark其实是非常容易的,不用单独部署Spark集群,关于Spark On Yarn的相关文章,可参考:《Spark On Yarn系列文章》


  • 实时计算部分,后面单独说。


  • 数据共享这里的数据共享,其实指的是前面数据分析与计算后的结果存放的地方,其实就是关系型数据库和NOSQL数据库;



  • 前面使用Hive、MR、Spark、SparkSQL分析和计算的结果,还是在HDFS上,但大多业务和应用不可能直接从HDFS上获取数据,那么就需要一个数据共享的地方,使得各业务和产品能方便的获取数据;和数据采集层到HDFS刚好相反,这里需要一个从HDFS将数据同步至其他目标数据源的工具,同样,DataX也可以满足。


  • 另外,一些实时计算的结果数据可能由实时计算模块直接写入数据共享。



  • 数据应用

  • 业务产品


  • 业务产品所使用的数据,已经存在于数据共享层,他们直接从数据共享层访问即可;


  • 报表


  • 同业务产品,报表所使用的数据,一般也是已经统计汇总好的,存放于数据共享层;


  • 即席查询


  • 即席查询的用户有很多,有可能是数据开发人员、网站和产品运营人员、数据分析人员、甚至是部门老大,他们都有即席查询数据的需求;


  • 这种即席查询通常是现有的报表和数据共享层的数据并不能满足他们的需求,需要从数据存储层直接查询。


  • 即席查询一般是通过SQL完成,最大的难度在于响应速度上,使用Hive有点慢,目前我的解决方案是SparkSQL,它的响应速度较Hive快很多,而且能很好的与Hive兼容。


  • 当然,你也可以使用Impala,如果不在乎平台中再多一个框架的话。


  • OLAP


  • 目前,很多的OLAP工具不能很好的支持从HDFS上直接获取数据,都是通过将需要的数据同步到关系型数据库中做OLAP,但如果数据量巨大的话,关系型数据库显然不行;


  • 这时候,需要做相应的开发,从HDFS或者HBase中获取数据,完成OLAP的功能;


  • 比如:根据用户在界面上选择的不定的维度和指标,通过开发接口,从HBase中获取数据来展示。


  • 其它数据接口


  • 这种接口有通用的,有定制的。比如:一个从Redis中获取用户属性的接口是通用的,所有的业务都可以调用这个接口来获取用户属性。



  • 实时计算现在业务对数据仓库实时性的需求越来越多,比如:实时的了解网站的整体流量;实时的获取一个广告的曝光和点击;在海量数据下,依靠传统数据库和传统实现方法基本完成不了,需要的是一种分布式的、高吞吐量的、延时低的、高可靠的实时计算框架;Storm在这块是比较成熟了,但我选择Spark Streaming,原因很简单,不想多引入一个框架到平台中,另外,Spark Streaming比Storm延时性高那么一点点,那对于我们的需要可以忽略。


  • 我们目前使用Spark Streaming实现了实时的网站流量统计、实时的广告效果统计两块功能。


  • 做法也很简单,由Flume在前端日志服务器上收集网站日志和广告日志,实时的发送给Spark Streaming,由Spark Streaming完成统计,将数据存储至Redis,业务通过访问Redis实时获取。


  • 任务调度与监控在数据仓库/数据平台中,有各种各样非常多的程序和任务,比如:数据采集任务、数据同步任务、数据分析任务等;



  • 这些任务除了定时调度,还存在非常复杂的任务依赖关系,比如:数据分析任务必须等相应的数据采集任务完成后才能开始;数据同步任务需要等数据分析任务完成后才能开始;这就需要一个非常完善的任务调度与监控系统,它作为数据仓库/数据平台的中枢,负责调度和监控所有任务的分配与运行。


  • 前面有写过文章,《大数据平台中的任务调度与监控》,这里不再累赘。


  • 总结在我看来架构并不是技术越多越新越好,而是在可以满足需求的情况下,越简单越稳定越好。目前在我们的数据平台中,开发更多的是关注业务,而不是技术,他们把业务和需求搞清楚了,基本上只需要做简单的SQL开发,然后配置到调度系统就可以了,如果任务异常,会收到告警。这样,可以使更多的资源专注于业务之上。

Ⅳ Oracle,SQL_server,MySQL,DB2,Access,Sybase6个数据库那个最适合下面的情况

呵呵..其实在主流的关系型数据库中,楼主还漏掉了informix和PostgreSQL,楼上的答案在一般情况下是比较正确的.我再给楼主说下那些数据库的应用背景好了. Access是小型应用数据库,SQL server是部门级应用的数据库,MY SQL和postgreSQL是部门级和企业级都合适的应用数据库,Oracle,DB2和informix是大型企业级应用的数据库 首先根据楼主的需求,我们排除使用DB2和Access的可能性,因为前者过大而后者过小,一套完整的DB2数据库售价超过百万,咱全国的应用DB2数据库的单位不超过10个,我印象中北京气象局(要么是环境局.)好象有一套,但是基本是被他们拿去炫耀用的,相当浪费...ACCESS的使用背景过小,只有如备忘录这样的小软件才适合使用access 然后,尽量不推荐使用sybase和上面题到了informix与postgreSQL,因为国内对应第1和第3种数据库的专业维护人员比较少,使用量和可查资料也不多,遇到问题不容易解决,informix虽然用量不少,但中文资料实在少的可怜.. 多数情况下,对于"人员管理"类的管理系统尤其是学校应用的管理系统,用SQL Server最合适,因为学校的数据库教学内容一般都是SQL Server,对于它的技术人员(比如老师)比较多,解决问题比较方便.也适合处理较大的数据量.MY SQL也比较合适,对于应用于学校的管理系统的需求而言,它唯一比SQL Server差的地方只再于前面提到的很少有学校教MY SQL..但是MY SQL是个开源的数据库,如果考虑买一个数据库的使用许可需要花费的资金的话,MY SQL就算不免费也比SQL Server便宜. 而oracle是面向商务应用最合适的大型数据库,一般用在"XX分析系统"或"数据仓库系统"上,用在"学院管理系统"上有点大材小用,如果这个学校有相当宏伟的目标,比如打造全国最顶级的5星级大学,为此需要进行不同于普通大学的精密且特殊的分析和报表图形展示,这样的系统可以考虑使用Oracle,但是价格肯定也是5星级的..

Ⅵ 采用SQL Server构建数据仓库的相关软件有哪些

Myeclipse JBuilder都可以啊

Ⅶ 数据库学习哪一种比较好

一、Oracle
Oracle数据库在市场占比算是最高的商业数据库了,功能最强大、但复杂的不得了,Oracle可以说是最难的数据库了,不是我们平头老百姓的菜,小编自学也是学得其中皮毛而已,不过,通过第三方软件来访问它也是很方便的,这里面第三方软件是比较容易学的,关于Oracle数据库这里面就不详细介绍了,有兴趣的可以找一些这方面专业的书籍吸收一下。

二、MySQL
MySQL历史悠久,用户使用活跃,而且体积小,安装方便,易于维护,MySQL口碑也较好,它是一款免费软件,是一个真正的多用户、多线程SQL数据库服务器。它是以客户机/服务器结构实现的,由一个服务器守护程序以及很多不同的客户程序和库组成。它能够快捷、有效和安全地处理大量的数据。相对于Oracle等数据库来说,MySQL的使用非常简单,它的主要目标是快速、便捷和易用,功能也是相当的强大,用到的语言都是标准的结构化查询语言SQL。

三、SQL Server
SQL Server之所以能够在数据库领域独占鳌头,也是有它的特色之处。它最初由三家公司共同开发,它是一个分布式的关系型数据库管理系统,体系结构以客户机/服务器形式,采用了SQL语言,在客户机与服务器间传递客户机的请求与服务器的处理结果。数据库管理系统应用广泛,优点显而易见:易用性、可伸缩性、数据仓库功能、兼容集成性等。它是一个具备完全Web支持的数据库产品,但是当用户连接多时,性能下降,稳定性变差。

四、Visual Foxpro
Visual Foxpro的光芒被众多明星所掩盖,但直到现在它仍然是市场中用于完成数据事务的最佳工具。随着9.0版本的问世,使得它的存活能力大大增强,新版中包含更快的数据引擎,支持更多的数据类型,SQL语句逐步走向标准化,可扩展报表编写器,以及一系列效率和功能增强特性,再加上它能够运行在廉价的、旧的硬件上,甚至10年前的硬件上,速度都能够满足我们的需要,它强大、易于学习、廉价,某些编程任务能够快速、直接的进行数据库维护,这都使得它不会过早的被淘汰掉。

五、Microsoft Office Access
Access是Microsoft公司推出的Office系列办公自动化软件的一个组件,是一个小型的数据库管理系统。它广泛应用于财务、行政、金融、统计和审计等众多领域。

Ⅷ Mysql建立数据仓库用什么好

数据仓库就是数据库,只不过是按照业界不同的提法说法不同而已; 一般的数据仓库的说法是要建立一个高性能的可查询数据库,一般说来是提供高效的查询而不是交互。

从软件出发考虑:

MySQL现有的几种数据库从5.5后缺省的数据引擎是Innodb, 性能在查询上和MyISAM差不多,不过对事物的支持更加好。 如果需要建立一个有规模的数据仓库首先必须考虑查询和聚合运算的效率问题, 从MySQL内部的函数的使用效率出发选用innodb可以支持复杂的存储过程让运算集中在服务器上运行,可以高效的发挥服务器的运算性能和SQL集合运算的效率。

从平台考虑:
数据仓库的数据源可能来自不同的操作系统和数据库, 怎么把数据同步到本地可以参考通用的方法,作为数据仓库需要考虑的是数据的一致性,比如一个流程的不同环节的数据来自不同的数据库,这时就需要考虑怎么来定制来保证数据的时效和一致,比如不允许第一步的数据还未进行同步,第二步的数据就已经同步到本地,这样的话后台的应用在读取数据的时候就会非常的混乱

从硬件出发考虑:
数据仓库一般是从业务数据库导出到另外一个独立数据库作为计算分析, 这样的好处在于把计算分开,避免非业务的大规模运算对正常业务的影响。即使软硬件崩溃也不会对正常业务造成影响,而数据重建只需要按照原来的方法恢复即可。在往数据仓库上同步数据的过程要灵活考虑数据同步的方法,缺省可直接使用Mysql的主从备份。 如果不想对业务服务器造成太多影响,也可以采用自己定制的方法来进行增量备份和差异备份。

从SQL的使用出发考虑:
能够交由SQL完成的工作最好全部使用SQL来完成聚合,表和表进行联合的时候先进行添加约束,和外部的程序,比如统计分析的计算,尽量让SQL输出一个计算后的数据集给后台应用。