WEBVTT

00:00:00.000 --> 00:00:01.830
• SQL 伺服器 2019 提供

00:00:01.830 --> 00:00:04.995
Linux 的新功能稱為
持久日誌緩衝區。

00:00:04.995 --> 00:00:06.960
它以前可用於 Windows，

00:00:06.960 --> 00:00:08.385
現在在Linux上也是如此，

00:00:08.385 --> 00:00:10.740
它可以説明你消除
瓶頸，可能

00:00:10.740 --> 00:00:14.130
在等待日誌時發生
緩衝兩個刷新到光碟。

00:00:14.130 --> 00:00:18.300
布賴恩是來告訴我們的
關於它今天的資料暴露。

00:00:18.300 --> 00:00:29.040
[音樂]

00:00:29.040 --> 00:00:32.115
• 嗨，歡迎來到另一個
一集資料暴露。

00:00:32.115 --> 00:00:35.220
我是你的東道主傑琳
今天我有布賴恩與我

00:00:35.220 --> 00:00:38.460
談論持久
SQL 2019 中的日誌緩衝區。

00:00:38.460 --> 00:00:40.230
好，布萊恩，歡迎參加演出。

00:00:40.230 --> 00:00:42.195
嗨，傑琳謝謝。

00:00:42.195 --> 00:00:46.045
那我們要談什麼
關於持久長緩衝區？

00:00:46.045 --> 00:00:47.160
* 是。所以-

00:00:47.160 --> 00:00:47.685
那是什麼？

00:00:47.685 --> 00:00:50.400
* 因此持久日誌
緩衝區是其中一個

00:00:50.400 --> 00:00:53.325
我們稱之為記憶體中
資料庫功能系列，

00:00:53.325 --> 00:00:55.965
包括記憶體中 OLTP，

00:00:55.965 --> 00:00:59.265
持久日誌緩衝區
我今天要演示

00:00:59.265 --> 00:01:01.845
有時被稱為日誌緩存的尾部，

00:01:01.845 --> 00:01:05.040
a 資料和日誌檔
Linux的啟示，

00:01:05.040 --> 00:01:07.470
混合緩衝集區
Linux 和 Windows，

00:01:07.470 --> 00:01:09.870
和記憶體優化臨時DB中繼資料。

00:01:09.870 --> 00:01:11.370
"好的。酷。

00:01:11.370 --> 00:01:17.195
* 所以我快速提及
關於持久記憶體設備。

00:01:17.195 --> 00:01:19.550
很多人沒有
看到他們，但基本上

00:01:19.550 --> 00:01:21.730
這些都是週期性DIMM，你

00:01:21.730 --> 00:01:26.275
饋入您的伺服器，
以不同的能力出現。

00:01:26.275 --> 00:01:30.545
MVDIMM-N 是一種類型的
持久記憶體技術，

00:01:30.545 --> 00:01:34.325
來一個8，16，或32
千兆 DIMM 容量，

00:01:34.325 --> 00:01:36.980
然後最新的英特爾獲得

00:01:36.980 --> 00:01:41.150
DC 持久記憶體進來
更高的容量的128，

00:01:41.150 --> 00:01:44.810
256 GB 或 512 GB DIMM。

00:01:44.810 --> 00:01:46.820
* 這是所有
持久記憶體。哇。

00:01:46.820 --> 00:01:48.060
* 是。所以你可以

00:01:48.060 --> 00:01:49.290
在內特通訊端伺服器上，

00:01:49.290 --> 00:01:52.370
您最多支援 24
TB 的持久記憶體。

00:01:52.370 --> 00:01:53.750
• 我可以解鎖所有

00:01:53.750 --> 00:01:55.970
與這個持久
日誌緩衝區，對不對？

00:01:55.970 --> 00:01:56.570
• 正確。

00:01:56.570 --> 00:01:57.680
• 哇。

00:01:57.680 --> 00:02:00.110
• 持久日誌
緩衝區旨在

00:02:00.110 --> 00:02:02.075
解決特定的用例

00:02:02.075 --> 00:02:07.400
出現減速的地方
或等待您的工作負載，

00:02:07.400 --> 00:02:12.385
等待日誌緩衝區，
在記憶體中以刷新到磁片。

00:02:12.385 --> 00:02:13.005
"好的。

00:02:13.005 --> 00:02:16.114
• 因此，它使用
持久記憶體設備

00:02:16.114 --> 00:02:19.355
它知道，一旦它
寫入該設備，

00:02:19.355 --> 00:02:21.650
它不需要
等待刷新

00:02:21.650 --> 00:02:24.270
因為它已經
持久性設備。

00:02:24.270 --> 00:02:26.195
• 然後設備將
照顧其餘的。

00:02:26.195 --> 00:02:28.835
• 是，設備將
然後照顧其餘的

00:02:28.835 --> 00:02:31.730
而你進行基本上
與你的工作負荷。

00:02:31.730 --> 00:02:32.180
* 是的。

00:02:32.180 --> 00:02:35.585
• 因此，當您設置
Windows 中的這些設備，

00:02:35.585 --> 00:02:41.600
我們有一些基本的建議
你把頁面鎖在記憶體中

00:02:41.600 --> 00:02:44.150
你使用兩百萬位元組
分配單位大小

00:02:44.150 --> 00:02:46.760
NTFS 不會預設。

00:02:46.760 --> 00:02:47.180
"好的。

00:02:47.180 --> 00:02:49.715
• 您還需要
設置此標誌 DAX。

00:02:49.715 --> 00:02:51.920
因此，DAX 是真正使我們能夠

00:02:51.920 --> 00:02:55.280
處理持久記憶體
設備並寫入它

00:02:55.280 --> 00:02:57.260
直接跳過所有

00:02:57.260 --> 00:02:59.795
內核堆疊，

00:02:59.795 --> 00:03:03.090
你通常需要
處理檔時。

00:03:03.090 --> 00:03:05.145
在 GUI 中不可用，

00:03:05.145 --> 00:03:07.250
所以你需要使用
一些電源外殼。

00:03:07.250 --> 00:03:09.560
"好的。好吧。您將
告訴我們這是如何運作的，對嗎？

00:03:09.560 --> 00:03:13.325
* 是。我將展示如何
這些得到配置。

00:03:13.325 --> 00:03:16.430
還有一些您的作業系統級別
光碟計數器，你

00:03:16.430 --> 00:03:19.510
可能習慣于看像
這些轉移等等，

00:03:19.510 --> 00:03:21.830
可能無法

00:03:21.830 --> 00:03:24.200
當你與
持久記憶體設備。

00:03:24.200 --> 00:03:28.865
這只是其中一件事
你需要注意。

00:03:28.865 --> 00:03:29.330
* 當然可以。

00:03:29.330 --> 00:03:33.575
• 這些是新設備，並且
是非常全新的令人興奮的策略。

00:03:33.575 --> 00:03:33.935
"好的。

00:03:33.935 --> 00:03:37.565
* 所以可能會有一些捕捉
到監視端執行。

00:03:37.565 --> 00:03:38.245
* 當然可以。

00:03:38.245 --> 00:03:42.580
• 對於 Linux，非易失性
設備控制

00:03:42.580 --> 00:03:45.110
是實用程式，你
用於配置此。

00:03:45.110 --> 00:03:47.840
您將將其設置為 fsdax 模式，

00:03:47.840 --> 00:03:50.795
使用兩百萬位元組的巨大分頁錯誤，

00:03:50.795 --> 00:03:53.555
設置塊分配
也到兩百萬位元組。

00:03:53.555 --> 00:03:56.180
我們支援 XFS 或 EXT

00:03:56.180 --> 00:04:00.620
因為這些是兩個支援
具有 DAX 的檔案系統。

00:04:00.620 --> 00:04:01.295
"好的。

00:04:01.295 --> 00:04:03.050
* 因此，持久日誌緩衝區，

00:04:03.050 --> 00:04:05.585
這已經可用
實際上在 SQL 中，因為

00:04:05.585 --> 00:04:10.140
SQL 2016 僅適用于 Windows 直到現在。

00:04:10.140 --> 00:04:12.470
使用 SQL 2019，我們還將有

00:04:12.470 --> 00:04:15.875
此功能現已可用
在Linux和Windows中。

00:04:15.875 --> 00:04:18.590
只使用非常小
容量量，

00:04:18.590 --> 00:04:21.720
日誌緩衝區只有 20
每個使用者資料庫的百萬位元組。

00:04:21.720 --> 00:04:22.355
"好的。

00:04:22.355 --> 00:04:26.330
* 所以它真的不需要
巨大的容量，

00:04:26.330 --> 00:04:28.850
和你得到的行為是非常

00:04:28.850 --> 00:04:31.250
類似于強迫
延遲耐久性。

00:04:31.250 --> 00:04:31.910
"好的。

00:04:31.910 --> 00:04:34.040
* 所以，你並沒有等待

00:04:34.040 --> 00:04:36.890
日誌刷新發生在磁片

00:04:36.890 --> 00:04:40.040
但鼓勵沒有風險，

00:04:40.040 --> 00:04:43.235
你採取什麼被迫延遲
資料丟失的耐用性。

00:04:43.235 --> 00:04:45.290
* 所以，你能告訴我們一個
多一點關於

00:04:45.290 --> 00:04:47.550
強制延遲耐久性
對於那些是

00:04:47.550 --> 00:04:48.615
* 當然，對於那些

00:04:48.615 --> 00:04:49.425
* - 不知道嗎？

00:04:49.425 --> 00:04:52.095
* 是。對於那些誰
不熟悉，

00:04:52.095 --> 00:04:53.840
這本質上是

00:04:53.840 --> 00:04:57.260
非同步提交
SQL Server 中的機制。

00:04:57.260 --> 00:04:57.710
"好的。

00:04:57.710 --> 00:05:01.280
* 所以有一對夫婦
做它的方法。

00:05:01.280 --> 00:05:03.740
允許一個，在這種情況下

00:05:03.740 --> 00:05:07.190
您的正常提交
如你所料，

00:05:07.190 --> 00:05:08.270
你等待沖洗，

00:05:08.270 --> 00:05:10.455
等待它們在光碟上硬化，

00:05:10.455 --> 00:05:15.440
或在強制模式下，所有
提交的行為是這樣的。

00:05:15.440 --> 00:05:16.000
"好的。

00:05:16.000 --> 00:05:19.220
• 所以允許進入
您指定每

00:05:19.220 --> 00:05:22.880
提交基礎，如果你想這個
行為，這是允許的，

00:05:22.880 --> 00:05:24.935
不允許，這是預設

00:05:24.935 --> 00:05:27.425
不管你有什麼
那裡不會發生。

00:05:27.425 --> 00:05:27.905
* 當然可以。

00:05:27.905 --> 00:05:30.170
• 然後強制所有
提交的行為方式。

00:05:30.170 --> 00:05:32.285
"好的。因此，在一個持久的
低水準是非常

00:05:32.285 --> 00:05:34.890
相似，但不完全相同。

00:05:34.890 --> 00:05:37.215
* 非常相似，但
不完全一樣，

00:05:37.215 --> 00:05:39.845
因為我們有
持久記憶體設備，

00:05:39.845 --> 00:05:42.965
我們把日誌緩衝區放在那兒

00:05:42.965 --> 00:05:46.640
一旦我們寫在那裡，我們知道
它堅持，我們

00:05:46.640 --> 00:05:50.360
沒有任何資料丟失的風險
在發生伺服器崩潰時，

00:05:50.360 --> 00:05:53.000
電源故障，任何
性質，

00:05:53.000 --> 00:05:56.570
我們可以從資料中恢復
持久記憶體設備。

00:05:56.570 --> 00:05:57.920
"好的。酷。

00:05:57.920 --> 00:06:00.230
• 這實際上很簡單。

00:06:00.230 --> 00:06:01.640
很多人沒有意識到

00:06:01.640 --> 00:06:04.355
您只需添加一個日誌檔

00:06:04.355 --> 00:06:07.580
20 百萬位元組的
持久記憶體設備，

00:06:07.580 --> 00:06:10.370
SQL 伺服器將
識別此設備，

00:06:10.370 --> 00:06:13.265
並將其視為日誌緩衝區。

00:06:13.265 --> 00:06:14.405
• 非常簡單

00:06:14.405 --> 00:06:15.665
真的這麼簡單。

00:06:15.665 --> 00:06:16.205
• 哇。

00:06:16.205 --> 00:06:19.550
* 是的，正如我們可以看到的
這裡是日誌緩衝區坐上

00:06:19.550 --> 00:06:23.090
我們的存儲類記憶體
這是PMM有時

00:06:23.090 --> 00:06:26.480
我們稱之為存儲類
記憶體和在一些地方

00:06:26.480 --> 00:06:30.405
但同樣的事情和我們
日誌記錄在那裡，

00:06:30.405 --> 00:06:31.950
正如我所提到的

00:06:31.950 --> 00:06:33.200
我們不必等待
為他們通過

00:06:33.200 --> 00:06:36.365
刷新到主
事務日誌檔。

00:06:36.365 --> 00:06:37.010
• 冷卻。

00:06:37.010 --> 00:06:41.875
* 所以我只是切換
快速到我的演示在這裡。

00:06:41.875 --> 00:06:42.990
* 是的。

00:06:42.990 --> 00:06:46.280
* 首先，我只是顯示
我們已經配置

00:06:46.280 --> 00:06:49.310
在這裡，我們的持久記憶體設備。

00:06:49.310 --> 00:06:50.945
正如我提到的，這些
是常規的 DIMM，

00:06:50.945 --> 00:06:53.180
你可以看到那裡的設備設備設備。

00:06:53.180 --> 00:06:56.405
我們配置了兩個
每個 NUMA 節點一個設備。

00:06:56.405 --> 00:06:56.855
"好的。

00:06:56.855 --> 00:07:01.565
• 跨設備交錯
在 NUMA 節點上的 DIMM。

00:07:01.565 --> 00:07:05.330
因此，這是推薦的
的方式，我們說設置它。

00:07:05.330 --> 00:07:06.410
"好的。

00:07:06.410 --> 00:07:08.950
* 再次，我們可以看到

00:07:08.950 --> 00:07:12.920
我們的 DAX 值已啟用
這裡設置成真，

00:07:12.920 --> 00:07:17.464
如果我們想使用我們的老
命令列類型實用程式，

00:07:17.464 --> 00:07:21.830
我們可以得到那一點點
位更多資訊在這裡，我們可以

00:07:21.830 --> 00:07:26.450
看到我們已經設置了分配
單位大小為兩百萬位元組。

00:07:26.450 --> 00:07:28.640
* 如你剛才所述。
應該是，是的。

00:07:28.640 --> 00:07:31.505
* 是的。因為我只是
描述和相當

00:07:31.505 --> 00:07:36.185
簡單，我們只是添加
日誌檔，正如我提到的，

00:07:36.185 --> 00:07:38.205
我們只是創建和

00:07:38.205 --> 00:07:40.700
無論您大小
把它放在這裡，我們實際上會

00:07:40.700 --> 00:07:42.860
集成使用 20 MB

00:07:42.860 --> 00:07:46.025
但只要繼續前進，
假設 20 百萬位元組的坐。

00:07:46.025 --> 00:07:47.975
* 是的。只是為了確定。

00:07:47.975 --> 00:07:50.960
是的，真的很簡單。

00:07:50.960 --> 00:07:52.550
• 哇。好吧。

00:07:52.550 --> 00:07:54.200
所以，這是令人印象深刻的。

00:07:54.200 --> 00:07:56.900
所以基本上我可以解鎖
所有這些新技術

00:07:56.900 --> 00:07:58.580
一個持久性日誌緩衝區，只需

00:07:58.580 --> 00:08:00.650
運行非常簡單的命令，對不對？

00:08:00.650 --> 00:08:01.055
* 是的。

00:08:01.055 --> 00:08:02.930
* 當然可以。你必須
首先配置設備，

00:08:02.930 --> 00:08:05.965
然後，這完成後
在 SQL 中，只需添加一個日誌。

00:08:05.965 --> 00:08:09.350
• 是，此類型

00:08:09.350 --> 00:08:12.725
技術真的是
啟用新層

00:08:12.725 --> 00:08:15.020
存儲説明刪除一些

00:08:15.020 --> 00:08:17.075
傳統
我們看到的瓶頸

00:08:17.075 --> 00:08:19.640
在高端工作負載的 SQL Server 中。

00:08:19.640 --> 00:08:22.220
* 正確。如此巨大的創新，但

00:08:22.220 --> 00:08:24.710
然後以非常簡單的方式完成

00:08:24.710 --> 00:08:26.570
使用者和
配置。

00:08:26.570 --> 00:08:29.360
* 是。我們建立智慧
到 SQL Server 到

00:08:29.360 --> 00:08:32.240
識別這些設備
並相應地進行。

00:08:32.240 --> 00:08:34.295
* 是的。很酷嗯，
感謝您的分享。

00:08:34.295 --> 00:08:34.895
謝謝

00:08:34.895 --> 00:08:36.560
我覺得這非常有用

00:08:36.560 --> 00:08:37.910
很有趣，至少對我來說是這樣。

00:08:37.910 --> 00:08:40.490
我希望這是有用的，
對你也很有趣。

00:08:40.490 --> 00:08:43.065
請訂閱，例如，
對視頻的評論，

00:08:43.065 --> 00:08:44.660
我希望下次能見到你

00:08:44.660 --> 00:08:47.040
另一集
資料公開。謝謝。

00:08:47.040 --> 00:09:01.630
[音樂]

