数据的管理
1. 數據文件管理
隨著技術和業務的發展壯大,企業中產生的數據種類越來越多,數據量也越來越大。如何對數據進行有效的組織、存儲、管理、檢索、維護,將會顯得越來越重要。在企業內部很多時候還涉及數據的跨部門存儲與調用。因此,進行數據的管理就顯得特別重要,也越來越受到企業的重視。
數據一般會以文件的形式存在,比如文本文件、視頻文件、音頻文件等。那么數據的管理就轉化為對這些數據文件的管理。
文件管理的真諦在于方便保存和迅速提取,所有的數據文件將通過某種屬性(比如業務、時間)分類被很好地組織起來,放在最能方便找到的地方。解決這個問題目前最理想的方法就是分類管理。
從每一個文件夾的建立,我們都要按照數據文件的屬性,分為大大小小、多個層級的文件夾,建立合理的文件保存架構。此外所有的文件、文件夾,都要規范化地命名,并放入最合適的文件夾中。
當然企業中可不會像個人使用電腦文件資源管理器那樣去管理文件,而是使用文件服務器去管理文件。在一些有條件的企業,會部署一個文件服務器,來統一管理文件。這樣可以對企業管理帶來如下好處:
定時集中對文件進行備份;
可以統一制定文件安全訪問權限策略;
可以統一進行文件服務器防病毒管理。
常見的文件服務有以下這幾種:
ftp文件服務
Samba文件服務
NFS文件服務
1.1. FTP文件服務
FTP 是一個文件傳輸的協議,采用Client/Server架構。用戶可以通過各種不同的FTP客戶端程序,借助FTP協議,來連接FTP服務器,以上傳或者下載文件。它使用兩個連接與客戶端通信:
命令連接:用于傳輸文件管理類命令,在客戶端連接后會始終在線;
數據連接:用于傳輸文件數據,此連接會按序創建。
Linux 中常用的 FTP 客戶端軟件有 lftp, ftp, lftpget, wget, curl 等。Windows 中可以使用瀏覽器,資源管理器或 Filezilla 等軟件。
1.2. NFS文件服務
NFS 是Network File System的縮寫,即網絡文件系統。它允許網絡中的計算機之間通過TCP/IP網絡共享資源。NFS的基本原則是“容許不同的客戶端及服務端通過一組RPC分享相同的文件系統”,它是獨立于操作系統,容許不同硬件及操作系統的系統共同進行文件的分享。
NFS在文件傳送或信息傳送過程中依賴于RPC協議。RPC,遠程過程調用 (Remote Procedure Call) 是能使客戶端執行其他系統中程序的一種機制。NFS本身是沒有提供信息傳輸的協議和功能的,但NFS卻能讓我們通過網絡進行資料的分享,原因就在與RPC,可以說NFS本身就是使用RPC的一個程序。可以這么理解RPC和NFS的關系:NFS是一個文件系統,而RPC是負責信息的傳輸。
1.3. Samba文件服務
SMB(Server Messages Block,信息服務塊)是一種在局域網上共享文件和打印機的一種通信協議,它為局域網內的不同計算機之間提供文件及打印機等資源的共享服務。
Samba是一組軟件包,在Linux和UNIX系統上實現SMB協議的一個免費軟件。Linux操作系統提供了Samba服務,Samba服務為兩種不同的操作系統架起了一座橋梁,使Linux系統和Windows系統之間能夠實現互相通信,這使得 Windows/Linux/Unix 間可以自由的進行文件共享。
2. 文件管理規范
為了更快速,更準確,更規范的進行數據文件管理,企業一般都會去制定相應的管理規范。從而使各方都按照這個規范去進行文件的存儲、讀取。規范著重于文件命名規則,以及一些校驗性文件的描述。
例子:FTP服務進行跨部門文件共享的相關規范。以數據庫數據文件導出至ftp文件服務器共享為例,目錄下會存在以下3種格式文件。僅供參考。
2.1. 接口新增數據文件
正常數據:文件類型標示_源系統數據庫類型簡寫.源系統數據庫.表名稱_數據日期_重傳序號.lzo
如正常數據為:
增量(上次導出之后的新數據):
i_s.Peking.orders_20130711_000.lzo
全量(表中所有的數據):
a_s.Peking.orders_20130711_000.lzo
2.2. 接口控制校驗文件
正常數據:增全量標示_源系統數據庫類型簡寫.源系統數據庫.表名稱_數據日期_重傳序號.md5
如正常數據為:
增量:
i_s.peking.orders_20130711_000.md5
全量:
a_s.peking.orders_20130711_000.md5
控制校驗文件的存在意義在于標識數據的完整性校驗,預防上傳丟失導致其他使用者獲取不完整數據。
2.3. 接口表結構文件
正常數據:增全量標示_源系統數據庫類型簡寫.源系統數據庫.表名稱_數據日期_重傳序號.xml
如正常數據為:
增量:
i_s.peking.orders_20130711_000.xml
全量:
a_s.peking.orders_20130711_000.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<table type="hbase" database="credit" code="cds_courier_active">
<field type="string" code="pin"/>
<field type="string" code="d_seq_no"/>
<field type="string" code="d_cust_id"/>
<field type="string" code="d_mobile"/>
<field type="string" code="d_active_stcd"/>
<field type="string" code="d_active_result"/>
<field type="string" code="d_credit_amt"/>
<field type="string" code="d_active_tm"/>
<field type="string" code="d_seq_no_interface"/>
<field type="string" code="d_apply_channel"/>
<field type="string" code="d_apply_type"/>
<field type="string" code="d_oder_id"/>
<field type="string" code="d_name"/>
<field type="string" code="d_approve_times"/>
<field type="string" code="d_product_type"/>
</table>
表結構文件存在意義在于:便于數據的使用人員快速的了解本批次數據的大致內容,也方便后續回頭對數據進行檢測時作為依照。
3. 數據質量檢測
數據質量是保證數據應用的基礎,它的評估標準主要包括四個方面:完整性、一致性、準確性、及時性。評估數據是否達到預期設定的質量要求,就可以通過這四個方面來進行判斷。
完整性指的是數據信息是否存在缺失的狀況,數據缺失的情況可能是整個數據記錄缺失,也可能是數據中某個字段信息的記錄缺失。不完整數據的價值就會大大降低,也是數據質量最為基礎的一項評估標準。
數據質量的完整性比較容易去評估,一般可以通過數據統計中的記錄值和唯一值進行評估。例如,網站日志日訪問量就是一個記錄值,平時的日訪問量在 1000左右,突然某一天降到100了,需要檢查一下數據是否存在缺失了。再例如,網站統計地域分布情況的每一個地區名就是一個唯一值,我國包括了32個省和直轄市,如果統計得到的唯一值小于32,則可以判斷數據有可能存在缺失。
一致性是指數據是否遵循了統一的規范,數據集合是否保持了統一的格式。數據質量的一致性主要體現在數據記錄的規范和數據是否符合邏輯。規范指的是,一項數據存在它特定的格式,例如手機號碼一定是11位的數字,IP地址一定是由4個0到255間的數字加上.組成的。邏輯指的是,多項數據間存在著固定的邏輯關系,例如PV一定是大于等于UV的,跳出率一定是在0到1之間的。
準確性是指數據記錄的信息是否存在異常或錯誤。存在準確性問題的數據不僅僅只是規則上的不一致。最為常見的數據準確性錯誤如亂碼。其次,異常的大或者小的數據也是不符合條件的數據。數據質量的準確性可能存在于個別記錄,也可能存在于整個數據集,例如數量級記錄錯誤。這類錯誤則可以使用最大值和最小值的統計量去審核。
一般數據都符合正態分布的規律,如果一些占比少的數據存在問題,則可以通過比較其他數量少的數據比例,來做出判斷。
及時性是指數據從產生到可以查看的時間間隔,也叫數據的延時時長。及時性對于數據分析本身要求并不高,但如果數據分析周期加上數據建立的時間過長,就可能導致分析得出的結論失去了借鑒意義。
轉載于:https://blog.51cto.com/13587708/2176577
總結
- 上一篇: OWL语言
- 下一篇: 聊一聊Android的消息机制