以下SQLServer数据库技术主要针对SQLServer 2012版本。
1、SQLServer的高可用
SQLServer的高可用可以分为镜像技术、复制订阅、HA技术、AlwaysOn技术共4种。
镜像技术、复制订阅、HA技术都是SQLServer较早的高可用技术, AlwaysOn技术是最新的SQLServer高可用技术。
为了达到更高级别的高可用实现,一般公司的核心数据库采用的都会是 AlwaysOn的高可用技术方案。
2、SQLServer的复制订阅技术
复制订阅相比 AlwaysOn可以只针对表来实现表级别的数据同步,针对只想进行表的数据同步来说用复制订阅更好,只是复制订阅会增加数据库架构的复杂性,维护成本较高。
业务为了实现把需要的数据同步到一台服务器上,会通过 AlwaysOn同步核心数据库,外加通过复制订阅技术把其他数据库需要的表也同步过来,汇总到一台服务器上。
3、SQLServer的CDC技术
SQLServer的CDC技术是SQLServer自带的数据库表的增量数据同步技术,目前主要应用于把SQLServer数据增量同步到大数据平台和BI平台上。
企业为了把SQLServer的数据增量同步到大数据和BI平台,通常会启用SQLServer自带的CDC功能,CDC是通过把SQLServer数据库表每条记录的变化信息,包括insert、delete、update信息,存放在数据库系统的CDC表里面,大数据平台通过工具去抓取这个增量信息表,实现SQLServer到大数据平台的数据的增量同步。
企业一般通过以下方式实现SQLServer数据库到大数据平台的数据增量同步。
SQLServer数据源~SQLServer的CDC源表~数据清洗工具(StreamSets)~Kafka~hadoop、hive等大数据平台。
通过以上的方式就能让SQLServer的数据实时的增量同步到数据仓库和大数据平台上面。
不同的数据目标可以是hadoop、hive、kudo等,数据增量同步到kafka,因为kafka有良好的扩展性,通过kafka中转把数据同步到目标源可以大大降低读取SQLServer的CDC源数据的压力。
对于SQLServer数据库来说,在硬件可控的情况下,应用SQLServer相应的技术,可以实现很多需要的业务需求,完全可以满足中小型企业的需求,即使对于大型企业来说,如果辅以中间件、缓存、读写分离、分库分表等技术也能基本满足要求。