數據在推動企業的創新和發展,但是只是對準備好高效處理數據的企業來說是這樣。
雖然關系數據庫有其一席之地,但如今數據的復雜性、數量和需求讓關系數據庫并不適合某些應用。在許多這樣的情況下,NoSQL技術的出現填補了這個空缺。不過,將NoSQL系統實施到貴企業可能并非易事。
MarkLogic的產品執行副總裁喬·帕斯夸(Joe Pasqua)表示,這值得付出精力,但是需要認真規劃,并得到企業認可――這是許多IT部門忽略的一個重要方面。MarkLogic是一種與數據庫模式無關的NoSQL數據庫,正是它挽救了Healthcare.gov。
帕斯夸介紹了有助于將NoSQL系統順利整合到貴企業的10大要點。
1. 確定一種使用場合。
帕斯夸表示,成功的NoSQL項目的第一步毫無秘密可言。你需要確定一種可靠的使用場合,非常清楚自己想實現什么目標。
帕斯夸說:“要不然,公司幾乎注定會失敗。我們在大數據領域看到了許多這樣的例子。我接觸過不少人,他們說需要Hadoop,要引入Hadoop。至于為何要實施或者想實現什么目標,他們卻心里沒譜,只不過CIO告訴他們公司需要Hadoop。進展順利完全憑運氣。他們想要緊跟潮流,但有時這種迫切的心情其實反而妨礙他們明白有什么樣的業務價值。”
NoSQL對需要龐大規模和大量數據的項目來說常常是正確的選擇:個性化、用戶配置文件管理、從操作數據中實時提取信息、內容管理、目錄、全方位洞察客戶、移動應用、物聯網應用、數字通信和欺詐檢測。
2. 確定NoSQL模式與實施的現有數據庫匹配得怎樣。
一旦你搞明白了使用場合,就可以確定NoSQL是否適合自己的項目。你團隊已經熟悉的現有工具可能符合要求。但是帕斯夸提醒切忌讓傳統工具適應NoSQL。
帕斯夸說:“我們在這個行業經常見到這種情況。他們會搞清楚使用場合,也知道想要實現什么目標。然后他們說‘讓我使用現有的工具和技術試著做一下’。對于眾多項目而言,尤其是需要大數據和數據敏捷性的項目,他們常常發現現有工具不管用。有時候,他們試圖將這些工具用上幾年,但最后不得不承認現實:這些工具不管用。”
帕斯夸表示,這正是Healthcare.gov崩潰的問題之一。服務最初建立在甲骨文數據庫上,但是數據底層需要一種嚴謹的模式給系統帶來了巨大壓力。使用場合需要NoSQL模式那樣的敏捷性。MarkLogic是后來被請來幫助的廠商之一。
帕斯夸補充道:“弄明白何時這些工具不適合、何時NoSQL實際上更適合解決你的問題,其實很重要。”
3. 承認NoSQL具有顛覆性。
如果你決定在自己的業務基礎設施中實施NoSQL,有必要承認這個事實:NoSQL將是一股顛覆性力量,并為此作好規劃。
帕斯夸說:“NoSQL具有顛覆性。它的顛覆性體現在許多方面。從開發人員的角度來看,人們希望使用現有的工具和技術。如果他們決定想要換一種做法,對于如何構建應用程序、使用數據庫已有一套完整想法。想照搬這個經驗,試圖讓NoSQL以同樣的方式工作,這很自然。但實則不是。如果他們試圖像SQL那樣使用NoSQL,最后以失敗告終。你要退后一步,考慮實際使用NoSQL的正確方式。別試圖與之抗爭,讓它成為關系數據庫。這是新的模式,它是一種顛覆性模式,我們要充分利用它。”
帕斯夸表示,比如說,傳統的經驗法則是,針對你擁有的任何重大應用程序,都要有一大批數據庫管理員(DBA)。可是他特別指出,換成NoSQL,他通常在之前可能有10個數據庫管理員的情況下只看到一個數據庫管理員。你可以解放那些員工,派他們干別的事情。
成本模型也會改變。NoSQL是一種橫向擴展、基于商品化硬件的技術。
帕斯夸說:“你購買NoSQL的方式、使用NoSQL的方式其實全然不同。你可以購買經濟高效的硬件,需要時可以擴展。這其實影響了采購流程。你無需事先購買1000萬美元或2000萬美元的硬件,它讓你可以很快完成采購周期。這方面做得很好的人充分利用了這個優點。”
4. 從小處入手,然后加大力度
如果是關系數據庫技術,很難從小處入手。如果你是家大公司,已擁有成千上萬客戶(可能是個人或其他公司),就會經常面臨這一挑戰:處理數據方面的許多不同政策,或者整合收購的另一家公司的數據。
帕斯夸說:“你需要把來自不同數據孤島的龐大數據整合起來,而且要求越來越高。”
使用關系數據庫技術解決這些數據孤島問題意味著,你得分清想要從中整合數據的所有不同孤島,要創建一種協調這些數據的模式,并開發和部署ETL流程,把所有這些數據集中起來。整個過程可能需要幾個月甚至更久。
帕斯夸說:“然后,就在你看到大功即將告成之際,你開發了一種新產品、收購了一家新公司,或面臨新的監管要求,于是又回到了起點。必須事先做好所有的數據建模工作。”
NoSQL擁有橫向擴展、基于商品化硬件的架構和模式方面的靈活性,這意味著你可以針對一些數據從小處入手,必要時擴大力度。帕斯夸表示,你可以從雜亂的非結構化數據入手,立即從中獲得價值,然后必要時逐漸添加結構。
5. 找出企業中的決策者和實施者。
這不是NoSQL項目特有的環節。應對顛覆性變革時,變革管理可能是你的最大障礙。
帕斯夸說:“要是沒有決策者,你將不知所措。但是你還得有實施者。”
實施的具體細節可能關系到你項目的成敗,所以你的團隊中有人懂得實施技術很重要。
6. 找出阻礙和支持項目的流程。
有必要在NoSQL世界下重新考慮你的流程。惰性可能是你面臨的最大障礙之一。
帕斯夸說:“人們希望保持現狀,天生渴望始終以同樣的方式來做事,如果你不改變任何流程,這會阻礙進展。”
明白使用場合以及這項新技術帶來的顛覆性變化,這讓你得以設計充分利用新功能的流程。關鍵的架構師和技術領導者會幫助你敲定那些流程,并讓所在部門積極支持。
7. 明確你是否擁有合適的技能。
帕斯夸表示,擁有修改應用程序設計過程和系統應用程序架構以適應NoSQl的技能很重要。
他說:“擁有合適的技能很重要。這倒不是說NoSQL特別復雜。實際上,它通常更簡單,但是不一樣。許多人在數據庫行業摸爬滾打了30年,他們曾經用過的唯一數據庫就是關系數據庫。他們學習NoSQL沒有任何困難,但是確實要花時間。”
培訓是整個流程的一個重要部分。帕斯夸特別指出,MarkLogic免費提供所有培訓,無論你是不是它的客戶。
8. 評估對NoSQL DBMS和查詢語言有多了解。
確保評估一下貴企業對NoSQL及其使用有多了解。
帕斯夸說:“你已擁有的人都是聰明的數據庫人才。他們理解NoSQL不會有任何問題。從技術角度看,這并非不可逾越的問題。它主要還是個文化問題。”
9. 營造一種緊迫感。
幫助所有的利益相關者明白為什么需要實施NoSQL、他們有望獲得什么樣的回報。
如果你求助于NoSQL,貴企業的人員很可能已經面臨最后期限,看不到未來方向。
帕斯夸說:“這些人通常面臨問題――大數據和數據集成,他們已經在苦思冥想,試圖用現有工具來解決問題,他們在這方面耗費了大量時間。他們已經感受到了時間的壓力,因為他們在死胡同上浪費了太多時間。我們面臨的挑戰就是,讓利益相關者有這樣一種緊迫感。”
帕斯夸表示,業務部門可能想著一些以業務為導向或者以監管為導向的最后期限。你要確保,技術人員和負責采購的人員對于這個最后期限有一種合適的緊迫感。
他說:“從小處入手,迅速起步,逐漸加大力度。并將這個意思傳達給所有利益相關者。”
10. 依賴那些有經驗的人,包括同行和顧問。
帕斯夸表示,經驗至關重要。
帕斯夸說:“由于MarkLogic之類的技術確實具有顛覆性,很容易掉入一些陷阱。能夠走出去,結識用過這些新技術并從中得益的人,并與他們共事,這非常重要。如果某人在用MarkLogic,他們用它來運行銀行系統或作為培訓系統的一部分。Healthcare.gov用它來運行交換中心。其實,你能做的最棒的事情之一是,走出去,與那些用過的人多交流。從技術方面、文化方面和流程方面與對方交流一番。搞清楚你在本企業如何才能最有效地利用這項技術。”
帕斯夸表示,如果你確實請來第三方顧問,就要尋求專業服務,它們有能力請來架構師和顧問,幫助你的人員取得良好的開端。他表示,就自力更生而言,這遠比尋求請來后永遠跟隨你的專業服務強得多。