详细内容或原文请订阅后点击阅览
如果你从未破坏过它,你就不会真正了解它
以下文章最初发表于Medium,经作者许可在此重新发布。当你学习新技术时,你可以带着一种虚假的自信。您观看一些视频,浏览一些文档,获得一个可以运行的玩具示例,然后告诉自己,“是的,我已经做到了。”我已经做到了。它永远不会持续。一个 [...]
来源:O'Reilly Media _AI & ML以下文章最初发表在 Medium 上,经作者许可在此重新发布。
当您学习新技术时,您可以随身携带一种虚假的信心。您观看一些视频,浏览一些文档,获得一个可以运行的玩具示例,然后告诉自己,“是的,我已经做到了。”我已经做到了。它永远不会持续。艰难的教训往往伴随着唯一重要的经历。
你可以从失败中学习——摔倒在地,看着乱七八糟的东西,并找出它破裂的原因。有什么感觉太容易的事情吗?可能是这样,但你退出这个过程时并没有学到任何值得学习的东西。
询问失败:失败===经验
当我雇用自称具有关系数据库专业知识的人时,我会问一个“技巧”问题:
告诉我您创建过的最糟糕的数据库模式。它教会了你要避免什么?
这并不是一个真正的技巧。任何深入了解关系数据库的人都知道没有完美的模式。存在不断相互竞争的竞争用例。您为事务工作负载进行设计,但不可避免地,有人尝试将其用于报告,然后每个人都想知道为什么查询会爬行。团队中的另一位开发人员无意中优化了报告用例的架构(通常是几年后),结果却导致事务工作负载无法工作。
正确答案通常听起来像:
我们是为了事务吞吐量而构建的——公司的一位创始人认为 MySQL 是一个数据库,这是我们的第一个错误。然后,该企业将其用于报告目的。该系统在几年内多次易手。连接变得粗糙,索引与访问模式不匹配,夜间作业开始干扰用户流量。我们必须拆分只读副本,最终引入仓库,五六年后,我们最终简化了事务并将其转移到 Cassandra。
差点让我崩溃的模式
我学到了很多东西:
