[SQL Server]dependent transaction with In-Memory table

SQL2014開始,Memory table的交易處理,有最大相依交易8的數量限制,只會發生在驗證和commit階段,

一般來說In-Memory的交易過程是非常短暫的,但這並不表示你的交易就不會失敗,

實務上,我一定會簡化Memory資料表相依(複雜)性,

雖然SQL2016 In-Memory table支援很多功能(FK、trigger、LOB..),但這不代表一定有效率。

...繼續閱讀 »

[SQL Server]In-Memory table with columnstore Indexes

Columnstore indexes主要可以改善大量scan/aggregate操作(可達10倍),

因為採用xVelocity壓縮儲存方式(但無法對in-memory table壓縮),

可大大節省disk space(壓縮大約10倍以上,取決於資料表中所有資料型別),

所以和傳統row存放方式不同,通常會在fact table上建立來改善Data Mart/Data Warehouse彙熜效能。 

...繼續閱讀 »

[PredictionIO]install Jupyter

我想有在玩資料分析的朋友對於jupyter一定不陌生,它是一款open source的網頁版Machine Learning Analytics tools,

透過這套工具,你可以快速又方便進行資料分析、跑跑演算法,實作視覺化,而他也是iPython的前身,

至於切分出該專案,主要是因為iPython想更專注在shell的核心開發(shell真的很強大),

所以把其他元件都往Jupyter 專案集中,但我想我應該會喜歡web介面。

...繼續閱讀 »

[PredictionIO]how to build a Recommendation engine via predictionIO Machine Learning Server

Apach PredictionIO是一個用scala語言編寫的open source,

提供RESTFul API幫助我們方便使用recommendation engine,

也有提供client SDK如Java、Python,PHP,同時也是一個可擴展的Machine Learning應用(支援Spark MLib),

並提供各種Engine模板、演算法..等,也相當容易和Spark、MLlib、Hbase、MySQL、Hadoop、Elasticsearch搭配,

簡化並加速可擴展Machine Learning基礎建置管理,透過PredictionIO我們可以從零開始並快速建立一個推薦引擎。

...繼續閱讀 »

[SQL Server]Let's Clear Checkpoint process of In-Memory

Disk的checkpoint主要是將記憶體中的dirty pages和交易紀錄資訊寫入disk,

所以dirty pages的數量和checkpoint作業時間為線性關係,SQL Server會自動調整checkpoint作業頻率(預設60秒),

這樣做是要降低其他應用程式所受到的效能影響,如果減少頻率,則會拉長完成時間,

增加頻率,則會影響效能(資料庫一般I/O活動會大幅增加),

如果沒有特別理由,建議由SQL Server自行決定checkpoint頻率。

...繼續閱讀 »