报告摘要“如何成为数据库专家”(HL2018,Data Egret,Ilya Kosmodemyansky)

HighLoad的第一个讲义受到了积极的欢迎,所以我继续。

他选择了有趣的材料作为第二讲,在提要和大厅中都得到了回应。 我认为,每个人,特别是新手专家都可能对此报告感兴趣。

该报告解决了以下问题:

  • 我们到底想成为什么?
  • 我们需要吗?
  • 理论能力
  • 实践技能(技术)
  • 实践技能(非技术)

图片

数据库是一件简单的事,人也很复杂,因此建议可能并不适合所有人。

他没有遵循所有提示。

今天的技能图(明天可能会更改):

图片

任何角色对于从邻近地区获得技能都很有用。

最近添加了云。 它们增加了预算的责任范围。

我们需要吗?


  • 绝对不会很无聊。 DB很有趣。
  • 只要有数据,就会有基础。 它们可能会有所不同,但肯定会有所不同。
  • DBA-像水管工,但温暖又在键盘后面。

几乎不可能获得良好的形象教育。 没有这样的教育。 但是有些大学教得很好。 但是离开大学后,您将不会成为专家。

您需要能够快速学习不同的职业。

需要快速解决的任务(在dba的理想环境中进行考试):

  • 固定底座(第一次看到)。 问题尚不清楚,但是一切都“变慢了”
  • 审查员10名,最好是20-30名
  • 3懈怠地问“如何”
  • 通过电话再三
  • 1需要保留时间
  • 3现在介绍scrum :)(幽默的时刻)

所需的基础知识(理论):


  • 关系代数(最少要学习40小时)
  • 不同类型和形式的B树(仅当任务是编写自己的数据库时才需要深入的知识)

一本很好的入门书籍: Novikov,Dombrowski,建立数据库应用程序

最重要的是:Sub是一个框架,可让您使用数据:
  • 普遍地
  • 可靠地
  • 高效地

(!)运作方式-您需要全面了解。

实用技术技能(!)(重要且必要)


  • 并发控制
    • 2相锁定
    • 死锁检测
    • 多版本并发控制

  • 恢复
    • 提前写日志
    • 重做
    • 撤消

  • 分布式交易
    • 2阶段提交
    • 分布式恢复


阅读最小的维基百科。 更好的书-G. Weikum,G。Vossen,《事务性信息系统:理论,算法以及并发控制和恢复实践》。
如果很难的话,这是您第一次无法阅读有关对象和搜索结构的信息。 然后重新阅读。

陷阱


  • 不要混淆2pl和2pc(两阶段阻塞和两阶段提交)。
  • 不要对比2pl和mvcc。
  • 这些是悲观的交易调度算法-它们是最常见的算法,但世界并不局限于此。

断奶了看书和阅读文档。 优良作法的书籍很少,很少见并且是最新的。

如何阅读文件?


如果您至少一次阅读了每个配置参数的文档(例如postgresql.conf等),您会变得很酷。 这适用于任何数据库。
推荐您为自己准备一个测试服务器,并尝试不同的参数如何影响它。

如何解决问题


  • 保持冷静( 保持冷静!
  • 寻找原因: 不要调整查询/不知道您的数据! -我们考虑请求的安排方式,但不要试图“提前”解决它
  • 提前 )学习诊断工具(顶部,iostat,性能等)
  • 写验尸!

实用非技术技能:


  • 学习说,写和阅读俄语和英语
  • 进行演示,教同事,在会议上讲话,继续进行高负载!
  • 学会与开发人员交流(而不仅仅是与他们交流)

学会同时做所有这一切。

Source: https://habr.com/ru/post/zh-CN429508/


All Articles