深入淺出學(xué)習(xí)大數(shù)據(jù):最權(quán)威的數(shù)據(jù)存儲(chǔ)技術(shù)劫拢!

今天繼續(xù)帶大家學(xué)習(xí)大數(shù)據(jù)肉津。今天主要介紹大數(shù)據(jù)價(jià)值鏈的數(shù)據(jù)存儲(chǔ)部分,前面兩期重點(diǎn)介紹了數(shù)據(jù)生成和數(shù)據(jù)獲取舱沧,有希望學(xué)習(xí)的朋友可以翻閱我前面的文章妹沙。希望大家持續(xù)學(xué)習(xí),每天關(guān)注熟吏,我會(huì)連續(xù)更新文章距糖,讓大家系統(tǒng)學(xué)習(xí)和認(rèn)識(shí)大數(shù)據(jù)。

階段III:數(shù)據(jù)存儲(chǔ)

大數(shù)據(jù)系統(tǒng)中的數(shù)據(jù)存儲(chǔ)子系統(tǒng)將收集的信息以適當(dāng)?shù)母袷酱娣乓源治龊蛢r(jià)值提取牵寺。為了實(shí)現(xiàn)這個(gè)目標(biāo),數(shù)據(jù)存儲(chǔ)子系統(tǒng)應(yīng)該具有如下兩個(gè)特征:

?存儲(chǔ)基礎(chǔ)設(shè)施應(yīng)能持久和可靠地容納信息;

?存儲(chǔ)子系統(tǒng)應(yīng)提供可伸縮的訪問(wèn)接口供用戶查詢和分析巨量數(shù)據(jù)悍引。從功能上,數(shù)據(jù)存儲(chǔ)子系統(tǒng)可以分為硬件基礎(chǔ)設(shè)施和數(shù)據(jù)管理軟件。

一帽氓、存儲(chǔ)基礎(chǔ)設(shè)施

硬件基礎(chǔ)設(shè)施實(shí)現(xiàn)信息的物理存儲(chǔ),可以從不同的角度理解存儲(chǔ)基礎(chǔ)設(shè)施吗铐。首先,存儲(chǔ)設(shè)備可以根據(jù)存儲(chǔ)技術(shù)分類。典型的存儲(chǔ)技術(shù)有如下幾種杏节。

?隨機(jī)存取存儲(chǔ)器(RAM):是計(jì)算機(jī)數(shù)據(jù)的一種存儲(chǔ)形式,在斷電時(shí)將丟失存儲(chǔ)信息』I現(xiàn)代RAM包括靜態(tài)RAM、動(dòng)態(tài)RAM和相變RAM奋渔。

?磁盤和磁盤陣列:磁盤是現(xiàn)代存儲(chǔ)系統(tǒng)的主要部件镊逝。HDD由一個(gè)或多個(gè)快速旋轉(zhuǎn)的碟片構(gòu)成,通過(guò)移動(dòng)驅(qū)動(dòng)臂上的磁頭,從碟片表面完成數(shù)據(jù)的讀寫。與RAM不同,斷電后硬盤仍能保留數(shù)據(jù)信息,并且具有更低的單位容量成本,但是硬盤的讀寫速度比RAM讀寫要慢得多嫉鲸。由于單個(gè)高容量磁盤的成本較高,因此磁盤陣列將大量磁盤整合以獲取高容量撑蒜、高吞吐率和高可用性。

?存儲(chǔ)級(jí)存儲(chǔ)器:是指非機(jī)械式存儲(chǔ)媒體,如閃存。閃存通常用于構(gòu)建固態(tài)驅(qū)動(dòng)器SSD,SSD沒(méi)有類似HDD的機(jī)械部件,運(yùn)行安靜,并且具有更小的訪問(wèn)時(shí)間和延遲座菠。但是SSD的單位存儲(chǔ)成本要高于HDD狸眼。

這些存儲(chǔ)設(shè)備具有不同的性能指標(biāo),可以用來(lái)構(gòu)建可擴(kuò)展的、高性能的大數(shù)據(jù)存儲(chǔ)子系統(tǒng)浴滴。

其次,可以從網(wǎng)絡(luò)體系的觀點(diǎn)理解存儲(chǔ)基礎(chǔ)設(shè)施,存儲(chǔ)子系統(tǒng)可以通過(guò)不同的方式組織構(gòu)建拓萌。

?直接附加存儲(chǔ)(DAS):存儲(chǔ)設(shè)備通過(guò)主機(jī)總線直接連接到計(jì)算機(jī),設(shè)備和計(jì)算機(jī)之間沒(méi)有存儲(chǔ)網(wǎng)絡(luò)。DAS是對(duì)已有服務(wù)器存儲(chǔ)的最簡(jiǎn)單的擴(kuò)展升略。

?網(wǎng)絡(luò)附件存儲(chǔ)(NAS):NAS是文件級(jí)別的存儲(chǔ)技術(shù),包含許多硬盤驅(qū)動(dòng)器,這些硬盤驅(qū)動(dòng)器組織為邏輯的冗余的存儲(chǔ)容器微王。和SAN相比,NAS可以同時(shí)提供存儲(chǔ)和文件系統(tǒng),并能作為一個(gè)文件服務(wù)器。

?存儲(chǔ)區(qū)域網(wǎng)絡(luò)(SAN):SAN通過(guò)專用的存儲(chǔ)網(wǎng)絡(luò)在一組計(jì)算機(jī)中提供文件塊級(jí)別的數(shù)據(jù)存儲(chǔ)品嚣。SAN能夠合并多個(gè)存儲(chǔ)設(shè)備,例如磁盤和磁盤陣列,使得它們能夠通過(guò)計(jì)算機(jī)直接訪問(wèn),就好象它們直接連接在計(jì)算機(jī)上一樣炕倘。

這三種存儲(chǔ)技術(shù)的存儲(chǔ)網(wǎng)絡(luò)體系架構(gòu)如圖7所示,SAN具有最復(fù)雜的網(wǎng)絡(luò)架構(gòu),并依賴于特定的存儲(chǔ)網(wǎng)絡(luò)設(shè)備翻默。

最后,盡管已有的存儲(chǔ)系統(tǒng)架構(gòu)得到了深入的研究,但是卻無(wú)法直接應(yīng)用于大數(shù)據(jù)系統(tǒng)中肚菠。為了適應(yīng)大數(shù)據(jù)系統(tǒng)的“4Vs”特性,存儲(chǔ)基礎(chǔ)設(shè)施應(yīng)該能夠向上和向外擴(kuò)展,以動(dòng)態(tài)配置適應(yīng)不同的應(yīng)用。

一個(gè)解決這些需求的技術(shù)是云計(jì)算領(lǐng)域提出的存儲(chǔ)虛擬化拯坟。存儲(chǔ)虛擬化將多個(gè)網(wǎng)絡(luò)存儲(chǔ)設(shè)備合并為單個(gè)存儲(chǔ)設(shè)備眶诈。目前可以在SAN和NAS架構(gòu)上實(shí)現(xiàn)存儲(chǔ)虛擬化瘸恼。基于SAN的存儲(chǔ)虛擬化在可擴(kuò)展性册养、可靠性和安全方面能夠比基于NAS的存儲(chǔ)虛擬化具有更高的性能东帅。但是SAN需要專用的存儲(chǔ)基礎(chǔ)設(shè)施,從而帶來(lái)較高的成本。

二球拦、數(shù)據(jù)管理框架

數(shù)據(jù)管理框架解決的是如何以適當(dāng)?shù)姆绞浇M織信息以待有效地處理靠闭。在大數(shù)據(jù)出現(xiàn)之前,數(shù)據(jù)管理框架就得到了較為廣泛的研究坎炼。從層次的角度將數(shù)據(jù)管理框架劃分為3層: 文件系統(tǒng)愧膀、數(shù)據(jù)庫(kù)技術(shù)和編程模型, 如圖 8 所示。

(1) 文件系統(tǒng)

文件系統(tǒng)是大數(shù)據(jù)系統(tǒng)的基礎(chǔ),因此得到了產(chǎn)業(yè)界和學(xué)術(shù)界的廣泛關(guān)注谣光。Google為大型分布式數(shù)據(jù)密集型應(yīng)用設(shè)計(jì)和實(shí)現(xiàn)了一個(gè)可擴(kuò)展的分布式文件系統(tǒng)GFS檩淋。GFS運(yùn)行在廉價(jià)的商用服務(wù)器上,為大量用戶提供容錯(cuò)和高性能服務(wù)。GFS適用于大文件存儲(chǔ)和讀操作遠(yuǎn)多于寫操作的應(yīng)用萄金。但是GFS具有單點(diǎn)失效和處理小文件效率低下的缺點(diǎn),Colossus改進(jìn)了GFS并克服了這些缺點(diǎn)蟀悦。此外,其他的企業(yè)和研究者們開發(fā)了各自的文件存儲(chǔ)解決方案以適應(yīng)不同的大數(shù)據(jù)存儲(chǔ)需求。

(2)數(shù)據(jù)庫(kù)技術(shù)

數(shù)據(jù)庫(kù)技術(shù)已經(jīng)經(jīng)歷了30多年的發(fā)展,不同的數(shù)據(jù)庫(kù)系統(tǒng)被設(shè)計(jì)用于不同規(guī)模的數(shù)據(jù)集和應(yīng)用氧敢。傳統(tǒng)的關(guān)系數(shù)據(jù)庫(kù)系統(tǒng)難以解決大數(shù)據(jù)帶來(lái)的多樣性和規(guī)模的需求日戈。由于具有模式自由、易于復(fù)制孙乖、提供簡(jiǎn)單API浙炼、最終一致性和支持海量數(shù)據(jù)的特性,NoSQL數(shù)據(jù)庫(kù)逐漸成為處理大數(shù)據(jù)的標(biāo)準(zhǔn)份氧。隨后將根據(jù)數(shù)據(jù)模型的不同,討論三種主流的NoSQL數(shù)據(jù)庫(kù):鍵值(key-value)存儲(chǔ)數(shù)據(jù)庫(kù)、列式存儲(chǔ)數(shù)據(jù)庫(kù)和文檔存儲(chǔ)數(shù)據(jù)庫(kù)弯屈。

(a)鍵值存儲(chǔ)數(shù)據(jù)庫(kù)

鍵值存儲(chǔ)是一種簡(jiǎn)單的數(shù)據(jù)存儲(chǔ)模型,數(shù)據(jù)以鍵值對(duì)的形式儲(chǔ)存,鍵是唯一的蜗帜。近年出現(xiàn)的鍵值存儲(chǔ)數(shù)據(jù)庫(kù)受到Amazon公司的Dynamo影響特別大。在Dynamo中,數(shù)據(jù)被分割存儲(chǔ)在不同的服務(wù)器集群中,并復(fù)制為多個(gè)副本资厉√保可擴(kuò)展性和持久性依賴于以下兩個(gè)關(guān)鍵機(jī)制。

?分割和復(fù)制:Dynamo的分割機(jī)制基于一致性哈希技術(shù),將負(fù)載分散在存儲(chǔ)主機(jī)上酌住。哈希函數(shù)的輸出范圍被看作是一個(gè)固定的循環(huán)空間或“環(huán)”店归。系統(tǒng)中的每個(gè)節(jié)點(diǎn)將隨機(jī)分配該空間中的一個(gè)值,表示它在環(huán)中的位置阎抒。通過(guò)哈希標(biāo)識(shí)數(shù)據(jù)項(xiàng)的鍵,可以獲得該數(shù)據(jù)項(xiàng)在環(huán)中對(duì)應(yīng)的節(jié)點(diǎn)酪我。Dynamo系統(tǒng)中每條數(shù)據(jù)項(xiàng)存儲(chǔ)在協(xié)調(diào)節(jié)點(diǎn)和N?1個(gè)后繼節(jié)點(diǎn)上,其中N是實(shí)例化的配置參數(shù)。如圖9所示,節(jié)點(diǎn)B是鍵k的協(xié)調(diào)節(jié)點(diǎn),數(shù)據(jù)存儲(chǔ)在節(jié)點(diǎn)B同時(shí)復(fù)制在節(jié)點(diǎn)C和D上且叁。此外,節(jié)點(diǎn)D將存儲(chǔ)在(A,B],(B,C]和(C,D]范圍內(nèi)的鍵都哭。

?對(duì)象版本管理:由于每條唯一的數(shù)據(jù)項(xiàng)存在多個(gè)副本,Dynamo允許以異步的方式更新副本并提供最終一致性。每次更新被認(rèn)為是數(shù)據(jù)的一個(gè)新的不可改變的版本逞带。一個(gè)對(duì)象的多個(gè)版本可以在系統(tǒng)中共存欺矫。

(b)列式存儲(chǔ)數(shù)據(jù)庫(kù)

列式存儲(chǔ)數(shù)據(jù)庫(kù)以列存儲(chǔ)架構(gòu)進(jìn)行存儲(chǔ)和處理數(shù)據(jù),主要適合于批量數(shù)據(jù)處理和實(shí)時(shí)查詢。下面介紹典型的列式存儲(chǔ)系統(tǒng)展氓。

?Bigtable:是Google公司設(shè)計(jì)的一種列式存儲(chǔ)系統(tǒng)穆趴。Bigtable基本的數(shù)據(jù)結(jié)構(gòu)是一個(gè)稀疏的、分布式的遇汞、持久化存儲(chǔ)的多維度排序映射,映射由行鍵未妹、列鍵和時(shí)間戳構(gòu)成。行按字典序排序并且被劃分為片,片是負(fù)載均衡單元空入。列根據(jù)鍵的前綴成組,稱為列族,是訪問(wèn)控制的基本單元络它。時(shí)間戳則是版本區(qū)分的依據(jù)。

?Cassandra:由Facebook開發(fā)并于2008年開源,結(jié)合了Dynamo的分布式系統(tǒng)技術(shù)和Bigtable的數(shù)據(jù)模型歪赢。Cassandra中的表是一個(gè)分布式多維結(jié)構(gòu),包括行化戳、列族、列和超級(jí)列埋凯。此外,Cassandra的分割和復(fù)制機(jī)制也和Dynamo的類似,用于確保最終一致性点楼。

?Bigtable改進(jìn):由于Bigtable不是開源的,因此開源項(xiàng)目HBase和Hypertable進(jìn)行合并,同時(shí)吸收了Bigtable的思想,實(shí)現(xiàn)了類似的系統(tǒng)。

列式存儲(chǔ)數(shù)據(jù)庫(kù)大部分是基于Bigtable的模式,只是在一致性機(jī)制和一些特性上有差異白对。

(c)文檔數(shù)據(jù)庫(kù)

文檔數(shù)據(jù)庫(kù)能夠支持比鍵值存儲(chǔ)復(fù)雜得多的數(shù)據(jù)結(jié)構(gòu)盟步。MongoDB,SimpleDB和CouchDB是主要的文檔數(shù)據(jù)庫(kù),它們的數(shù)據(jù)模型和JSON對(duì)象類似。不同文檔存儲(chǔ)系統(tǒng)的區(qū)別在于數(shù)據(jù)復(fù)制和一致性機(jī)制方面躏结。

(d)其他NoSQL和混合數(shù)據(jù)庫(kù)

除了前面提到的數(shù)據(jù)存儲(chǔ)系統(tǒng),還有許多其他項(xiàng)目支持不同的數(shù)據(jù)存儲(chǔ)系統(tǒng)却盘。

(3)編程模型

盡管NoSQL數(shù)據(jù)庫(kù)具有很多關(guān)系型數(shù)據(jù)庫(kù)不具備的優(yōu)點(diǎn),但是沒(méi)有插入操作的聲明性表述,對(duì)查詢和分析的支持也不夠狰域。編程模型則對(duì)實(shí)現(xiàn)應(yīng)用邏輯和輔助數(shù)據(jù)分析應(yīng)用至關(guān)重要。但是,使用傳統(tǒng)的并行模型如OpenMP和MPI在大數(shù)據(jù)環(huán)境下實(shí)現(xiàn)并行編程非常困難黄橘。

許多并行編程模型已被提出應(yīng)用于領(lǐng)域相關(guān)的應(yīng)用兆览。這些模型有效地提高了NoSQL數(shù)據(jù)庫(kù)的性能,縮小了NoSQL和關(guān)系型數(shù)據(jù)庫(kù)性能的差距,因此NoSQL數(shù)據(jù)庫(kù)逐漸成為海量數(shù)據(jù)處理的核心技術(shù)。目前主要有三種編程模型:通用處理模型塞关、圖處理模型以及流處理模型抬探。

?通用處理模型

這種類型的模型用于解決一般的應(yīng)用問(wèn)題,被用于MapReduce和Dryad中。其中,MapReduce是一個(gè)簡(jiǎn)單但功能強(qiáng)大的編程模型,能將大規(guī)模的計(jì)算任務(wù)分配到大的商用PC集群中并行運(yùn)行帆赢。

?圖處理模型

社交網(wǎng)絡(luò)分析和RDF等能夠表示為實(shí)體間的相互聯(lián)系,因此可以用圖模型來(lái)描述小压。和流類型(?ow-type)的模型相比,圖處理的迭代是固有的,相同的數(shù)據(jù)集將不斷被重訪。

?流處理模型

S4和Storm是兩個(gè)運(yùn)行在JVM上的分布式流處理平臺(tái)椰于。S4實(shí)現(xiàn)了actor編程模型,每個(gè)數(shù)據(jù)流中keyedtupple被看作是一個(gè)事件并被以某種偏好路由到處理部件怠益。PEs形成一個(gè)有向無(wú)環(huán)圖,并且處理事件和發(fā)布結(jié)果。處理節(jié)點(diǎn)是PEs的邏輯主機(jī)并能監(jiān)聽事件,將事件傳遞到處理單元容器PEN中,PEN則以適當(dāng)?shù)捻樞蛘{(diào)用處理部件瘾婿。Storm和S4有著許多相同的特點(diǎn)蜻牢。Storm作業(yè)同樣由有向無(wú)環(huán)圖表示,它和S4的主要區(qū)別在于架構(gòu):S4是分布式對(duì)稱架構(gòu),而Storm是類似于MapReduce的主從架構(gòu)。

上表比較了上述幾種編程模型的特點(diǎn)偏陪。

首先,盡管實(shí)時(shí)處理越來(lái)越重要,批處理仍然是重要的數(shù)據(jù)處理方式抢呆。

其次,大多數(shù)系統(tǒng)采取圖作為編程模型是因?yàn)閳D能夠表示更復(fù)雜的任務(wù)。

再次,所有的系統(tǒng)都支持并發(fā)執(zhí)行以加速處理速度笛谦。

第四,流處理模型使用內(nèi)存作為數(shù)據(jù)存儲(chǔ)媒體以獲得高訪問(wèn)和處理速率,而批處理模型使用文件系統(tǒng)或磁盤存儲(chǔ)海量數(shù)據(jù)以支持多次訪問(wèn)抱虐。

第五,這些系統(tǒng)的架構(gòu)通常是主–從式的,但是S4則是分布式的架構(gòu)。

最后,不同的系統(tǒng)具有不同的容錯(cuò)策略饥脑。對(duì)于Storm和S4,當(dāng)節(jié)點(diǎn)失效時(shí),失效節(jié)點(diǎn)的任務(wù)將轉(zhuǎn)移到備用節(jié)點(diǎn)運(yùn)行;Pregel和GraphLab則是用檢查點(diǎn)用于容錯(cuò);MapReduce和Dryad則僅指出節(jié)點(diǎn)級(jí)別的容錯(cuò)恳邀。

今天介紹了大數(shù)據(jù)價(jià)值鏈的數(shù)據(jù)存儲(chǔ)部分,后面會(huì)繼續(xù)帶你認(rèn)識(shí)不一樣的大數(shù)據(jù)好啰。

如果您想長(zhǎng)期獲取科技信息的解讀轩娶,記得關(guān)注我,我會(huì)每天更新框往,謝謝鳄抒。同時(shí)如果您有什么意見(jiàn)和建議,歡迎評(píng)論椰弊。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末许溅,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子秉版,更是在濱河造成了極大的恐慌贤重,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件清焕,死亡現(xiàn)場(chǎng)離奇詭異并蝗,居然都是意外死亡祭犯,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門滚停,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)沃粗,“玉大人,你說(shuō)我怎么就攤上這事键畴∽钪眩” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵起惕,是天一觀的道長(zhǎng)涡贱。 經(jīng)常有香客問(wèn)我,道長(zhǎng)惹想,這世上最難降的妖魔是什么问词? 我笑而不...
    開封第一講書人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮勺馆,結(jié)果婚禮上戏售,老公的妹妹穿的比我還像新娘侨核。我一直安慰自己草穆,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開白布搓译。 她就那樣靜靜地躺著悲柱,像睡著了一般。 火紅的嫁衣襯著肌膚如雪些己。 梳的紋絲不亂的頭發(fā)上豌鸡,一...
    開封第一講書人閱讀 51,688評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音段标,去河邊找鬼涯冠。 笑死,一個(gè)胖子當(dāng)著我的面吹牛逼庞,可吹牛的內(nèi)容都是我干的蛇更。 我是一名探鬼主播,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼赛糟,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼派任!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起璧南,我...
    開封第一講書人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤掌逛,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后司倚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體豆混,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡篓像,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了皿伺。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片遗淳。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖心傀,靈堂內(nèi)的尸體忽然破棺而出屈暗,到底是詐尸還是另有隱情,我是刑警寧澤脂男,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布养叛,位于F島的核電站,受9級(jí)特大地震影響宰翅,放射性物質(zhì)發(fā)生泄漏弃甥。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一汁讼、第九天 我趴在偏房一處隱蔽的房頂上張望淆攻。 院中可真熱鬧,春花似錦嘿架、人聲如沸瓶珊。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)伞芹。三九已至,卻和暖如春蝉娜,著一層夾襖步出監(jiān)牢的瞬間唱较,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工召川, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留南缓,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓荧呐,卻偏偏與公主長(zhǎng)得像汉形,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子坛增,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容