freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

數(shù)據(jù)中心產(chǎn)品開發(fā)規(guī)范-閱讀頁

2025-04-22 23:10本頁面
  

【正文】 使用駝峰命名法。多個(gè)單詞可使用下劃線或使用駝峰命名法。statement主要配置復(fù)合查詢。q 平臺(tái)數(shù)據(jù)連接,基本參數(shù)配置等。q 平臺(tái)調(diào)度組件相關(guān)設(shè)置的配置文件。國(guó)際化資源文件使用標(biāo)準(zhǔn)JSTL標(biāo)簽綁定。國(guó)際化資源配置文件進(jìn)行分割處理,屬于本功能模塊的國(guó)際化資源文件放到本模塊的根包下,在JSP中使用JSTL標(biāo)簽的fmt:message bundle=”” /調(diào)用,在文件開頭處加上 fmt:setBundle basename=”” /設(shè)置。q exceptionMessages開頭的資源文件包含異常處理描述的國(guó)際化資源內(nèi)容。q 在JSP文件最開頭處使用標(biāo)簽fmt:setBundle basename=”” /設(shè)置全局bundle,其中basename屬性名為模塊資源文件所在的包全路徑,scope為使用范圍。 JSP文件q JSP文件統(tǒng)一存放在應(yīng)用的Web根目錄下,即與WEBINF文件夾同級(jí)。q JSP文件名以“自定英文名(首字母小寫)+“_”+功能名”命名,多單詞英文可使用駝峰命名法。q 修改:以u(píng)pdate開頭。q 獲?。阂詆et開頭。 JS命名約束與Java命名一致,但JS文件名可小寫,甚至可以加下劃線等特殊符號(hào)。 命名基本規(guī)則針對(duì)不同工程模塊采用不同的數(shù)據(jù)命名。如:devpute。如:testpute。如:pute。如:tbs_pute。如:tbs_putetempspace。關(guān)系定義類表以P_開頭,當(dāng)前表示關(guān)系類名稱中間以“_”分割,表示兩者關(guān)系;如:P_ITEM_IDT。 字段命名規(guī)則、約定命名基本規(guī)則英文單詞_英文單詞_英文單詞_...例如:message_id、message_name。 觸發(fā)器命名規(guī)則、約定命名基本規(guī)則trigger_英文單詞_英文單詞_如:trigger_message。關(guān)系定義類表以P_開頭,當(dāng)前表示關(guān)系類名稱中間以“_”分割,表示兩者關(guān)系;如:P_ITEM_IDT。5 HBase設(shè)計(jì)規(guī)范介紹了HBase應(yīng)用開發(fā)時(shí)建議遵循的設(shè)計(jì)規(guī)范,主要是針對(duì)開發(fā)層面的。下文就依據(jù)這幾個(gè)關(guān)鍵詞匯,陳述下相關(guān)的規(guī)范。譬如,針對(duì)電力氣象方面的數(shù)據(jù)表,可以創(chuàng)建一個(gè)電力氣象的命名空間,取名為DLQX,將電力氣象相關(guān)的表都組織在此命名空間下面。HBase默認(rèn)的命名空間是default,默認(rèn)情況下,如果在創(chuàng)建表時(shí)沒有顯式地指定命名空間,那么表將創(chuàng)建在default命名空間下。命名空間與表的關(guān)系,可以用下圖表示:命名空間與表之間是一對(duì)多的關(guān)系,即一個(gè)命名空間下面可以包含多個(gè)hbase表,但一個(gè)hbase表只能屬于一個(gè)命名空間。另外,刪除命名空間之前,必須先刪除掉此命名空間下的所有hbase表,否則將無法刪除此命名空間。這些特性不一定聯(lián)系到模式或行鍵設(shè)計(jì),但是它們定義了某些方面的表行為。所謂“高而瘦”,是指表的列的數(shù)量較少,但是行的數(shù)量極大,從而使表展現(xiàn)出一種又高又瘦的形象。 預(yù)創(chuàng)建分區(qū)默認(rèn)情況下,在創(chuàng)建HBase表的時(shí)候會(huì)自動(dòng)創(chuàng)建一個(gè)region分區(qū),當(dāng)導(dǎo)入數(shù)據(jù)的時(shí)候,所有的HBase客戶端都向這一個(gè)region寫數(shù)據(jù),直到這個(gè)region足夠大了才進(jìn)行切分。 列族數(shù)量不要在一張表里定義太多的column family。因?yàn)槟硞€(gè)column family在flush的時(shí)候,它鄰近的column family也會(huì)因關(guān)聯(lián)效應(yīng)被觸發(fā)flush,最終導(dǎo)致系統(tǒng)產(chǎn)生更多的I/O。 可配置的數(shù)據(jù)塊大小HFile數(shù)據(jù)塊大小可以在列族層次設(shè)置。其默認(rèn)值是65,536字節(jié),或64KB。數(shù)據(jù)塊大小設(shè)置影響到數(shù)據(jù)塊索引的大小。同時(shí)因?yàn)榧虞d進(jìn)內(nèi)存的數(shù)據(jù)塊更小,隨機(jī)查找性能更好。相應(yīng)地索引變小,你將在隨機(jī)讀性能上付出代價(jià)。例如,如果一張表或表里的列族只被順序化掃描訪問或者很少被訪問,你不會(huì)介意Get或Scan花費(fèi)時(shí)間是否有點(diǎn)兒長(zhǎng)。如果你只是執(zhí)行很多順序化掃描,你會(huì)多次倒騰緩存,并且可能會(huì)濫用緩存把應(yīng)該放進(jìn)緩存獲得性能提升的數(shù)據(jù)給排擠出去。 激進(jìn)緩存你可以選擇一些列族,賦予它們?cè)跀?shù)據(jù)塊緩存里有更高的優(yōu)先級(jí)(LRU緩存)。IN_MEMORY參數(shù)的默認(rèn)值是false。創(chuàng)建表的時(shí)候,(true)將表放到RegionServer的緩存中,保證在讀取的時(shí)候被cache命中。但是它的效用是有限的。如果你要查找一個(gè)短行,只在整個(gè)數(shù)據(jù)塊的起始行鍵上建立索引無法給你細(xì)粒度的索引信息。你要查找的行可能落在特定數(shù)據(jù)塊上的行區(qū)間里,但也不是肯定存放在那個(gè)數(shù)據(jù)塊上。這些情況下,從硬盤讀取數(shù)據(jù)塊會(huì)帶來IO開銷,也會(huì)濫用數(shù)據(jù)塊緩存。布隆過濾器允許你對(duì)存儲(chǔ)在每個(gè)數(shù)據(jù)塊的數(shù)據(jù)做一個(gè)反向測(cè)試。布隆過濾器要么確定回答該行不在,要么回答它不知道。布隆過濾器也可以應(yīng)用到行里的單元上。布隆過濾器也不是沒有代價(jià)。布隆過濾器隨著它們的索引對(duì)象數(shù)據(jù)增長(zhǎng)而增長(zhǎng),所以行級(jí)布隆過濾器比列標(biāo)識(shí)符級(jí)布隆過濾器占用空間要少。你可以在列族上打開布隆過濾器,如下所示:hbase(main) create 39。,{NAME=39。,BLOOMFILTER=39。}BLOOMFILTER參數(shù)的默認(rèn)值是NONE。行級(jí)布隆過濾器在數(shù)據(jù)塊里檢查特定行鍵是否不存在,列標(biāo)識(shí)符級(jí)布隆過濾器檢查行和列標(biāo)識(shí)符聯(lián)合體是否不存在。 生存時(shí)間(TTL)應(yīng)用系統(tǒng)經(jīng)常需要從數(shù)據(jù)庫(kù)里刪除老數(shù)據(jù)。例如,在TwitBase里你不愿意刪除用戶在使用應(yīng)用系統(tǒng)期間生成的任何推帖。但是并不需要保存所有推帖用于實(shí)時(shí)訪問。HBase可以讓你在數(shù)秒內(nèi)在列族級(jí)別設(shè)置一個(gè)TTL。如果你在同一單元上有多個(gè)時(shí)間版本,早于設(shè)定TTL的版本會(huì)被刪除。你可以在建表時(shí)設(shè)置TTL,如下所示:hbase(main) create 39。,{NAME=39。,TTL=39。}該命令在colfam1列族上設(shè)置TTL為18,000秒=5小時(shí)。 數(shù)據(jù)壓縮HFile可以被壓縮并存放在HDFS上。壓縮是表定義的一部分,可以在建表或模式改變時(shí)設(shè)定。只有在數(shù)據(jù)不能被壓縮或者因?yàn)槟撤N原因服務(wù)器的CPU利用率有限制要求的情況下,有可能會(huì)關(guān)閉壓縮特性。LZO[1]和Snappy[2]是其中最流行的兩種。在此之前,選擇的是LZO編碼。另一方面,Snappy擁有BSD許可(BSDlicensed),所以它更容易和Hadoop和HBase發(fā)行版捆綁在一起。當(dāng)建表時(shí)你可以在列族上打開壓縮,如下所示:hbase(main) create 39。,{NAME=39。,COMPRESSION=39。}注意數(shù)據(jù)只在硬盤上是壓縮的。改變壓縮編碼的做法不應(yīng)該經(jīng)常發(fā)生,但是如果你的確需要改變某個(gè)列族的壓縮編碼,直接做就可以。此后合并時(shí),生成的HFile全部會(huì)采用新編碼壓縮。但你要確保直到改變編碼后所有老HFile被合并后才能從集群中刪除老編碼函數(shù)庫(kù)。于此同時(shí), 系統(tǒng)會(huì)在zookeeper中記錄一個(gè)redo point,表示這個(gè)時(shí)刻之前的變更已經(jīng)持久化了(minor pact)。因此Hbase的更新其實(shí)是不斷追加的操作。由于對(duì)表的更新是不斷追加的,處理讀請(qǐng)求時(shí),需要訪問Store中全部的StoreFile和MemStore,將它們按照row key進(jìn)行合并,由于StoreFile和MemStore都是經(jīng)過排序的,并且StoreFile帶有內(nèi)存中索引,通常合并過程還是比較快的。同時(shí),可以將StoreFile設(shè)置大些,減少split的發(fā)生。這個(gè)屬性是可以設(shè)置的。這樣系統(tǒng)就不會(huì)保留更新單元的多個(gè)時(shí)間版本。mytable39。colfam139。mytable39。colfam139。1800039。mytable39。colfam139。139。如果當(dāng)前存儲(chǔ)的所有時(shí)間版本都早于TTL,至少M(fèi)IN_VERSION個(gè)最新版本會(huì)保留下來。 ColumnFamily列族設(shè)計(jì)列族是針對(duì)多個(gè)列的分組,分組的依據(jù)是不固定的。經(jīng)過測(cè)試,單個(gè)列族的寫入和讀取效率要遠(yuǎn)遠(yuǎn)超過多個(gè)列族時(shí)的情況。所以建議,一個(gè)表創(chuàng)建一個(gè)列族。刪除列族時(shí),將同時(shí)刪除列族下的列及列值數(shù)據(jù)。創(chuàng)建表后,可以添加多個(gè)列族。譬如,允許列族A最多有5個(gè)版本,列族B最多有3個(gè)版本。而且其中的空列并不真正占用存儲(chǔ)空間。//列族String family = (())。//列值String value = (())。 版本設(shè)計(jì)如果表的某個(gè)列族涉及到多版本的問題,則必須在創(chuàng)建列族時(shí)指定MaxVersions。可以在寫入數(shù)據(jù)時(shí)指定版本號(hào),如果不指定版本號(hào),則將采用默認(rèn)的版本號(hào),即時(shí)間戳。 HBase命名規(guī)范項(xiàng)目說明示例命名空間表名稱列族名稱列名稱
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1