資料庫可以存放很多用戶行為記錄,比如用戶注冊信息,登陸時間,在網站操作過什麼,都可以在記錄在資料庫欄位,同時也會記錄網站看得的數據,比如 文字,圖片連接 ,時間,頁面地址,等等。反正可以用欄位記錄的數據 都可以存到資料庫的欄位當中,實體的就不了,比如圖片,文件壓縮這些就的存放到伺服器硬碟中,提供給資料庫調用。
Ⅱ 網路數據是直接到內存,然後再去硬碟嗎
網路數據是直接到內存,然後再去硬碟的。
1.
所有的網路的數據,都是要寫入硬碟的。
2.
但所有的硬碟數據,一定是要經過內存的。
3.
內存是一台電腦最基本的存儲器之一,它和硬碟的分工是內存是輔助CPU工作的,硬碟是存儲數據的。
4.
內存不是存儲數據用的,數據從網上下載,先讀入內存,很快就寫入硬碟,然後內存就釋放空間,去做其它的事情。
5.
上網所看到的所有東西,基本都是要寫入硬碟的。
網路數據是現實世界中最常用的數據類型之一。人與人之間的關系,城市之間的道路連接,科研論文之間的引用都組成了網路。樹形結構表達了層次結構關系,而不具備層次結構的關系數據,可統稱為網路數據。
Ⅲ 什麼是數據倉庫,數據倉庫在哪裡保存數據。BI項目需要用到哪些技術
一直想整理一下這塊內容,既然是漫談,就想起什麼說什麼吧。我一直是在互聯網行業,就以互聯網行業來說。先大概列一下互聯網行業數據倉庫、數據平台的用途:
整合公司所有業務數據,建立統一的數據中心;
提供各種報表,有給高層的,有給各個業務的;
為網站運營提供運營上的數據支持,就是通過數據,讓運營及時了解網站和產品的運營效果;
為各個業務提供線上或線下的數據支持,成為公司統一的數據交換與提供平台;
分析用戶行為數據,通過數據挖掘來降低投入成本,提高投入效果;比如廣告定向精準投放、用戶個性化推薦等;
開發數據產品,直接或間接為公司盈利;
建設開放數據平台,開放公司數據;
。。。。。。
上面列出的內容看上去和傳統行業數據倉庫用途差不多,並且都要求數據倉庫/數據平台有很好的穩定性、可靠性;但在互聯網行業,除了數據量大之外,越來越多的業務要求時效性,甚至很多是要求實時的 ,另外,互聯網行業的業務變化非常快,不可能像傳統行業一樣,可以使用自頂向下的方法建立數據倉庫,一勞永逸,它要求新的業務很快能融入數據倉庫中來,老的下線的業務,能很方便的從現有的數據倉庫中下線;
其實,互聯網行業的數據倉庫就是所謂的敏捷數據倉庫,不但要求能快速的響應數據,也要求能快速的響應業務;
建設敏捷數據倉庫,除了對架構技術上的要求之外,還有一個很重要的方面,就是數據建模,如果一上來就想著建立一套能兼容所有數據和業務的數據模型,那就又回到傳統數據倉庫的建設上了,很難滿足對業務變化的快速響應。應對這種情況,一般是先將核心的持久化的業務進行深度建模(比如:基於網站日誌建立的網站統計分析模型和用戶瀏覽軌跡模型;基於公司核心用戶數據建立的用戶模型),其它的業務一般都採用維度+寬表的方式來建立數據模型。這塊是後話。
整體架構下面的圖是我們目前使用的數據平台架構圖,其實大多公司應該都差不多:
邏輯上,一般都有數據採集層、數據存儲與分析層、數據共享層、數據應用層。可能叫法有所不同,本質上的角色都大同小異。
我們從下往上看:
數據採集數據採集層的任務就是把數據從各種數據源中採集和存儲到數據存儲上,期間有可能會做一些簡單的清洗。
數據源的種類比較多:
網站日誌:
作為互聯網行業,網站日誌占的份額最大,網站日誌存儲在多台網站日誌伺服器上,
一般是在每台網站日誌伺服器上部署flume agent,實時的收集網站日誌並存儲到HDFS上;
業務資料庫:
業務資料庫的種類也是多種多樣,有Mysql、Oracle、SqlServer等,這時候,我們迫切的需要一種能從各種資料庫中將數據同步到HDFS上的工具,Sqoop是一種,但是Sqoop太過繁重,而且不管數據量大小,都需要啟動MapRece來執行,而且需要Hadoop集群的每台機器都能訪問業務資料庫;應對此場景,淘寶開源的DataX,是一個很好的解決方案(可參考文章 《異構數據源海量數據交換工具-Taobao DataX 下載和使用》),有資源的話,可以基於DataX之上做二次開發,就能非常好的解決,我們目前使用的DataHub也是。
當然,Flume通過配置與開發,也可以實時的從資料庫中同步數據到HDFS。
來自於Ftp/Http的數據源:
有可能一些合作夥伴提供的數據,需要通過Ftp/Http等定時獲取,DataX也可以滿足該需求;
其他數據源:
比如一些手工錄入的數據,只需要提供一個介面或小程序,即可完成;
數據存儲與分析毋庸置疑,HDFS是大數據環境下數據倉庫/數據平台最完美的數據存儲解決方案。
離線數據分析與計算,也就是對實時性要求不高的部分,在我看來,Hive還是首當其沖的選擇,豐富的數據類型、內置函數;壓縮比非常高的ORC文件存儲格式;非常方便的SQL支持,使得Hive在基於結構化數據上的統計分析遠遠比MapRece要高效的多,一句SQL可以完成的需求,開發MR可能需要上百行代碼;
當然,使用Hadoop框架自然而然也提供了MapRece介面,如果真的很樂意開發Java,或者對SQL不熟,那麼也可以使用MapRece來做分析與計算;Spark是這兩年非常火的,經過實踐,它的性能的確比MapRece要好很多,而且和Hive、Yarn結合的越來越好,因此,必須支持使用Spark和SparkSQL來做分析和計算。因為已經有Hadoop Yarn,使用Spark其實是非常容易的,不用單獨部署Spark集群,關於Spark On Yarn的相關文章,可參考:《Spark On Yarn系列文章》
實時計算部分,後面單獨說。
數據共享這里的數據共享,其實指的是前面數據分析與計算後的結果存放的地方,其實就是關系型資料庫和NOSQL資料庫;
前面使用Hive、MR、Spark、SparkSQL分析和計算的結果,還是在HDFS上,但大多業務和應用不可能直接從HDFS上獲取數據,那麼就需要一個數據共享的地方,使得各業務和產品能方便的獲取數據;和數據採集層到HDFS剛好相反,這里需要一個從HDFS將數據同步至其他目標數據源的工具,同樣,DataX也可以滿足。
另外,一些實時計算的結果數據可能由實時計算模塊直接寫入數據共享。
數據應用
業務產品
業務產品所使用的數據,已經存在於數據共享層,他們直接從數據共享層訪問即可;
報表
同業務產品,報表所使用的數據,一般也是已經統計匯總好的,存放於數據共享層;
即席查詢
即席查詢的用戶有很多,有可能是數據開發人員、網站和產品運營人員、數據分析人員、甚至是部門老大,他們都有即席查詢數據的需求;
這種即席查詢通常是現有的報表和數據共享層的數據並不能滿足他們的需求,需要從數據存儲層直接查詢。
即席查詢一般是通過SQL完成,最大的難度在於響應速度上,使用Hive有點慢,目前我的解決方案是SparkSQL,它的響應速度較Hive快很多,而且能很好的與Hive兼容。
當然,你也可以使用Impala,如果不在乎平台中再多一個框架的話。
OLAP
目前,很多的OLAP工具不能很好的支持從HDFS上直接獲取數據,都是通過將需要的數據同步到關系型資料庫中做OLAP,但如果數據量巨大的話,關系型資料庫顯然不行;
這時候,需要做相應的開發,從HDFS或者HBase中獲取數據,完成OLAP的功能;
比如:根據用戶在界面上選擇的不定的維度和指標,通過開發介面,從HBase中獲取數據來展示。
其它數據介面
這種介面有通用的,有定製的。比如:一個從Redis中獲取用戶屬性的介面是通用的,所有的業務都可以調用這個介面來獲取用戶屬性。
實時計算現在業務對數據倉庫實時性的需求越來越多,比如:實時的了解網站的整體流量;實時的獲取一個廣告的曝光和點擊;在海量數據下,依靠傳統資料庫和傳統實現方法基本完成不了,需要的是一種分布式的、高吞吐量的、延時低的、高可靠的實時計算框架;Storm在這塊是比較成熟了,但我選擇Spark Streaming,原因很簡單,不想多引入一個框架到平台中,另外,Spark Streaming比Storm延時性高那麼一點點,那對於我們的需要可以忽略。
我們目前使用Spark Streaming實現了實時的網站流量統計、實時的廣告效果統計兩塊功能。
做法也很簡單,由Flume在前端日誌伺服器上收集網站日誌和廣告日誌,實時的發送給Spark Streaming,由Spark Streaming完成統計,將數據存儲至Redis,業務通過訪問Redis實時獲取。
任務調度與監控在數據倉庫/數據平台中,有各種各樣非常多的程序和任務,比如:數據採集任務、數據同步任務、數據分析任務等;
這些任務除了定時調度,還存在非常復雜的任務依賴關系,比如:數據分析任務必須等相應的數據採集任務完成後才能開始;數據同步任務需要等數據分析任務完成後才能開始;這就需要一個非常完善的任務調度與監控系統,它作為數據倉庫/數據平台的中樞,負責調度和監控所有任務的分配與運行。
前面有寫過文章,《大數據平台中的任務調度與監控》,這里不再累贅。
總結在我看來架構並不是技術越多越新越好,而是在可以滿足需求的情況下,越簡單越穩定越好。目前在我們的數據平台中,開發更多的是關注業務,而不是技術,他們把業務和需求搞清楚了,基本上只需要做簡單的SQL開發,然後配置到調度系統就可以了,如果任務異常,會收到告警。這樣,可以使更多的資源專注於業務之上。
Ⅳ 網路上那麼多的信息,都儲存在哪裡會輕易被別人查到嗎
這是一個大家都普遍非常關心的問題,因為我們每個人都有著很多數據與資料,而這些數據與資料有很多是非常私密的,是不希望別人能夠看到的,如果是在過去其實我們根本就沒有必要擔心,因為我們的所有資料都存在自己的電腦,本地的磁碟當中也就不會有泄密的風險。
很多人都會擔心我們的數據會不會被別人輕易的拿到,其實這種擔心也是很有必要的,因為畢竟網路安全現在關乎著我們每一個人的利益,其實大體上分析一下,我認為這些數據還是應該比較安全的,因為每一家的平台網路公司,都會有自己的防火牆和一些專業人士來對這些資料進行加密,如果不是黑客故意去攻擊或者有著超高科技的手段,我們的資料是絕對安全的。總而言之一句話,社會在發展,時代在進步,我們儲存數據的方式也在發生著變化,這種變化帶來的只能是讓我們的數據更加安全更加可靠所以大家根本不必擔心。
Ⅳ 網路上的數據、文字、圖片、視頻等都存儲在哪裡
網路上你所看到的各種數據,多媒體,一爛激物般都存儲在各種數據中心。數據中心也就是機房,裡面有大量的機櫃,機櫃上插滿了存儲設備(硬碟、快閃記憶體)等。果殼網有一篇文章:《雲到底有多大》,摘抄部分如下:根據科技網站ExtremeTech的統計,整個互聯網的下載流量中,有40%是訪問YouTube這樣的視頻網站產生的; *** 則佔了另一大山頭,占據整體流量的30%;剩下的30%由網路硬碟數據下載、訪問網址、電子郵件等日常網路服務產生。當電腦前的人們從互聯網上獲取信息時,大概沒有人會去關注信息究竟來自何處。如果大家順藤鉛神摸瓜,便可以發現這些信息中的絕大部分都來源於互聯網的雲端。
如今提供雲存儲服務的服務商不僅有亞馬遜(旗下Amazon Web Services),微軟(旗下Microsoft Azure)和谷歌(旗下Google Drive)這樣的網路巨頭,還有成百上千的小公司機構。他們中或擁有一整個數據中心,或只有幾個機箱的存儲設備,規模參差不齊。從這些大大小小的公司身上我們大可窺探整個雲儲存產業的火爆程度。
雲計算因其出眾的能力備受青睞,它可以最快的效率為網路中的任何一方提供相關服務。谷歌麾下單單一個為YouTube服務的「雲團」就可以存儲管理幾個PB(1PB=1024TB)的數據。雲計算可以有幾TB的RAM與幾千核的CPU,遠非傳統計算機可比。而雲計算延伸發展出的雲存儲又究竟有著怎樣的魅力,引得谷歌、微軟和Dropbox這樣的巨頭競相折腰?讓我們從數據入手。
通常,谷歌、Facebook、亞馬遜和微軟這樣的大公司都很少對外發布自己的詳細數據。不過如果用心去多方核查,還是可以得到一些大概的數值:
Facebook:在Facebook的IPO檔案中,他們提到自己存儲著約為100PB的圖片及視頻信息。如果考慮了Facebook還要對用戶狀態這些信息進行網路備份,我們猜測100PB絕對不是他們的存儲上限。這里,把這個數值估為300PB應該不為過。
微軟:微軟近日承認自己的Hotmail伺服器內存有超過100PB的信息,而有著1700萬用戶的SkyDrive也存有10PB的信息。合理預測整個微軟的存儲規模應該不在Facebook之下,我們也把它的存儲上限估為300PB。
Megaupload:和上面兩個網路巨頭相比Megaupload自然是小巫見大巫,不過它在業內確也有著一席之地,算是25PB吧。
亞馬遜:亞馬遜旗下有Simple Storage Service這一網路儲存服務(簡稱S3)。亞馬遜從來沒有向公眾透露過S3究竟存有多大規模的數據量,不過今年四月他們卻對外宣布S3中存有9050億份文件。假設平均每份文件的大小為100KB,則S3的存儲量在90PB上下;假設平均每份文件為1MB,那麼S3的存儲規模將達到900PB,它將成為唯一一個儲存規模接近1EB的服務商。
Dropbox,:去年還只有2500萬用戶的Dropbox當時對外宣布,自己存儲著逾10PB的數據。如今Dropbox的用戶數已經上升到了一億,那麼他們的存儲規模應該在40PB上下。
儲存這些數據究竟多耗地方呢?我們得把這些虛擬數據的大小具體化。一台普通電腦的硬碟平均存儲空間為500GB或者1TB,1PB=1024TB,也就是說微軟和Facebook最少也得有100000個硬碟用於存儲信息。普遍情況下,一個4U機箱內可以塞進48個硬碟。考慮到還要塞一些其他的連接設備,那麼一個40U的機櫃大概可以存儲400個硬碟。一個40U的機櫃飢液佔地約為一平方米,也就是說要存儲100000個硬碟還是很佔地方的。不過對於谷歌、亞馬遜、Facebook或是微軟這樣有著30000多平米大樓的地主公司來說,找個地方放機櫃還是不成問題的。事實上, CPU、伺服器和網關比硬碟要佔地得多。
原文地址:guokr/article/204956/