公司将被千万美金收购,工程师却误删数据库 —— 没 有 备 份!!!

news2024/12/23 3:55:20

前些天,Retention 和 RB2B 的 CEO,Adam Robinson,在领英(LinkedIn)发帖讲了一个恐怖故事。

在这里插入图片描述

2021 年 3 月,在他第一个创业公司即将以一千万美金被收购的两周前,他们的一位工程师不小心删除了整个代码库,而他们

没有备份!!!🙀

在这里插入图片描述

(一)

事情是这样的(以下从 Adam 的角度,第一人称沉浸式讲述这个故事…):

2021 年 3 月 26 日,寻常的一天。

我起床,跑步,整了点咖啡,启动当天的工作。

上午十点左右,我收到我们的 CTO Tate 的信息。他说:

「坏了,出大事了」

这并未马上使我警觉,因为总有坏事在发生。我问:怎么了?

「Gustavo(化名)删了整个数据库」

我:啊???他做了什么?

「我们的四个节点中有一个坏了,这种情况一直都在发生。我教他们进入亚马逊并『重置』它。问题是在『重置』选项的正下方有一个『停止』节点的选项。他选择了『停止』那个节点,而就在这时,第二个节点也碰巧出了问题。他停止了两个节点。当你停止四节点分布式数据库中的两个节点时,一切都完了」

我:好吧,确实不妙,但我想他也不是故意的。我们有备份的,对吧?

「我们没有。为了省钱,我并不是每天都写一个全新的备份文件,因为我不想存储两个 1TB 的文件。相反,我会用新的备份信息更新旧文件。每天都有两个小时窗口期,期间如果代码库被删除,我们就没有备份」

我终于开始咀嚼我听到的信息……我开始心跳加速、手心冒汗……


时间线

10:00 – 发现情况

10:02 – 打给合伙人 James,我们都慌了

10:15 – 打给亚马逊,他们没办法。让他们找高层,就说几百万美元等着

10:30 – 跟亚马逊高层谈,他们也没办法

10:32 – Tate 尝试联系备份公司

11:00 – 收购方联系我们:「你们的网站瘫痪几个小时了,怎么回事?」

11:30 – 备份公司大骂 Tate 的无备份窗口期并表示没办法

11:45 – Tate 解释说,我们将在两周(两周!)内,以一千万卖出这款产品,并以一位实际制造了该产品的资深工程师的身份,终于说服他们看看是否有办法挖掘出文件。他们以前从未做过这种事,毫无头绪,估计成功率只有 20%。

次日

00:00 – 我去了我朋友 Brad(一位风险投资人)的家。他说他从事技术工作 30 年,从没听过这种事,Tade 肯定有阴谋。我说不可能,他有 25% 的股份。

00:30 – 去我朋友 Lou 的家。他在 Vista 工作 11 年,也没听过这种事。他也认为这是一种恶意攻击,也许是开发者所为?

01:00 – 发现朋友们也没办法,我拖着六磅重的狗,在 Austin 散步。

我一直走到晚上八点,茶饭不思。

我打给银行,告诉他们交易取消了,我们没有网站可出售,然后不得不解释这件荒谬的事。

我个人原本将在两周内获得 400 万美元,而我当时几乎没有储蓄。

我打算还清抵押贷款,买一辆新卡车和一艘船,因为我刚在 Lake Austin 找到一个船位。税后,我还打算存 150 万美元,投入股票市场。

我都做了什么…

最明智的策略是接受最有可能且最坏的情况。如果惊喜出现,那太好了。如果没有,我已经在疗伤的路上了。

我在 Austin 走了八个小时。我一次次告诉自己:

「不过是钱而已。你未来能赚的远不止这点。」

(二)

很恐怖的故事……好在,是 Happy Ending。

原帖附了一个视频,讲了完整的故事。11 小时后,他们找到一个文件夹,它看起来基本是完整的,里面储存了 90% 以上的数据。

在这里插入图片描述
在这里插入图片描述

惊魂未定,Adam 感叹,世界如此脆弱,什么都可能在弹指间完全消失……

比如你的数据库。

🫵


💡 更多资讯,请关注 Bytebase 公号:Bytebase

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2158714.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

M9410A VXT PXI 矢量收发信机,300/600/1200MHz带宽

M9410A PXI 矢量收发信机 -300/600/1200MHz带宽- M9410A VXT PXI 矢量收发信机,300/600/1200MHz带宽支持 5G 的 PXI 矢量收发信机(VXT)是一个 2 插槽模块,具有 1.2 GHz 的瞬时带宽 主要特点 Keysight M9410A VXT PXIe 矢量收发…

SpringBoot+Vue技术框架开发的ADR智能监测系统源码,Java语言的药品不良反应智能监测系统源代码

系统概述: 药品不良反应是指合格药品在正常用法用量下出现的与用药目的无关的有害反应。药品不良反应智能监测系统是一种用于监测和收集药品在使用过程中发生的不良反应的系统。它基于医院临床数据中心,运用信息技术实现药品不良反应的智能监测、报告管…

46.哀家要长脑子了!

1.435. 无重叠区间 - 力扣(LeetCode) 方法一:动态规划 实际上本质就是找最长的无重叠子序列,那么我们可以遍历这个区间的集合,只要前一个区间的右端点是小于等于后一个区间的左端点,那么这两个区间就不是重…

C:内存函数

目录 前言: 一、memcpy 函数的使用及实现 1、memcpy函数的介绍 1.1 memcpy函数参数解读 2、memcpy函数的使用 3、memcpy函数的模拟实现 二、memmove函数的使用及模拟 1、memmove函数的使用 2、memmove函数的模拟实现 三、memset 函数的使用 1、memset函数的…

mybatis 配置文件完成增删改查(五) :单条件 动态sql查询,相当于switch

文章目录 单条件 动态sql查询写测试方法 疑问总结 单条件 动态sql查询 <select id"selectByConditionBySingle" resultMap"brandResultMap">.select *from tb_brandwhere<choose>/*相当于switch*/<when test"status ! null">…

基于Vision-Board的智能应急环境监测控制小车

目录 1 项目概述 1.1 项目背景 1.2 系统功能介绍 1.2.1 下位机智能小车控制系统 1.2.2 微信小程序App 1.2.3 PC上位机App 1.3 框图介绍 1.3.1 主控板卡 1.3.2 小车控制模块 1.3.3 通信模块 1.4 系统使用的技术要点 2 系统硬件设计 2.1 Version board主控板块系统结…

matlab恢复默认窗口布局

1.点击主页&#xff0c;选择布局 2.选择默认&#xff0c;即可恢复到默认的窗口布局

ollama 部署教程(window、linux)

目录 一、官网 二、安装方式一&#xff1a;window10版本下载 三、安装方式二&#xff1a;linux版本docker 四、 模型库 五、运行模型 六、API服务 七、python调用 ollama库调用 langchain调用 requests调用 aiohttp调用 八、模型添加方式 1.线上pull 2.导入 GGU…

HCIA--实验十九:配置接口DCHP

一、实验内容 1.需求/要求&#xff1a; 通过一台5700交换机和一台PC&#xff0c;通过在交换机的接口上配置接口DHCP来实现PC自动获取ip地址。 二、实验过程 1.拓扑图&#xff1a; 2.步骤&#xff1a; 1.给vlan10配置ip地址&#xff0c;进入vlan10开启接口的DHCP&#xff1…

药用植物的空间多组学:从生物合成途径到工业应用-文献精读51

Spatial multi-omics in medicinal plants: from biosynthesis pathways to industrial applications 药用植物的空间多组学&#xff1a;从生物合成途径到工业应用 摘要 随着分子测序和成像技术的快速发展&#xff0c;药用植物的多组学研究进入了单细胞时代。我们讨论了空间多…

EMT-LTR--学习任务间关系的多目标多任务优化

EMT-LTR–学习任务间关系的多目标多任务优化 title&#xff1a; Learning Task Relationships in Evolutionary Multitasking for Multiobjective Continuous Optimization author&#xff1a; Zefeng Chen, Yuren Zhou, Xiaoyu He, and Jun Zhang. journal&#xff1a; IEE…

2024最新windows 11系统 PHP或者idea编译器-配置Git环境和使用教程

文章目录 目录 文章目录 安装流程 小结 概要安装流程技术细节小结 概要 确保电脑上已安装到git,如下图所示&#xff1a;-是已安装好&#xff1a; 安装git教程&#xff1a; Git安装使用教程_git安装教程-CSDN博客 安装流程 点击左上角如图所示&#xff1a; 需要验证git本地 …

认识URL

目录 url定义 定义 实例 url组成 组成 大家看到这时是否会有疑问&#xff1a;我们常用的端口号8080和http默认端口号有什么关系&#xff1f; url定义 定义 url就是统一资源定位符&#xff0c;简称网址。目的是使用url用于访问网络上的资源 实例 url组成 组成 实例&a…

Python 连接mysql数据库,并且执行查询

之前一直在写Java&#xff0c;但是随着python的崛起&#xff0c;自己也被慢慢的带入到了这样的一个阵营&#xff0c;学习python&#xff0c;了解机器学习 曾经有一个.... 不谈曾经&#xff0c;现在的我是一个小菜鸟&#xff0c;用学习Java实现业务的需求来学习python 项目的目…

Python文件读取

文件操作的步骤 打开文件读写文件关闭文件 open()打开函数 使用open()可以打开一个已经存在的文件&#xff0c;或者创建一个新文件 open(name,mode,encoding)name:打开文件的文件名&#xff0c;也可以包含具体路径 mode:设置打开文件的模式&#xff1a;只读、写入、追加等…

【高并发内存池】基本框架 + 固定长度内存池实现 1

高并发内存池 1. 基本框架2. 定长内存池的实现2.1 介绍定长内存池2.2 T* New()2.3 void Delete(T* obj) 3. 源码&#xff08;附赠测试&#xff09;4. 总结 1. 基本框架 高并发内存池主要由三个部分构成&#xff1a; 1.thread cache:用于小于256KB的内存的分配。线程缓存是每个…

解决element plus报错ResizeObserver loop completed with undelivered notifications.

1、问题描述 在使用动态数据切换渲染el-table表格过程中&#xff0c;报错如下&#xff1a; ResizeObserver loop completed with undelivered notifications. 2、解决方案 在网上找了很多办法&#xff0c;包括&#xff1a; 为每一列指定宽度&#xff0c;试了&#xff0c;问题…

【AcWing】基础算法

目录 1、快速排序 1.1 快速排序 1.2 第k个数 2、归并排序 2.1 归并排序 2.2 逆序对的数量 3、二分 3.1 数的范围 3.2 数的三次方根 4、高精度 4.1 高精度加法 4.2 高精度减法 4.3 高精度乘法 4.4 高精度除法 5、前缀和与差分 5.1 前缀和 5.2 子矩阵的和 5.3 …

0.设计模式总览——设计模式入门系列

在现代软件开发中&#xff0c;设计模式为我们提供了优秀的解决方案&#xff0c;帮助我们更好地组织代码和架构。本系列专栏将对设计模式的基本思想、原则&#xff0c;以及常用的分类、实现方式&#xff0c;案例对比、以及使用建议&#xff0c;旨在提高开发者对设计模式的理解和…

数据库的学习

第一章 绪论 基本概念 数据---描述事物的符号 数据库DB---长期存在在计算机内、有组织的、可共享的 大量数据的集合 数据库管理系统DBMS---位于用户和操作系统之间的一层数据管理软件 数据库系统DBS---由数据库、数据库管理系统&#xff08;及其应用开发工具&#xff09;、…