本篇延續「於Windows環境下安裝ELK及其介接SQL Server測試」,使用MongoDB作為資料來源,使用Logstash服務驅動mongodb的連線,透過jdbc mongodb driver將MongoDB的資料加入至ElasticDB,並於Kibana上檢視。
MongoDB工具:Robo 3T
Logstash:7.5.1
Mongo JDBC:1.6
Mongo Java JDBC:3.11.2
本篇延續「於Windows環境下安裝ELK及其介接SQL Server測試」,使用MongoDB作為資料來源,使用Logstash服務驅動mongodb的連線,透過jdbc mongodb driver將MongoDB的資料加入至ElasticDB,並於Kibana上檢視。
MongoDB工具:Robo 3T
Logstash:7.5.1
Mongo JDBC:1.6
Mongo Java JDBC:3.11.2
本範例刻意將很簡單的Insert into Select寫法,分別改成Temp Table While寫法(本文將其簡稱While寫法)與Cursor寫法,使用測試兩者的執行速度及效能。
兩者做的事情是一樣的:
本文延伸 [SQL]於預存程序中使用「使用者定義資料表類型」進行多筆資料新增,利用ORM套件Dapper來實作TVP(Table Value Parameters)參數的傳值並執行SQL命令。
範例說明:本範例的專案為主控台應用程式(Console Application),用來實作車輛資訊刪除、新增,並顯示查詢結果。
程式說明:
Program類別-程式執行的起點
CarBLL類別-業務邏輯層
CarDAL類別-資料存取層
案例情境:當使用者於系統前端操作資料的新增時,資料會由WEB層進入AP層存取資料庫,來完成資料寫入的動作。單筆資料的新增,預存程序端可透過傳統的資料型別來接資料;但當前端資料來源為多筆資料時,傳統的做法會造成AP層至DB端的Connection次數過多,增加AP層存取資料庫的負荷量。因此可使用資料表類型的物件,將多筆資料以資料表的方式傳遞(TVP)給預存程序,來達到一次性的傳輸處理並回傳,減輕伺服器負擔。本範例為一個車輛資料表(CarType)的存取:透過預存程序SP_CAR_TYPE_INFO進行資料新增,其中輸入參數的型態為「使用者定義資料表類型」(DataInfo),於預存程序中進行逐筆資料的重複性檢查並寫入CarType資料表。
使用output語法可帶回兩種資訊
並搭配into語法,寫入其他的資料表中