亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

為什么我還不推薦內存中OLTP給用戶

2024-07-21 02:46:06
字體:
來源:轉載
供稿:網友
為什么我還不推薦內存中OLTP給用戶

嗯,有些人在看玩這篇文章后會恨我,但我還是要說。1個月來我在內存中OLTP這個里領域里做了大量的工作,很多用戶都請求使用這個驚艷的新技術。遺憾的是,關于內存中OLTP沒有一個是真的令人激動的——看完你就知道了。

內存中OLTP有問題么?

沒有!真的!我喜歡這個驚艷的新技術,但我還不能推薦它給任何用戶。就這樣!很有用戶現在還運行在SQL Server 2008(R2)上,他們就想遷移到SQL Server 2014上。這個驚艷新技術給他們100倍的吞吐量提升。因此讓我們來用它吧!遺憾的是并不簡單。

很多人都問對于他們的工作量和環境,切換到SQL Server 2014是否有意義?;谖业慕ㄗh,他們會做出持續至少5年的決定。因此這里我有巨大的責任。我要確保不會建議不能100%融入他們環境的技術。遺憾的是內存中OLTP不能融入99%的所有環境。

因此內存中OLTP有問題么,是什么我還不能推薦它給用戶呢?我們開始分析……

沒有外鍵

當微軟首次向公眾展示內存中OLTP時,它是很驚艷的:你切換開關,然后你的工作吞吐量就會快100倍。你只記住了立即走向右手邊的針,不是么?但事實完全不一樣。假設你有一個現存的數據庫,你想要移動它的一些表到內存中OLTP。

這是不行的,因為內存中OLTP當前不支持外鍵(foreign keys)。非常希望你的數據庫設計有引用完整性(referential integrity)。如果不是的話,請回到數據庫基礎設計,了解下引用完整性。這已是很多用戶已經經歷的最常見中斷切換之一。他們喜歡遷移一些表到內存中OLTP,但他們不喜歡用它來丟失他們的引用完整性……

不能修改數據庫架構

現在假設你同意在自己的表上不使用外鍵,你已經遷移它們到內存中OLTP。到目前還好。在你的內存優化表上如何處理架構修改呢?任何ALTER TABLE語句不被支持,你不能稍后創建任何額外可能需要的索引(哈?;蚍秶饕?。當創建1個哈希索引,在表創建期間,你需要指定桶數。

這意味著你需要保護你的數據增長,還有隨著時間過去你的數據如何改變。當你以后想要修改你的哈希桶數,因為你已意識到你有大量的哈希碰撞,你必須刪掉你的內存優化表,然后再次重建。同時你如何處理你的數據?你必須轉移它到另一個表,這樣的話你不會丟失數據。這時你把數據存在哪里呢?用戶如果這時還要訪問這些數據怎么辦?有很多的問題,但沒有真正有用的答案……

沒有執行計劃

好,現在你用內存優化表很好,現在你想使用存儲過程的本地編譯功能。哇哦,現在好戲才開始!本地編譯存儲過程真的,真的非??欤驗槟阌帽镜貦C器碼執行——C代碼編譯成匯編指令!太棒了!但是在查詢執行期間是沒有執行計劃的,因為你只執行匯指令,不再執行那些傳統緩慢解釋后的執行計劃。

當你執行遇到問題時,你怎么辦?你不能看實際執行計劃來認出問題。SQL Server只提供你估計計劃,但估計計劃不告訴你任何真實信息。它只是個估計,沒別的。你真的想鉆研生成的C代碼來找出為什么本地編譯存儲過程這么慢?我不這么認為。

沒有重編譯

除了沒有實際執行計劃外,也沒有重編譯。但你的數據分布改變時,你還是用同樣編譯的執行計劃。在執行期間本地編譯存儲過程不能重編譯。我說過,在運行期間你只執行匯編指令——它們不能被重編譯。

你如何擺脫這個問題?刪除并重建你的存儲過程,因為ALTER PROCEDURE語句不被支持。當你刪除你的存儲過程,你也會丟失所有授予的安全許可。你真的想丟失它們?另外,你的本地編譯存儲過程必須用SCHEMABINDING創建。因此當你已經刪除存儲過程本身時,你才可以刪除你的內存優化表(例如,當你想修改哈希桶數時)。偶滴神啊……

本地編譯的業務邏輯

這是我喜歡之一:在用本地編譯的存儲過程里運行復雜的CPU密集的業務邏輯。哇噢,我喜歡你有的那個大錢包!在SQL Server里運行復雜的CPU密集的業務邏輯是你可以有的最昂貴想法之一。在企業版SQL Server里,SQL Server是以每核心7000刀授權。因為我不想在SQL Server里運行任何CPU密集的工作!那一點也不經濟。當然從微軟角度來說這個很有意義。

如果在SQL Server里你有一些復雜CPU密集的業務邏輯,把它移到應用服務器(例如,Web服務器),因為1個應用服務器授權是完全不同的——非常便宜。你主要會有架構問題,沒別的。我從不在SQL Server內部運行業務邏輯。

“對于每個人,640K應該足夠了”

哈哈,那是我計算機發展史里最喜歡的名言之一。遺憾的是他說錯了,當你看這篇文章時,看看用的電腦硬件時就會發現。當你使用內存中OLTP時,你需要大量的內存。微軟建議內存大小為你內存優化表大小的2倍,例如對于150GB大小的表,你需要300GB的內存。另外的內存用做內存中OLTP內存使用的行版本控制?,F在假設下,當你刪除你的表,同時你想轉移數據到另一個內存優化表:在這個情況下你應該有近600GB的內存!準備好了么?

關于OLTP

人們會問我,為什么我對這個驚艷的新技術如此否定。不是的,我并非否定,我只想告訴你事情的2面性,這樣的話你可以做出正確的決定。

另外一些人告訴我內存中OLTP如此酷,因為它可以用作ETL過程里的分段表(staging table),并且我們不需要SQL Server里的臨時表。哎呦!我們在慢慢拼寫下這個技術的名稱——非常慢:內存中O-L-T-P!它是關于OLTP——在線事務處理(Online Transaction Processing)。當然在其它場景也可以使用,但主焦點應該是OLTP場景!好好考慮下它。如果你當前有臨時表的問題,那就在工作量上下文章,嘗試在你臨時表上減少工作量的壓力。在性能調優里我經常提到:我們的終極目標是解決潛在的問題根源,不是為它創建一個解決方案。(例如當你看到CXPACKET等待時,設置MAXDOP為1即可)

小結

內存中OLTP是個驚艷的新技術。但目前只實現了雛形。有太多的限制剛好阻止了大量人們在生產環境中使用它。在這篇文章里我已經概括了這些限制中的部分,這樣的話你就可以重新考慮下是否想把內存中OLTP引入你的特定場景。

我很期待在SQL Server里的下個版本再次討論這個話題,在一個圖表里剔除那些無關的條目,因為微軟已經移除了這些限制。這個驚艷技術還是由微軟來決定往前發展的!

感謝關注!

原文鏈接:https://www.sqlpassion.at/archive/2015/03/11/dont-yet-recommend-memory-oltp-customers/


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久香蕉国产线看观看av| 国产亚洲精品一区二区| 国产精品成人国产乱一区| 欧美在线精品免播放器视频| 米奇精品一区二区三区在线观看| 亚洲精品网址在线观看| 92版电视剧仙鹤神针在线观看| 成人福利免费观看| 精品二区三区线观看| 亚洲社区在线观看| 日韩中文字幕亚洲| 国产精品极品在线| 国产中文日韩欧美| 欧美专区日韩视频| 亚洲精品福利在线观看| 亚洲午夜女主播在线直播| 久久视频国产精品免费视频在线| 日韩a**站在线观看| 亚洲综合中文字幕在线观看| 国产精品r级在线| 欧美一区二粉嫩精品国产一线天| 欧美电影免费观看电视剧大全| 日韩av一区二区在线| 欧美久久精品一级黑人c片| 欧美激情手机在线视频| 7m精品福利视频导航| 久久久精品影院| 91精品久久久久久久久久久久久| 国产91对白在线播放| 亚洲精品乱码久久久久久金桔影视| 亚洲男人天堂九九视频| 国产日本欧美在线观看| 国产成人a亚洲精品| 亚洲欧美日韩网| 久久综合久久美利坚合众国| 色综合色综合网色综合| 亚洲香蕉成视频在线观看| 国产日韩欧美另类| 亚洲a级在线观看| 久久久精品中文字幕| 亚洲欧美日韩中文视频| 91香蕉嫩草神马影院在线观看| 91网站在线免费观看| 中文字幕少妇一区二区三区| 91久久国产婷婷一区二区| 欧美福利在线观看| 久久精品最新地址| 国产欧美日韩中文字幕在线| 国内精品久久久久久影视8| 国产精品1234| 亚洲影院污污.| 欧美综合在线第二页| 国产精品久久久久久av下载红粉| 亚洲一区二区三区xxx视频| 日韩精品极品视频| 一本色道久久88综合日韩精品| 日韩av免费在线观看| 黑人巨大精品欧美一区免费视频| 久久人91精品久久久久久不卡| 亚洲美女动态图120秒| 97视频在线观看成人| 久久九九有精品国产23| 国产精品999| 日韩av网站大全| 久久91亚洲精品中文字幕| 欧美在线视频在线播放完整版免费观看| 亚洲aa在线观看| 色偷偷噜噜噜亚洲男人| 亚洲国产精品女人久久久| 亚洲精品成人久久电影| 伊人激情综合网| 欧美精品久久久久久久免费观看| 国产精品狠色婷| 国产精品精品国产| 欧美制服第一页| 九九精品在线视频| 久久久人成影片一区二区三区| 欧美最顶级的aⅴ艳星| 日韩成人在线视频网站| 久久精品视频在线观看| 久久天天躁狠狠躁夜夜躁2014| 日韩在线观看免费高清完整版| 国产精品主播视频| 日本午夜在线亚洲.国产| 亲爱的老师9免费观看全集电视剧| 亚洲白拍色综合图区| 自拍偷拍亚洲区| 九九九热精品免费视频观看网站| 国产午夜精品一区二区三区| 欧美人与性动交a欧美精品| 久久久久久国产精品三级玉女聊斋| 国产精品久久在线观看| 亚洲国模精品私拍| 日韩一级黄色av| 国产精品视频免费观看www| 欧美黄色www| 国产在线视频一区| 大胆欧美人体视频| 91国产精品视频在线| 国产精品视频专区| 亚洲人线精品午夜| 九九久久国产精品| 久久99视频精品| 成人a视频在线观看| 亚洲春色另类小说| 成人中文字幕在线观看| 在线精品高清中文字幕| 色狠狠av一区二区三区香蕉蜜桃| 国产欧亚日韩视频| 精品国产乱码久久久久久虫虫漫画| 亚洲电影在线看| 日韩小视频在线观看| 日韩中文有码在线视频| 日韩av在线一区二区| 久久久免费av| 国产精品啪视频| 午夜精品久久久久久99热软件| 色天天综合狠狠色| 尤物精品国产第一福利三区| 国产精品亚洲第一区| 国产成人av网| 热久久免费国产视频| 成人h视频在线观看播放| 亚州欧美日韩中文视频| 国产va免费精品高清在线观看| 国产精品久久一区主播| 国产欧美在线视频| 国产日韩欧美在线| 4438全国亚洲精品在线观看视频| 大伊人狠狠躁夜夜躁av一区| 国产激情久久久久| 在线观看欧美日韩| 亚洲乱码一区二区| 成人在线视频网| 亚洲在线观看视频网站| 精品一区二区三区四区| 欧美wwwwww| 日韩中文字幕亚洲| 亚洲国产毛片完整版| 中文字幕亚洲无线码a| 欧美高清视频免费观看| 亚洲国产欧美一区二区三区同亚洲| 日本人成精品视频在线| 中文字幕国产日韩| 日韩电影视频免费| 成人性教育视频在线观看| 亚洲自拍偷拍网址| 欧美日韩亚洲网| 成人免费直播live| 欧美日韩国产中文精品字幕自在自线| 亚洲网站视频福利| 欧美日韩国产成人在线| 成人激情在线播放| 亚洲三级 欧美三级| 4p变态网欧美系列| 欧美大荫蒂xxx| 欧美视频不卡中文| 国产精品私拍pans大尺度在线| 精品国产一区二区三区久久狼5月| 97在线精品国自产拍中文| 日韩免费观看av| 久久精品99无色码中文字幕| 51ⅴ精品国产91久久久久久| 国内精品模特av私拍在线观看|