sqlserver

ETL数据仓库技术概念与工具

不打扰是莪最后的温柔 提交于 2020-10-12 04:02:25
目录 简介 ETL与ELT 工具 参见 ETL架构级别概述 数据的抽取(Extract) 数据的清洗转换(Cleaning、Transform) ETL日志、警告发送 ETL特点 案例参考 ETL ,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程。 ETL 一词较常用在 数据仓库 ,但其对象并不限于 数据仓库 。 数据仓库是数据库的更高层次的应用,数据仓库的数据是历史的不可更改的,只有在全局逐步演进的数据才允许更新,与数据挖掘有关,主要是为大数据分析和领导决策使用。 数据仓库架构图 简介 ETL是将业务系统的数据经过抽取、清洗转换之后加载到数据仓库的过程,目的是将企业中的分散、零乱、标准不统一的数据整合到一起,为企业的决策提供分析依据, ETL是BI( 商业智能 )项目重要的一个环节。 ETL与ELT ETL 所描述的过程,一般常见的作法包含 ETL 或是 ELT (Extract-Load-Transform),并且混合使用。通常愈大量的数据、复杂的转换逻辑、目的端为较强运算能力的 数据库 ,愈偏向使用 ELT ,以便运用目的端 数据库 的平行处理能力。 工具 ETL (or ELT )的流程可以用任何的编程语言去开发完成,由于ETL是极为复杂的过程

金丝雀发布、滚动发布、蓝绿发布到底有什么差别?关键点是什么?

被刻印的时光 ゝ 提交于 2020-10-08 02:24:15
根据 2017 年的 DevOps 发展报告,高效能组织和低效能组织在软件交付的效率上有数量级上的差异。技术组织的软件交付能力是一种综合能力,涉及众多环节,其中发布是尤为重要的环节。 作为技术人员,大家可能听说过“滚动发布”和“蓝绿发布”等术语,但是很多人并不清楚这些术语背后的原理。本文试图总结当前主流的发布策略,每个的优劣,适用性,让开发人员特别是架构师对现代发布技术有一个更为清晰全面的认识,让大家能够根据自己的企业上下文,对发布策略做出正确的选型和实践。 一、单服务器组发布 先解释下单服务器组的概念,早先我们机器资源比较紧张,不像现在云计算和虚拟化(包括容器技术)这么发达,所以应用机器基本是预先静态分配好的(一般由运维负责分配),原来应用 A 住在这 n 台机器上,那么下次升级发布的应用 A 也住在这 n 台机器上,所以称为单服务器组发布方式。 1.1 蛮力发布 如下图所示,这种发布方式比较简单粗暴,有点像我们传统的软件升级方式,主要靠手工完成,先将老版本 V1 全部下掉,再将新版本发到机器上去。这种方式会引入服务中断(停机),在开发测试环境是可行的,但对于生产环境发布,其会直接影响用户的使用体验,这种方式一般是不建议的。 发布前 发布后 优势和适用场合 优势: 简单成本低 不足: 服务中断用户受影响,出了问题回退也慢 适用场合: 开发测试环境 非关键应用(用户影响面小)

从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)

烈酒焚心 提交于 2020-10-07 03:24:39
从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇 http://www.cnblogs.com/lyhabc/p/4678330.html 第二篇 http://www.cnblogs.com/lyhabc/p/4682028.html 第三篇 http://www.cnblogs.com/lyhabc/p/4682986.html 第四篇 http://www.cnblogs.com/lyhabc/p/6136227.html 搭建非域AlwaysOn win2016+SQL2016 http://www.cnblogs.com/lyhabc/p/6498712.html SQL Server AG集群启动不起来的临时自救大招 http://www.cnblogs.com/lyhabc/p/6953255.html 这一篇是从0开始搭建SQL Server AlwaysOn 的第二篇,主要讲述如何搭建故障转移集群,因为AlwaysOn是基于Windows的故障转移集群的 在讲解步骤之前需要了解一下故障转移集群仲裁配置 下面图片来自《Windows Server2012系统配置指南》 四种集群的仲裁配置: 1、多数节点:这种配置不会用到仲裁磁盘,而所谓多数节点就是在正常节点数量占多数的情况下,集群才会提供服务,否则就停止服务

JNPF快速开发平台自主研发代码生成器介绍

会有一股神秘感。 提交于 2020-10-06 00:56:37
项目简介 JNPF 是种专为 提高开发效率 而生的 低代码二次开发框架 以及 基于 代码生成器 的java开发平台。 为简单的增删改查、复杂的 表单、 简单的事务操作提供了完全自动化的 开发平台 。 能大幅降低开发和沟通成本,简化开发流程,缩短开发周期。 适合中小型前后端分离的项目,尤其是互联网创业项目和企业自用项目。 通过自动化 开发 ,前端可以定制任何 业务 、任何 流程 ! 项目特色 在线解析 拖拽式的表单设计器,快速设计使用 自动生成 表单代码 ,清晰可读 易扩展 自动生成三层架构的完整项目和代码 自动生成 多层次 代码, 代码结构清晰 自动 生成java页面和移动端平台代码 对于前端 主体框架采用jQuery, 极大地简化了JavaScript 编程 UI层使用 bootstrap框架,使得web开发更加便捷 APP端使用当前最流行的Vue.js框架和H5页面 APP的UI层使用uni.app,跨多端的开发小程序 对于后端 后端框架SpringBoot的核心就是简化配置,快速开发 SpringCloud是一套目前完整的微服务解决框架 数据库框架采用Mybatis,支持定制化SQL 支持 Mysql,Sqlserver,Orcal等主流数据库的数据支持兼容 自主研发的代码生成器介绍 本平台采用Velocity(vm)模板引擎来进行代码生成器模板的开发,集成了前后端模板

FreeSql (八)插入数据时指定列

╄→尐↘猪︶ㄣ 提交于 2020-10-05 11:39:11
插入数据时指定列,未被指定的列将被忽略。 var connstr = "Data Source=127.0.0.1;Port=3306;User ID=root;Password=root;" + "Initial Catalog=cccddd;Charset=utf8;SslMode=none;Max pool size=10"; static IFreeSql fsql = new FreeSql.FreeSqlBuilder() .UseConnectionString(FreeSql.DataType.MySql, connstr) .UseAutoSyncStructure(true) //自动同步实体结构到数据库 .Build(); //请务必定义成 Singleton 单例模式 [Table(Name = "tb_topic")] class Topic { [Column(IsIdentity = true, IsPrimary = true)] public int Id { get; set; } public int Clicks { get; set; } public string Title { get; set; } public DateTime CreateTime { get; set; } } var items = new List

SQLServer导出表结构和数据脚本

放肆的年华 提交于 2020-10-03 19:31:25
SQLServer2008的导出脚本方法: 数据库 名-->右键 任务-->生存脚本 之后弹出SQLServer脚本生成向导 选择数据库 把编写数据可脚本这一项改为true,默认是false只导出表结构 选择需要导出的对象 选择需要导出的表 选择将脚本保存到文件,点击完成 但是在SQLServer2012中向导菜单改了,结构、表的选择整合到了第一个界面,脚本选项隐藏到的最后脚本导出界面的高级选项里 但是脚本选项已经没有了编写脚本和数据的选项,取而代之的是 架构 选项 2008版本图 2012版本图 在2012版本中将要编写的脚本数据类型改为架构和数据,就可以把表结构和表数据一起导出了 来源: oschina 链接: https://my.oschina.net/u/4256877/blog/4273572

Linq中比较日期大小(部分比较)

早过忘川 提交于 2020-10-03 16:14:05
问题:Linq中比较两个时间的年月日部分 表中某个字段的时间和系统时间比较大小(只比较年月日) 思路一:转换成字符串比较 var queryable = dbContext.Table .Where(p => p.ETime.ToString( " yyyy-MM-dd " ) >= DateTime.Now.ToString( " yyyy-MM-dd " ) 异常:字符串无法比较 思路二:先转换成字符串,再转换成DataTime比较 var queryable = dbContext.Table .Where(p => Convert.ToDateTime(p.ETime.ToString( " yyyy-MM-dd " )) >= Convert.ToDateTime(DateTime.Now.ToString( " yyyy-MM-dd " )) 异常:调用ToDateTime方法失败 思路三:当前时间和系统时间(系统时间转换成仅包含年月日) DateTime dtToday = Convert.ToDateTime(DateTime.Now.ToString( " yyyy-MM-dd " )); var queryable = dbContext.Table .Where(p => p.ETime >= dtToday)    Sqlserver中按日期的年月日比较:

springboot整合分页插件PageHelper

梦想的初衷 提交于 2020-10-02 11:16:17
1.pom引入 <!-- mybatis-plus --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.1.0</version> </dependency> <dependency> <groupId>com.github.pagehelper</groupId> <artifactId>pagehelper-spring-boot-starter</artifactId> <version>1.2.12</version> </dependency> <!-- 分页插件--> <!-- <dependency>--> <!-- <groupId>com.github.pagehelper</groupId>--> <!-- <artifactId>pagehelper</artifactId>--> <!-- <version>5.1.10</version>--> <!-- </dependency>--> 使用注释的会报版本错 2. 配置文件 ############# 分页插件PageHelper配置 ############# pagehelper.helper-dialect=sqlserver

小白入门必看!速成数据分析的五个关键知识点,最后一个90%的人都忽略了!

為{幸葍}努か 提交于 2020-10-02 04:03:25
无论是数据分析小白,还是进入数分行业好多年的老油条,包括很多公司和企业,很多人都不知道, 数据分析 究竟是什么,或者说数据分析的本质是什么。 很多人跟我抱怨从网上看到公司招数据分析师,进入了之后发现是做什么的呢?就是天天用sql取数给业务用,十分机械而且也没成就感。 这叫做数据分析吗?当然不叫。所以我们要先对数据分析有个整体的认知。 教科书上的定义我们就不看了,过于繁琐,很多刚刚接触数据分析的人都不一定能看得懂,因此我自己给数据分析下了个定义: 数据分析,就是针对某个问题,将获取后的数据用分析手段加以处理,并发现业务价值的过程。 大家可以看到我把五个关键词给标红了,这一句话,基本上可以包含数据分析所必须的流程点: 一、问题 首先第一个关键词是“问题”,我们可以把这个词解释“发现问题”或者是“目标问题”,这个关键词的核心是—— 目标 。 数据分析一定要有目标! 哪怕业务人员给你提出的问题或者需求,根本不是那么明确和清晰,你也要找到自己要分析的目标!这是太多人经常会犯的错误了,很多人知道数据分析要有目标,但是在实际过程中就成了摆设、花架子、无用功,最后你会变成了什么呢?就是取数机器。你会发现,你会陷入一个恶性循环,取数、发现没用-然后取更多的数-直到满足业务方的需求。 举个最简单的例子,业务方最近新上线了一个功能,想让你分析一下目前这个功能的使用情况。这时候你该怎么做?你会觉得

2招解决并发问题,省几百万设备费用!说穿了很简单...

ε祈祈猫儿з 提交于 2020-10-01 09:11:37
经大佬介绍,接了个技术顾问的私活儿,3天搞定报酬8000,Mark一下,也分享下经验心得。(经大家要求,文末增加了一段接私活儿经验) 背景交代 甲方是广东某国企信息部,美其名曰是邀请技术顾问,其实就是优化下他们开发的一个内部拍卖网站。该网站是面向内部员工,限时竞拍旧的办公笔记本,用户量不大,但有秒杀的性质存在,国企信息部的技术水平,你懂的。过程很简单,3天就完事儿,之前据说是打报告要花几百万买设备升级,优化了几个问题后,原配置搞定!(真不是我厉害,全靠同行衬托),下面记录2个核心问题和解决办法,抛砖引玉欢迎拍砖。 竞拍报价失败问题 第一个最核心的问题,就是竞拍报价总是失败。内部竞拍设置起拍价格非常低,用了一年的ThinkPad才1000元(福利真好),所以一上架就很多人开始发起竞拍,短时间内会有多项数据写入,然后问题来了: 之前的设计,每次竞拍需要先比对价格(更高才能写入),然后再增加报价记录和更新当前价格,整个过程用事务包裹起来,基于SQLServer单机数据库根本扛不住并发,各种的timeout。 重新设计,直接引入了Redis的ZSet有序集合,将商品id作为key,用户报价信息作为value,将价格信息当成score,轻松保存并发报价,而且随时获取当下最高报价,应对不足1000的并发不要太轻松。 数据入库?我设置的是每5分钟/ZSet数据新增过100,就将数据写入一次数据库