首页   >   新闻   >   文章

软考 | 中级职称 数据库工程师-4
- 2024 -
05/31
13:00
零号员工
发表时间:2024.05.31     作者:Jingyi     来源:ShoelessCai     阅读:124

2024.5.30

这是周四的记录,这一天我的直播效率比较低,但是学习的东西印象还是蛮深刻的。主要是事务提交的两阶段和三阶段的,保证协调者(某台计算机)和参与者(若干台计算机)之前如何协调,如何共同协作的方法。其中,两阶段也称为 2PC,三阶段也称为 3PC。

分布式事务管理

第一,什么是分布式事务。在数据库领域里,所谓的事务 Transaction 即一系列操作,主要目的是调用数据。

第二,分布式事务特性。满足四个特性,ACID,分别是原子性、可串行性、隔离性、持久性,分别对应的功能:(1)确定原子级别颗粒;(2)保证并发;(3)只能提交结果不能提交过程;(4)提交结果不会被擦除。

注意,为了保证 ACID 性质,必须对各个子事务进行控制和协调。

鉴于分布式 DB 是建立在网络空间,因此,数据传送、通信原语、控制报文,都是需要考虑的。在数据库调度和控制问题,与集中式 DB 区别如下:

第一,执行特性。执行的时候,是被分成子事务的,因此,需要注意对进程加以控制;

第二,操作特性。加入大量通信原语,负责协调进程、代理进程,完成子事务之间的数据传送。这一部分,个人理解,是为了保证分布式合作好,会设置一些列原语,使得运行足够高效。

第三,控制报文。规定报文格式。

分布式 DB 故障,分三类:事务故障(计算溢出)、系统故障(CPU出错)、介质故障(磁盘坏)

此外,还有网络分割故障,通俗讲是节点故障,一部分节点和另一部分节点完全断开。

分布式 DB 如何恢复?

第一,孤立地、逐步地推出,UNDO;

第二,成功结束,REDO;

第三,夭折事务原则。这里教材提到的是,分布式 DB 夭折事务恢复,比集中式要复杂得多。

两阶段提交:第一阶段,表决,只有全部参与者同意才能提交;第二阶段,执行,以协调者向日志(LOG) 写入“终止事务”而结束。

代理,指的是完成各个事务的子进程。一般一个站点对应一个子事务。

总结:

1.协调者 发送“准备提交”,等待参与者 回复;

2.等到所有参与者 发送“建议提交”,则发送“全部提交”,否则撤销。

两阶段提交的故障恢复。

1.场地故障四种情况,分别怎么处理?

第一,参与者没来得及发送“建议提交”就挂机,协调者没等到回复,导致超时。这个时候,故障恢复之后,则终止事务;

第二,参与者发送了“建议提交”,之后挂机。这类情况,故障恢复之后,参与者 询问其他参与者 或者协调者 ,以获取挂机之前状况。作出决定,“提交”或“撤销”。这种情况显示“准备提交”的原子性;

第三,协调者发送(在日志写入)“准备提交”,没来得及发送“全局提交”/“全局撤销”就挂机。这种情况,协调者向参与者读取标识符,重发“准备提交”。疑问是,为什么还要读取标识符,直接重发不行吗?

第四,协调者发送了“全局提交”/“全局撤销”,没来及些“事务结束”就挂机。协调者向参与者重发决定。

2.报文丢失故障四种情况,怎么处理?

3.网络分割故障,怎么处理?

分成协调组、参与组。协调者发送信息,参与者根据信息终止子事务。













这是之前的部分工作,也包括“外勤工作”,稍微总结一下,和自己学习的知识结合起来。伙伴们,取所需吧!!





2024.5.31

终于到了 5 月最后一天。这几天我脑袋很大,不知道应该怎么节省自己的开支。

开源一筹莫展,节流什么都节不下来,非常糟糕!但是,JIngyi 不能悲观,不能负能量,有些人很不屑我们这种积极之人,但是,必须积极呀!再想办法!

今天早上差了几分钟,火车票多花了 20 元,吃了个早饭 15 元。一个上午多支出钱款 35 元。





31 号是在浦东参加一个闭门会议,最尴尬的是,我还不知道这事闭门会议,还以为是那种开放式的沙龙。结果银行的人说这是招待国际大客户,还请了市区的领导,太尴尬啦!!

那天我是急得连卫生工作都没搞,还 miss 了早上 7:37 的火车,乘着 8:30 的火车到上海的。Anyway,未知这些情况造成的巧合是什么,大家的期待也好,情节也好,会改变吗?并不知道,只知道,赶紧把手上工作干好。

至于,我做事情是不是受到氛围影响,是不是受到环境影响,可能也不重要了吧。因为一开始想低调,别人怀疑你想暗暗地 Undermine 他们,然后你高调,每到一个社区积极推荐自己,开展各种工作,这是比较合适的吧?

正好我们收乐财 FreeLocked.com 也干一些民宿业务,我发现自己连业态都不怎么了解就进场了,人家还挺关注,那没办法,干活吧,不然呢?对吧?鉴于 FreeLocked.com 也有类似的使命,我现在都是走到那,推荐到哪。希望伙伴们关注我们的工作,目前来讲,我们的网站是 6 张照片就能上线房源,所有资源,现在都是要现场审核的。







2024.6.1

或许是数据库工程师我直播得还行,结果这几天跑模型灵感爆棚啦!顺带也证明我们之前工作是怎么开展的。

做数据处理:

第一,针对确实最大最小、分布情况有所了解,针对缺失进行处理;

第二,连续变量先试一试,如果是比较有名的比赛,要记得对标已有标准;

第三,试过一些方法之后,尝试之前工作使用的 Binning 手段,这个过程,将入模型和不入模型的数据集都划出分布会比较好,有助于 Binning 到合适阈值;

第四,对于业务和变量贡献要有一定感觉,这种感觉考跑模型的 Trials 数量来撑起来,量变到质变嘛。



这一段录音,我介绍了一些工作。




这一段录音我标记了“记录”。


2024.6.2

6月2日我的睡觉时间 3AM - 9AM,礼拜天稍微放个小假,允许自己睡 6 个小时。作为一个普通人,大概只能这么奋斗了吧!

这是关于怎么应对一些现象的。





这是关于如何用好我身边的伙伴的,无论他们是否未来会和我维护关系。说这句话,其实是给到所有以前的朋友一种“自由”。我觉得,人嘛,各种工作,各种社会地位打拼,都会遇到很多时候会分道扬镳的情形,我的前同事、前同学,完全有理由选择他们自己的路子,没必要必须和我绑定,或者帮助我,对吧?没这种说法。所以,这个问题必须要明确,以前的伙伴没必要来“帮助”我,如果我有需要他们帮忙的,我会和他们发邮件的。



然后是关于数据库。

我自己写网页是用不了 XML 的,但是数据库也写到“存储和检索数据,除了使用数据库之外,还可以用 XML Web 服务器”。因此,我搜集了点资料。

首先,关于 XML 的基本语法,在不同的网络环境(或者语言吧),类似于 ASP、PHP 之下,如何使用 XML。

点击《什么是 XML?》,来自 AWS。

点击《服务器上的 XML》,来自菜鸟。

点击《服务器上的 XML》,来自 W3SCHOOL。

教材笔记

如果连接数据库,XML 同层元素和属性出现顺序,常常是数据库中返回的顺序。换言之,存取的时候,可以事先想好用网页展示顺序存取。

举个例子,如果用 XML 将一张销售单的信息,从数据库1转移到数据库2,这个时候,销售单编号保存在日期之前还是之后,无须关心,顾客名称是外部实体,还是只是保存在字符数据段,也无须关心。这种情况,转换数据库和 XML 的软件,关心的是数据层次结构,即将销售单信息分组,其他的顺序之类的,可以忽略。按照教材原文略作修改。

文档结构和数据结构之间,有两种传输模式,模板驱动、模型驱动。

例如,模板驱动,这种模式由中间件来处理模板。



注意,这里还能定义自己的标签,例如 ,这是教材中的例子。

中间件处理的时候,每个标签都是一个字段。将标签参数化之后, HTTP 来传递参数。

模板驱动的模式,灵活程度较高。以模板驱动,只支持从关系型数据库转成 XML。

模板驱动也有不够灵活的做法,数据库转换成 XML,有两种模式:表格,特定数据对象模型。

(1)表格模型

简言之,将 XML 看成一系列表格。如果数据来自 DB1, DB2, DB3……,这个时候,XML 就是一系列表格,例如,Table1, Table2, Table3。

(3)特定数据对象

这个概念比较零散,不是一个三言两语能够讲清楚的问题。

XML 内容模型、属性、PCDATA 对应对象属性(这句话没怎么看懂)。注意,这种模型并不是 DOM。

XML 中所有数据都当成文本对待,然后由中间件将文本转换成其他数据类型,更多是 Fit Into 数据库的。日期类型常常是导致麻烦的。

空值 Null 意味着不存在。具体来讲,XML 可能包含空字符串的空元素,或者属性是空值,这时候必须考虑如何选择合适的中间件来选择。除了一些控制字符,XML 文档能够包含任何的 Unicode 字符。许多数据库都限制或者不支持 Unicode ,需要特殊配置才能解决非 ASCII 问题。通常具体实务,就是考虑使用的中间件是否含有这些功能。BTW,这是很细节的部分。





这里我找了两个案例,其中一个案例显示 XML 的隐藏作用。增加爬虫难度,增加搜索准度。


朗读版



本来应该讲课啦,暂时先说了点,如何理解体力工作,其实和你坐办公室一样的,不能对客户找理由,找理由几乎没有任何挽回客户的余地。原则是,按照客户说的做即可。



继续学习数据库



2024.6.3

这几天又处于奔波忙碌的状态,好在跑模型的话还没有受到影响,发现旅途中工作也没怎么样嘛!正好也符合我们 FreeLocked.com 提出的一些“理念”,边走边工作,无论到哪,和伙伴们聊聊,立刻开工。

当然,如果您已经找到自己的定位,或者有很好的科研项目,或者每天都能吸收很多新的知识,也没必要旅行来去进一步找到突破口。而我们的大脑,就是那么奇特,需要新的事物来刺激,新的任务来带动你的能力。

这一天我很多直播是在车站和绿皮火车上完成的,我会用现场情况,来衡量我课讲得好不好。

















对于一些前路未卜的事情,我也是比较恐慌的,有时有些恐慌情绪,大家不用纠结。因为我比较乐观,我希望用这些事情来督促自己,如果吓到其他小伙伴,那么就听听我的解决方案吧。

2024..6.4

因为边走边开工,先做个小广告,上南路 8 号线杨思,这里有民宿房源,建议价格 110 晚,设施新旧程度都还好,小区蛮好的,地段价格也贵。110 元每晚,预期做到 60% 左右的占用率。

这个房东我们聊了聊,因为公司是低起步,没什么钱,我们就不做主,让房东自愿注册和上线房源。





未来还是会好好努力的吧,最近虽然没有“强近之亲”干一些很奇怪的事情,但我必须向身边所有人展示我省钱做业务的诚意。

2024年6月4日 下午

这是我第二遍写这些文字。

第一,为啥昨天在医院呆了很久。因为想立刻做粪检,结果酝酿了一个下午。怎么说呢,整个过程内心戏是比较多的,整个就是一天一个世界。我认为可以做得更好的地方是,听有声书。但是,因为昨天早上起床之后,作出几个比较有用的决定,以及一些问题忽然茅塞顿开,我还处于复习阶段,所以当天下午就没有听有声书,结果这个思想实验就开始蔓延了。

其中包括一些虚无缥缈的事情。关于这个问题,我明确说,贡献自己敬佩的人,记得自己兜底,别让你敬佩的人为你兜底,这样就是为别人惹麻烦了。

第二,关于虚无缥缈,我就引用某位伟人的话,一天到晚想着发财,只拜神,不干活,也没见着发财。这些虚无缥缈咱们先放一边,考虑考虑知识,好不好?说穿了,连事情都不做,怎么可能来钱呢?必须得先做事情。

第三,自己犯错地方在于,知道自己的情况,却没有因自己的情况而调整策略。举个例子,就说这健康证检验寄生虫的事情,最好的解决方案是,两点左右提交该提交的样本,立刻到火车站候车,候车期间还可以录课。这样我昨晚就回到回杭州了,而且粪便检验的样本还能带回上海。

我昨天采取的策略,吃了 3 根香蕉、一杯咖啡、一杯牛奶、一碗冷面,还喂了猫,结果没有任何用。你想,这不是浪费时间嘛?比起上述策略,是不是几乎浪费了一整个半天?这就是我犯的错误。知道自己的情况之后,一定要因地制宜,切不可有侥幸心理,以上,就是侥幸心理。

第四,昨天莫名又开始花钱没感觉,我立刻公开自己财务。我身边的伙伴知道我丢东西,知道我支出变多 ,他们必须是第一手资料。

主要支出在车费上,主要原因是自己准备不足,明明,粪检和公司材料都可以事先准备好的。这是第二个错误,会犯这个错误,是由于去年体检的时候没那么严格,因此懈怠了吧。以后健康证这个问题,就按照这个严格程度,可以减少 12-20 小时的浪费。结论是,事事强准备。

第五,关于住宿。为了争取合伙人,我顶多在车站和机场通宵。我预定的住宿尽量便宜。

第六,关于无家可归,关于风雨哈佛路。哪天有名校接受我(其实本来也是名校毕业),一定因为我的工作对他们有用,而不是因为我晚上会在马路上乱晃。

第七,关于别人对我的怜悯(如果有这类事情的话)。感谢您的善意,请捐赠我们小网站 1 块钱,不然,您这怜悯,我实在感受不到,或者说,可能连一块钱都不值。

第八,我所待的环境,我所做的工作是否会影响以前的同事、同学。怎么说呢,工种分道扬镳也是正常,希望伙伴们自己权衡。原则是,只要您觉得我这人没用了,您就删除我,我相信,以您那么强的能力,您其他的朋友,能够带给您更加牛逼的社交圈。换言之,我不牛逼,我的朋友圈怎么牛逼?我的朋友圈都不牛逼,我怎么牛逼?这么简单的道理。

第九,关于在哪工作、在哪生活。坦率地讲,工作肯定未来有很大一部分,至少超过 50% 是放在杭州的。但是,我尽量让自己的决策,不让两地的政府产生任何误会。因为,我是个 35 岁,又老又丑又穷又单身的老女人,快被人认为是那种,女性 raper,逮着一个男的就要喊非礼的人。

第十,怎么认知自己。Well,作为年轻时候还挺受欢迎的妹子,这种情况我没遇见过。既然现在这是现实,那么,Jingyi 就说这么一句。老女人的自觉是,任何有权有势的家庭和个人,也会认知到上述事实,将心比心来讲,我不会作任何强求。然而,以此为理由,阻碍我工作,实在是太不好了。那么,退一万步讲(就是再没可能的事情,都拿出来分析一遍),即部分有权有势的家庭有所担忧的,我只说一句,您对我的评价,和我对我自己的评价不会相差太多。强迫我使用老女人的身份,换取未来的不幸福,我也没有那么看不开。简言之,本人只想把事情做好,某些事正好是您们的行业,对我来说可是个坏消息,因为我可能存在一些很强的竞争对手,而且他们还可以用“又老又丑又穷又单身,还想傍大款(谣言)”—— 这样的手段(传播谣言)来赢得竞争,那么,大伙儿评评理就行。

第十一,所有合同也是信用的体现,场地方对于创业者有自己的主观判断,这不是我作为创业者管得了的,我只判断在哪里工作更高效,节外生枝的事情更少。

做事期间笔记

6点47到南站。从南站到世纪大道,到决定今晚住哪里,一共花了 2 小时

我对自己设置一个规定,不能晚上在外面乱晃。加班不得不骑车回去是例外。睡觉时间再短,也必须入住一个地点。

2 个小时,路上录课,以及最终作出的决定。

从去年开始公务员考试,高级口译考,还有408考试,都公布了。未来可以不公布,免得有人有奇怪的,不合适的认知。让某些人停止愚蠢的行为,也是积累人品的一种。

粪便检验这件事

就做得很糟糕,居然一下午就在培养感情……这踏马想培养什么感情我真是无语了

培养感觉

正确的做法。一点半开始体检,两点半左右提交数据,能采样的全部提交,然后回火车站

下午还有几个思想实验,全部用录音的方式捋了一遍。因为怕自己忘记。一是对于相关性的,要是一定相信的,必须做好兜底策略,不能很不负责地把自己人生交由政府处理。

二是所有事情,想三个理由,即便是赴会的

三是永远记得自己变现的是或有的能力。例如,未来能带来好处,或者做事比较稳定。

因此,今天的行为是明天做事所依靠的。

四是小贷业务,不能有不合适的同情。如果同情,那么干些事情提升贷款人的能力。底线是,有些自己没自信的人,强行抱着你往火坑里跳,说穿了把自己当人肉炸弹。

把自己当人肉炸弹的,不行

暂时没想好解决方法,无论对方怎么认知他们自己,好歹也是枚『炸弹』

我认为,提升每个人的个人能力,鼓励这些人追追白富美,被美好的人和事情拒绝,或许是不错的选择。

反正被屌丝拒绝还要心态不好,那么就追全天下最美的女人,或男人

五是想到删掉的一个浙江的业务员。分不清幻想和现实的人,可能对我有意思的,即便被指责『自我感觉太良好』,必须尽早解决。因为这类事,存在和不存在的严重程度不一样。

租办公室是围绕着业务开展,除非非常没钱。

注意资本,大多数人和大多数情况,听资本就是悲剧。



我昨天花了点时间介绍互联网金融的一些工作,以及为什么会适当释放一些字段,为什么会在征信数据的征集上面比较纠结。总结来说,就是希望更加公平些吧,不然别人诟病我工种不道德,我还得思考思考,但是事实上,我们知识基于自己喜欢的一些事情开展工作,而任何的市场都是有其存在的原因的,不能因为个别几个人没用好这些工具而否定事物本身。

就像,你不能因为青少年有网瘾,而否认互联网吧?互联网可是多大的体量和社会贡献啊!都不是你我这等普通公民能够评价的。我是思路是,既然我不是大佬,我就把我自己能干的工作干干好。



关于做事情的原则。



暂时先放这些,有些录课的内容有些凌乱。我十四章也学习完毕了,但是对于知识点应该是不算懂,我再次再捋一遍。再直播给到伙伴们。

数据仓库设计

1.概念模型

这是个比较抽象的概念,看看百度百科怎么说吧。概念模型是一种或多或少的形式化描述,描述的内容 包括建立软件组件时,所用到的算法、架构、假设与底层约束。这通常是对实际的简化描述,包括一定程度的抽象,显式或隐式地按照头脑中的确切使用方式进行构建。对概念模型的验证包括确保所用的理论和假设是正确的;当考虑模型的特征时,确保所规划的用途是合理的。

2.用什么实现概念模型

用 E-R 图。

概念模型的主要内容是对逻辑进行建模,这里的逻辑模型,其实就是关系模型。这句话的含义是,数据库就是基于关系去认知,针对 DW,关系的含义,包括“主题”、“主题之间的联系”。

物理模型是逻辑模型的实现,也就是落地方法。比如说,存取方式、存储结构、数据存放位置、存储分配。

哪些技术可以提升 DW 性能?例如,合并表、建立数据序列、引入冗余。

3.DW 物理设计

一是粒度划分,二是数据分割。

4.数据中元数据重要性

一是除了读和写之外,都是元数据,都是数据的数据。这含义,即数据读出写入之后都是加工成数据的数据。

二是操作的数据和存储的数据仓库的转换,较为复杂。

三是 DW 数据管理。

5.数据转移

这是个专有名词,是某种数据转换。分为四种,简单转移(包含数据类型转换、日期时间格式转换、字段解码),清洗(包括检查字段有效值),集成,数据类型转换。

数据转移要考虑的点:1.预算;2.数据仓库规模;3.时间范围;4.DW 小组项目和技能。

6.OLAP 在线分析处理

7.OLTP 在线事务处理

第六、第七个概念是经常遇到的,综合教材,我们总结如下。



8.NewSQL

主要是分布式,基于 NoSQL 的优化。

解决了分布式数据库时钟问题。

SQL引擎:1.架构解决; 2.SQL引擎; 3.数据分片 Sharding

TiDB:三个核心组件(TiDB Server, PD Server, TiKV Server)

TiSpark 融合 TiKV 分布式集群优势。

TiDB Operator 部署管理 TiDB、集群的能力。



最后我说说 2024 年 6 月 5 日的结局吧!

最终采到样了!非常非常恶心,立刻买了张复兴号,从杭州赶到上海。

到了上海由于小市民心理,结果乘的公交,没能赶上地铁。大晚上骑车 17 公里,从周浦骑车到上中路隧道。本来想骑车过隧道的啦,但是仔细想想自己都注册公司了,被拍到感觉很不好,最终还是打了一辆车。其实吧,这真要强行过隧道也行,想想还是算了。最近 Jingyi 也会给到大家 Supprise 的!

颤抖吧!亲们,连续两天乘坐 4:30 的火车,一路睡到杭州,因为是终点站!睡觉贝嘛嘛儿香!

然而,很糟糕的是,6月6日中欧的活动错过啦!非常糟糕!毕竟我自己的事情也很多,而且因为连续两天没觉睡,结果时不时就睡过去!



原文链接



长按/扫码,有您的支持,我们会更加努力!









TOP 5 精选

       



回到顶部   回上一级
写文章

最新资讯




直播笔记


热点话题


精品论文


有你的鼓励
ShoelessCai 将更努力





文档免费。保护知识产权,保护创新。