真實世界,大部分企業無法接受Database停止服務太久時間,
一般的backup and restore雖然可以達到目的,但由於backup and restore過程中,
還是有資料的新增、修改或刪除持續發生,雖然資料庫restore完成,
可是無法避免人工進行補資料和確認資料一致性作業,
這時你才會知道Mirroring的好處
真實世界,大部分企業無法接受Database停止服務太久時間,
一般的backup and restore雖然可以達到目的,但由於backup and restore過程中,
還是有資料的新增、修改或刪除持續發生,雖然資料庫restore完成,
可是無法避免人工進行補資料和確認資料一致性作業,
這時你才會知道Mirroring的好處
RP是告訴influxdb資料要保留多久,只要資料過期將自動刪除,完全自動化無須人工介入。
復原Recovery Pending or Suspect 資料庫其實很簡單
但你應該不想遇到這情況
快速輕鬆建立世界地圖視覺化的回應時間概況
SSMS2016開始提供佈景主題選項,以前的版本需要自行修改文字編輯器
但預設的dark theme更讓我眼睛不舒服
telegraf是一套用go寫的agent,主要是在收集system and server的資料,
相當於ELK的logstash,但我個人認為telegraf更容易設定且耗用較少記憶體。
由於我未來的日子極有可能會和influxdb相處一段時間,
所以我必須用最快速度來上手,這篇先記錄如何啟用https
SQL2016 AG開始支援MSDTC,MSDTC幫我們保證分散式交易的一致性,
交易期間如果某一SERVER發生問題,整包交易相關資料全部rollback,
這功能我相信對.NET應該不陌生(我個人幾乎很常使用)。
Always Encrypted功能將資料庫一些敏感資料永遠加密,
有效防止DBA或未經授權人員查看這些敏感資料,
因APP(需使用.NETFramework4.6以上版本)將資料送進DB時已經加密,且透過APP讀取也能自動解密。
NSSM全名為the Non-Sucking Service Manager
因為有些應用程式可能沒有包裝install service,
這時透過NSSM就可以輕鬆讓包裝應用程式使用Windows Service執行
上一篇設定使用Redis儲存監控資料,這篇介紹如何使用SQLite,這也是我比較推薦的儲存體。
RedisLive是一個輕量的儀表板應用程式,主要是利用redis的info和monitor命令並儲存資料進行分析,
可以快速讓我們了解Redis Server效能是否正常。
Memory table將所有資料都存放到記憶體,內部針對每一筆資料建立multiple versions避免blocking情況
(multi-version optimistic concurrency control多版本樂觀並行控制),同時也沒有任何的locks和latchs
Redis的List資料結構和c# 的LinkeList 很類似,對於Insert速度相當快(0(1)),
也可決定將item存放至左或右,但要注意搜尋一個很大的List效能相當不好(因為是循序),
由於Insert速度效能超好,所以實務上都會用來處理logs,因為logs絕對是寫入遠大於讀取。
Disk Base我們會切多個data file在不同Disk drives來提高I/O效能(也分散I/O),
而這樣的行為也和In-Memory table相似。
Redis Sentinel 幫dataset提供 high availability機制,可設定master node自動複寫至各slave,
且當master node failure時,可自動failover to slave,減少人工管理成本。
我從不排斥寫單元測試,因為單元測試確實對多人開發的專案或產品太重要了,
但我絕對不會為了寫單元測試而寫單元測試,也不會每一個功能都寫單元測試。
DBCC CLONEDATABASE允許你複製資料庫,但不會複製任何資料,
可是卻保有所有統計資料(statistics),而且在SQL2016又更棒了。
SpecFlow是一個BDD(Behavior-driven development)工具,由於網路對BDD有很多精闢介紹,
所以這系列文章不會有太多文字,都是個人一些學習使用心得。
善用交易效能分析報表,預估資料表或SP移轉至In-Memory效益