变态重口极致另类在线-波多久久夜色精品国产-波多野结衣在线观看一区-波多野结衣在线观看一区二区-污污的网站免费阅读-污污视频网址

當(dāng)前位置:首頁文章首頁 新聞中心

我不小心刪除了所有的數(shù)據(jù)

作者:佚名  來源:互聯(lián)網(wǎng)  發(fā)布時間:2011-12-9 8:44:35  點擊:

  

本文是從 I Accidentally Deleted All Our Data 這篇文章翻譯而來。

      昨天,我和在Famigo公司的同事Cody 和 Shaun 一起去參加 MongoDallas 研討會。我們在幾個月前聽說了這個會議,感到去這個會議將會是次有趣的活動。我們公司幾乎所有的東西都是存儲在MongoDB里的,Cody會在這個會議上做一次演講介紹我們的使用情況。

  會議辦的非常好,進行的過程中沒有出什么意外情況。(跟上次活動一樣,10gen公司給會議提供了大量的飲料。)午餐期間,我們跟 GameStop公司的幾個家伙侃大山。其中有個人問我們在正式環(huán)境服務(wù)器上做過的最糟的一件事情是什么。我想不出什么,但Cody給大家講了一個他在以 前的崗位上的一個故事。是他把完全重寫的代碼放到服務(wù)器上后,整個環(huán)境立即崩潰了。

  可結(jié)果卻是,我在下午實現(xiàn)了我對生產(chǎn)環(huán)境犯下的最大的錯誤。

  午餐之前,在兩個演講之間,我檢查了一下我們的服務(wù)器,看看是否一切正常。我發(fā)現(xiàn)了一個異常,跟保持唯一數(shù)據(jù)值有關(guān)。我們的API中的一個競爭關(guān)系的條件語句導(dǎo)致了數(shù)據(jù)庫中的兩個賬戶保存了相同的email地址,但每個賬戶的email地址必須是唯一的。

  我迅速的定位了問題,在我們的缺陷跟蹤系統(tǒng)了添加了一條記錄,描述了問題的原因,以及產(chǎn)生沖突的賬戶。我刪除了這個賬戶,因為它沒有跟任何數(shù)據(jù)關(guān)聯(lián),我們的客戶在下次登錄時,系統(tǒng)會自動初始化一條記錄。

  然后,我繼續(xù)查找,看看數(shù)據(jù)庫中是否還有其它產(chǎn)生沖突的賬戶。我循環(huán)數(shù)據(jù)庫里的每個賬戶,依次保持它們(沒有做任何改變);有問題的數(shù)據(jù)會在保持時拋出異常信息。我在Python的交互shell里編碼,所以當(dāng)時的代碼并沒有保留下來,但它們大概是這樣的:

  from mongoengine import connect

  from models import Family

  connect('the-production-database')

  for family in Family.objects:

  family.save()

  代碼執(zhí)行完并沒有出現(xiàn)異常,于是我關(guān)掉了筆記本,把注意力重新放到會議上。幾個小時后,Cody收到了大量的報告服務(wù)器響應(yīng)變慢的郵件。他迅速的打開了筆記本,我在旁邊看著他的屏幕。當(dāng)我看到這一幕時,幾乎誘發(fā)了我的心臟病:

  >>> Family.objects.count()

  38

  這數(shù)量少了好幾個數(shù)量級!我們極度不安,從會議廳里溜了出去。

  事情很快就明白了,我們的帳戶信息,而且只是帳戶信息,被弄丟了。我查看新近出現(xiàn)的賬戶信息,把它們加入的時間和我最后一次提交操作的時間對比。它們不可思議的接近。

  不幸的是,我的屏幕會話沒有足夠的回滾信息來讓我看看今天早些時間究竟做了什么。因為我是在交互式shell里執(zhí)行的,我找不到任何歷史記錄。最大可能的猜測,我應(yīng)該是干了類似這樣的事情:

  for family in Family.objects:

  family.delete()

  我暈倒!執(zhí)行save 和 delete 操作都不會返回任何信息,所以在看著帳戶信息在屏幕上滾動時沒有發(fā)現(xiàn)任何的異常。(我并不確認(rèn)究竟是怎么回事,但這是最簡單的解釋。奧坎氏簡化論在這里打倒了我的自負(fù)。)

  會場的網(wǎng)速很差勁,而且找不到電源插座,于是我們收拾起東西,匆忙的想找一家附近咖啡館。結(jié)果發(fā)現(xiàn),達(dá)拉斯市中心所有的咖啡館下午4點鐘全關(guān)門了。幸運的是,它們提供24小時的免費wifi,于是我們就在一家星巴克外面安營扎寨,開始了工作。

  (達(dá)拉斯這個地方要比我們預(yù)想的冷的多。當(dāng)我們離開奧斯汀時,那里是華氏80度,陽光明媚。而在達(dá)拉斯,這里一直40度,陰天,有風(fēng)。我們?nèi)齻穿著T恤、牛仔褲的人擠在筆記本前,希望能在凍僵前盡快解決問題。)

  這周早期,我們有個數(shù)據(jù)庫備份,我們把它導(dǎo)入到了我們的開發(fā)環(huán)境中,Cody把它恢復(fù)到了一個獨立的數(shù)據(jù)庫里。我寫了一個腳本,把丟失的賬戶信息一一從一個數(shù)據(jù)庫導(dǎo)入另一個數(shù)據(jù)庫。很幸運,進行的很順利,所有的信息都恢復(fù)了。

  剩下還有一些要做的事情,要檢查所有對這些數(shù)據(jù)的引用都指向了正確的地方,但最重要的大火是已經(jīng)被撲滅了。11月17號,它一直保留下來,成為了我們的備份宣傳日。

相關(guān)文章

文章評論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
主站蜘蛛池模板: 亚洲欧美精品综合中文字幕 | 欧美日韩中文字幕免费不卡 | 亚洲图片二区 | 最好看2019高清中文字幕 | 无遮挡男女激烈免费动态图 | aa一级黄色片 | 美女视频久久 | 成人毛片免费看 | 全免费午夜一级毛片真人 | 日韩射 | 狠狠色视频 | 亚洲首页成人有声小说网 | 久久国产精品亚洲va麻豆 | 日韩中文字幕精品视频在线 | 成人精品福利 | 欧洲成人在线视频 | 多多多色麻豆 | 性生活一区 | 日本黄色片一级 | 亚洲一级特黄 | 青在线视频 | 国内精品免费视频自在线 | 一级在线观看视频 | 福利片网址 | 久久婷婷五月综合色丁香 | 成人小视频在线观看 | 亚洲国产成人99精品激情在线 | 天天都色 | 日本不卡视频在线播放 | aaa在线观看高清免费 | 午夜在线观看免费观看大全 | 日本乱人伦片中文字幕三区 | 国产精品1页 | 5g影院天天爽爽 | 免费在线观看污污视频 | 黄色大片久久 | 欧美高清视频手机在在线 | 在线播放亚洲视频 | 一区二区不卡在线观看 | 日韩精品一区二区三区高清 | yellow免费影视大全 |