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