首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

转载数据仓库建设规范2 数据库对象命名规范3   主机目录及文件命名规范4   数据保存周期规范5   数据库编程规范6   JAVA编码规范7   shell编码规范8   完整的规范文档结构

1 概述 本文档制定了XX数据仓库数据库对象的命名规范(用户、、视图、存储过程、函数、分区、主键、索引、序列等)、数据库编程规范,JAVA编程规范系统设计和开发工作提供统一的命名标准,提高系统的规整性和代码的可读性...视图、存储过程、函数命名规范 [_汇总类型][_存储类型] 说明: 尖括号的内容必须,适用于所有用户层对象,[] 方括号的内容可选项,会因用户层及对象的不同而不同...缩进格数统一 4 格。 必须使用空格,禁止使用TAB键。 同一条语句占用多于一行时,每行的第一个关键字应当右对齐。...超过80字符的语句要分行书写,长表达式应在低优先级操作符处换行,操作符或关键字放在行之首。划分出的行应适当地缩进,使排版整齐,语句可读。...5.6 分区管理规范 分区的分区增加、分区删除操作,统一由分区控制程序完成,应用数据处理程序不允许包含增加、删除分区的操作;分区清空分区的操作,应在应用数据处理程序中进行,这样可以避免因为程序多次运行导致的数据重复

96421

MySQL 架构与历史

REAPEATABLE READ(可重复读):REAPEATABLE READ 解决了脏读的问题,该级别保证了在同一个事务多次读取同样记录的结果是一致的。...不足之处是每行记录都需要额外的存储空间,需要做更多的行检查工作,以及一些额外的维护工作。 MVCC 只在 REPEATABLE 和 READ READ COMMITTED 两个隔离级别下工作。...存储 MyISAM 会将存储在两个文件:数据文件和索引文件,分别以 .MYD 和 .MYI 扩展名。MyISAM 可以包含动态或者静态(长度固定)行。...创建与查询 第三种转换的技术综合了第一种方法的高效和第二种方法的安全,不需要导出整个的数据,而是先创建一个的存储引擎的,然后利用 INSERT ··· SELECT 语法来导数据: mysql>...如果有必要,可以在执行的过程对原加锁,以确保和原的数据一致。

51910
您找到你想要的搜索结果了吗?
是的
没有找到

高性能MySQL卷一之架构分析

重复读: 保证了同一个事务多次读取同样的记录,结果都是一致的。...,主要有以下两种: 乐观并发控制 悲观并发控制 InnoDB的MVCC是通过在每行记录后面保存两个隐藏列实现的,这两个列,一个保存了行的创建时间,一个保存行的过期时间(或删除时间)。...每开始一个的事务,系统版本号都会自增,事务开始时刻的系统版本号会作为事务的版本号,用来和查询到的每行记录的版本号进行比较。...UPDATE InnoDB插入一行记录,保存当前系统版本号作为行版本号,同时保存当前系统版本号到原来的行作为删除标识 MVCC只在可重复读和读提交下面生效,其他两个隔离级别都和MVCC不兼容,...注意:mysqldump会自动在create table前面加上drop table语句,不注意这点,可能会导致数据丢失 ---- 创建和查询 先创建一个的存储引擎的,然后利用insert…select

26230

Power Query 真经 - 第 8 章 - 纵向追加数据

图 8-2 这些查询显示在 Excel 的【查询 & 连接】窗格(左)和在 Power Query【查询】导航窗格(右) 8.1.1 追加两个 下一工作创建用于后续分析的整个,这需要将上述表格追加在一起...图 8-8 在一个步骤添加多个追加 或者,如果想要一次执行一个查询,并专注于创建一个易于使用的检查跟踪路径,那么可以在每次向数据源添加一个的查询时采取如下操作。...8.3 在当前文件追加和区域 虽然从外部文件检索和【追加】数据是很常见的, Excel 用户也会使用这种功能来【追加】同一工作簿的数据。...每个月,记账员都会勤奋地创建和命名一个工作,并设置和命名该作为他们月末工作的一部分。他们似乎忽略了一件事,就是把礼品券的发放日期或到期日期放在,如图 8-14 所示。...8.3.1 合并 不幸的是,Excel 没有按钮可以对当前工作簿的可见对象创建查询,所以需要去从头开始创建这整个查询,如下所示。 创建一个的查询【数据】【获取数据】【自其他源】【空白查询】。

6.6K30

MySQL-1

但是还是会遇到不可重复读的问题。 REPEATABLE READ(可重复读):Mysql的默认隔离级别,该级别保证了同一个事务多次读取同样记录的结果是一致的。...如果该事务需要回滚,非事务型的上的变更就无法撤销。 InnoDB采用的是两阶段锁定协议,锁只有在COMMIT或者ROLLBACK的时候才会释放,并且所有的锁是在同一时刻被释放。...InnoDB的MVCC,通过在每行记录后面保存两个隐藏列实现,这两个列一个保存行的创建时间,一个保存过期(删除时间),当然这里存储的创建时间不是真正的时间,而是系统版本号。...insert:插入行的时候,将事务分配到的版本号赋给创建版本号那个列属性。...delete:删除的每一行保存当前系统版本号为行删除标识,即将该版本号存入删除版本号的那个列属性 update:实际上是插入一条记录,然后将事务分配到的版本号赋给旧记录的删除版本号列以及记录的创建版本号列

35220

读懂MySQL事务隔离

REPEATABLE READ(可重复读)REPEATABLE READ 解决了脏读的问题。该级别保证了在同一个事务多次读取同样记录的结果是一致的。...根据事务开始的时间不同,每个事务对同一同一时刻看到的数据可能是不一样的。如果之前没有这方面的概念,这句话听起来就有点迷惑。熟悉了以后会发现,这句话其实还是很容易理解的。...,一个保存了行的创建时间;一个保存行的过期时间(或删除时间);当然存储的并不是实际的时间值,而是系统版本号(system version number)。每开始一个的事务,系统版本号都会自动递增。...INSERTInnoDB插人的每一行保存当前系统版本号作为行版本号。DELETEInnoDB删除的每一行保存当前系统版本号作为行删除标识。...不足之处是每行记录都需要额外的存储空间,需要做更多的行检查工作,以及一些额外的维护工作。MVCC只在REPEATABLE READ和READ COMMITTED两个隔离级别下工作

38050

一文聊透 Linux 缺页异常的处理 —— 图解 Page Faults

image.png 事实上,同步内核主页工作只需要将缺页地址对应在内核主页的顶级全局页目录 pgd 同步到进程页内核部分对应的 pgd 地址处就可以了,正如上图中所示,每一级的页目录存放的均是其下一级页目录的物理内存地址...image.png 由于页目录所承担的一最重要的工作就是定位其下一级页目录的起始物理内存地址,这里的下一级页目录就是刚刚我们新创建出来的 PUD。...image.png 目前为止,我们只是完善了缺页虚拟内存地址对应在进程页顶级页目录的目录 p4d_t,在四级页体系下,我们还需要继续向下逐级的去补齐虚拟内存地址对应在其他页目录的目录,处理逻辑上都是一模一样的...创建一个临时的页表项 entry,然后让 entry 指向的内存页,将 entry 重新设置可写,通过 set_pte_at_notify 将 entry 值设置到子进程页的 pte 上。...由于产生了的物理内存页,所以就要创建的 pte 来映射这个物理内存页,然后将的 pte 设置到页,替换原来的 swp_entry_t。

1.9K22

2、关于数据库事务那些事

举个例子: 中有一条数据,ID=1 Salary=1000 事务A:读取ID=1的Salary,此时读取到的值1000 事务B:读取ID=1的Salary,此时读取到的值1000 事务A:...根据事务开始的时间不同,每个事务对同一同一时刻看到的数据可能是不一样的。当然每个存储引擎实现的MVCC是不一样的,下面以InnoDB引擎来详细展开。...InnoDB的MVCC是通过在每行的记录后面保存两个隐藏的列来实现,其中一个列保存了行的创建时间,一个保存了行的过期时间(或)删除时间。当然存储的并不是实际的时间值,而是系统版本号。...每开始一个的事务,版本号都会自动递增,事务开始时的版本号会作为事务的版本号,用于和查询到的每行记录的版本号进行比较。...正是因为保存了这两个额外的系统版本号,使得大多数的都操作都不用加锁,性能也得到了提高,但是缺点就是每行记录都需要额外的存储空间,以及版本号的维护工作

11410

【建议收藏】MySQL 三万字精华总结 —查询和事务(三)

幻读和不可重复读的区别: 不可重复读的重点是修改:在同一事务,同样的条件,第一次读的数据和第二次读的数据不一样。...REPEATABLE-READ(可重复读): 对同一字段的多次读取结果都是一致的,除非数据是被本身事务自己所修改,可以阻止脏读和不可重复读,幻读仍有可能发生。...下边通过 InnoDB的简化版行为来说明 MVCC 是如何工作的。 InnoDB 的 MVCC,是通过在每行记录后面保存两个隐藏的列来实现。...每开始一个的事务,系统版本号都会自动递增。事务开始时刻的系统版本号会作为事务的版本号,用来和查询到的每行记录的版本号进行比较。...不足之处是每行记录都需要额外的存储空间,需要做更多的行检查工作和一些额外的维护工作

43820

MySQL(二)|深入理解MySQL的四种隔离级别及加锁实现原理

注:内容有点干,希望你可以耐心地看完。回头我写一篇实操的文章帮助理解。 开发工作我们会使用到事务,那你们知道事务又分哪几种吗? 以及不同事务隔离的加锁实现原理是什么?...这种隔离级别也支持所谓的不可重复读(Nonrepeatable Read),因为同一事务的其他实例在该实例处理期间可能会有的commit,所以同一select可能返回不同结果。...MySQL锁的种类: MySQL锁的种类很多,有常见的锁和行锁,也有加入的Metadata Lock等等,锁是对一整张加锁,虽然可分为读锁和写锁,但毕竟是锁住整张,会导致并发能力下降,一般是做...接下来讲解MVCC在MySQL的InnoDB的实现: 在InnoDB,会在每行数据后添加两个额外的隐藏的值来实现MVCC,这两个值一个记录这行数据何时被创建,另外一个记录这行数据何时过期(或者被删除...通过MVCC,虽然每行记录都需要额外的存储空间,更多的行检查工作以及一些额外的维护工作,但可以减少锁的使用,大多数读操作都不用加锁,读数据操作很简单,性能很好,并且也能保证只会读取到符合标准的行,也只锁住必要行

2K60

【建议收藏】MySQL 三万字精华总结 —查询和事务(三)

幻读和不可重复读的区别: 不可重复读的重点是修改:在同一事务,同样的条件,第一次读的数据和第二次读的数据不一样。...REPEATABLE-READ(可重复读): 对同一字段的多次读取结果都是一致的,除非数据是被本身事务自己所修改,可以阻止脏读和不可重复读,幻读仍有可能发生。...下边通过 InnoDB的简化版行为来说明 MVCC 是如何工作的。 InnoDB 的 MVCC,是通过在每行记录后面保存两个隐藏的列来实现。...每开始一个的事务,系统版本号都会自动递增。事务开始时刻的系统版本号会作为事务的版本号,用来和查询到的每行记录的版本号进行比较。...不足之处是每行记录都需要额外的存储空间,需要做更多的行检查工作和一些额外的维护工作

54120

一文读懂Hive底层数据存储格式(好文收藏)

而且这种情况下,属于同一行的数据都在同一个 HDFS 块上,重建一行数据的成本比较低。...,很大程度上节约了存储空间,尤其是字段包含大量重复数据的时候。...创建 Hive 事务的方法: 设置 hive 环境参数: --开启并发支持,支持插入、删除和更新的事务 set hive.support.concurrency=true; --支持ACID事务的必须分桶...注:在 Hive 中使用布隆(bloom)过滤器,可以用较少的文件空间快速判定数据是否存在于,但是也存在将不属于这个的数据判定为属于这个这的情况,这个情况称之为假正概率,可以手动调整该概率,概率越低...parquet.dictionary.page.size:默认值 1048576byte,即 1MB。在使用字典编码时,会在 Parquet 的每行每列创建一个字典页。

5.5K51

关于数仓建设及数据治理的超全概括

分层是以解决当前业务快速的数据支撑目的,未来抽象出共性的框架并能够赋能给其他业务线,同时业务发展提供稳定、准确的数据支撑,并能够按照已有的模型业务发展提供方向,也就是数据驱动和赋能。...为什么要提相同粒度呢,因为维度建模要求我们,在同一事实,必须具有相同的粒度,同一事实不要混用多种不同的粒度,不同的粒度数据建立不同的事实。...,并且要确保维度不能出现重复数据,应使维度主键唯一 4、确认事实 事实是用来度量的,基本上都以数量值表示,事实每行对应一个度量,每行的数据是一个特定级别的细节数据,称为粒度。...维度建模的核心原则之一是同一事实的所有度量必须具有相同的粒度。这样能确保不会出现重复计算度量的问题。有时候往往不能确定该列数据是事实属性还是维度属性。记住最实用的事实就是数值类型和可加类事实。...数据明细层 事实每行对应一个度量,每行的数据是一个特定级别的细节数据,称为粒度。维度建模的核心原则之一是同一事实的所有度量必须具有相同的粒度。这样能确保不会出现重复计算度量的问题。

94111

大数据ETL开发之图解Kettle工具(入门到精通)

2)输入 创建好数据库连接以后,我们就可以使用输入控件了,双击输入控件,选择刚刚创建的数据库连接,然后在SQL框里输入合适的查询语句,然后点击预览按钮,看能否预览到我们期望的数据 3.2 Kettle...3.2.4 输出 输出控件可以将kettle数据行的数据直接写入到数据库,企业里做ETL工作会经常用到此控件。...1.选择合适的数据库连接 2.选择目标,目标可以提前在数据库手动创建好,也可以输入一个数据库不存在的,然后点击下面的SQL按钮,利用kettle现场创建 3.如果目标结构和输入的数据结构不一致...name字段,然后再将数据插入到emp 原始数据: 3.3.2 值映射 值映射就是把字段的一个值映射(转换)成其他的值。...” –旧数据中有而数据没有的记录 4.关键字段:用于定位判断两个数据源同一条记录的字段。

9.8K715

精通Java事务编程(5)-弱隔离级别之写倾斜与幻读

避免数据不一致,可: 借助DB内置机制 或通过显式加锁、执行原子写操作 这还不算并发写可能引发的全部问题。 医院写一个值班管理程序。医院通常会同时要求几个医生待命,前提是至少有一位医生在待命。...指定至少有一名医生必须在线,涉及多个对象的约束,大多DB都未内置这种约束,你可使用触发器或物化视图来实现类似约束 若无法使用可串行化,则次优方案可能是显式锁定事务依赖的行: BEGIN TRANSACTION...如会议室预订案例,想象创建一个关于时间槽和房间的。此每行对应于特定时间段(如 15min)的特定房间。可提前插入房间和时间的所有可能组合行(例如接下来的六个月)。...现在,要创建预订的事务可以锁定(SELECT FOR UPDATE)与所需房间和时间段对应的行。锁定后,它可检查重叠预订并像以前一样插入预订。...该不是用来存储预订相关信息的,它完全就是一组锁,以防止同时修改同一房间和时间范围内的预订。

70820

个人永久性免费-Excel催化剂功能第16波-N多使用场景的多维转一维

逆透视列选择确认 一般性Excel插件无需此设置,看似操作简单了,最终生成的结果却是无意义的列标题,需手动更改过来,此的每一设置都是为了告诉程序我们的数据源的结构是如何的,及我们目标结果需要如何定义生成的列的名称...列字段源表头区域 因源数据是同一数据列类型多次重复出现,此处需要把同一数据类型的列给选择上,让程序知道要把这些列都合并成一个列并给予前面所定义的名称作为列名称,此部分多级表头部分程序自动识别无需人工选择...选择多列的数据(选列标题即可,按住Ctrl可选多个间隔开的列),此时区域会出现逗号(,)或冒号(:),此时程序识别为人工已经选择了所有同一类型的数据列,无需使用后两再进行逻辑加工出所有同一类型的数据列...总结 专业人做专业事,人工智能时代,需要不断树立新观念,重复性的有规律的事情尽量让电脑去完成,人要做更有创造性的工作,对多维转一维的场景,若不是插件的辅助,大量无谓的时间花在手工整理数据源上,非常不明智...,希望大家日后再遇到相关的场景时,可以让Excel催化剂帮助减轻大量的工作量,省下时间做更有意义的事情,也欢迎工作遇到重复性、有规律逻辑性的场景到群里反馈,或许最终可以提炼出插件完成,受惠广大职场人士

3.4K20

MySQL 事务的隔离级别

如果你使用GLOBAL关键字,语句在全局对从那点开始创建的所有连接(除了不存在的连接)设置默认事务级别。你需要SUPER权限来做这个。...隔离级别产生的问题 脏读(Drity Read):某个事务已更新一份数据,另一个事务在此时读取了同一份数据,由于某些原因,前一个RollBack了操作,则后一个事务所读取的数据不正确了 不可重复读(...这种方式不会产生循环死锁的问题,数据库在事务开始阶段,数据库并不知道会用到哪些数据,所以在数据库不适用。...MVCC 的实现 在InnoDB,会在每行数据后添加两个额外的隐藏的值来实现MVCC,这两个值一个记录这行数据何时被创建,另外一个记录这行数据何时过期(或者被删除)。...通过MVCC,虽然每行记录都需要额外的存储空间,更多的行检查工作以及一些额外的维护工作,但可以减少锁的使用,大多数读操作都不用加锁,读数据操作很简单,性能很好,并且也能保证只会读取到符合标准的行,也只锁住必要行

1.1K20

mysql的mvcc的使用和原理详解_mysql底层原理

MVCC是为了实现事务的隔离性,通过版本号,避免同一数据在不同事务间的竞争,你可以把它当成基于多版本号的一种乐观锁。当然,这种乐观锁只在事务级别提交读和可重复读有效。...而 SERIALIZABLE 则会对所有读取的都加锁。 MVVC的实现机制 InnoDB在每行数据都增加三个隐藏字段,一个唯一行号,一个记录创建的版本号,一个记录回滚的版本号。...结合聚簇索引的相关知识点,如果没有主键或合适的唯一索引,也就是无法生成聚簇索引的时候,InnoDB会帮我们自动生成聚集索引,聚簇索引会使用DB_ROW_ID的值来作为主键;如果有主键或者合适的唯一索引...INSERT:InnoDB这个行记录当前的系统版本号。 DELETE:InnoDB将当前的系统版本号设置这一行的删除ID。...这个方案的缺点在于存储引擎必须每一行存储更多的数据,做更多的检查工作,处理更多的善后操作。 MVCC只工作在REPEATABLE READ和READ COMMITED隔离级别下。

73640

pandas 1.3版本主要更新内容一览

参数 我们都知道在pandas可以使用sample()方法对数据框进行各种放回/不放回抽样,以前版本抽完样的数据框每行记录还保持着先前的行索引,使得我们还得多一步reset_index()操作,而在...1.3,新增类似sort_values()和drop_duplicates()的同名参数ignore_index: 2.5 explode()新增多列操作支持 当数据框某些字段某些位置元素列表...、元组等数据结构时,我们可以使用explode()方法来基于这些序列型元素进行展开扩充,但在以前的版本每次explode()操作只支持对单个字段的展开,如果数据多个字段之间同一行对应序列型元素位置是一一对应的...而1.3版本中直接对多字段同步explode()进行了支持: 2.6 append模式下写出多工作excel文件的新策略 在1.3版本,针对mode='a'模式下向外写出多工作excel文件,新增了参数...if_sheet_exists来设定新工作与已存在工作重名时的处理策略,默认为'error'即直接抛出错误,'new'则会自动修改工作名,'replace'则会覆盖原同名工作: 2.7 结合SQL

1.2K30

(数据科学学习手札124)pandas 1.3版本主要更新内容一览

2.4 sample()随机抽样新增ignore_index参数   我们都知道在pandas可以使用sample()方法对数据框进行各种放回/不放回抽样,以前版本抽完样的数据框每行记录还保持着先前的行索引...2.5 explode()新增多列操作支持   当数据框某些字段某些位置元素列表、元组等数据结构时,我们可以使用explode()方法来基于这些序列型元素进行展开扩充,但在以前的版本每次explode...()操作只支持对单个字段的展开,如果数据多个字段之间同一行对应序列型元素位置是一一对应的,需要展开后也是一一对应的,操作起来就比较棘手。   ...2.6 append模式下写出多工作excel文件的新策略   在1.3版本,针对mode='a'模式下向外写出多工作excel文件,新增了参数if_sheet_exists来设定新工作与已存在工作重名时的处理策略...,默认为'error'即直接抛出错误,'new'则会自动修改工作名,'replace'则会覆盖原同名工作: ?

74550
领券