深度剖析如何保证缓存与数据库的一致性

引言 缓存与数据库的一致性即更新数据库中的记录后,缓存的数据也可要同步更新,不然会读到脏数据。事实上我们是无法保证缓存与数据库中的强一致性的,一定会有延迟,我们只能保证其最终一致性。 首先要明确的是,我们不更新缓存的数据,而是删除缓存,然后由下个请求去去缓存,发现不存在后再读取数据库,写入缓存。因为 ... »

(原创)一步步优化业务代码之——从数据库获取DataTable并绑定到List

一,前言 现实业务当中,有一个很常见的流程:从数据库获取数据到DataTable,然后将DataTable绑定到实体类集合上,一般是List<Class>,代码写起来也简单:遍历+赋值就可以了。 但是,代码逻辑虽然简单,代码量不小,而且代码往往很臃肿。本篇文章就来一步步对这种业务代码进行优化。 本文 ... »

lesliexin C#

数据仓库之数据质量建设(深度好文)

数仓建设真正的难点不在于数仓设计,而在于后续业务发展起来,业务线变的庞大之后的数据治理,而数据治理的范围非常广,包含数据本⾝的管理、数据安全、数据质量、数据成本等。在这么多治理内容中,大家想下最重要的治理是什么?当然是数据质量治理,因为数据质量是数据分析结论有效性和准确性的基础,也是这一切的前提。所 ... »

【数据库下】 第四章 查询处理(查询优化)

第四章 查询处理(查询优化) 学习目标 查询优化的目的 查询优化的步骤 一、概述 关系数据库系统的查询优化 查询优化在关系数据库系统中有着非常重要的地位。 关系查询优化是影响RDBMS性能的关键因素。 由于关系表达式的语义级别很高,RDBMS可以从关系表达式中分析查询语义,为执行查询优化提供了可能。 ... »

U2-关系数据库

2.1 关系数据结构及形式化定义 关系数据库系统是支持关系模型的数据库系统。(关系模型由关系数据结构、关系操作集合和关系完整性约束三部分组成) 2.1.1 关系 1-域 域是一组具有相同数据类型的值的集合。 eg.{0, 1}; {man, woman} 2-笛卡尔积 笛卡尔积是域上的一种集合运算 ... »

一文梳理清楚mysql各种锁

全局锁: 1.FTWRL(读锁) 用于做全库的逻辑备份 加锁:FLUSH TABLES WITH READ LOCK 解锁:unlock tables 表级锁: 1.表锁 表锁的读锁和写锁 加锁:lock tables 表名 read/write(读锁或写锁) 解锁:unlock tables lo ... »

feelLove

彻底解决Hive小文件问题

最近发现离线任务对一个增量Hive表的查询越来越慢,这引起了我的注意,我在cmd窗口手动执行count操作查询发现,速度确实很慢,才不到五千万的数据,居然需要300s,这显然是有问题的,我推测可能是有小文件。 我去hdfs目录查看了一下该目录: 发现确实有很多小文件,有480个小文件,我觉得我找到了 ... »

data-magnifier Hive

使用SQL SERVER存储过程实现历史数据迁移

今天讲下软件开发中最常见的历史数据迁移方式。在讲迁移之前,先简单介绍下几个基本概念。 1、什么是历史数据迁移? 简单直白地说:就是将一些创建时间比较久而且不常用的历史数据,存储到另一个地方(可以是另一个数据,也可以是另一个表),一般历史数据迁移的数据,都是不会更改了的数据,后续只可能需要查询统计而已 ... »

三分钟小短文:一致性非锁定读与一致性锁定读

台上三分钟,台下三小时,兄弟们,今天咱们花三分钟了解下数据库中的两种读(select)操作:一致性非锁定读 和 一致性锁定读 一致性非锁定读 一致性非锁定读是什么?这里我先给出一个最最最简单的解释:一致性非锁定读就是读快照! 快照即当前行数据之前的历史版本,每行记录可能存在多个历史版本,或者说每行记 ... »

.net Core 基于EF Core 实现数据库上下文

在做项目时,需要将某一些功能的实体建立在另一个数据库中,连接不同的数据库用以存储记录。通过查找资料,实现EF Core上下文。 下面是实现上下文后的解决方案的目录: ###1.UpAndDownDbContext ###2.UpAndDownDbContextConfigurer ###3.UpAn ... »

我用MRS-ClickHouse构建的用户画像系统,让老板拍手称赞

摘要:在移动互联网时代,用户数量庞大,标签数量众多,用户标签的数据量巨大。用户画像系统中,对于标签的存储和查询,不同的企业有不同的实现方案。当前主流的实现方案采用ElasticSearch方案。但基于ElasticSearch构建用户画像平台,往往面临灵活性不足、资源开销大、无SQL接口开发不便等问 ... »

《软件设计师》——数据库系统

三级模式——两级映射 E-R模型中,1个实体要转换成1个关系模式,1对1联系可以将关系归于任何一个实体关系模式中,1对多的可以将联系归于多的关系模式中,多对多的关系要独立成为一个关系模式。 关系代数: »

ldsweely

火车头如何进行数据库配置管理

火车头是什么? 火车头是什么? 我们看一下百度的解释: 火车采集器(LocoySpider) 是一个供各大主流文章系统,论坛系统等使用的多线程内容采集发布程序。使用火车采集器,你可以瞬间建立一个拥有 »

jixn

淘宝高并发访问数据库设计

淘宝高并发访问数据库设计文章整理与网络,如有版权请告知。 在session中牧劳为我们介绍了淘宝下单部分的技术方案变迁,我不介绍变迁,而只对现有系统做介绍。 要优化下单,提高下单的TPS (Trans »

liuhouhou