-
物化视图实现的特殊数据复制(r11笔记第42天)
2017-01-12 23:19:00今天开发同事碰到一个有些复杂的数据复制需求,想让我帮忙看看能否实现,当然猛一听需求是不可能实现的。不过还是耐着性子和他们讨论了一下,不过我想了下,似乎还是有...大体就是下面的架构方式。 源端是一些分...今天开发同事碰到一个有些复杂的数据复制需求,想让我帮忙看看能否实现,当然猛一听需求是不可能实现的。不过还是耐着性子和他们讨论了一下,不过我想了下,似乎还是有改进的余地,也算是拨云见雾吧。
目前有一个表做了拆分,即分库分表。在统计业务中还是需要把数据整合起来查询。大体就是下面的架构方式。
源端是一些分库,存在一些不同的用户,里面存放着相同结构的表。数据根据拆分规则进入不同的分库。目标端是统计业务所用,没有使用OGG,而直接使用物化视图的方式做了数据刷新复制,当然目标端由此就有了相同数量的物化视图,为了让应用端查取方便,于是建立了一个同名的视图,这样就达到了一个基本的数据拆分到整合的过程。
但是数据有一些问题。假设表中存在下面的字段,那么其中一个字段modify_date就是数据记录的修改时间戳。
应用端可以根据这个时间戳来进行数据的统计分析,而且目前来看只有增加和部分修改,没有删除操作,但是恰恰不如意的是,这个字段因为不同产品的期望,目前是可为空的,而对于统计业务来说又是必须的。对于统计业务来说,不会可以关注精确的时分秒,精确到日即可。于是我们就有了一些讨论。
开发同学
有个疑惑,BI这边是今天取昨天的增量数据,假设今天取数据的时候出错了,过了几天我想修复历史数据,还能知道前天增加了哪些数据吗?
goldengate也是使用主键吗
DBA:
这是两个问题,如果取数的时候出错了,按照目前的数据一致性,那么剩下没有应用到的数据是肯定不会应用到目标库的,所以数据层面的修复是平滑的。
第二个是查看之前增加的历史数据,Oracle有些辅助功能可以实现,不过得看你的需求,不一定能完全实现。
开发同学:
就像现在这个数据,很多modify_date是空的,我们就很想知道2008年01月01日的增量数据
就是每一天的增量,好实现吗?
DBA:
你说的增量是新增的还是修改的也算,新增的那就简单了,可以用分区,如果是修改的,这个还比较麻烦。
那样得确认一点
比如1月1日 新增了100条数据
1月5日,新增了200条数据,
同是修改了1月1日的2条数据。
那这两条数据是算在1月1日还是算在1月5日。
开发同学:
恩·是这个问题,算1月5日的
因为BI这边会按这个时间建分区,虽然1月1日的分区里也有这条数据,但是不会导致丢失,这边可以取最新的使用
DBA:
对,按照时间建分区,分区设置上做一些特定的设置,可以的。(其实就是开启row movement,可以跨分区更新)
但是想起来思路是通,但是这就有两个大问题需要解决了。目标是物化视图刷新,因为物化视图是只读的,如何修改modify_date的值就是个大问题。
如何得到这些增量变化的数据,目前来看,时间的部分只能依赖于系统时间了。但是增量的数据如何鉴别,我一个设想就是根据modify_date来分区。
这样一来,架构方式就是如下的形式:
根据分区的方式,数据就能够区分开来了。但是增量的数据如何鉴别,这是个很实际的问题,这个时候我们就可以联系一些更具体的信息了,那就是物化视图日志,在源端,每个表开启增量刷新,必然要创建一个物化视图日志,这个物化视图日志里面的数据说不上完整,但是有主键ID和基本的时间戳,这就够了。我们可以在增量刷新之前得到一个基本的id列表,然后关联分区的方式修改数据为系统时间,这样一来,数据就会从默认分区流动到指定的分区中。后续供统计分析所用。
看起来不大可能的需求还是有一些的应用场景,估且算是一个特殊的刷新场景吧。
个人微信公众号如下,欢迎扫描关注。
-
3、Power View—数据透视表般华丽
2017-02-21 11:18:17我们可以看到在最右侧的”Power View字段“视图下,可以根据下面字段的选择显示那些需要显示的字段。 对于不需要的字段,我们可以右键进行删除。 若现在的需求是根据业务员对其销量进行汇总,我们就可以按如下...这一节我们就来讲一讲Power View字段这一块的功能,正如标题所言,如Excel数据透视表般华丽。
本例还是使用上一节课的素材(销售情况表)。
我们可以看到在最右侧的”Power View字段“视图下,可以根据下面字段的选择显示那些需要显示的字段。
对于不需要的字段,我们可以右键进行删除。
若现在的需求是根据业务员对其销量进行汇总,我们就可以按如下图方式操作。
将业务员字段和吨位字段拉到下面的”字段“列表,其中还要对吨位字段进行求和。
当然也可以根据业务员以及品种进行汇总。
那么问题来了,现在若要将品种放到列方向呢,该如何操作?
这个时候我们就引入一个”矩阵“的概念。
点击”矩阵“进行切换。我们可以清楚的发现,它多了值、行、列的功能,这不正类似于我们熟悉的数据透视表么!
将”品种“字段拖到列里面(注意,这里拖动功能很不好使,若不方便就直接在区域里面右击字段进行添加)。
若要去掉行列的总计,也可以直接在”设计“选项卡下面的”总计“按钮里操作。
-
左右点击切换_Tableau使用参数Tab视图切换
2021-01-14 00:35:24最近在研究tableau,发现没有自带的tab切换,于是通过在网上找各种资料终于完成,但是发现有个问题:参数作为筛选器只能单选,排版是上下排版,无法实现左右,例如这样,通过下拉菜单的方式完成切换我在上述基础上将...最近在研究tableau,发现没有自带的tab切换,于是通过在网上找各种资料终于完成,但是发现有个问题:参数作为筛选器只能单选,排版是上下排版,无法实现左右,例如这样,通过下拉菜单的方式完成切换
我在上述基础上将参数与文本标签切合,实现了下面这种方式切换
主要步骤如下:
1、使用tableau自带的官方示例,先建3个工作表,分别为饼图,柱状图,条形图
2、新建参数如下
2、新引入数据源excel,(主要作用是显示tab文本标签,如果无权限添加excel,可在源数据基础上自行定义几个tab标签,可参见方案2截图),使用其中1个方案实现功能即可
3、参考下面步骤
4、将第3步创建的【选择tab】计算字段,分别拖入饼图,柱状图,条形图工作表,并限制值分别对应饼图,柱状图,条形图
5、新建仪表板,选择浮动,将tab菜单,饼图,条形图,柱状图几个工作表添加仪表板
其中饼图,条形图,柱状图重叠
6、最重要的一步来了,点击菜单-仪表板-操作,选择添加操作-更改参数,截图如下
最后点击仪表板几个tab按钮,即可实现自动切换
谢谢大家,我是鱼木,一个默默无闻的小人物,愿世界美好与你环环相扣!
-
swiper左右切换按钮无效_Tableau使用参数Tab视图切换
2020-11-24 12:23:20最近在研究tableau,发现没有自带的tab切换,于是通过在网上找各种资料终于完成,但是发现有个问题:参数作为筛选器只能单选,排版是上下排版,无法实现左右,例如这样,通过下拉菜单的方式完成切换我在上述基础上将...最近在研究tableau,发现没有自带的tab切换,于是通过在网上找各种资料终于完成,但是发现有个问题:参数作为筛选器只能单选,排版是上下排版,无法实现左右,例如这样,通过下拉菜单的方式完成切换
我在上述基础上将参数与文本标签切合,实现了下面这种方式切换
主要步骤如下:
1、使用tableau自带的官方示例,先建3个工作表,分别为饼图,柱状图,条形图
2、新建参数如下
2、新引入数据源excel,(主要作用是显示tab文本标签,如果无权限添加excel,可在源数据基础上自行定义几个tab标签,可参见方案2截图),使用其中1个方案实现功能即可
3、参考下面步骤
4、将第3步创建的【选择tab】计算字段,分别拖入饼图,柱状图,条形图工作表,并限制值分别对应饼图,柱状图,条形图
5、新建仪表板,选择浮动,将tab菜单,饼图,条形图,柱状图几个工作表添加仪表板
其中饼图,条形图,柱状图重叠
6、最重要的一步来了,点击菜单-仪表板-操作,选择添加操作-更改参数,截图如下
最后点击仪表板几个tab按钮,即可实现自动切换
谢谢大家,我是鱼木,一个默默无闻的小人物,愿世界美好与你环环相扣!
-
做了一个小时的面试题(没有过 希望大家帮忙答下 虽然很幼稚 毕竟每个人都是这么过来的吗 感激了!...
2010-04-16 11:10:582、 在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是()。 A、 可行性分析 B、需求分析 C、详细设计 D、程序编码 我的答案:B 3、 结构化程序设计主要强调的是()。 A、 程序的规模 B、... -
excel的使用
2012-11-25 17:06:01在单元格中显示公式如果工作表中的数据多数是由公式生成的,想要快速知道每个单元格中的公式形式,以便编辑修改,可以这样做:用鼠标左键单击“工具”菜单,选取“选项”命令,出现“选项”对话框,单击“视图”选项... -
excel导入sql2005的几种方法归纳
2010-10-08 11:04:46在所有标签页中,双击数据源属性值并输入电子数据表的位置,例如“C:\Excel2007\Import\SampleData.xlsx”作为导入数据的数据源的Microsoft Office Excel 2007文件名称和路径。然后双击扩展属性并选择Excel 12.0作为... -
基于J2EE框架的个人博客系统项目毕业设计论文(源码和论文)
2011-03-12 10:44:33例如数据表中用户选择字段方式的改变,用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要... -
该开源仓库的文章都是我个人原创,公众号发过的技术文章(干货)也会有相关的目录整理,很多知识点我还在不停的总结和完善。点击关注【Java3y公众号】 及时获取最新文章 :sparkling_heart:我希望这个开源仓库: 能...
-
超级有影响力霸气的Java面试题大全文档
2012-07-18 09:47:04对于客户机,EntityBean是一种持久性对象,它代表一个存储在持久性存储器中的实体的对象视图,或是一个由现有企业应用程序实现的实体。 Session Bean 还可以再细分为 Stateful Session Bean 与 Stateless ... -
使用触发器自动加密mysql字段
2021-02-15 11:55:44在网上下载了开源CRM系统来管理销售相关的工作成果,但是对于联系人电话,都是公司的机密资产,不能让人可以直接导出数据表,将所有客户联系人方式都拿走。因此决定对手机字段进行加密,看了下CRM源码,很多地方都是... -
ASP.NET的网页代码模型及生命周期
2009-07-28 14:22:11在.aspx页面中,代码隐藏页模型的.aspx页面代码基本上和单文件页模型的代码相同,不同的是在script标记中的单文件页模型的代码默认被放在了同名的.cs文件中,.aspx文件示例代码如下所示。 “C#” AutoEventWireup=... -
最全的oracle常用命令大全.txt
2011-12-09 08:41:00这种方式下可访问数据库中的数据。 4、startup,等于以下三个命令 startup nomount alter database mount alter database open 5、startup restrict 约束方式启动 这种方式能够启动数据库,但只允许具有一定特权... -
SQL Server数据库备份方法
2016-06-07 14:05:39数据库备份,是在数据丢失的情况下,能及时恢复重要数据,防止数据丢失的一种重要手段。一个合理的数据库备份方案,应该能够在数据丢失时,有效地恢复重要数据,同时需要考虑技术实现难度和有效地利用资源。 数据库... -
oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串
2017-05-06 20:26:52 实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。主要包括select, update, insert, alter, index, delete, all其中all包括所有权限。 授予实体权限 用法:grant 实体权限1... -
MySQL 5权威指南(第3版)--详细书签版
2013-02-05 15:44:0010.5 在数据表间复制数据 212 10.5.1 利用复制操作创建新数据表 212 10.5.2 把数据复制到现有数据表 213 10.6 统计报表 213 10.6.1 涉及titles、languages和cate-gories数据表的统计报表 214 10.6.2 月度查询... -
计算机二级公共基础知识
2011-04-30 14:00:09由于数据元素在计算机存储空间中的位置关系可能与逻辑关系不同,因此,为了表示存放在计算机存储空间中的各数据元素之间的逻辑关系(即前后件关系),在数据的存储结构中,不仅要存放各数据元素的信息,还需要存放各... -
Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--详细书签版
2013-02-04 12:43:526.1.2 理解解释计划可能达不到目的的方式 143 6.1.3 阅读计划 146 6.2 执行计划 148 6.2.1 查看最近生成的SQL语句 149 6.2.2 查看相关执行计划 149 6.2.3 收集执行计划统计信息 151 6.2.4 标识SQL语句以便... -
Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码
2013-02-04 12:49:336.1.2 理解解释计划可能达不到目的的方式 143 6.1.3 阅读计划 146 6.2 执行计划 148 6.2.1 查看最近生成的SQL语句 149 6.2.2 查看相关执行计划 149 6.2.3 收集执行计划统计信息 151 6.2.4 标识SQL语句以便... -
一个牛人提供的GIS源码(很好)
2010-08-25 22:49:21不希望通过聊天的方式来解决问题,聊了半天的问题最后做公安局调查户口的事情了(呵呵,说的严重了),或者说是聊了半天后就无聊了然后再也不聊了,多么的没有意思。我倒还是很愿意花上十分钟的时间来阅读您的Mail并将... -
oracle数据库经典题目
2011-02-17 15:05:20PGA区是在用户进程连接数据库,创建一个会话时,由Oracle为用户分配的内存区域,保存当前用户私有的数据和控制信息,因此该区又称为私有全局区。每个服务器进程只能访问自己的PGA区,所有服务器进程PGA区总和即为... -
2004-2010软考程序员真题
2012-09-27 12:33:0056、在word的哪种视图方式下,可以显示分页效果 A)普通 B)大纲 C)页面 D)主控文档 57、在word的编辑状态,执行"文件"菜单中的"保存"命令后将所有打开的文档存盘 A)将所有打开的文档存盘 B)只能将当前... -
ThinkPHP 3.1.2 - PHP的开发框架MVC - 含Core,Extend,Example
2012-11-26 16:16:25类库导入:采用基于类库包和命名空间的方式导入类库,让类库导入看起来更 加简单清晰,而且还支持自动加载和别名导入。为了方便项目的跨平台移植, 系统还可以严格检查加载文件的大小写。 URL和路由:系统支持普通... -
图书管理系统毕业设计+源码-java
2012-05-06 13:45:09通过添加WFC数据控件在Forms Designer中的窗体上,可以快速配置数据检索和显示的方式。Visual J++通过ActiveX Data Object(ADO, ActiveX数据对象)控件来访问数据,这是用于WFC应用程序的数据编程模块。ADO对象的内核... -
Oracle Database 11g数据库管理艺术--详细书签版
2012-09-30 01:09:45书中内容主要集中在大多数企业常见的问题之上,如安装和升级到oracle database 11g数据库软件、创建数据库、导出和导入数据、数据库的备份与恢复、性能调优,等等。 本书还提供了dba完成本职工作必备的基本的uniix... -
二级C语言公共基础知识
2009-11-20 11:26:03(34) 在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送______。(D) D. 消息 A. 调用语句 B. 命令 C. 口令 (35) 检查软件产品是否符合需求定义的过程称为______。(A) A. 确认测试 B. 集成测试 C. ... -
iPhone开发秘籍(第2版)--源代码
2012-12-11 13:51:226.13 秘诀:视图的淡入和淡出 185 6.14 秘诀:视图交换 186 6.15 秘诀:翻转视图 187 6.16 秘诀:使用Core Animation Transitions 188 6.17 秘诀:一般的Core Animation调用 190 6.18 翻页过渡 192 6.19 秘诀... -
让Oracle跑得更快:Oracle10g性能分析与优化思路--详细书签版
2013-02-06 16:23:02在OLAP(在线分析系统)或者是数据仓库系统中,并行技术使用得非常普遍,在合适的条件下,并行执行将会使SQL的执行效率大幅度提升。 第9章 变量绑定 这一章将详细讨论一个在性能优化领域经常被谈到的话题—... -
MFC的程序框架剖析
2015-03-05 09:53:19类的集合,是一套面向对象的函数库,以类的方式提供给用户使用 2、MFC AppWizard是一个辅助我们生成源代码的向导工具,它可以帮助我们自动生成基于MFC框架的源代码 二、基于MFC的程序框架剖析 1、MFC程序的ClassView... -
千里马酒店前台管理系统V7使用手册
2011-06-16 14:09:38千里马V7.2的主界面是MDI多文档窗口方式,可同时打开多个工作视图、客单、帐户,支持并发操作,用户不必关闭或退一个功能才可进入另一功能。按酒店前台业务的部门分组,千里马V7.2的功能划分为可自定义的一个个动态...
-
量子差分密码分析
-
朱老师C++课程第3部分-3.6智能指针与STL查漏补缺
-
UL 859:2017 Household Electric Personal Grooming Appliances(个人护理)-完整英文版(192页)
-
笔记
-
spark大数据分析与实战
-
两种新的具有最优修复的2位奇偶校验MDS阵列代码
-
物联网基础篇:快速玩转MQTT
-
保真度与量子绝热演化之间的广义关系
-
Unity ILRuntime框架设计
-
2011年上半年 信息系统监理师 上午试卷 综合知识 软考真题【含答案和答案解析】
-
Spring学习笔记之IOC与DI概述
-
【学习札记NO.00004】Linux Kernel Pwn学习笔记 I:一切开始之前
-
FastDFS 分布式文件系统部署
-
Galera 高可用 MySQL 集群(PXC v5.7+Hapro)
-
Mycat 实现 MySQL的分库分表、读写分离、主从切换
-
NearFi应用-源码
-
C/C++ FIFO queue - 先进先出队列
-
电商PC前后端分离项目Spring Boot后台实战第一期
-
Kubernetes下日志采集、存储与处理技术实践
-
阿里架构师,讲述基于微服务的软件架构模式