一、像愛奇藝、優(yōu)酷等視頻網(wǎng)站的數(shù)據(jù)庫是怎么設(shè)計的
1、設(shè)置數(shù)據(jù)集成
一般來說視頻網(wǎng)站數(shù)據(jù)庫的設(shè)計需要設(shè)置數(shù)據(jù)集成,針對于各大互聯(lián)網(wǎng)信息進行收集與結(jié)合,通過這種數(shù)據(jù)集成技術(shù)可以有效監(jiān)督數(shù)據(jù)信息,同時視頻網(wǎng)站還可以根據(jù)廣大用戶使用需求規(guī)律,設(shè)計出相應(yīng)的規(guī)劃方案。另外在集成工作開展過程中, 將多方面、多層次的視頻信息資源集成到一個管理平臺中,方便管理和協(xié)調(diào)。
2、具備數(shù)據(jù)分析和處理功能
我們設(shè)計視頻網(wǎng)站的數(shù)據(jù)庫還需要具備數(shù)據(jù)分析和處理的功能,利用計算機技術(shù)和智能分析技術(shù)對集成的數(shù)據(jù)進行自動識別和分析,能夠使其在最短的時間內(nèi)做出非常詳細的數(shù)據(jù)條。通過數(shù)據(jù)分析所形成的報告來優(yōu)化視頻網(wǎng)站的管理,為廣大用戶提供個性化的服務(wù)。
二、海量數(shù)據(jù)存儲方案
隨著互聯(lián)網(wǎng)的高速發(fā)展,很多業(yè)務(wù)場景的數(shù)據(jù)量都達到了上億的級別甚至更多,這就涉及到了海量數(shù)據(jù)的存儲問題。由于業(yè)務(wù)場景也達到了上億的級別,所以設(shè)計了海量數(shù)據(jù)存儲方案。
1、DB層面
DB層面使用分布式文件存儲的DB,支持橫向擴展,可以支撐大數(shù)據(jù)量存儲,且性能僅受限于單分片collection的數(shù)據(jù)量級。
2、ES層面
ES在創(chuàng)建index時需要指定索引的分片個數(shù),一旦創(chuàng)建后不可修改,所以我們在創(chuàng)建索引時需要評估好該索引的數(shù)據(jù)量級與增長趨勢。當索引單分片的數(shù)據(jù)量級過大,會導致性能急劇下降,此時我們可以使用ES的reIndex API進行索引重建,但該操作會最大程度占用ESserver端的服務(wù)資源,導致影響正常業(yè)務(wù)。為了解決此類問題我們可以利用ES的別名Alias + 分庫分表的思路,設(shè)計出支持不受數(shù)據(jù)量級限制的ES索引。ES的別名下可掛載多個真實的索引名,而我們按照一定的規(guī)則對索引數(shù)據(jù)進行拆分,將數(shù)據(jù)寫入到拆分后的真實索引中,而真實索引掛在在同一個別名下,這樣可以做到讀業(yè)務(wù)方無感知的效果。但是ES的別名并不具備寫入能力(別名下多個索引時),所以我們需要自己執(zhí)行路由規(guī)則,進行索引拆分和寫入。
三、數(shù)據(jù)庫有哪些
1、Oracle
Oracle數(shù)據(jù)庫是由美國的甲骨文(Oracle)公司開發(fā)的世界上名列前茅款支持SQL語言的關(guān)系型數(shù)據(jù)庫。經(jīng)過多年的完善與發(fā)展,Oracle數(shù)據(jù)庫已經(jīng)成為世界上最流行的數(shù)據(jù)庫,也是甲骨文公司的核心產(chǎn)品。
Oracle數(shù)據(jù)庫具有很好的開放性,能在所有的主流平臺上運行,并且性能高、安全性高、風險低;但是其對硬件的要求很高、管理維護和操作比較復(fù)雜而且價格昂貴,所以一般用在滿足對銀行、金融、保險等行業(yè)大型數(shù)據(jù)庫的需求上。
2、DB2
DB2是IBM公司知名的關(guān)系型數(shù)據(jù)庫產(chǎn)品。DB2無論穩(wěn)定性,安全性,恢復(fù)性等等都無可挑剔,而且從小規(guī)模到大規(guī)模的應(yīng)用都可以使用,但是用起來非常繁瑣,比較適合大型的分布式應(yīng)用系統(tǒng)。
3、SQL Server
SQL Server是由Microsoft開發(fā)和推廣的關(guān)系型數(shù)據(jù)庫,SQL Server的功能比較全面、效率高,可以作為中型企業(yè)或單位的數(shù)據(jù)庫平臺。SQL Server可以與Windows操作系統(tǒng)緊密繼承,無論是應(yīng)用程序開發(fā)速度還是系統(tǒng)事務(wù)處理運行速度,都能得到大幅度提升。但是,SQL Server只能在Windows系統(tǒng)下運行,毫無開放性可言。
4、MySQL
MySQL是一種開放源代碼的輕量級關(guān)系型數(shù)據(jù)庫,MySQL數(shù)據(jù)庫使用最常用的結(jié)構(gòu)化查詢語言(SQL)對數(shù)據(jù)庫進行管理。由于MySQL是開放源代碼的,因此任何人都可以在General Public License的許可下下載并根據(jù)個人需要對其缺陷進行修改。
由于MySQL數(shù)據(jù)庫體積小、速度快、成本低、開放源碼等優(yōu)點,現(xiàn)已被廣泛應(yīng)用于互聯(lián)網(wǎng)上的中小型網(wǎng)站中,并且大型網(wǎng)站也開始使用MySQL數(shù)據(jù)庫,如網(wǎng)易、新浪等。
5、Access
Access 是一個易于使用的工具,可通過它從模板或從頭開始創(chuàng)建商業(yè)應(yīng)用程序。通過其豐富的直觀工具,Access 為企業(yè)業(yè)務(wù)和客戶量身打造自定義應(yīng)用,按需輕松編輯以滿足不斷變化的要求。使用 Visual Basic for Applications,自定義業(yè)務(wù)流程、創(chuàng)建更有用的表單和報告。在 Access 和使用 Access 連接器庫的業(yè)務(wù)線應(yīng)用之間集成數(shù)據(jù),以便在熟悉的 Access 界面中生成集成可視化項和見解,在 SQL Server 和 Microsoft Azure SQL也可存儲數(shù)據(jù)。
延伸閱讀1:數(shù)據(jù)庫
數(shù)據(jù)庫是存放數(shù)據(jù)的倉庫。它的存儲空間很大,可以存放百萬條、千萬條、上億條數(shù)據(jù)。但是數(shù)據(jù)庫并不是隨意地將數(shù)據(jù)進行存放,是有一定的規(guī)則的,否則查詢的效率會很低。當今世界是一個充滿著數(shù)據(jù)的互聯(lián)網(wǎng)世界,充斥著大量的數(shù)據(jù)。即這個互聯(lián)網(wǎng)世界就是數(shù)據(jù)世界。數(shù)據(jù)的來源有很多,比如出行記錄、消費記錄、瀏覽的網(wǎng)頁、發(fā)送的消息等等。除了文本類型的數(shù)據(jù),圖像、音樂、聲音都是數(shù)據(jù)。