日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

【CSDN 編者按】被稱之為基礎(chǔ)軟件三駕馬車之一的數(shù)據(jù)庫,在經(jīng)歷了層次型和網(wǎng)狀型、關(guān)系型數(shù)據(jù)型庫以及更加強大的數(shù)據(jù)管理功能等三個時期之后,其在未來的發(fā)展歷程中還有哪些更多的可能性?

基于此,卡內(nèi)基梅隆大學(xué)計算機科學(xué)系數(shù)據(jù)庫學(xué)副教授 Andy Pavlo 曾于 2015 年為 CMU 計算機科學(xué)系 50 周年慶典上寫下了自己對于數(shù)據(jù)庫未來 50 年的構(gòu)想。

在本文中,他提出了幾點:關(guān)系模型對于大多數(shù)應(yīng)用而言仍將占據(jù)主導(dǎo)地位,開發(fā)框架和數(shù)據(jù)庫管理系統(tǒng)將更加緊密地耦合在一起,從而使所有數(shù)據(jù)庫交互都透明化,SQL 仍然是與 DBMS 交互的實際語言,但人類永遠(yuǎn)都不會真正編寫 SQL,將以自然語言查詢相關(guān)數(shù)據(jù)問題,這將導(dǎo)致編程方式發(fā)生重大變化。無所不在的「物聯(lián)網(wǎng)」意味著每個設(shè)備都能收集其環(huán)境的數(shù)據(jù),對于新硬件,更靈活和可編程的處理結(jié)構(gòu)將更為普遍,人類作為數(shù)據(jù)庫管理員的角色將不復(fù)存在,DBMS 最終將完全自治和自我修復(fù),星際設(shè)備的數(shù)據(jù)庫事務(wù)將興起,最終,「我將在 50 年后去世」。

數(shù)據(jù)庫的前世今生

作者 | Andy Pavlo

譯者 | 譚開朗,責(zé)編 | 屠敏

出品 | CSDN(ID:CSDNnews)

以下為譯文:

最終,我還是從事了我曾揚言不會從事的職業(yè):成為一名教授,有自己的博客,但從不更新。我知道,距離我上次發(fā)表文章已有一年之久,我也需要給事務(wù)處理數(shù)據(jù)庫系統(tǒng)這一開放議題撰寫第三部分內(nèi)容。去年在CMU發(fā)生了很多事情,我計劃在項目更加完善后再在這里討論。預(yù)告幾點:

  1. 我們正在開發(fā)一個新的分布式DBMS;

  2. 我們正在構(gòu)建一個用于測試和基準(zhǔn)化分析的“準(zhǔn)備啟用的”大型OLTP應(yīng)用程序庫;

  3. 我們正在創(chuàng)建一個在線數(shù)據(jù)庫系統(tǒng)百科全書。

當(dāng)然,還有很多并發(fā)控制和非易失性內(nèi)存工作。毫無疑問,我的課外教授活動已經(jīng)顧不太上了。

以下是我寫的一篇文章,作為下個月CMU計算機科學(xué)系50周年慶典的一部分。我們每個教員的任務(wù)是:針對自身所在的領(lǐng)域,展望其在2065年的發(fā)展概況。所以,我的任務(wù)是概述數(shù)據(jù)庫系統(tǒng)在50年后的樣子。但是,在我展望未來之前,我首先花一些時間來討論數(shù)據(jù)庫的過去和現(xiàn)在。

1.數(shù)據(jù)庫的過去

第一個數(shù)據(jù)庫管理系統(tǒng)(DBMS)在1968年上線。IBM的IMS用于跟蹤土星5號和阿波羅太空探索項目的供應(yīng)和零部件庫存。它引入了這樣一種思想,即應(yīng)用程序的代碼應(yīng)該與它所操作的數(shù)據(jù)分離。由此支持開發(fā)人員編寫只關(guān)注數(shù)據(jù)訪問和操作的應(yīng)用程序,而不關(guān)注與執(zhí)行這些操作和確保數(shù)據(jù)安全相關(guān)的復(fù)雜性和開銷。IMS之后,在20世紀(jì)70年代早期,IBM的System R和加州大學(xué)的INGRES率先開發(fā)了第一個關(guān)系型DBMS。

第一批系統(tǒng)的數(shù)據(jù)庫工作負(fù)載沒有今天那么復(fù)雜和多樣化。在這些早期的應(yīng)用程序中,操作員通過終端啟動事務(wù),然后手動向系統(tǒng)輸入新數(shù)據(jù)。此時,DBMS的預(yù)期峰值吞吐量僅為每秒數(shù)十到數(shù)百個事務(wù),響應(yīng)時間以秒為單位度量。這些早期DBMS的體系結(jié)構(gòu)也基于當(dāng)時流行的計算硬件。它們通常部署在只有一個CPU核心和少量主內(nèi)存的計算機上。對于這些系統(tǒng)來說,磁盤是數(shù)據(jù)庫的主要存儲位置,因為磁盤能夠存儲比內(nèi)存更大的數(shù)據(jù),而且成本更低。

2.數(shù)據(jù)庫的現(xiàn)在

盡管在50年后,我們使用數(shù)據(jù)庫的方式發(fā)生了很大的變化,關(guān)系模型和SQL仍然是組織數(shù)據(jù)庫并與之交互的主要方式。許多互聯(lián)網(wǎng)應(yīng)用程序需要每秒支持?jǐn)?shù)十萬甚至數(shù)百萬個事務(wù),每個事務(wù)的處理延遲以毫秒為單位。這是因為它們同時與數(shù)百萬用戶和其他計算機系統(tǒng)相連。現(xiàn)在,企業(yè)和組織能夠從這些應(yīng)用程序中收集大量的數(shù)據(jù),他們希望分析這些數(shù)據(jù)來推斷新的信息,以指導(dǎo)他們的決策。基于此,近年來我們看到了針對特定應(yīng)用場景的專門系統(tǒng)的興起,這些應(yīng)用場景的性能比基于1970年代架構(gòu)的通用DBMS要好得多。現(xiàn)在有一些DBMS旨在為聯(lián)機事務(wù)處理(OLTP)應(yīng)用程序快速獲取新信息,還有一些DBMS旨在為復(fù)雜的聯(lián)機分析處理(OLAP)程序存儲大量數(shù)據(jù)。

這些較新的DBMS還利用了近年來出現(xiàn)的三種主要硬件趨勢。首先是大內(nèi)存計算機的出現(xiàn),這使得現(xiàn)在可以部署少量的機器,這些機器有足夠的DRAM來存儲除了最大的OLTP數(shù)據(jù)庫之外的所有數(shù)據(jù)。將數(shù)據(jù)存儲在內(nèi)存中可以確保DBMS能夠以較低的延遲同時處理許多事務(wù)。根據(jù)我們的經(jīng)驗,用于現(xiàn)代OLTP應(yīng)用程序的數(shù)據(jù)庫的大小通常為幾百GB。與OLAP數(shù)據(jù)倉庫相比,DBMS可以管理幾個PB大小的數(shù)據(jù)庫。這是因為OLTP數(shù)據(jù)庫存儲應(yīng)用程序的當(dāng)前狀態(tài)(例如,最近90天的訂單),而OLAP數(shù)據(jù)庫存儲組織的所有歷史信息(例如,所有下過的訂單)。因此,OLAP DBMS仍然主要存儲在磁盤上,并使用一些優(yōu)化,如壓縮或柱狀存儲,以克服它們較長的訪問時間。

第二個硬件趨勢是從提高單核CPU時鐘速度到多核CPU的轉(zhuǎn)變。時鐘頻率已保持了幾十年的增長,但現(xiàn)在增長已經(jīng)停止,因為硬功率限制和復(fù)雜性的問題。復(fù)雜的、無序的、超標(biāo)量的處理器正在被簡單的、有序的、單問題核心所取代。在DBMS中利用這種增加的并行性是很困難的,因為協(xié)調(diào)數(shù)百個線程的共享數(shù)據(jù)的訪問非常復(fù)雜。現(xiàn)代DBMS使用低開銷并發(fā)控制和其他無鎖技術(shù)來提高系統(tǒng)的可伸縮性。

第三個趨勢是商品硬件的成本降低。這在云計算平臺中尤為明顯。現(xiàn)在可以部署一個大型集群,其處理和存儲能力只相當(dāng)于十年前的一小部分。這種變化與1980-1990年代相比,過去十年中沒有共享的DBMS的數(shù)量在不斷增加。

盡管取得了這些進(jìn)展,但仍然存在一些重大問題,由此阻礙了許多人部署數(shù)據(jù)密集型應(yīng)用程序。所有這些的一個主要主題是,數(shù)據(jù)庫仍然是計算系統(tǒng)(例如,部署、配置、管理)的人工密集型組件。使用兩個獨立的DBMS分離OLTP和OLAP工作負(fù)載,以避免其中一個工作負(fù)載減慢另一個工作負(fù)載的速度,但是它需要額外的進(jìn)程來將數(shù)據(jù)從系統(tǒng)傳輸?shù)搅硪粋€工作負(fù)載。除此之外,調(diào)優(yōu)DBMS以獲得特定應(yīng)用程序的最佳性能是出了名的困難。許多組織求助于雇傭?qū)<襾頌轭A(yù)期的工作量配置系統(tǒng)。但是,隨著數(shù)據(jù)庫的規(guī)模和復(fù)雜性的增長,優(yōu)化DBMS以滿足這些應(yīng)用程序的需求已經(jīng)超出了人類的能力。

3.數(shù)據(jù)庫的未來

在接下來的50年里,就像之前一樣,我們將看到數(shù)據(jù)庫領(lǐng)域的重大變化。除了存儲的數(shù)據(jù)量和速度明顯增大之外,數(shù)據(jù)庫在應(yīng)用程序中的使用方式以及它們所部署的硬件類型也將發(fā)生重大變化。很難預(yù)測該領(lǐng)域的主要范式轉(zhuǎn)變是什么,預(yù)測哪些數(shù)據(jù)庫公司和產(chǎn)品仍然可用也是不現(xiàn)實的。因此,我發(fā)表一下對幾個廣泛主題的看法。

關(guān)系模型仍將主導(dǎo)大多數(shù)應(yīng)用程序,但開發(fā)人員將不再需要過于擔(dān)心其應(yīng)用程序使用的數(shù)據(jù)模型。編程框架和DBMS之間的耦合將更加緊密,這樣所有的數(shù)據(jù)庫交互都將是透明的(并且是最佳的)。同樣,SQL(或它的某種方言)將仍然是與DBMS交互的實際語言,但人類真實上永遠(yuǎn)不會編寫SQL。相反,他們會用自然語言詢問有關(guān)數(shù)據(jù)的問題。這些變化將導(dǎo)致我們編寫程序的方式發(fā)生重大轉(zhuǎn)變;開發(fā)人員以一種最容易被人類理解的方式對其數(shù)據(jù)進(jìn)行建模,然后框架(與DBMS一起)將自動為其生成最佳存儲方案。所有程序都將使用強一致的ACID事務(wù)執(zhí)行。也就是說,在當(dāng)今基于Web的應(yīng)用程序中使用的最終一致性方法將避免增加管理的復(fù)雜性。在網(wǎng)絡(luò)通信、并發(fā)控制和資源管理方面將會有重大的改進(jìn),這將使用ACID事務(wù)變得更好并具有可伸縮性。

將來會有越來越多的應(yīng)用程序更自然地將數(shù)據(jù)存儲在數(shù)組或矩陣中。這是因為組織需要分析大量的非結(jié)構(gòu)化信息,尤其是視頻。我們將掌握將所有非結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)換成半結(jié)構(gòu)化格式的能力,這種格式在DBMS中更容易組織和索引。作為其中的一部分,時效性也將變得重要,因為它關(guān)系到信息如何隨時間的變化。目前的系統(tǒng)無法解釋這一點,因為在一個時間序列中存儲提取的每個視頻幀的信息的開銷很大。

無處不在的“物聯(lián)網(wǎng)”將意味著每臺設(shè)備都能夠收集有關(guān)其環(huán)境的數(shù)據(jù)。這將包括從小型嵌入式傳感器到大型自主機器人。小型設(shè)備將使用片上DBMS,就像手機現(xiàn)在包含片上視頻解碼器一樣。所有這些系統(tǒng)的數(shù)據(jù)庫將完全可以通過一些標(biāo)準(zhǔn)API(可能是SQL)進(jìn)行組合和簡易的聯(lián)合。這意味著DBMS將以零配置彼此通信。你只需將兩個DBMS相互指向?qū)Ψ剑鼈兙蜁⒓磦鬟f它們的信息,并確保它們是同步的。某些管理器服務(wù)將能夠根據(jù)需要跨設(shè)備分發(fā)查詢執(zhí)行。人們將不需要手動配置提取-轉(zhuǎn)換-加載實用程序或其他工具來保持不同系統(tǒng)上的數(shù)據(jù)一致。以這種方式使所有不同的DBMS可組合和可互操作將是一項重要的工程工作。因此,將會有一個使用人工智能或機器學(xué)習(xí)的工具包來自動地將不同的DBMS變體映射到彼此以進(jìn)行相同的操作。

對于新的硬件,更靈活和可編程的制程將更普遍。DBMS將把程序的關(guān)鍵部分(例如鎖管理器)編譯到一個硬件加速器中。我們還將看到易失性和非易失性內(nèi)存之間的二分法的消失。DBMS將假定所有內(nèi)存都是快速和持久的,不需要維護(hù)變化無常的緩存。這種新存儲器將比今天可用的存儲器大幾個數(shù)量級。因此,DBMS將在預(yù)先計算的物化視圖中存儲其數(shù)據(jù)的多個副本,以便快速響應(yīng)任何可能的查詢。

數(shù)據(jù)庫管理員的角色將不復(fù)存在。這些未來的系統(tǒng)太復(fù)雜了,人類無法推理。DBMS最終將完全自治和自修復(fù)。同樣,編程框架和DBMS之間的緊密耦合將支持系統(tǒng)在組織數(shù)據(jù)、提供資源和優(yōu)化執(zhí)行方面做出比人工生成計劃更好的決策。

我們將看到星際設(shè)備(如太空探測器)數(shù)據(jù)庫事務(wù)的增長。在這種情況下,在這些容器上運行的DBMS彼此之間的距離將比在地球上運行的系統(tǒng)要遠(yuǎn)得多,并且會導(dǎo)致明顯較長的延遲(即延遲時間,分鐘或小時)。這意味著在今天基于web的應(yīng)用程序中使用的弱一致性技術(shù)和實踐將被應(yīng)用到這些星際系統(tǒng)中。

最后的最后,50年后我也已離開人世了吧。

原文:https://dev.to/seattledataguy/the-interview-study-guide-for-software-engineers-764

本文為 CSDN 翻譯,轉(zhuǎn)載請注明來源出處。

【End】

分享到:
標(biāo)簽:數(shù)據(jù)庫
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運動步數(shù)有氧達(dá)人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定