999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

開源數(shù)據(jù)庫(kù)數(shù)據(jù)存儲(chǔ)的實(shí)現(xiàn)路徑分析

2016-12-21 11:11:51向華偉
電子技術(shù)與軟件工程 2016年20期
關(guān)鍵詞:數(shù)據(jù)存儲(chǔ)

向華偉

摘 要 文章首先對(duì)PostgreSQL開源數(shù)據(jù)庫(kù)的特點(diǎn)進(jìn)行了簡(jiǎn)要分析,在此基礎(chǔ)上對(duì)PostgreSQL開源數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)實(shí)現(xiàn)路徑進(jìn)行論述。期望通過(guò)本文的研究能夠?qū)Υ龠M(jìn)開源數(shù)據(jù)庫(kù)的推廣應(yīng)用有所幫助。

【關(guān)鍵詞】開源數(shù)據(jù)庫(kù) PostgreSQL 數(shù)據(jù)存儲(chǔ)

數(shù)據(jù)庫(kù)是一種能夠?qū)?shù)據(jù)進(jìn)行存儲(chǔ)和管理的“倉(cāng)庫(kù)”,它是一個(gè)應(yīng)用領(lǐng)域中通用的數(shù)據(jù)處理系統(tǒng),是長(zhǎng)期存儲(chǔ)在計(jì)算機(jī)內(nèi)可進(jìn)行共享的數(shù)據(jù)集合。開源數(shù)據(jù)庫(kù)是未進(jìn)行加密,源代碼為開放性的數(shù)據(jù)庫(kù),目前主流的開源數(shù)據(jù)庫(kù)有MySQL數(shù)據(jù)庫(kù)、PostgreSQL數(shù)據(jù)庫(kù)、Ingres r3 數(shù)據(jù)庫(kù)、MaxDB數(shù)據(jù)庫(kù)、InterBase數(shù)據(jù)庫(kù),每個(gè)數(shù)據(jù)庫(kù)均有其特性。本文以PostgreSQL數(shù)據(jù)庫(kù)為對(duì)象,重點(diǎn)對(duì)其數(shù)據(jù)存儲(chǔ)的實(shí)現(xiàn)路徑進(jìn)行研究。

1 PostgreSQL開源數(shù)據(jù)庫(kù)的特點(diǎn)分析

PostgreSQL是一款具有豐富特色的開源數(shù)據(jù)庫(kù)管理系統(tǒng),其不但功能齊全,而且還具有商業(yè)級(jí)數(shù)據(jù)庫(kù)管理系統(tǒng)的特性,在某些方面甚至超越了商業(yè)數(shù)據(jù)庫(kù)。PostgreSQL可在各種平臺(tái)上應(yīng)用,支持異步Copy、預(yù)寫日志容錯(cuò)、表空間機(jī)制,同時(shí)還支持多種字符編碼,易于擴(kuò)展,在多用戶并發(fā)方面有著極其優(yōu)異的表現(xiàn)。大體上可將PostgreSQL的特性歸納為以下幾個(gè)方面:

1.1 開放性

PostgreSQL支持的數(shù)據(jù)類型較多,如IP地址、數(shù)組、幾何圖元、文本、數(shù)值等,同時(shí)該數(shù)據(jù)庫(kù)還允許用戶自定義正規(guī)的SQL類型。

1.2 可編程性

該數(shù)據(jù)庫(kù)能夠?yàn)橛脩籼峁┐罅康腁PI,如OBDC、Libpq等,給用戶的開發(fā)使用提供了條件。

1.3 可定制性

該數(shù)據(jù)庫(kù)可以通過(guò)多種編程語(yǔ)言來(lái)實(shí)現(xiàn)函數(shù)功能,如PHP、Ruby、Java、C++等等。對(duì)于數(shù)據(jù)庫(kù)而言,函數(shù)又被稱之為存儲(chǔ)過(guò)程,它的輸出結(jié)果可以在查詢中當(dāng)做表來(lái)使用,這一特點(diǎn)使PostgreSQL具備了可定制的特性。

1.4 索引

在PostgreSQL數(shù)據(jù)庫(kù)中,用戶既可以使用數(shù)據(jù)庫(kù)內(nèi)置的GIN、Hash表、GiST進(jìn)行索引,也可以自定義索引,GiST作為通用索引的基礎(chǔ)結(jié)構(gòu),其為多種索引策略的實(shí)現(xiàn)提供了支撐。

2 PostgreSQL開源數(shù)據(jù)庫(kù)的數(shù)據(jù)存儲(chǔ)實(shí)現(xiàn)路徑

對(duì)于PostgreSQL數(shù)據(jù)庫(kù)而言,在存儲(chǔ)層的設(shè)計(jì)中,需要重點(diǎn)考慮的問(wèn)題是應(yīng)通過(guò)何種方式存儲(chǔ)對(duì)象規(guī)模,尤其是一些大數(shù)據(jù)的存儲(chǔ)。

2.1 數(shù)據(jù)外存的實(shí)現(xiàn)

2.1.1 relation與外部文件的對(duì)應(yīng)

用戶是PostgreSQL數(shù)據(jù)庫(kù)的使用者,對(duì)于這些使用者而言,每一個(gè)二維表都是一個(gè)邏輯概念,在邏輯當(dāng)中包含了兩部分內(nèi)容,一部分是表定義,另一部分是表數(shù)據(jù)。前者的主要作用是對(duì)用戶的邏輯進(jìn)行展示,它需要被數(shù)據(jù)庫(kù)系統(tǒng)保存,存放表定義的地方即表空間;后者從物理的角度上講,是以文件的形式存儲(chǔ)在操作系統(tǒng)當(dāng)中,即可存放在系統(tǒng)的表空間當(dāng)中,也可存放在用戶自定義的表空間當(dāng)中。數(shù)據(jù)一般都是以文件的形式被存儲(chǔ)在表空間當(dāng)中的,換言之?dāng)?shù)據(jù)是表空間的物理外在形式。從代碼的角度進(jìn)行分析,可通過(guò)relpathbackend函數(shù)對(duì)邏輯概念與物理存儲(chǔ)之間的關(guān)系進(jìn)行查看,具體步驟如下:先按照RelFileNode指定的關(guān)系,找出與外存相對(duì)應(yīng)的文件或是文件位置,然后根據(jù)入口的第一個(gè)參數(shù)mode,拼接出外存文件的路徑,再利用mode中的spcNode的值,判斷應(yīng)當(dāng)在哪個(gè)表空間上進(jìn)行物理存儲(chǔ)操作,最后便可得出數(shù)據(jù)的具體存儲(chǔ)位置。

2.1.2 系統(tǒng)relation的存儲(chǔ)

對(duì)于PostgreSQL數(shù)據(jù)庫(kù)系統(tǒng)而言,它的relation存儲(chǔ)是將數(shù)據(jù)存放在預(yù)先創(chuàng)建的表空間當(dāng)中,這里需要?jiǎng)?chuàng)建兩個(gè)表空間,一個(gè)是base,另一個(gè)是global。

2.2 數(shù)據(jù)內(nèi)存的實(shí)現(xiàn)

從操作系統(tǒng)的角度上講,在PostgreSQL數(shù)據(jù)庫(kù)當(dāng)中,數(shù)據(jù)的存儲(chǔ)就是對(duì)一些二進(jìn)制的信息進(jìn)行存儲(chǔ),整個(gè)存儲(chǔ)過(guò)程無(wú)法獲悉文件的內(nèi)容,文件本身的邏輯含義主要取決于應(yīng)用層面,讀入的數(shù)據(jù)會(huì)存放于數(shù)據(jù)緩沖區(qū)當(dāng)中,換言之,數(shù)據(jù)的邏輯含義始于緩沖區(qū)。

2.2.1 表數(shù)據(jù)頁(yè)存儲(chǔ)

在PostgreSQL開源數(shù)據(jù)庫(kù)管理系統(tǒng)當(dāng)中,數(shù)據(jù)的存儲(chǔ)格式主要有以下幾種類型:系統(tǒng)表數(shù)據(jù)、日志文件、用戶表數(shù)據(jù)以及用戶自行創(chuàng)建的數(shù)據(jù)等。由于數(shù)據(jù)對(duì)象的創(chuàng)建方式存在一定的差別,以序列和視圖為例,它們的創(chuàng)建并不涉及任何數(shù)據(jù),僅僅是一個(gè)單純的定義,而用戶自定義的表則是由定義和數(shù)據(jù)兩部分組成,這些信息在實(shí)際存儲(chǔ)中,會(huì)以tuple的形式存儲(chǔ)于數(shù)據(jù)庫(kù)系統(tǒng)當(dāng)中,因此,在數(shù)據(jù)庫(kù)的存儲(chǔ)格式中,數(shù)據(jù)分為兩個(gè)部分,一部分為頁(yè)頭,另一部分為tuple數(shù)據(jù)組。根據(jù)這一前提條件,通過(guò)對(duì)PagaAddltem函數(shù)中l(wèi)ower和upper變量賦值方式的分析,便可獲得tuple的存儲(chǔ)方式。

2.2.2 大數(shù)據(jù)的處理

系統(tǒng)表可用于視圖、序列等定義信息的存儲(chǔ),每個(gè)表都是以元祖的形式存儲(chǔ)在pg_class當(dāng)中。由于每個(gè)表均與一個(gè)外存文件相對(duì)應(yīng),其文件名稱則是以該對(duì)象的filenode號(hào)命名。Relfilenode的結(jié)構(gòu)如下:

typedef struct RelFileNode

{

Oid spcNode; /*tablepace*/

Oid dbNode; /*database*/

Oid relNode; /*relation*/

}Relfilenode;

從上面這個(gè)結(jié)構(gòu)當(dāng)中可以看出,在PostgreSQL數(shù)據(jù)庫(kù)系統(tǒng)當(dāng)中,表空間、數(shù)據(jù)庫(kù)、關(guān)系標(biāo)識(shí)、物理存儲(chǔ)是與該結(jié)構(gòu)唯一對(duì)應(yīng)的。如果一個(gè)文件當(dāng)中存儲(chǔ)的內(nèi)容過(guò)多,在表超過(guò)1GB后,這些文件便會(huì)被分裂為大小在1GB左右的段,首段的文件名與filenode相同,其余各段則可用filenode1、filenode2、filenode3來(lái)表述,由此能夠防止不同操作系統(tǒng)對(duì)文件大小的限制。

3 結(jié)論

綜上所述,在大數(shù)據(jù)時(shí)代的背景下,開源數(shù)據(jù)庫(kù)已經(jīng)逐步成為業(yè)內(nèi)研究的重點(diǎn),尤其是與數(shù)據(jù)庫(kù)關(guān)聯(lián)最為密切的數(shù)據(jù)存儲(chǔ)問(wèn)題,更成為重中之重。本文主要針對(duì)主流開源數(shù)據(jù)庫(kù)中的PostgreSQL進(jìn)行了分析,并對(duì)其數(shù)據(jù)存儲(chǔ)的實(shí)現(xiàn)路徑進(jìn)行了論述,以期能為開源數(shù)據(jù)庫(kù)的推廣使用提供幫助。

參考文獻(xiàn)

[1]蔡佳作,歐爾格力.基于PostgreSQL的地理空間數(shù)據(jù)存儲(chǔ)管理方法研究[J].青海師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2016(06):67-68.

[2]陳愷萌,盧科,岳麗華.PostgreSQL閃存緩沖區(qū)置換算法擴(kuò)展與性能驗(yàn)證[J].計(jì)算機(jī)科學(xué)與探索,2012(08):54-56.

[3]許彥.基于PostgreSQL存儲(chǔ)引擎的多線程化方法研究與實(shí)現(xiàn)[D].武漢:華中科技大學(xué),2012.

[4]董紀(jì)英,燕志偉,梁正玉.SQLite、MySQL、PostgreSQL關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)比較[J].電腦編程技巧與維護(hù),2014(07):98-99.

作者單位

云南電網(wǎng)有限責(zé)任公司信息中心 云南省昆明市 650200

猜你喜歡
數(shù)據(jù)存儲(chǔ)
簡(jiǎn)單的數(shù)據(jù)修復(fù)
大數(shù)據(jù)時(shí)代檔案信息建設(shè)的認(rèn)識(shí)和實(shí)踐
淺談電力大數(shù)據(jù)平臺(tái)關(guān)鍵技術(shù)研究與應(yīng)用
基于Android開發(fā)的APP數(shù)據(jù)存儲(chǔ)研究
哈希算法在物聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)中的應(yīng)用
空難事故跨媒體信息采集與檢索方法的研究
基于STM32的AD采集與SD卡數(shù)據(jù)存儲(chǔ)
淺談信息系統(tǒng)工程和POJO模型組件開發(fā)
基于MongoDB的調(diào)查決策系統(tǒng)數(shù)據(jù)存儲(chǔ)方案設(shè)計(jì)
大型在線式UPS及監(jiān)控系統(tǒng)在中控機(jī)房的應(yīng)用
科技視界(2016年4期)2016-02-22 13:10:37
主站蜘蛛池模板: 婷婷色丁香综合激情| 91在线中文| 亚洲成人福利网站| 男女男免费视频网站国产| 国产成人综合久久精品下载| 亚洲日产2021三区在线| 国产美女精品在线| 91无码人妻精品一区二区蜜桃| 99ri精品视频在线观看播放| 大学生久久香蕉国产线观看| 91精品国产91久久久久久三级| 幺女国产一级毛片| 99久久精品免费看国产电影| 久久久久国色AV免费观看性色| 欧美成一级| 日韩第九页| 在线中文字幕网| 久久这里只有精品国产99| 三上悠亚一区二区| 亚洲三级影院| 免费女人18毛片a级毛片视频| 亚洲欧美在线精品一区二区| 国产国产人在线成免费视频狼人色| 欧美高清三区| 亚洲一本大道在线| 毛片a级毛片免费观看免下载| 人人澡人人爽欧美一区| 中文字幕天无码久久精品视频免费 | 国产拍在线| 男女男精品视频| 丁香婷婷久久| 人人妻人人澡人人爽欧美一区| 日韩午夜片| 国产成人精品一区二区三区| 日本www在线视频| 91精品人妻一区二区| 就去色综合| 国产精品久久久久鬼色| 日韩在线第三页| 狠狠色成人综合首页| 亚洲第一成年网| 亚洲第一区在线| 日韩中文无码av超清| 最新日本中文字幕| 久久婷婷国产综合尤物精品| 欧美天天干| 欧美在线视频不卡第一页| 青青草久久伊人| 日韩精品无码不卡无码| 91免费国产高清观看| 国产午夜精品鲁丝片| 2024av在线无码中文最新| 免费va国产在线观看| 熟女日韩精品2区| yjizz国产在线视频网| 免费国产福利| 亚洲有无码中文网| 国产自在线播放| 精品日韩亚洲欧美高清a | 国产精品亚洲一区二区三区z| 日本91在线| 亚洲综合色区在线播放2019| 九九久久99精品| 国产人在线成免费视频| av在线无码浏览| 欧美成人精品在线| 国产本道久久一区二区三区| www.youjizz.com久久| 亚洲欧美日韩精品专区| 色婷婷视频在线| 亚洲另类国产欧美一区二区| 国产精品成人观看视频国产| 一区二区三区四区在线| 老司机aⅴ在线精品导航| 美女免费黄网站| 久久性妇女精品免费| 精品無碼一區在線觀看 | 色妞永久免费视频| 精品1区2区3区| 免费观看国产小粉嫩喷水| 国产精品极品美女自在线网站| 国产地址二永久伊甸园|