InterSystems IRIS ๋ฐ์ดํฐ ํ๋ซํผ, Ensemble ํตํฉ ํ๋ซํผ ๋ฐ Cachรฉ DBMS์ ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ํตํฉ ์๋ฃจ์ ์ ์ค๋ฅ๋ฅผ ๋ชจ๋ํฐ๋งํ๊ณ ์กฐ์ฌํ๊ธฐ ์ํ ์ถ๊ฐ ๋๊ตฌ ํจ๋ ๋๋ ๋ค๋ฅธ ์์ ๊ฑฐ ์ด์ผ๊ธฐ.
์ด ๊ธฐ์ฌ์์๋ ํ์ค ๊ด๋ฆฌ ๋๊ตฌ์ ํจ๊ป InterSystems IRIS ํ๋ซํผ์ ์ ํ๋ฆฌ์ผ์ด์
๋ฐ ํตํฉ ์๋ฃจ์
์ ๋ชจ๋ํฐ๋งํ๊ณ ์ค๋ฅ๊ฐ ๋ฐ์ํ ๋ ์ด๋ฅผ ์ฐพ์๋ด๊ธฐ ์ํด ๋งค์ผ ์ฌ์ฉํ๋ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์ถ์ต๋๋ค.
์๋ฃจ์
์๋ ์ ์ญ ๋ฐฐ์ด ๋ณด๊ธฐ ๋ฐ ํธ์ง, ์ฟผ๋ฆฌ ์คํ(JDBC/ODBC ํฌํจ), ์ด๋ฉ์ผ์ ํตํด ์์ถ๋ XLS ํ์ผ๋ก ๊ฒ์ ๊ฒฐ๊ณผ ์ ์ก์ด ํฌํจ๋ฉ๋๋ค. ํธ์ง ๊ธฐ๋ฅ์ด ์๋ ํด๋์ค ๊ฐ์ฒด๋ฅผ ๋ด
๋๋ค. ์์คํ
ํ๋กํ ์ฝ์ ๋ํ ๋ช ๊ฐ์ง ๊ฐ๋จํ ๊ทธ๋ํ.
์ด๊ฒ์ CSP ์ ํ๋ฆฌ์ผ์ด์
์ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค.
๊ด์ฌ ์์ผ์ ๋ถ๋ค์ ์๋ ๋ด์ฉ๊ณผ ๋ด์ฉ์ ์ฐธ๊ณ ํด์ฃผ์ธ์
๋ชจ๋ ๊ฒ์ InterSystems IRIS, Ensemble ๋ฐ Cachรฉ DBMS์ ๊ฐ์ฒด ๋ณ๊ฒฝ ์ฌํญ์ ๊ธฐ๋กํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ง๋ฌธ์ ์ฐ๊ตฌํ๋ ๊ฒ์์ ์์๋์์ต๋๋ค.
์ฝ์์ ๋
๊ฒฐ๊ณผ ์๋ฃจ์ ์ ๊ธฐ๋ณธ ๋ช ๋ น ์ฐฝ, ์คํ ๋ฒํผ ๋ฐ ๋ช ๋ น ๊ตฌ์ฒดํ ์ค์ ์ด ์๋ %CSP.Util.Pane์ ํจ๋ ํ์ ํด๋์ค๋ก ๊ตฌํ๋ฉ๋๋ค.
"?"๋ฅผ ์ ๋ ฅํ๋ฉด ๋ค์ ๋ช ๋ น์ ๋ํ ๊ฐ๋ตํ ์ค๋ช ์ ์ป์ต๋๋ค.
์ ์ญ
๊ฐ์ฅ ์ผ๋ฐ์ ์ธ ๋ช ๋ น์ ์ ์ญ์ ๋ณด๋ ๊ฒ์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ด๋ ์์ ์ด๋ ๋ค๋ฅธ ์ฌ๋์ ํ๋ก์ ํธ๋ฅผ ๋๋ฒ๊น ํ ๋ ์ ์ญ ํ๋กํ ์ฝ์ ๋๋ค. ๋งํฌ์ ๋ฐ์ดํฐ ๋ชจ๋์ ํํฐ๋ฅผ ์ ์ฉํ์ฌ ๋ณผ ์ ์์ ๋ฟ๋ง ์๋๋ผ ์ญ์์ผ๋ก ๋ณผ ์๋ ์์ต๋๋ค. ๋ฐ๊ฒฌ๋ ๋ ธ๋๋ฅผ ํธ์งํ๊ณ ์ญ์ ํ ์ ์์ต๋๋ค.
์ด๋ฆ ๋ค์ ๋ช
๋ น์ ๋นผ๊ธฐ ^logMSW-๋ฅผ ์
๋ ฅํ๋ฉด ์ ์ฒด ์ ์ญ์ ์ญ์ ํ ์ ์์ต๋๋ค.
ํ์ง๋ง ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด ^log(ํ๋กํ ์ฝ ์ ์ญ)๋ก ์์ํ๋ ์ ์ญ๋ง ์ญ์ ํ ์ ์์ต๋๋ค. ์ค์๋ก ์ธํ ์ญ์ ์ ๋ํ ์ ํ์ด ๊ตฌํ๋์์ต๋๋ค.
์ด๋ฆ ๋ค์ "*"๋ฅผ ์ ๋ ฅํ๋ฉด ์ถ๊ฐ ํน์ฑ์ ๊ฐ์ง ์ ์ญ ๋ชฉ๋ก์ด ํ์๋ฉ๋๋ค. ๋ ๋ฒ์งธ "*"๋ "ํ ๋น๋ MB"๋ผ๋ ์ ํ๋๋ฅผ ์ถ๊ฐํ๊ณ ๋ ๋ค๋ฅธ ๋ณํ๋ "์ฌ์ฉ๋ MB"์ ๋๋ค. ์ด๋ฌํ ๋ ๋ณด๊ณ ์์ ์กฐํฉ๊ณผ "๋ณํ"๋ก์ ๊ตฌ๋ถ์ ์ข ์ข ๊ธด ํ์์ ๋ณด๊ณ ์๋ฅผ ์ ์ ๋ ๋ธ๋ก์ผ๋ก ๋๋๊ธฐ ์ํด ์ํ๋ฉ๋๋ค. ๋๊ท๋ชจ ๊ธ๋ก๋ฒ์.
์ด ํ
์ด๋ธ์์ ํ์ฑ ๋งํฌ๋ฅผ ๋ฐ๋ผ ์ ์ญ ์์ฒด๋ฅผ ๋ณด๊ฑฐ๋ ๊ถํ ํ๋์์ R ๋๋ W๋ฅผ ํด๋ฆญํ์ฌ ๊ด๋ฆฌ ํฌํธ์์ ํ์ค ๋ฐฉ์์ผ๋ก ์ด๋ฅผ ๋ณด๊ฑฐ๋ ํธ์งํ ์ ์์ต๋๋ค.
์์ฒญ
๋ณด๊ณ ์๋ฅผ Excel ํ์์ผ๋ก ๋ณํ
๋ ๋ฒ์งธ๋ก ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉ๋๋ ๊ธฐ๋ฅ์ ์ฟผ๋ฆฌ ์คํ์ ๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด sql ๋ฌธ์ ๋ช ๋ น์ผ๋ก ์ ๋ ฅํ์ธ์.
ํ์ค ์์คํ ๊ด๋ฆฌ ํฌํธ์์ ์ ๊ฐ ํ ์ ์์๋ ๊ฐ์ฅ ์ค์ํ ์ผ์ DBMS์ ๊ตฌ์ฑ๋ JDBC/ODBC ์์ค์ ๋ํ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๊ณ ๊ทธ ๊ฒฐ๊ณผ๋ฅผ XLS ํ์์ผ๋ก ์ถ๋ ฅํ๊ณ ํ์ผ์ ๋ณด๊ดํ๊ณ ์ด๋ฉ์ผ๋ก ๋ณด๋ด๋ ๊ฒ์ด์์ต๋๋ค. ์ด๋ ๊ฒ ํ๋ ค๋ฉด ๋ด ๋๊ตฌ์์ ๋ช ๋ น์ ์คํํ๊ธฐ ์ ์ "Excel ํ์ผ๋ก ๋ค์ด๋ก๋" ํ์ธ๋์ ํ์ฑํํด์ผ ํฉ๋๋ค.
์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ์ผ์ ์ํ์์ ๋ง์ ์๊ฐ์ ์ ์ฝํ ์ ์์ผ๋ฉฐ ๊ธฐ์ฑ ๋ชจ๋์ ์๋ก์ด ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ํตํฉ ์๋ฃจ์ ์ ์ฑ๊ณต์ ์ผ๋ก ํตํฉํ ์ ์์ต๋๋ค.
ํ์ง๋ง ์ด๋ ๊ฒ ํ๋ ค๋ฉด ๋จผ์ ์๋ฒ์์ ํ์ผ์ ์์ฑํ๊ธฐ ์ํ ๊ฒฝ๋ก์ ์ฌ์ฉ์ ๋ฐ ๋ฉ์ผ ์๋ฒ์ ์๊ฒฉ ์ฆ๋ช
์ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค. ์ด๋ฅผ ์ํด์๋ ์ ์ญ ํ๋ก๊ทธ๋จ ์ค์ ^%App.Setting์ ๋
ธ๋๋ฅผ ํธ์งํด์ผ ํฉ๋๋ค. .
์ ์ญ์ ์ผ๋ก ๋ณด๊ณ ์ ์ ์ฅ
๋ณด๊ณ ์ ์คํ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฒด์ ์ผ๋ก ์ ์ฅํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ด๋ฅผ ์ํด ๋ค์ ์ ์ฐจ๋ฅผ ์ฌ์ฉํฉ๋๋ค.
JDBC์ ๊ฒฝ์ฐ:
##class(App.sys).SqlToDSN
ODBC์ ๊ฒฝ์ฐ:
##class(App.sys).SaveGateway
SQL ํํ์์ ๊ฒฝ์ฐ:
##class(App.sys).SaveSQL
์ฟผ๋ฆฌ์ ๊ฒฝ์ฐ:
##class(App.sys).SaveQuery
์๋ฅผ ๋ค์ด ํจ๋์์ ๋ค์ ๋ช
๋ น์ ์คํํ๋ฉด
xec do ##class(App.sys).SaveQuery("%SYSTEM.License:Counts","^GN",0)
๋ผ์ด์ผ์ค ์ฌ์ฉ๋ ๊ณ์ฐ ์์ฒญ ๊ฒฐ๊ณผ๋ฅผ ^GN ๋ฐฐ์ด์ ์ ์ฅํด ๋ณด๊ฒ ์ต๋๋ค. ๊ทธ๋ฌ๋ฉด ๋ค์ ๋ช
๋ น์ ์ฌ์ฉํ์ฌ ํจ๋์ ์ ์ฅ๋ ๋ด์ฉ์ ํ์ธํ ์ ์์ต๋๋ค. result ^GN("%SYSTEM.License:Counts",0)
๊ฐํ๋ ๊ธฐ๋ฅ ๋ชจ๋
๊ทธ๋ฆฌ๊ณ ๋ด ์์ ์ ํฌ๊ฒ ๋จ์ํํ๊ณ ์๋ํํ ๋ ๋ฒ์งธ ๊ฐ์ ์ฌํญ์ ๊ฐ ์ฟผ๋ฆฌ ์ค์ ์์ฑํ ๋ ํน๋ณํ ์์ฑ๋ ๋ชจ๋์ ์คํํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํ ๊ฒ์ ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ํ ๋ฒ์ ๋ณด๊ณ ์์ ์๋ก์ด ๊ธฐ๋ฅ(์: ๋ฐ์ดํฐ์ ๋ํ ์ถ๊ฐ ์์ ์ ์ํ ํ์ฑ ๋งํฌ)์ ๊ตฌ์ถํ ์ ์์ต๋๋ค.
์์ 1: App.Parameter ํด๋์ค ์์
"ํ ์ด๋ธ ํ์๊ธฐ"๋ฅผ ์ฌ์ฉํ์ฌ ๋งค๊ฐ๋ณ์ ์์ฑ
"์ต์ "์ ํตํด ๋งค๊ฐ๋ณ์ ํธ์ง
์ 2: "๊ธฐ๋ก" ๋งํฌ๋ฅผ ํตํด ์ ์ญ ๋ณด๊ธฐ
๊ทธ๋ํ
๊ธฐ์ฌ [9]์์ ์๊ฐ์ ๋ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฆ๊ฐ๋ฅผ ์๊ฐํํ๊ธฐ ์ํด iris.log ํ์ผ(cconsole.log)์์ ์์ฑ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํฌ๊ธฐ๋ฅผ ํ์ฌ ๋ ์ง๋ถํฐ ์๊ธํ์ฌ โExpandโ ๋ ์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ ์๋ณ ๊ทธ๋ํ๋ก ํ์ํ๋ ํ์ด์ง๋ฅผ ๋ง๋ค์์ต๋๋ค.
์๋ฅผ ๋ค์ด InterSystems IRIS์์๋ ์ด๋ฒคํธ ๊ทธ๋ํ๊ฐ ์์ฑ๋์์ผ๋ฉฐ ์ด๋ ํ๋กํ ์ฝ ํ์ผ์์๋ ์์ฑ๋ฉ๋๋ค.
์๋ฃ ๋งํฌ :
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
[10]
์ด ๋๊ตฌ๋ฅผ ๋ง๋๋ ๋ฐ ๋์์ ์ค ์ด ๊ธฐ์ฌ์ ๊ธฐํ ๊ธฐ์ฌ์ ์์ฑ์์๊ฒ ๊ฐ์ฌ๋๋ฆฝ๋๋ค.
PS ์ด ํ๋ก์ ํธ๋ ๊ฐ๋ฐ ์ค์ด๋ฉฐ ์์ง ๋ง์ ์์ด๋์ด๊ฐ ๊ตฌํ๋์ง ์์์ต๋๋ค. ๊ฐ๊น์ด ์ฅ๋์ ๋๋ ๋ค์์ ํ ๊ณํ์ด๋ค:
1. ํ๋ ์์ํฌ์ ์ ํ๋ฆฌ์ผ์ด์
ํ
ํ๋ฆฟ
2. ์ฝ๋ ํ์ ์๋ ๋ฌธ์ํ
์ถ์ฒ : habr.com