HighLoad的第一个
讲义受到了积极的欢迎,所以我继续。
他选择了有趣的材料作为第二讲,在提要和大厅中都得到了回应。 我认为,每个人,特别是新手专家都可能对此报告感兴趣。
该报告解决了以下问题:
- 我们到底想成为什么?
- 我们需要吗?
- 理论能力
- 实践技能(技术)
- 实践技能(非技术)

数据库是一件简单的事,人也很复杂,因此建议可能并不适合所有人。
他没有遵循所有提示。
今天的技能图(明天可能会更改):

任何角色对于从邻近地区获得技能都很有用。
最近添加了云。 它们增加了预算的责任范围。
我们需要吗?
- 绝对不会很无聊。 DB很有趣。
- 只要有数据,就会有基础。 它们可能会有所不同,但肯定会有所不同。
- DBA-像水管工,但温暖又在键盘后面。
几乎不可能获得良好的形象教育。 没有这样的教育。 但是有些大学教得很好。 但是离开大学后,您将不会成为专家。
您需要能够快速学习不同的职业。
需要快速解决的任务(在dba的理想环境中进行考试):
- 固定底座(第一次看到)。 问题尚不清楚,但是一切都“变慢了”
- 审查员10名,最好是20-30名
- 3懈怠地问“如何”
- 通过电话再三
- 1需要保留时间
- 3现在介绍scrum :)(幽默的时刻)
所需的基础知识(理论):
- 关系代数(最少要学习40小时)
- 不同类型和形式的B树(仅当任务是编写自己的数据库时才需要深入的知识)
一本很好的入门书籍:
Novikov,Dombrowski,建立数据库应用程序 。
最重要的是:Sub是一个框架,可让您使用数据:
(!)运作方式-您需要全面了解。实用技术技能(!)(重要且必要)
阅读最小的维基百科。 更好的书-G. Weikum,G。Vossen,《事务性信息系统:理论,算法以及并发控制和恢复实践》。
如果很难的话,这是您第一次无法阅读有关对象和搜索结构的信息。 然后重新阅读。
陷阱
- 不要混淆2pl和2pc(两阶段阻塞和两阶段提交)。
- 不要对比2pl和mvcc。
- 这些是悲观的交易调度算法-它们是最常见的算法,但世界并不局限于此。
断奶了看书和阅读文档。 优良作法的书籍很少,很少见并且是最新的。
如何阅读文件?
如果您至少一次阅读了每个配置参数的文档(例如postgresql.conf等),您会变得很酷。 这适用于任何数据库。
推荐您为自己准备一个测试服务器,并尝试不同的参数如何影响它。
如何解决问题
- 保持冷静( 保持冷静! )
- 寻找原因: 不要调整查询/不知道您的数据! -我们考虑请求的安排方式,但不要试图“提前”解决它
- ( 提前 )学习诊断工具(顶部,iostat,性能等)
- 写验尸!
实用非技术技能:
- 学习说,写和阅读俄语和英语
- 进行演示,教同事,在会议上讲话,继续进行高负载!
- 学会与开发人员交流(而不仅仅是与他们交流)
学会同时做所有这一切。