吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

谷歌用ML模型替代數據庫組件,或徹底改變數據系統開發,機器學習將取代數據庫搜索

DPVg_AI_era ? 2017-12-14 16:50 ? 次閱讀

本周,谷歌團隊在arXiv上傳了一篇論文,探討用機器學習取代數據庫索引,引發了大量的關注和討論。作者還概述了如何使用這一思想來替換數據庫系統的其他組件和操作,包括排序和連接。如果成功,數據系統的開發方式將會徹底改變。

“如果這項研究取得更多的成果,將來有一天我們很可能回過頭看然后說,索引是最先倒下的,接著是其他的數據庫組件(排序算法、查詢優化、連接),它們都逐漸被神經網絡取代?!奔~約州立大學布法羅分校的計算機科學和工程教授Murat Demirbas這樣說。

文章描述了一個非常有前景且十分有趣的方向,題目讀來也頗有小說的感覺——“The Case for Learned Index Structures”。

這篇論文旨在證明“機器學習模型有潛力大幅超越當前最先進的數據庫索引,提供好很多的性能”。

斯坦福大學Chirs Manning教授發表Twitter,評論稱谷歌團隊這篇論文用機器學習替代傳統算法,而且“一口吃掉一大塊”

用神經網絡學習數據分布,讓索引“data-aware”

索引(Index),就是一種對數據庫表中一列或多列的值進行排序的結構,使用索引可以快速訪問數據庫表中的特定信息。數據庫的索引好比圖書的目錄,目錄能讓你在看書時不把整本書看完就快速找到需要的信息,索引也能讓數據庫程序迅速地找到表中的數據,而不必將整個數據庫掃描完。

但是,數據庫在應用索引時,對數據本身并不了解,數據相當于一個黑盒,而不了解數據的分布,造成了很大的浪費。

舉例來說,如果鍵的范圍在0到500m之間,比起用哈希,直接把鍵當索引速度可能更快。如果知道了數據的累積分布函數(CDF),“CDF*鍵*記錄大小”可能約等于要查找的記錄的位置,這一點也適用于其他數據分布的情況。

數據的累積分布函數(CDF)可以作為索引

作者在論文中表示,精確了解數據分布,可以大幅優化當前數據庫系統使用的幾乎所有索引結構。

但是,精確了解數據分布,數據庫就成了“白盒”,失去了可重用性。這樣一來就需要檢查數據,每次都從頭開始設計索引。

于是,谷歌研究人員想到了機器學習方法,并使用其中最強的一種——神經網絡,去學習數據分布,并用學到的知識預測數據的分布。

這樣一種折中的方法,讓數據索引變得“data-aware”,由此獲得性能的提升。

如果成功,數據庫開發方式可能徹底改變

他們將神經網絡應用于三種索引類型:B樹,用于處理范圍查詢;哈希映射(Hash-map),用于點查找查詢;以及Bloom-filter,用于設置包含檢查。下面著重介紹一下作者如何用神經網絡替代B樹。

B樹提供了一種有效的分層索引。從概念上講,B-tree將一個鍵映射到一個頁面。因此,我們可以用一個模型,也進行鍵的位置映射,而對于錯誤范圍,我們可以做一個二進制搜索(或擴展環搜索)的變體來定位頁面。

要知道min_error和max-error,就用擁有的數據來訓練模型。數據是靜態的,神經網絡進行預測,然后從這些錯誤中學習。即使簡單的邏輯回歸也可以用于簡單的分布。

在測試時,作者將機器學習索引與B樹進行比較,他們使用了3個真實世界數據集,其中網絡日志數據集(Weblogs)對索引而言極具挑戰性,包含了200多萬個日志條目,是很多年的大學網站的請求,而且每個請求都有單一的時間戳,數據中含有非常復雜的時間模式,包括課程安排、周末、假期、午餐休息、部門活動、學期休息,這些都是非常難以學習的。

從上圖可見,對于網絡日志數據,機器學習索引帶來的速度提升最高達到了53%,對應的體積也有76%的縮小,相比之下誤差范圍稍有加大。

用機器學習模型替換B樹的好處是:

  • 索引結構更?。焊俚闹鲀却婊騆1緩存

  • 查找速度更快:因為索引變小了

  • 更強的并行性(TPU),而不是B-樹中的分層if語句

這里有一個關鍵點,那就是用計算換內存,計算越來越便宜,CPU-SIMD/GPU/TPU的功能越來越強大,作者甚至指出,“運行神經網絡的高昂成本在未來可以忽略不計——谷歌TPU能夠在一個周期內最高完成上萬次神經網絡運算。有人聲稱,到2025年CPU的性能將提高1000倍,基于摩爾定律的CPU在本質上將不復存在。利用神經網絡取代分支重索引結構,數據庫可以從這些硬件的發展趨勢中受益。

論文還介紹了幾個策略來提高機器學習索引的性能,包括使用遞歸模型索引、分層模型和混合模型。機器學習方法都帶來了能效提升,具體的評估結果請參考論文。

需要指出,作者并不認為機器學習索引結構可以完全替代傳統索引?!拔覀冋撌隽艘环N建立索引的新方法,它完善了現有的研究,并且為該領域數十年的研究開辟了一個新方向?!?/span>

作者還概述了如何使用這一思想來替換數據庫系統的其他組件和操作,包括排序和連接。如果成功,數據系統的開發方式將會徹底改變。

論文:The Case for Learned Index Structures

摘要

索引就是模型:B-Tree-Index可以被看作一個將鍵(key)映射到排序數組中記錄位置的模型,哈希索引可以被看作將鍵映射到未分類數組中記錄位置的模型,而BitMap-Index可以被看作查看數據記錄是否存在的模型。

在這篇探索性研究論文中,我們從這個前提出發,假設所有現有的索引結構都可以用其他類型的模型來代替,包括深度學習模型,也即文中所謂的“機器學習索引”(learned indexes)。

本文關鍵思想是,一個模型可以學習排序順序或查找鍵的結構,并使用這個信號來有效預測記錄的位置或記錄是否存在。我們從理論上分析了在哪些條件下機器學習索引的性能優于傳統索引結構,描述了設計機器學習索引的主要挑戰。

我們在幾個真實世界的數據集上做了測試,初步結果表明,通過使用神經網絡,我們在速度上能比緩存優化的B樹快70%,同時內存節省了一個數量級。更重要的是,我們相信用機器學習模型取代數據管理系統核心組件的想法,對未來的系統設計有著深遠的影響,這項工作僅僅展現了未來無限可能的一瞥。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 谷歌
    +關注

    關注

    27

    文章

    6196

    瀏覽量

    106020
  • 數據庫
    +關注

    關注

    7

    文章

    3848

    瀏覽量

    64691
  • 機器學習
    +關注

    關注

    66

    文章

    8441

    瀏覽量

    133094

原文標題:【機器學習吃掉算法】谷歌用ML模型替代數據庫組件,或徹底改變數據系統開發

文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    MySQL數據庫的安裝

    MySQL是一個開源免費的關系型數據庫管理系統,由瑞典MySQL AB 公司開發,目前屬于 Oracle 旗下公司。 MySQL 最流行的關系型數據庫管理
    的頭像 發表于 01-14 11:25 ?133次閱讀
    MySQL<b class='flag-5'>數據庫</b>的安裝

    SqlServer數據恢復—SqlServer數據庫數據恢復案例

    一塊硬盤上存放的SqlServer數據庫,windows server操作系統+NTFS文件系統。由于誤操作導致分區損壞,需要恢復硬盤里的SqlServer數據庫
    的頭像 發表于 01-09 11:15 ?92次閱讀
    SqlServer<b class='flag-5'>數據</b>恢復—SqlServer<b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復案例

    數據庫是哪種數據庫類型?

    數據庫是一種部署在虛擬計算環境中的數據庫,它融合了云計算的彈性和可擴展性,為用戶提供高效、靈活的數據庫服務。云數據庫主要分為兩大類:關系型數據庫
    的頭像 發表于 01-07 10:22 ?143次閱讀

    數據庫加密辦法

    ,當我們聊到數據加密的時候,可以從這些角度入手來提高數據的安全性。 TDE手段 TDE也就是透明數據加密,是一種在數據庫級別進行加密的技術。它對整個
    的頭像 發表于 12-24 09:47 ?155次閱讀

    數據庫數據恢復—Mysql數據庫表記錄丟失的數據恢復流程

    Mysql數據庫故障: Mysql數據庫表記錄丟失。 Mysql數據庫故障表現: 1、Mysql數據庫表中無任何數據
    的頭像 發表于 12-16 11:05 ?224次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—Mysql<b class='flag-5'>數據庫</b>表記錄丟失的<b class='flag-5'>數據</b>恢復流程

    數據庫數據恢復—MYSQL數據庫ibdata1文件損壞的數據恢復案例

    mysql數據庫故障: mysql數據庫文件ibdata1、MYI、MYD損壞。 故障表現:1、數據庫無法進行查詢等操作;2、使用mysqlcheck和myisamchk無法修復數據庫
    的頭像 發表于 12-09 11:05 ?224次閱讀

    數據庫數據恢復—通過拼接數據庫碎片恢復SQLserver數據庫

    一個運行在存儲上的SQLServer數據庫,有1000多個文件,大小幾十TB。數據庫每10天生成一個NDF文件,每個NDF幾百GB大小。數據庫包含兩個LDF文件。 存儲損壞,數據庫
    的頭像 發表于 10-31 13:21 ?337次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—通過拼接<b class='flag-5'>數據庫</b>碎片恢復SQLserver<b class='flag-5'>數據庫</b>

    科技云報到:大模型時代下,向量數據庫的野望

    科技云報到:大模型時代下,向量數據庫的野望
    的頭像 發表于 10-14 17:18 ?300次閱讀

    Oracle數據恢復—異常斷電后Oracle數據庫報錯的數據恢復案例

    Oracle數據庫故障: 機房異常斷電后,Oracle數據庫報錯:“system01.dbf需要更多的恢復來保持一致性,數據庫無法打開”。數據
    的頭像 發表于 09-30 13:31 ?387次閱讀
    Oracle<b class='flag-5'>數據</b>恢復—異常斷電后Oracle<b class='flag-5'>數據庫</b>啟<b class='flag-5'>庫</b>報錯的<b class='flag-5'>數據</b>恢復案例

    數據庫數據恢復—SQL Server數據庫出現823錯誤的數據恢復案例

    SQL Server數據庫故障: SQL Server附加數據庫出現錯誤823,附加數據庫失敗。數據庫沒有備份,無法通過備份恢復數據庫。
    的頭像 發表于 09-20 11:46 ?410次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—SQL Server<b class='flag-5'>數據庫</b>出現823錯誤的<b class='flag-5'>數據</b>恢復案例

    恒訊科技分析:sql數據庫怎么?

    SQL數據庫的使用通常包括以下幾個基本步驟: 1、選擇數據庫系統: 選擇適合您需求的SQL數據庫系統,如MySQL、PostgreSQL、Microsoft SQL Server、SQLite等
    的頭像 發表于 07-15 14:40 ?413次閱讀

    數據庫數據恢復—SQL Server數據庫所在分區空間不足報錯的數據恢復案例

    SQL Server數據庫數據恢復環境: 某品牌服務器存儲中有兩組raid5磁盤陣列。操作系統層面跑著SQL Server數據庫,SQL Server
    的頭像 發表于 07-10 13:54 ?579次閱讀

    鴻蒙開發接口數據管理:【@ohos.data.rdb (關系型數據庫)】

    關系型數據庫(Relational Database,RDB)是一種基于關系模型來管理數據數據庫。關系型數據庫基于SQLite
    的頭像 發表于 06-10 18:35 ?1422次閱讀

    HarmonyOS開發案例:【搭建關系型數據庫】(4)

    本節介紹如何調用關系型數據庫接口在本地搭建數據庫,并讀寫相應的用戶數據。
    的頭像 發表于 05-11 10:27 ?999次閱讀
    HarmonyOS<b class='flag-5'>開發</b>案例:【搭建關系型<b class='flag-5'>數據庫</b>】(4)

    數據庫數據恢復—raid5陣列上層Sql Server數據庫數據恢復案例

    數據庫數據恢復環境: 5塊硬盤組建一組RAID5陣列,劃分LUN供windows系統服務器使用。windows系統服務器內運行了Sql Server
    的頭像 發表于 05-08 11:43 ?580次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復—raid5陣列上層Sql Server<b class='flag-5'>數據庫</b><b class='flag-5'>數據</b>恢復案例
    大发888官网黄金版| 筹码币百家乐麻将| 波胆网站| 百家乐玩家技巧分享| 新葡京娱乐城怎么样| 百家乐投注打三断| 赌百家乐官网的下场| 黄金城百家乐手机版| 宝马会百家乐官网的玩法技巧和规则| 必博备用网址| 海立方百家乐赢钱| 网上百家乐官网赢钱公式| 大发888官方体育| 百家乐玩法和技巧| 大家旺百家乐官网娱乐城| 大发888为什么打不开| 易胜博百家乐输| 百家乐官网3带厂家地址| 互联星空棋牌中心| 做生意仓库和办公桌在家里是不是讲风水 | 澳门百家乐官网网址多少| 现金梭哈| 伟易博百家乐的玩法技巧和规则| 布加迪百家乐官网的玩法技巧和规则| 衡阳县| 太阳城| 太阳百家乐3d博彩通| 金博士百家乐官网娱乐城| 网络赌博平台| 百家乐赢一注| 百家乐网上真钱麻将| 龙岩棋牌乐| 喜力百家乐的玩法技巧和规则 | 百家乐咨询网址| 壹贰博百家乐官网娱乐城| 钻石国际娱乐| 威尼斯人娱乐城官网lm0| 太阳城百家乐娱乐开户| 赌神网百家乐官网的玩法技巧和规则 | 赌场风云剧情介绍| 大发888英皇国际|