概念
文章平均质量分 87
分享架构、编程、工作上常见的概念
Impl_Sunny
这个作者很懒,什么都没留下…
展开
-
基线管理是什么
作为数据开发人员,我们日常工作的一部分就是夜间值班。”夜间值班“对于没有实际工作经验的同学来说可能比较陌生。所谓夜间值班,主要是为了保证数据可以在我们的对外承诺时间前产出。而由于日常生产任务依赖关系异常复杂,上游任务的任何延迟、失败都会影响到我们的数据能否在预期时间内产出,因此就有了基线监控。智能基线可以及时捕捉到任何影响基线任务按时产出的事件,并提前进行预警,保障复杂场景下重要数据也可以在预期时间内顺利产出。原创 2024-06-25 09:05:23 · 917 阅读 · 0 评论 -
事务与消息语义
事务是一个程序执行单元,里面的所有操作要么全部执行成功,要么全部执行失败。也就是我们常说的(ACID)。分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。分布式事务通常用于在分布式系统中保证不同节点之间的数据一致性。分布式事务的解决方案一般有以下几种:XA(2PC/3PC)、TCC最具有代表性的是由Oracle Tuxedo系统提出的XA分布式事务协议。XA中大致分为两部分:事务管理器和本地资源管理器。其中本地资源管理器往往由数据库实现,比如Ora原创 2022-06-08 16:26:10 · 350 阅读 · 1 评论 -
从实现原理谈谈低代码
一、低代码的理解在讨论各个低代码方案前,首先要明确「低代码」究竟是什么?这个问题不好直接回答,因为低代码是非常宽泛的概念,有很多产品都声称自己的低代码,但我们很容易反过来回答另一个问题:「什么是低代码产品唯一不可缺少的功能?」我认为这个功能是可视化编辑,因为非可视化编辑就是代码编辑,而只有代码编辑的产品不会被认为是低代码,因此可视化编辑是低代码的必要条件,低代码其实还有另一个更清晰的叫法是可视化编程。既然可视化编辑是低代码的必要条件,那从实现角度看,实现可视化编辑有什么必要条件?我认为可原创 2022-05-05 10:56:31 · 677 阅读 · 0 评论 -
DSL 领域特定语言
一、DSL介绍DSL(Domain Specific Language)是针对某一领域,具有受限表达性的一种计算机程序设计语言。 常用于聚焦指定的领域或问题,这就要求 DSL 具备强大的表现力,同时在使用起来要简单。说到DSL,大家也会自然的想到通用语言(如Java、C等)。为什么没有一种语言同时 兼具『简洁』和『业务表达』能力呢?从信息论本质上来讨论这个问题,每个语言的程序都可以抽象为一个字符串,每个字符串由有限数量的合法字符组成,它在运行时会实现某个功能,因而可以看作是一种需求的信源编码。每原创 2022-05-05 10:23:59 · 35702 阅读 · 2 评论 -
【架构】Kappa架构
一、回顾Lambda架构【架构】Lambda架构_Sunny的专栏-CSDN博客二、Kappa架构通过回顾Lambda架构,了解到其有优点也有缺点,人们也划分成支持者和反对者两派。Kappa 架构是LinkedIn的Jay Kreps结合实际经验和个人体会,针对Lambda架构进行深度剖析,分析其优缺点并采用的替代方案。2.1 Kappa架构诞生意义Lambda 架构的一个很明显的问题是需要维护两套分别跑在批处理和实时计算系统上面的代码,而且这两套代码得产出一模一样的结果。因此对于设原创 2021-10-22 14:07:23 · 625 阅读 · 0 评论 -
【架构】Lambda架构
一、出现的背景1.1 从传统数据库到NoSQL,再到Hadoop很多人学习大数据都听说过以下发展进程,MySQL/Oracle/SQLServer → Hadoop/Hive/Spark。但还有一个时期,是大家容易忽略的——NoSQL。我们不能忽略掉它。其实,NoSQL的发展和推广要比Hadoop更早,在没有Hadoop的大数据过渡期,随着数据量急剧膨胀,大家纷纷从传统的关系型数据库转变到NoSQL数据库,各种各样的NoSQL数据库应用而生。有了NoSQL数据库,可以轻易将机器的数量扩展到.原创 2021-09-28 09:36:05 · 1037 阅读 · 0 评论 -
OLTP+OLAP->HTAP
一、OLTPOn-Line Transaction Processing:联机事务处理过程(OLTP)OLTP是事件驱动、面向应用的,也称为面向交易的处理过程。其基本特征是前台接收的用户数据可以立即传送到计算中心进行处理,并在很短的时间内给出处理结果,是对用户操作的快速响应。例如银行类、电子商务类的交易系统就是典型的OLTP系统。其具备以下特点: 直接面向应用,数据在系统中产生。 基于交易的处理系统。 每次交易牵涉的数据量很小;对响应时间要求非常高。 用户数量非常原创 2022-03-28 14:26:03 · 493 阅读 · 0 评论 -
分布式锁了解
一、从单机锁到分布式锁在单机环境中,当共享资源自身无法提供互斥能力的时候,为了防止多线程/多进程对共享资源的同时读写访问造成的数据破坏,就需要一个第三方提供的互斥的能力,这里往往是内核或者提供互斥能力的类库。如下图所示,进程首先从内核/类库获取一把互斥锁,拿到锁的进程就可以排他性的访问共享资源。演化到分布式环境,我们就需要一个提供同样功能的分布式服务,不同的机器通过该服务获取一把锁,获取到锁的机器就可以排他性的访问共享资源,这样的服务我们统称为分布式锁服务,锁也就叫分布式锁。由此抽象一.原创 2021-12-10 09:54:49 · 317 阅读 · 0 评论 -
A/B Test 使用指南
一、起源AB测试的概念来源于医学的双盲实验。AB Test借鉴了实验的思维,目标是为了归因。通俗来说,就是我们想把条件分开,明确的知道,哪种条件下,用户会买账。这就需要三个条件:有对照组,随机分配用户,且用户量足够。最早的AB测试本身是起源于医学。当一个药剂被研发后,医学工作人员需要评估药剂的效果。一般就会选择两组用户(随机筛选的用户),构建实验组和对照组。用这两组用户来“试药”。也就是实验组用户给真的药剂,对照组用户给安慰剂,但是用户本身不知道自己是什么组,只有医生知道。之后,在后期的观察中,原创 2021-12-06 09:39:48 · 1955 阅读 · 0 评论 -
【部署】蓝绿发布、滚动发布、灰度发布,有什么区别
0、背景在项目迭代的过程中,不可避免需要”上线“。上线对应着部署,或者重新部署;部署对应着修改;修改则意味着风险。目前有很多部署发布的技术, 这儿将常见的做一个总结。上面所说难免有些抽象, 举一个情景例子,假如你是微博项目负责人员, 现在新版本较原来的老版本有很大的改变, 这设计到服务架构、前端UI等等, 经过测试功能没有障碍, 那么这时候如何让用户切换到新的版本呢?显而易见, 第一次发布的应用是没有所谓的这个问题的, 这种如何发布的思考只会出现在后面的版本迭代中。一、蓝绿发布蓝绿部署.原创 2021-12-02 10:11:36 · 4239 阅读 · 0 评论 -
ETL和ELT的区别
0、前言当你第一次看到这两个词的时候会以为写错了或者ELT是不是其他高大上的概念,但是实质他们两只是顺序调换。虽然表面看只是顺序调换了,但是两者处理数据的方式也是不一样。ETL是Extract(抽取)、Transform(转换)、Load(加载)ELT是Extract(抽取)、Load(加载)、Transform(转换)一、ETLETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载..原创 2021-11-09 15:59:45 · 7832 阅读 · 2 评论 -
Data Lakehouse (湖仓一体) 到底是什么
0、背景Data Lakehouse(湖仓一体)是新出现的一种数据架构,它同时吸收了数据仓库和数据湖的优势,数据分析师和数据科学家可以在同一个数据存储中对数据进行操作,同时它也能为公司进行数据治理带来更多的便利性。0.1 目前数据存储的方案一直以来,我们都在使用两种数据存储方式来架构数据:数据仓库:主要存储的是以关系型数据库组织起来的结构化数据。数据通过转换、整合以及清理,并导入到目标表中。在数仓中,数据存储的结构与其定义的schema是强匹配的。 数据湖:存储任何类型的数据,包括像图片、原创 2021-10-25 16:52:35 · 7588 阅读 · 0 评论 -
CDC-变化数据捕获
抽取处理需要重点考虑增量抽取,也被称为变化数据捕获,简称CDC。假设一个数据仓库系统,在每天夜里的业务低峰时间从操作型源系统抽取数据,那么增量抽取只需要过去24小时内发生变化的数据。变化数据捕获也是建立准实时数据仓库的关键技术。当你能够识别并获得最近发生变化的数据时,抽取及其后面的转换、装载操作显然都会变得更高效,因为要处理的数据量会小很多。遗憾的是,很多源系统很难识别出最近变化的数据,或者必须侵入源系统才能做到。变化数据捕获是数据抽取中典型的技术挑战。 常用...原创 2021-03-05 15:49:35 · 909 阅读 · 0 评论