基于oneData的數(shù)倉方法論

阿里oneData架構(gòu)設(shè)計

oneData是阿里巴巴內(nèi)部進行數(shù)據(jù)整合和管理方法體系和工具窑邦。

指導(dǎo)思想

首先,要進行充分的業(yè)務(wù)調(diào)研和需求分析斩例。
其次,進行數(shù)據(jù)總體架構(gòu)設(shè)計僚纷,主要是根據(jù)數(shù)據(jù)域?qū)?shù)據(jù)進行劃分;按照維度建模理論拗盒,構(gòu)建總線矩陣怖竭,抽象出業(yè)務(wù)過程和維度。
再次陡蝇,對報表需求進行抽象整理出相關(guān)指標體系痊臭,使用OneData工具完成指標規(guī)范定義和模型設(shè)計。
最后登夫,是代碼研發(fā)和運維广匙。

其實施流程主要分為:數(shù)據(jù)調(diào)研、架構(gòu)設(shè)計恼策、規(guī)范定義和模型設(shè)計鸦致。

數(shù)據(jù)調(diào)研

業(yè)務(wù)調(diào)研

需要確認要規(guī)劃進數(shù)倉的業(yè)務(wù)領(lǐng)域,以及各業(yè)務(wù)領(lǐng)域包含的功能模塊涣楷,以阿里的業(yè)務(wù)為例分唾,可規(guī)劃如下矩陣:

需求調(diào)研

了解需求方關(guān)系哪些指標?需要哪些維度狮斗、度量绽乔?數(shù)據(jù)是否沉淀到匯總層等到。

架構(gòu)設(shè)計

數(shù)據(jù)域的劃分

數(shù)據(jù)域是將業(yè)務(wù)過程或者維度進行抽象的集合碳褒,一般數(shù)據(jù)域和應(yīng)用系統(tǒng)(功能模塊)有聯(lián)系折砸,可以考慮將同一個功能模塊系統(tǒng)的業(yè)務(wù)過程劃分到一個數(shù)據(jù)域:

構(gòu)建總線矩陣

在進行充分的業(yè)務(wù)調(diào)研和需求調(diào)研后,就要構(gòu)建總線矩陣了沙峻,需要做兩件事情:

  1. 明確每個數(shù)據(jù)域下有哪些業(yè)務(wù)過程睦授。
  2. 業(yè)務(wù)過程與哪些維度相關(guān),并通過總線矩陣定義每個數(shù)據(jù)域下的業(yè)務(wù)過程和維度:

指標體系搭建

基本概念

數(shù)據(jù)域:指面向業(yè)務(wù)分析专酗,將業(yè)務(wù)過程或者維度進行抽象的集合睹逃。

業(yè)務(wù)過程:指企業(yè)的業(yè)務(wù)活動中的事件。

時間周期:用來明確數(shù)據(jù)統(tǒng)計的事件范圍或者時間點祷肯,如近30天沉填、截至當前。

修飾類型:對修飾詞的一種抽象劃分佑笋。

修飾詞:指除統(tǒng)計維度外指標的業(yè)務(wù)場景限定抽象翼闹。抽象詞隸屬于一種抽象類型,如訪問終端類型下的pc蒋纬、安卓猎荠、蘋果坚弱。

度量/原子指標:具有明確含義的業(yè)務(wù)名詞。如:支付金額关摇。

維度:維度是度量的環(huán)境荒叶,用來反應(yīng)業(yè)務(wù)的一類屬性,這類屬性的集合稱為一個維度输虱,也可以稱為實體對象些楣,如地理維度、時間維度宪睹。

維度屬性:對維度的描述愁茁,隸屬于一個維度。如:地理維度下的國家亭病、省份鹅很。

派生指標:原子指標+多個修飾詞(可選)+時間周期。

明確原子指標罪帖、修飾詞促煮、時間周期和派生指標的定義。

操作細則

派生指標來源于三類指標:事務(wù)型指標胸蛛、存量型指標和復(fù)合型指標污茵。

事務(wù)型指標:指對業(yè)務(wù)活動進行衡量的指標。

存量型指標:指對實體對象某些狀態(tài)的統(tǒng)計葬项。

復(fù)合型指標泞当,在上述兩種指標基礎(chǔ)上復(fù)合而成的。

模型設(shè)計

數(shù)據(jù)分層

業(yè)界對數(shù)倉分層的看法大同小異民珍,大體上認為分為接入層襟士、中間層和應(yīng)用層三層,不過對中間層的理解有些差異嚷量。

接入層(ods)

業(yè)務(wù)數(shù)據(jù)一般是采用dataX或者sqoop等以固定頻率同步到數(shù)倉中構(gòu)建ODS層陋桂;

如果是日志數(shù)據(jù)則通過flume或者Kafka等同步到數(shù)倉中。

接入層一般不會對源數(shù)據(jù)做任何處理蝶溶、清洗嗜历,便于之后回溯。

明細層(dwd)

理論上明細層數(shù)據(jù)是對ods層數(shù)據(jù)進行清洗加工抖所,提高ods層數(shù)據(jù)的可用性梨州,對于dwd層數(shù)據(jù)是否同層引用的觀點需要權(quán)衡:

  1. 一般情況下dwd層不建議同層引用,這樣做可以減少明細層任務(wù)之間的依賴田轧,減少節(jié)點深度暴匠。
  2. 但是在某些場景下,ods層到dwd層數(shù)據(jù)加工邏輯復(fù)雜傻粘,計算開銷大每窖,這時可以權(quán)衡考慮適當復(fù)用dwd表來構(gòu)建新的dwd表帮掉。

匯總層(dws)

這一層依賴我們的指標體系,將dwd層的數(shù)據(jù)按照各個維度進行聚合計算窒典。

數(shù)據(jù)集市層(dwm)

當我們有一些跨業(yè)務(wù)域的聚合統(tǒng)計需求時蟆炊,放到這一層。

應(yīng)用層(app)

這一層主要針對匯總層瀑志,進行相關(guān)指標的組合盅称,生成報表。

維度設(shè)計

維度建模中后室,將度量稱為事實,維度用于分析事實所需要的多樣環(huán)境混狠。維度的作用一般是查詢岸霹、分類匯總以及排序。

通過報表的約束條件将饺,以及之前數(shù)據(jù)調(diào)研和業(yè)務(wù)方的溝通贡避,我們可以獲得維度。

維度通過主鍵與事實表進行關(guān)聯(lián)予弧,維度表的主鍵分為代理鍵和自然鍵兩種刮吧;代理鍵不具有業(yè)務(wù)含義,一般用于處理緩慢變化維度掖蛤,自然鍵則具有業(yè)務(wù)含義杀捻。

維度設(shè)計基本方法

  1. 選擇或者新建一個維度,通過之前總線矩陣的構(gòu)建掌握了目前數(shù)倉架構(gòu)中的維度蚓庭。
  2. 確定主維表致讥。此處主維表一般是ODS表,直接與業(yè)務(wù)系統(tǒng)同步器赞。
  3. 確定相關(guān)維表垢袱。數(shù)倉是業(yè)務(wù)源系統(tǒng)的數(shù)據(jù)整合,不同業(yè)務(wù)系統(tǒng)或者同一業(yè)務(wù)系統(tǒng)中的表之間存在關(guān)聯(lián)性港柜。跟據(jù)對業(yè)務(wù)的梳理请契,我們可以確認哪些表和主維表存在關(guān)聯(lián)關(guān)系,并選擇其中的某些表用于生成維度屬性夏醉。
  4. 確定維度屬性爽锥。本步驟分為兩階段,第一階段是從主維表中選擇維度屬性或生成新的維度屬性授舟;第二階段是從相關(guān)維表中選擇維度屬性或生成新的維度屬性救恨。

規(guī)范化和反規(guī)范化

當具有多層次的維度屬性,按照第三范式進行規(guī)范化后形成一系列維度表释树,而非單一維度表肠槽,這種建模稱為雪花模式擎淤。

將維度的屬性層次合并到單個維度中的操作稱為反規(guī)范化。

一致性維度和交叉探查

我們存在很多需求是對于不同數(shù)據(jù)域的業(yè)務(wù)過程或同一數(shù)據(jù)域的不同業(yè)務(wù)過程合并在一起觀察秸仙。例如:對于日志數(shù)據(jù)域統(tǒng)計商品維度的近一天PV和UV嘴拢;對于交易數(shù)據(jù)域統(tǒng)計商品維度近一天的GMV。

這種將不同數(shù)據(jù)域的商品事實合并在一起進行數(shù)據(jù)探查寂纪,稱為交叉探查席吴。

數(shù)倉能進行交叉探查的前提是,不同數(shù)據(jù)域要具有一致性維度捞蛋。

維度整合

由于數(shù)倉的數(shù)據(jù)源來源于不同的應(yīng)用系統(tǒng)孝冒,應(yīng)用系統(tǒng)之間相互獨立,因此對同一信息的描述拟杉、存儲都可能具有差異庄涡。

而這些具有差異的數(shù)據(jù)進入數(shù)倉后需要整合在一起:

  1. 命名規(guī)范的統(tǒng)一。表名搬设、字段名等統(tǒng)一穴店。
  2. 字段類型的統(tǒng)一。相同和相似字段的字段類型統(tǒng)一拿穴。
  3. 公共代碼以及代碼值的統(tǒng)一泣洞。
  4. 業(yè)務(wù)含義相同的表的統(tǒng)一。主要依據(jù)高內(nèi)聚默色、低耦合的理念球凰,將業(yè)務(wù)關(guān)系大,源系統(tǒng)影響差異小的表進行整合该窗。

表級別的整合主要有兩種形式:

垂直整合弟蚀,即不同來源表包含相同的數(shù)據(jù)集,只是存儲的信息不同酗失,可以整合到同一個維度模型中义钉。

水平整合,即不同來源表包含不同的數(shù)據(jù)集规肴,這些子集之間無交叉或存在部分交叉捶闸,如果有交叉則去重;如果無交叉拖刃,考慮不同子集的自然鍵是否沖突删壮,不沖突則可以將各子集自然鍵作為整合后的自然鍵,或者將各自然鍵加工成一個超自然鍵兑牡。

拉鏈表

拉鏈表央碟,又稱為極限存儲技術(shù)。假設(shè)某一張表是用來存儲全量用戶信息的均函,一般我們的處理方式是亿虽,用每個分區(qū)去存儲每天全量數(shù)據(jù)的快照菱涤,這種方式的問題是,如果我希望保存用戶的所有歷史狀態(tài)洛勉,我可能需要永久保存每一個歷史分區(qū)粘秆。

如果使用拉鏈表,每個分區(qū)可以保存每個用戶在當天的歷史狀態(tài)收毫,同時歷史分區(qū)也可以進行清理攻走。

這樣,雖然單個分區(qū)中存儲的數(shù)據(jù)變多了此再,但是某些歷史分區(qū)的數(shù)據(jù)被清理后昔搂,整個表存儲的數(shù)據(jù)會變少了,因為很多沒有變化的用戶信息快照被清理了输拇。

微型維度

微型維度的創(chuàng)建是通過將一部分不穩(wěn)定的屬性從相對穩(wěn)定的主維度中移除巩趁,放置到擁有自己代理鍵的新表來實現(xiàn)。

遞歸層次

遞歸層次指的是某維表的實例值的層次關(guān)系淳附,維度的遞歸層次分為有固定數(shù)量級別的均衡層次結(jié)構(gòu)和無固定數(shù)量級別的非均衡層次結(jié)構(gòu)。

由于數(shù)倉中一般不支持遞歸SQL的功能來處理這種層次結(jié)構(gòu)蠢古,所以需要用到其他方式奴曙。

  1. 層次結(jié)構(gòu)扁平化,適合均衡層次結(jié)構(gòu)維度草讶。
  2. 層次橋接表洽糟,適合非均衡層次結(jié)構(gòu)維度。

多值維度

多值維度指事實表的一條記錄在某維度表中有多條記錄與之對應(yīng)堕战。

針對多值維度坤溃,常見的處理方式有三種:

  1. 降低事實表的粒度。
  2. 列擴展嘱丢。
  3. 較為通用的方式薪介,采用橋接表。

雜項維度

雜項維度是由操作型系統(tǒng)中的指示符或者標志字段組合而成越驻,一般不在一致性維度之列汁政。

這些維度如果作為事實存在事實表中,則會導(dǎo)致事實表占用空間變大缀旁;如果單獨建立維表记劈,則會出現(xiàn)許多零碎的小維表。

這時并巍,通常的解決方案是建立雜項維度目木,將這些字段建立到一個維表中,在事實表中只需保存一個外鍵即可懊渡,雜項維度可以理解為將許多小維表通過行轉(zhuǎn)列的方式存儲到一張大維表中的處理方案刽射。

退化維度

指維度屬性直接存儲到事實表中的維度军拟。

事實表設(shè)計

事實表中一條記錄所表達的業(yè)務(wù)細節(jié)程度稱為粒度。

事實類型

作為度量業(yè)務(wù)過程的事實柄冲,有可加性吻谋、半可加性和不可加性三種類型:

可加性事實指可以按照與事實表關(guān)聯(lián)的任意維度進行匯總。

半可加事實只能按照特定維度匯總现横,不能對所有維度匯總漓拾。

不可加性事實完全不具備可加性,比如比例事實戒祠。對于不可加性事實可考慮分解為可加的組件來實現(xiàn)聚合骇两。

事實表類型

最常見的事實表有三種類型:事務(wù)事實表、周期快照事實表和累積快照事實表姜盈。

事務(wù)事實表用來描述業(yè)務(wù)過程低千,表示對應(yīng)時空上某點的度量事件,保存的是最原子的數(shù)據(jù)馏颂,也稱為原子事實表示血。在實際使用中,一般作為明細層使用救拉,例如下單明細难审、支付明細等。

周期快照事實表的一行亿絮,以具有規(guī)律性的時間間隔記錄事實告喊。如每日庫存快照表、每日用戶余額快照表派昧。

累積快照事實表用來表述過程開始和結(jié)束之間的關(guān)鍵步驟事件黔姜,覆蓋過程的整個生命周期,通常具有多個日期字段來記錄關(guān)鍵時間點蒂萎,當過程隨著生命周期不斷變化時秆吵,記錄也會隨著過程的變化而被修改。以事務(wù)事實表中提到的訂單例子為例五慈,可以做一個和訂單相關(guān)的帮毁,涉及訂單下單、推單豺撑、搶單烈疚、支付等各個環(huán)節(jié)的一張訂單全生命周期快照表。

此外聪轿,還有一種無事實的事實表爷肝,單純只記錄某一動作發(fā)生,其事件的量化是非數(shù)字的,比較典型的例子是訪問點擊日志灯抛。

事實表設(shè)計原則

  1. 盡可能包含所有與業(yè)務(wù)過程相關(guān)的事實金赦。
  2. 只選擇與業(yè)務(wù)過程相關(guān)的事實。
  3. 分解不可加性事實為可加的組件对嚼。
  4. 在選擇維度和事實之前必須先聲明粒度夹抗。
  5. 在同一個事實表中不能有多種不同粒度的事實。
  6. 事實的單位要保持一致纵竖。
  7. 對事實的null值要處理漠烧,建議用0填充。
  8. 使用退化維度提高事實表的易用性靡砌。

事實表設(shè)計方法

  1. 選擇業(yè)務(wù)過程及確認事實表類型已脓。
  2. 聲明粒度。
  3. 確定維度通殃。
  4. 確定事實度液。
  5. 冗余維度。

事實事實表

單事務(wù)事實表画舌,針對每個業(yè)務(wù)過程設(shè)計一個事實表堕担。這樣方便對每個業(yè)務(wù)過程進行獨立的分析研究。

多事務(wù)事實表曲聂,將不同的事實放到同一個事實表中照宝,即同一個事實表包含不同的業(yè)務(wù)過程。

多事務(wù)事實表有兩種方法進行事實處理:

  1. 不同業(yè)務(wù)過程的事實使用不同的事實字段進行存放句葵;如果不是不是當前業(yè)務(wù)過程的度量,可以考慮用0值填充兢仰。
  2. 不同業(yè)務(wù)過程的事實使用同一個事實字段進行存放乍丈,但增加一列作為業(yè)務(wù)過程標簽,記錄該事務(wù)是否在當天完成把将。

關(guān)于多事務(wù)事實表具體采用哪種方式進行事實處理:

在實際應(yīng)用中轻专,當業(yè)務(wù)過程度量比較相似、差異不打時察蹲,可以采取第二種多事務(wù)事實表的設(shè)計方式请垛,使用同一個字段來表示度量數(shù)據(jù)。但這種方式存在一個問題洽议,在同一個周期內(nèi)會存在多條記錄宗收。

當不同業(yè)務(wù)過程的度量差異較大時,可以選擇第一種多事務(wù)事實表的設(shè)計方式亚兄,將不同業(yè)務(wù)過程的度量使用不同字段冗余到表中混稽,非當前業(yè)務(wù)過程則置為0,這種方式存在的問題是度量字段0值會比較多。

具體使用單事務(wù)事實表還是多事務(wù)事實表匈勋,需要從以下幾點分析:

  1. 業(yè)務(wù)過程

多個業(yè)務(wù)過程是否放到同一個事實表中礼旅,首先需要分析不同業(yè)務(wù)過程之間的相似性和業(yè)務(wù)源系統(tǒng)。

比如淘寶交易的下單洽洁、支付和成功完結(jié)三個業(yè)務(wù)過程存在相似性痘系,并且都來自于一個應(yīng)用系統(tǒng)-交易系統(tǒng),適合放到同一個事務(wù)事實表饿自。

  1. 粒度和維度

在考慮是采用單事務(wù)表還是多事務(wù)表時汰翠,一個關(guān)鍵點是粒度和維度。

在確定好業(yè)務(wù)過程后璃俗,需要基于不同的業(yè)務(wù)過程確定粒度和維度奴璃,當不同業(yè)務(wù)過程的粒度相同,同時擁有相似維度時城豁,可以考慮采用多事務(wù)事實表苟穆。如果粒度不同,必定是存存儲在不同事務(wù)表中的唱星。

  1. 事實

如果單一業(yè)務(wù)過程的事實較多雳旅,同時不同業(yè)務(wù)過程的事實又不相同,則考慮使用單事務(wù)事實表间聊,處理更加清晰攒盈;

若使用多事務(wù)事實表,則會導(dǎo)致事實表零值或空值字段較多哎榴。

  1. 下游業(yè)務(wù)使用

單事務(wù)事實表對于下游用戶而言更容易理解型豁,關(guān)注哪個業(yè)務(wù)過程就使用相應(yīng)的事務(wù)事實表;而多事務(wù)事實表包含多個業(yè)務(wù)過程尚蝌,用戶使用時往往較為困惑迎变。

周期快照事實表

事務(wù)事實表可以很好的跟蹤一個事件,并進行度量分析飘言。

然后衣形,當需要一些狀態(tài)度量時,比如賬戶余額姿鸿、商品庫存谆吴、賣家累積交易額等,則需要聚集與之相關(guān)的事務(wù)才能進行識別計算苛预,也就是周期快照事實表句狼。

周期快照事實表在確定的間隔內(nèi)對實體的度量進行抽樣,以研究實體的度量值热某,而不需要聚集長期的事務(wù)歷史鲜锚。

累積快照事實表

對于類似于研究事件之間時間間隔的需求突诬,事務(wù)事實表處理邏輯復(fù)雜且性能差,采用累積快照事實表可以很好解決芜繁。

快照事實表中收集到到狀態(tài)度量都是半可加到旺隙,不能根據(jù)時間維度獲得有意義到匯總結(jié)果。

數(shù)倉在進行維度建模時骏令,對于事務(wù)事實表和快照事實表往往都是成對設(shè)計蔬捷,互相補充,以滿足更多下游統(tǒng)計分析需求榔袋,特別是在事務(wù)事實表基礎(chǔ)上可以加工快照事實表周拐。

其他規(guī)范

層次調(diào)研約定:

  1. 應(yīng)用層優(yōu)先調(diào)用公共層數(shù)據(jù)。
  2. 已經(jīng)存在的中間層數(shù)據(jù)凰兑,不允許應(yīng)用層跨中間層從ODS層重復(fù)加工數(shù)據(jù)妥粟。
  3. 中間層團隊應(yīng)該積極了解應(yīng)用層數(shù)據(jù)的建設(shè)需求,將公用的數(shù)據(jù)沉淀到公共層吏够,為其他團隊提供數(shù)據(jù)服務(wù)勾给。
  4. 應(yīng)用層團隊也需要積極配合中間層團隊進行數(shù)據(jù)公共層建設(shè)的改造和遷移。
  5. 必須避免過度使用ODS層引用和不合理的數(shù)據(jù)復(fù)制和子集合冗余锅知。

指標定義規(guī)范:

生命周期管理規(guī)范:

數(shù)據(jù)質(zhì)量:

數(shù)據(jù)安全:

命名規(guī)范

表命名規(guī)范:<層次><業(yè)務(wù)域名稱><數(shù)據(jù)域名稱><業(yè)務(wù)過程名稱|自定義表名><刷新周期+存儲策略>

字段命名規(guī)范:

腳本命名規(guī)范:

開發(fā)規(guī)范

總原則

  1. 原則上不能依賴非數(shù)據(jù)團隊節(jié)點播急。
  2. 未獲得節(jié)點owner許可的情況下,不能擅自修改別人的節(jié)點售睹。
  3. 不能隨意變更節(jié)點owner桩警,必須知會接收人并得到同意。

研發(fā)流程規(guī)范:

代碼開發(fā)規(guī)范:

上線規(guī)范:

運維規(guī)范:

故障處理規(guī)范:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末昌妹,一起剝皮案震驚了整個濱河市捶枢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌飞崖,老刑警劉巖烂叔,帶你破解...
    沈念sama閱讀 221,888評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蚜厉,居然都是意外死亡,警方通過查閱死者的電腦和手機畜眨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評論 3 399
  • 文/潘曉璐 我一進店門昼牛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人康聂,你說我怎么就攤上這事贰健。” “怎么了恬汁?”我有些...
    開封第一講書人閱讀 168,386評論 0 360
  • 文/不壞的土叔 我叫張陵伶椿,是天一觀的道長。 經(jīng)常有香客問我,道長脊另,這世上最難降的妖魔是什么导狡? 我笑而不...
    開封第一講書人閱讀 59,726評論 1 297
  • 正文 為了忘掉前任,我火速辦了婚禮偎痛,結(jié)果婚禮上旱捧,老公的妹妹穿的比我還像新娘。我一直安慰自己踩麦,他們只是感情好枚赡,可當我...
    茶點故事閱讀 68,729評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著谓谦,像睡著了一般贫橙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上反粥,一...
    開封第一講書人閱讀 52,337評論 1 310
  • 那天卢肃,我揣著相機與錄音,去河邊找鬼星压。 笑死践剂,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的娜膘。 我是一名探鬼主播逊脯,決...
    沈念sama閱讀 40,902評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼竣贪!你這毒婦竟也來了军洼?” 一聲冷哼從身側(cè)響起添吗,我...
    開封第一講書人閱讀 39,807評論 0 276
  • 序言:老撾萬榮一對情侶失蹤蜕青,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后贯卦,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體爷耀,經(jīng)...
    沈念sama閱讀 46,349評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡甘桑,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,439評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了歹叮。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片跑杭。...
    茶點故事閱讀 40,567評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖咆耿,靈堂內(nèi)的尸體忽然破棺而出德谅,到底是詐尸還是另有隱情,我是刑警寧澤萨螺,帶...
    沈念sama閱讀 36,242評論 5 350
  • 正文 年R本政府宣布窄做,位于F島的核電站愧驱,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏椭盏。R本人自食惡果不足惜组砚,卻給世界環(huán)境...
    茶點故事閱讀 41,933評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望庸汗。 院中可真熱鬧惫确,春花似錦、人聲如沸蚯舱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽枉昏。三九已至陈肛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間兄裂,已是汗流浹背句旱。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留晰奖,地道東北人谈撒。 一個月前我還...
    沈念sama閱讀 48,995評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像匾南,于是被迫代替她去往敵國和親啃匿。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,585評論 2 359