萬物皆為數
隨著大數據落地的不斷深入,越來越多的企業(yè)意識到數據的價值。然而眾人統一的認知,或者是大部分商業(yè)智能從業(yè)者的認知,都局限在結構化數據的邏輯。也就是說他們認為所有的數據最終都是可以存儲到數據庫的,或者說都是經過采集,清洗,整合后的高質量數據。
事實上目前數據的定義已經完全超越了數據庫的存儲邏輯,不管是關系型還是最新的NoSQL或者Graph database,目前存儲在數據庫之外的數據量是遠遠超過存儲在數據庫內的數據。
在商業(yè)智能分析中,數據源有網頁,pdf,圖片,音頻,視頻等等都具有很重要的價值。比如在新零售的場景下,我們對于線下商品展示和商品包裝等相關數據的分析需求日益增加。 商品的銷量與他擺放的位置,以及商品包裝的顏色等有何相關性?如何分析?我們是需要提前將所有相關的信息都采集下來然后清洗并結構化存儲以備分析嗎?
采集和存儲是必須的,但是靠傳統商業(yè)智能清洗和結構化那些數據,還是比較困難。隨著技術的發(fā)展,我們可以通過成熟的相關分析工具加自定義腳本的方式來靈活分析上面提到的問題,甚至對基于圖片中色彩模式,物體相似度等的檢索和分析都有第三方支持。
話說回來,新時代的商業(yè)智能,對于萬物皆為數該如何理解呢?數據已經不是傳統的數字或者數據庫的邏輯,數據已經是所有物品必須添加的一個新維度或者屬性。 同時商業(yè)智能分析要突破傳統數據倉庫和數據庫的思路,在商業(yè)邏輯之下提出各種開腦洞的數據需求和分析需求。
數據架構之供應鏈思維
商業(yè)智能中數據架構至關重要,它是所有商業(yè)分析的基礎。所謂數據架構就是如何存儲和管理你的數據,在哪里存儲,以及為什么要使用這種管理邏輯。 人們通常會直接把這個問題局限在傳統數據庫中的數據建模(關系和數據結構的設計)上,但是數據架構的核心任務是設計一套數據的供應鏈邏輯,讓數據在整個生產、采集整合、分發(fā),消費等環(huán)節(jié)具備高效的邏輯,這往往不止是一個數據建模的問題。
并且數據架構也需要解決不同商業(yè)場景下對數據分析、數據科學相關數據處理的支持設計。所以數據架構更重要的是梳理和設計出來一套完整的邏輯,在這個抽象層面之下才是具體的存儲和管理,有了目標之后就更容易做出好的數據架構。
說到商業(yè)智能數據架構不得不說一下傳統的數據倉庫。本質上數據倉庫解決的是數據湖的問題,將不同地方的數據整合在一起并實現關聯是數據分析的基礎。一般數據倉庫項目的周期都會比較長,短則半年數月,長則幾年。這個也容易理解,數據倉庫搭建過程中對于數據的打通,清洗,關聯,建模等都不是一項短時間能完成的任務,這個與數據倉庫項目的整體目標有關。如果希望搭建一套完整的滿足各種業(yè)務分析需求的,還依賴于現有業(yè)務邏輯和數據生產的復雜系統。
現實情況是不同的數據源甚至是數據維度或者片段對于商業(yè)分析的價值是不一樣的。而在這個過程中,對于不同數據預判的缺失導致在整個ETL中的投入過大。后來有了hadoop之后,大家還是一個數據中心的思路,什么數據都往hadoop里面寫,后續(xù)要用再來找。這樣也會出現一些問題,比如在數據流的場景下,你會發(fā)現很多流式數據很難持續(xù)存儲到數據庫中,因為數據采集和數據查詢本身就是兩種不同的場景和階段。
整體來說數據架構的設計包含四個不同的維度,數據的生產,采集整合,分發(fā),和消費。梳理清楚他們之間的邏輯,以實現通暢的數據供應鏈的目標。 其中任何一部分都可以靈活支持各種方式,例如數據的分發(fā),類比線下零售體系,我們會有不同的分發(fā)體系來支持不同的渠道,比如中心倉和地方倉,電商倉和渠道倉等邏輯。所以新時代的數據架構可以是一個多條線并行的架構,不一定是一個完全中心化的數據倉庫的設計邏輯。
商業(yè)智能和數據科學
傳統商業(yè)智能的核心目標是數據的復用性,通過星型結構和范式模型的抽象來支持各種數據的存儲、查詢和報表業(yè)務。本質上商業(yè)智能解決了數據訪問和一部分數據探索的目的,然而他們能支持的問題變化不大所以對應的報表設計相對固定。但是在數據科學中很難有這種不變的數據結構或者計算模型來支持各種不同的算法,即使是算法本身也在不斷地演進的過程中。
在商業(yè)智能系統的設計過程中通過基礎的數據結構來描述所有的事物,然而并不關心背后的業(yè)務邏輯,往往是通過通用的描述模型來實現的。比如我們并不知道某商品的銷售總額到底代表什么意義,但是針對這個度量我們支持求和、平均等等一系列的操作。傳統數據倉庫的設計主要是基于需求背后的統一計算模型和邏輯而抽象出來的。
數據科學相關的分析問題卻很難用統一的抽象結構和計算模型來描述。簡單來說你需要做更多的統計學計算,比如一些相關系數的計算,從向量到矩陣的基本運算等。不止是這些計算的復雜度和資源消耗發(fā)生了巨大變化,同時不同的算法背后能被抽象出來的標準計算模型也非常有限。這也就是為什么曾經有大量的數據科學家做特征工程的工作,也就是基于不同的算法和對業(yè)務的理解來做特征抽取的工作,然后基于特征抽取來做各種算法的對比試驗。特征工程本質就是從抽象的存儲到抽象的計算模型的一個過渡。
從本質上來說數據科學的數據架構和傳統商業(yè)智能的架構設計的邏輯可以類似。隨著數據倉庫和商業(yè)智能的發(fā)展,很多方法和框架已經非常成熟,所以現在企業(yè)在選擇商業(yè)智能和數據科學的時候還有一條中間的道路就是:將數據倉庫(商業(yè)智能)作為數據科學的一個數據可訪問性的中間件,然后再基于商業(yè)智能和數據科學來設計出不同的數據存儲抽象和數據模型抽象來支持各自的數據架構。
關于作者:
趙乾坤 壹看板創(chuàng)始人兼CEO
趙乾坤博士,數據挖掘專家,先后畢業(yè)于華中科技大學、新加坡南洋理工大學,并于美國賓夕法尼亞大學完成搜索引擎相關的博士后研究。其相關的研究和應用在國際知名學術會議(WWW,KDD,AAAI,CIKM 等)上發(fā)表了 20 余篇論文和講座,2 項國際的專利技術。曾任好耶廣告北京首席架構師、西班牙電信大數據科學家、AOLChina 發(fā)起人,后創(chuàng)立脈博網與37degree。有深厚的數據挖掘技術背景和十余年的互聯網行業(yè)經驗,是大數據在傳統企業(yè)和互聯網廣告應用設計師和實踐者。