์ธํ„ฐ์‹œ์Šคํ…œ์ฆˆ IRIS 2020.1 ์ถœ์‹œ

์ธํ„ฐ์‹œ์Šคํ…œ์ฆˆ IRIS 2020.1 ์ถœ์‹œ

3 ์›” ๋ง ๋‚˜์™”๋‹ค InterSystems IRIS ๋ฐ์ดํ„ฐ ํ”Œ๋žซํผ 2020.1์˜ ์ƒˆ๋กœ์šด ๋ฒ„์ „์ž…๋‹ˆ๋‹ค. ์‹ฌ์ง€์–ด ์ฝ”๋กœ๋‚˜๋ฐ”์ด๋Ÿฌ์Šค ํŒฌ๋ฐ๋ฏน๋„ ์ถœ์‹œ๋ฅผ ๋ง‰์ง€ ๋ชปํ–ˆ์Šต๋‹ˆ๋‹ค.

์ƒˆ๋กœ์šด ๋ฆด๋ฆฌ์Šค์—์„œ ์ค‘์š”ํ•œ ๊ธฐ๋Šฅ์œผ๋กœ๋Š” ์ฝ”์–ด ์„ฑ๋Šฅ ํ–ฅ์ƒ, OpenAPI 2.0 ์‚ฌ์–‘์— ๋”ฐ๋ฅธ REST ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒ์„ฑ, ๊ฐ์ฒด ์ƒค๋”ฉ, ์ƒˆ๋กœ์šด ์œ ํ˜•์˜ ๊ด€๋ฆฌ ํฌํ„ธ, MQTT ์ง€์›, ๋ฒ”์šฉ ์ฟผ๋ฆฌ ์บ์‹œ, Java ๋˜๋Š” .NET์—์„œ ์ œํ’ˆ ์š”์†Œ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์ƒˆ๋กœ์šด ํ”„๋ ˆ์ž„์›Œํฌ ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ€๊ฒฝ ์‚ฌํ•ญ ์ „์ฒด ๋ชฉ๋ก๊ณผ ์˜์–ด๋กœ ๋œ ์—…๊ทธ๋ ˆ์ด๋“œ ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋Š” ๋‹ค์Œ์—์„œ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋งํฌ. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜์—์„œ ํ™•์ธํ•˜์„ธ์š”.

InterSystems IRIS 2020.1์€ ํ™•์žฅ ์ง€์› ๋ฆด๋ฆฌ์Šค์ž…๋‹ˆ๋‹ค. InterSystems๋Š” ๋‘ ๊ฐ€์ง€ ์œ ํ˜•์˜ InterSystems IRIS ๋ฆด๋ฆฌ์Šค๋ฅผ ์ถœ์‹œํ•ฉ๋‹ˆ๋‹ค.

  • ์ง€์†์ ์ธ ๋ฐฐํฌ ๋ฆด๋ฆฌ์Šค. Docker ์ด๋ฏธ์ง€๋กœ 1๋…„์— 3~4ํšŒ ์ถœ์‹œ๋ฉ๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๊ณ  ์ด๋ฅผ ํด๋ผ์šฐ๋“œ๋‚˜ Docker ์ปจํ…Œ์ด๋„ˆ์— ๋ฐฐํฌํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํ™•์žฅ๋œ ์ง€์› ๋ฆด๋ฆฌ์Šค. ์ด๋Ÿฌํ•œ ๋ฒ„๊ทธ๋Š” ๋œ ์ž์ฃผ ๋‚˜์˜ค์ง€๋งŒ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•œ ๋ฆด๋ฆฌ์Šค๊ฐ€ ๋‚˜์˜ต๋‹ˆ๋‹ค. InterSystems IRIS๊ฐ€ ์ง€์›ํ•˜๋Š” ๋ชจ๋“  ํ”Œ๋žซํผ์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

ํ™•์žฅ ์ง€์› ๋ฆด๋ฆฌ์Šค 2019.1๊ณผ 2020.1 ์‚ฌ์ด์—๋Š” Docker ์ด๋ฏธ์ง€ ์ „์šฉ ๋ฆด๋ฆฌ์Šค์ธ 2019.2, 2019.3, 2019.4๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค์˜ ๋ชจ๋“  ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ๊ณผ ์ˆ˜์ • ์‚ฌํ•ญ์€ 2020.1์— ํฌํ•จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ๋‚˜์—ด๋œ ๊ธฐ๋Šฅ ์ค‘ ์ผ๋ถ€๋Š” 2019.2, 2019.3, 2019.4 ๋ฆด๋ฆฌ์Šค ์ค‘ ํ•˜๋‚˜์—์„œ ์ฒ˜์Œ ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ.

์‚ฌ์–‘์— ๋”ฐ๋ฅธ REST ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ

์ด์™ธ์— InterSystems API ๊ด€๋ฆฌ์ž2019.1.1 ๋ฒ„์ „๋ถ€ํ„ฐ ์ง€์›๋˜์—ˆ์œผ๋ฉฐ, 2020.1 ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” OpenAPI 2.0 ํ˜•์‹์˜ ์‚ฌ์–‘์— ๋”ฐ๋ผ REST ์„œ๋น„์Šค์— ๋Œ€ํ•œ ์ฝ”๋“œ ๊ณจ๊ฒฉ์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์„ค๋ช…์„œ ์„น์…˜์„ ์ฐธ์กฐํ•˜์„ธ์š”.REST ์„œ๋น„์Šค ์ƒ์„ฑ".

Cachรฉ ๋˜๋Š” Ensemble ์„ค์น˜ ๋ณ€ํ™˜

์ด ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ์„ค์น˜ ์ค‘์— Cachรฉ ๋˜๋Š” Ensemble ์„ค์น˜๋ฅผ InterSystems IRIS๋กœ ๋ณ€ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณ€ํ™˜ ์ž์ฒด์—๋Š” ํ”„๋กœ๊ทธ๋žจ ์ฝ”๋“œ, ์„ค์ • ๋˜๋Š” ๊ธฐํƒ€ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค.

๋ณ€ํ™˜ํ•˜๊ธฐ ์ „์— InterSystems IRIS In-Place Conversion Guide(InterSystems IRIS ๋‚ด๋ถ€ ๋ณ€ํ™˜ ๊ฐ€์ด๋“œ)์™€ InterSystems IRIS Adoption Guide(InterSystems IRIS ๋„์ž… ๊ฐ€์ด๋“œ)๋ฅผ ์ฝ์–ด๋ณด์„ธ์š”. ์ด ๋ฌธ์„œ๋Š” InterSystems Worldwide Support Center ์›น์‚ฌ์ดํŠธ์˜ "์„œ๋ฅ˜".

ํด๋ผ์ด์–ธํŠธ ์–ธ์–ด

Python์šฉ InterSystems IRIS ๋„ค์ดํ‹ฐ๋ธŒ API

InterSystems IRIS๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋‹ค์ฐจ์› ๋ฐฐ์—ด์— Python์—์„œ ๋น ๋ฅด๊ฒŒ ์ €์ˆ˜์ค€์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ์ž์„ธํ•œ ๋‚ด์šฉ โ€” ยซPython์šฉ ๋„ค์ดํ‹ฐ๋ธŒ API".

Node.js์šฉ InterSystems IRIS ๋„ค์ดํ‹ฐ๋ธŒ API

InterSystems IRIS๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋‹ค์ฐจ์› ๋ฐฐ์—ด์— Node.js์—์„œ ๋น ๋ฅด๊ฒŒ ์ €์ˆ˜์ค€์œผ๋กœ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ์ž์„ธํ•œ ๋‚ด์šฉ โ€” ยซNode.js์šฉ ๋„ค์ดํ‹ฐ๋ธŒ API".

Node.js์— ๋Œ€ํ•œ ๊ด€๊ณ„ํ˜• ์•ก์„ธ์Šค

Node.js ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ InterSystems IRIS์— ๋Œ€ํ•œ ODBC ์•ก์„ธ์Šค ์ง€์›

Java ๋ฐ .NET ๊ฒŒ์ดํŠธ์›จ์ด์—์„œ์˜ ์–‘๋ฐฉํ–ฅ ํ†ต์‹ 

.NET ๋ฐ Java ๊ฒŒ์ดํŠธ์›จ์ด ์—ฐ๊ฒฐ์€ ์ด์ œ ์–‘๋ฐฉํ–ฅ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๊ฒŒ์ดํŠธ์›จ์ด๋ฅผ ํ†ตํ•ด IRIS์—์„œ ํ˜ธ์ถœ๋˜๋Š” .NET ๋˜๋Š” Java ํ”„๋กœ๊ทธ๋žจ์€ ๋™์ผํ•œ ์—ฐ๊ฒฐ์„ ์‚ฌ์šฉํ•˜์—ฌ IRIS์— ์•ก์„ธ์Šคํ•ฉ๋‹ˆ๋‹ค. ๋” ์ž์„ธํ•œ ๋‚ด์šฉ โ€” ยซJava ๊ฒŒ์ดํŠธ์›จ์ด ์žฌ์ง„์ž…".

Java ๋ฐ .NET์šฉ ๋„ค์ดํ‹ฐ๋ธŒ API ๊ฐœ์„ 

Java ๋ฐ .NET์šฉ IRIS Native API๋Š” $LIST์™€ ์ฐธ์กฐ๋กœ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ „๋‹ฌ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

๊ด€๋ฆฌ ํฌํ„ธ์˜ ์ƒˆ๋กœ์šด ๋ชจ์Šต

์ด ๋ฆด๋ฆฌ์Šค์—๋Š” ๊ด€๋ฆฌ ํฌํ„ธ์— ๋Œ€ํ•œ ์ฒซ ๋ฒˆ์งธ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜„์žฌ๋กœ์„œ๋Š” ์™ธ๊ด€์—๋งŒ ๋ฌธ์ œ๊ฐ€ ์žˆ์„ ๋ฟ, ๊ธฐ๋Šฅ์—๋Š” ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

SQL

  • ์œ ๋‹ˆ๋ฒ„์„ค ์ฟผ๋ฆฌ ์บ์‹œ. 2020.1๋ถ€ํ„ฐ ๊ธฐ๋ณธ ์ œ๊ณต ์ฟผ๋ฆฌ์™€ ํด๋ž˜์Šค ์ฟผ๋ฆฌ๋ฅผ ํฌํ•จํ•œ ๋ชจ๋“  ์ฟผ๋ฆฌ๋Š” ์บ์‹œ๋œ ์ฟผ๋ฆฌ๋กœ ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ๋‚ด์žฅ๋œ ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ƒˆ ์ธ๋ฑ์Šค๊ฐ€ ์ถ”๊ฐ€๋˜๊ฑฐ๋‚˜ ํ…Œ์ด๋ธ” ํ†ต๊ณ„๊ฐ€ ๋ณ€๊ฒฝ๋˜๋Š” ๊ฒฝ์šฐ ์ƒˆ ์ฟผ๋ฆฌ ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค์‹œ ์ปดํŒŒ์ผํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋ชจ๋“  ์ฟผ๋ฆฌ ๊ณ„ํš์€ ๋‹จ์ผ ์บ์‹œ์— ์ €์žฅ๋˜๊ณ  ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ๊ณผ ๊ด€๊ณ„์—†์ด ๋…๋ฆฝ์ ์œผ๋กœ ์ง€์›Œ์ง‘๋‹ˆ๋‹ค.

  • ์ด์ œ DML ์ฟผ๋ฆฌ๋ฅผ ํฌํ•จํ•˜์—ฌ ๋” ๋งŽ์€ ์ฟผ๋ฆฌ ์œ ํ˜•์ด ๋ณ‘๋ ฌํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ์—ฌ๋Ÿฌ ์ƒค๋“œ์— ๋ถ„ํ• ๋œ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ์ฟผ๋ฆฌ๋Š” ์ด์ œ ์•”๋ฌต์  ์กฐ์ธ "->"๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ด€๋ฆฌ ํฌํ„ธ์—์„œ ์‹œ์ž‘๋œ ์ฟผ๋ฆฌ๋Š” ์ด์ œ ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์›น ํŽ˜์ด์ง€ ์‹œ๊ฐ„ ์ดˆ๊ณผ๋กœ ์ธํ•ด ๊ธด ์ฟผ๋ฆฌ๊ฐ€ ๋” ์ด์ƒ ์‚ญ์ œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์žฅ๊ธฐ ์‹คํ–‰ ์š”์ฒญ์„ ์ด์ œ ์ทจ์†Œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ†ตํ•ฉ ์˜ต์…˜

Java ๋˜๋Š” .NET์—์„œ ์ œํ’ˆ ์š”์†Œ๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์ƒˆ๋กœ์šด ํ”„๋ ˆ์ž„์›Œํฌ

์ด ๋ฆด๋ฆฌ์Šค์—๋Š” ํ”„๋กœ๋•์…˜ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•œ ์ถ”๊ฐ€ ์–ธ์–ด ์„ ํƒ๊ถŒ์„ ์ œ๊ณตํ•˜๋Š” ์ƒˆ๋กœ์šด ํ”„๋ ˆ์ž„์›Œํฌ์ธ PEX(Production EXtension)๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฆด๋ฆฌ์Šค์—์„œ PEX๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ์„œ๋น„์Šค, ๋น„์ฆˆ๋‹ˆ์Šค ํ”„๋กœ์„ธ์Šค, ๋น„์ฆˆ๋‹ˆ์Šค ์šด์˜์€ ๋ฌผ๋ก  ์ธ๋ฐ”์šด๋“œ ๋ฐ ์•„์›ƒ๋ฐ”์šด๋“œ ์–ด๋Œ‘ํ„ฐ๋ฅผ ๊ฐœ๋ฐœํ•˜๊ธฐ ์œ„ํ•ด Java์™€ .NET์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ์„œ๋น„์Šค์™€ ๋น„์ฆˆ๋‹ˆ์Šค ์šด์˜๋งŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์—ˆ๊ณ , ๊ด€๋ฆฌ ํฌํ„ธ์—์„œ ์ฝ”๋“œ ์ƒ์„ฑ๊ธฐ๋ฅผ ํ˜ธ์ถœํ•ด์•ผ ํ–ˆ์Šต๋‹ˆ๋‹ค. PEX ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ObjectScript ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—†์ด๋„ Java ๋ฐ .NET ์ฝ”๋“œ๋ฅผ ํ”„๋กœ๋•์…˜ ๊ตฌ์„ฑ ์š”์†Œ์— ํ†ตํ•ฉํ•˜๋Š” ๋ณด๋‹ค ์œ ์—ฐํ•œ ์ˆ˜๋‹จ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. PEX ํŒจํ‚ค์ง€์—๋Š” ๋‹ค์Œ ๋“ฑ๊ธ‰์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

๋” ์ž์„ธํ•œ ๋‚ด์šฉ โ€” ยซPEX: Java ๋ฐ .NET์„ ์‚ฌ์šฉํ•œ ํ”„๋กœ๋•์…˜ ๊ฐœ๋ฐœ".

์ œํ’ˆ์˜ ํฌํŠธ ์‚ฌ์šฉ ๋ชจ๋‹ˆํ„ฐ๋ง.

ํ•ญ๋งŒ์ฒญ์€ ๊ธฐ์—… ์„œ๋น„์Šค์™€ ๊ธฐ์—… ์šด์˜์— ์‚ฌ์šฉ๋˜๋Š” ํ•ญ๊ตฌ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ด์šฉ ๊ฐ€๋Šฅํ•œ ํ•ญ๊ตฌ๋ฅผ ํ™•์ธํ•˜๊ณ  ์˜ˆ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ์ž์„ธํ•œ ๋‚ด์šฉ โ€” ยซํฌํŠธ ์‚ฌ์šฉ ๊ด€๋ฆฌ".

MQTT์šฉ ์–ด๋Œ‘ํ„ฐ

์ด ๋ฆด๋ฆฌ์Šค์—๋Š” ์‚ฌ๋ฌผ ์ธํ„ฐ๋„ท(IoT) ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” MQTT(Message Queuing Telemetry Transport) ํ”„๋กœํ† ์ฝœ์„ ์ง€์›ํ•˜๋Š” ์–ด๋Œ‘ํ„ฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ์ž์„ธํ•œ ๋‚ด์šฉ โ€” ยซํ”„๋กœ๋•์…˜์—์„œ MQTT ์–ด๋Œ‘ํ„ฐ ์‚ฌ์šฉ".

์ƒค๋”ฉ

๋‹จ์ˆœํ™”๋œ ์•„ํ‚คํ…์ฒ˜

์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” ์ด์ „ ๋ฒ„์ „์—์„œ ์ง€์—ญ ๋‹จ์œ„๊ฐ€ ์•„๋‹Œ ๊ฐœ๋ณ„ ์„œ๋ฒ„(๋…ธ๋“œ ์ˆ˜์ค€)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋” ๊ฐ„๋‹จํ•˜๊ณ  ์ง๊ด€์ ์ธ ๋ฐฉ๋ฒ•์„ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด API - %SYSTEM.ํด๋Ÿฌ์Šคํ„ฐ. ์ƒˆ๋กœ์šด ์ ‘๊ทผ ๋ฐฉ์‹์€ ๊ธฐ์กด ์ ‘๊ทผ ๋ฐฉ์‹(๋„ค์ž„์ŠคํŽ˜์ด์Šค ์ˆ˜์ค€ ํด๋Ÿฌ์Šคํ„ฐ)๊ณผ ํ˜ธํ™˜๋˜๋ฉฐ ๊ธฐ์กด ์„ค์น˜๋ฅผ ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๋” ์ž์„ธํ•œ ๋‚ด์šฉ โ€” ยซ์ƒค๋”ฉ์˜ ์š”์†Œ"๊ทธ๋ฆฌ๊ณ "์ƒค๋”ฉ API".

๊ธฐํƒ€ ์ƒค๋”ฉ ๊ฐœ์„  ์‚ฌํ•ญ:

  • ์ด์ œ ๋‘ ํ…Œ์ด๋ธ”์„ ๋ถ„ํ• (๋‘ ํ…Œ์ด๋ธ”์˜ ์ž์ฃผ ์—ฐ๊ฒฐ๋˜๋Š” ๋ถ€๋ถ„์„ ๋™์ผํ•œ ๋ถ„ํ• ๋กœ ๋ถ„์‚ฐ)ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ๊ณตํ†ต ์ƒค๋“œ ํ‚ค๊ฐ€ ์žˆ๋Š” ํ…Œ์ด๋ธ”์—์„œ๋งŒ ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฆด๋ฆฌ์Šค๋ถ€ํ„ฐ COSHARD WITH ๊ตฌ๋ฌธ์€ ์‹œ์Šคํ…œ ID๊ฐ€ ์žˆ๋Š” ํ…Œ์ด๋ธ”์—๋„ ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋” ์ž์„ธํ•œ ๋‚ด์šฉ โ€” ยซํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐ"๊ทธ๋ฆฌ๊ณ "๋ถ„ํ• ๋œ ํ…Œ์ด๋ธ” ์ •์˜".
  • ์ด์ „์—๋Š” DDL์„ ํ†ตํ•ด์„œ๋งŒ ํ…Œ์ด๋ธ”์„ ํด๋Ÿฌ์Šคํ„ฐ๋ง๋œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ์—ˆ์ง€๋งŒ, ์ด์ œ๋Š” ํด๋ž˜์Šค ์„ค๋ช…์—์„œ ์ด๋ฅผ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์ƒˆ๋กœ์šด ํ‚ค์›Œ๋“œ์ธ Sharded์ž…๋‹ˆ๋‹ค. ๋” ์ž์„ธํ•œ ๋‚ด์šฉ โ€” ยซ์˜๊ตฌ ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋ถ„ํ• ๋œ ํ…Œ์ด๋ธ” ์ •์˜".
  • ์ด์ œ ๊ฐ์ฒด ๋ชจ๋ธ์ด ์ƒค๋”ฉ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. %New(), %OpenId, %Save() ๋ฉ”์„œ๋“œ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์—ฌ๋Ÿฌ ์ƒค๋“œ์— ๋ถ„์‚ฐ๋œ ํด๋ž˜์Šค์˜ ๊ฐ์ฒด์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ฝ”๋“œ๋Š” ๊ฐ์ฒด๊ฐ€ ์ €์žฅ๋œ ์„œ๋ฒ„๊ฐ€ ์•„๋‹Œ ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์—ฐ๊ฒฐ๋œ ์„œ๋ฒ„์—์„œ ์‹คํ–‰๋œ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•˜์„ธ์š”.
  • ํด๋Ÿฌ์Šคํ„ฐ ์ฟผ๋ฆฌ ์‹คํ–‰์„ ์œ„ํ•œ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ํ†ตํ•ฉ ์ƒค๋“œ ํ ๊ด€๋ฆฌ์ž๋Š” ๊ฐ ์š”์ฒญ์— ๋Œ€ํ•ด ์ƒˆ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹œ์ž‘ํ•˜๋Š” ๋Œ€์‹ , ์‹คํ–‰ํ•  ์š”์ฒญ์„ ํ”„๋กœ์„ธ์Šค ํ’€์— ๋Œ€๊ธฐ์‹œํ‚ต๋‹ˆ๋‹ค. ํ’€์˜ ํ”„๋กœ์„ธ์Šค ์ˆ˜๋Š” ์„œ๋ฒ„ ๋ฆฌ์†Œ์Šค์™€ ๋ถ€ํ•˜์— ๋”ฐ๋ผ ์ž๋™์œผ๋กœ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค.

ํด๋ผ์šฐ๋“œ์˜ ์ธํ”„๋ผ์™€ ๋ฐฐํฌ.

์ด ๋ฆด๋ฆฌ์Šค์—๋Š” ๋‹ค์Œ์„ ํฌํ•จํ•˜์—ฌ ์ธํ”„๋ผ ๋ฐ ํด๋ผ์šฐ๋“œ ๋ฐฐํฌ์— ๋Œ€ํ•œ ๊ฐœ์„  ์‚ฌํ•ญ์ด ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • Tencent Cloud๋ฅผ ์ง€์›ํ•˜์„ธ์š”. InterSystems Cloud Manager(ICM)๋Š” ์ด์ œ Tencent Cloud์—์„œ InterSystems IRIS ๊ธฐ๋ฐ˜ ์ธํ”„๋ผ ์ƒ์„ฑ ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฐํฌ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • Docker์—์„œ ํด๋” ๋งˆ์šดํŠธ(๋ฐ”์ธ๋“œ ๋งˆ์šดํŠธ) ์™ธ์—๋„ ๋ช…๋ช…๋œ ๋ณผ๋ฅจ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ICM์€ ์œ ์—ฐํ•œ ํ™•์žฅ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๊ตฌ์„ฑ์„ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋” ๋งŽ๊ฑฐ๋‚˜ ์ ์€ ๋…ธ๋“œ๋กœ ๋‹ค์‹œ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋” ์ž์„ธํ•œ ๋‚ด์šฉ โ€” ยซ์ธํ”„๋ผ ์žฌํ”„๋กœ๋น„์ €๋‹"๊ทธ๋ฆฌ๊ณ "์žฌ๋ฐฐ์น˜ ์„œ๋น„์Šค".
  • ์ž์ฒด ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ ๊ธฐ๋Šฅ์ด ๊ฐœ์„ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ICM์€ ์ƒˆ๋กœ์šด ์ƒค๋”ฉ ์•„ํ‚คํ…์ฒ˜๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ์ปจํ…Œ์ด๋„ˆ์˜ ๊ธฐ๋ณธ ์‚ฌ์šฉ์ž๋Š” ๋” ์ด์ƒ root๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.
  • ICM์€ ์š”์ƒˆ ๋…ธ๋“œ๊ฐ€ ๊ฐœ์ธ ๋„คํŠธ์›Œํฌ๋ฅผ ๊ณต์šฉ ๋„คํŠธ์›Œํฌ์— ์—ฐ๊ฒฐํ•˜๊ณ  ์„œ๋น„์Šค ๊ฑฐ๋ถ€ ๊ณต๊ฒฉ์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ๋ณดํ˜ธ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ์ธ ๋„คํŠธ์›Œํฌ์˜ ์ƒ์„ฑ ๋ฐ ๋ฐฐํฌ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ณด์•ˆ RPC๋ฅผ ํ†ตํ•œ ์„œ๋น„์Šค ๊ฒ€์ƒ‰ ์ง€์›.
  • ICM์€ ๋‹ค์ค‘ ์ง€์—ญ ๋ฐฐํฌ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ „์ฒด ์ง€์—ญ์˜ ์„œ๋น„์Šค๊ฐ€ ์ค‘๋‹จ๋˜๋”๋ผ๋„ ๋†’์€ ์‹œ์Šคํ…œ ๊ฐ€์šฉ์„ฑ์ด ๋ณด์žฅ๋ฉ๋‹ˆ๋‹ค.
  • ICM์„ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ์ด๋ฏธ ๋ฐฐํฌ๋œ ์‹œ์Šคํ…œ์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.
  • ์ปจํ…Œ์ด๋„ˆ ์—†๋Š” ๋ชจ๋“œ - ICM์€ ์ด์ œ ์ปจํ…Œ์ด๋„ˆ ์—†์ด๋„ Google Cloud Platform์— ํด๋Ÿฌ์Šคํ„ฐ ๊ตฌ์„ฑ์„ ์ง์ ‘ ๋ฐฐํฌํ•˜๊ณ  Ubuntu ๋˜๋Š” SUSE์— Web Gateway๋ฅผ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋‘ ๊ฐœ์˜ ํŒŒ์ผ์—์„œ iris.cpf๋ฅผ ๋ณ‘ํ•ฉํ•˜๋Š” ๊ฒƒ์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ICM์€ ์„ค์น˜๊ฐ€ ์‹คํ–‰๋˜๋Š” ๋ชจ๋“œ์— ๋”ฐ๋ผ ๋‹ค์–‘ํ•œ ์„ค์ •์œผ๋กœ InterSystems IRIS๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์„ ํ†ตํ•ด Kubernetes์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ๊ตฌ์„ฑ ๊ด€๋ฆฌ ๋„๊ตฌ์— ๋Œ€ํ•œ ์ž๋™ํ™”์™€ ์ง€์›์ด ๊ฐ„์†Œํ™”๋ฉ๋‹ˆ๋‹ค.

์›น ๋กœ๊ทธ ๋ถ„์„

์„ ํƒ์  ํ๋ธŒ ์žฌ๊ตฌ์„ฑ

์ด๋ฒˆ ๋ฆด๋ฆฌ์Šค๋ถ€ํ„ฐ InterSystems IRIS Business Intelligence(์ด์ „ ๋ช…์นญ DeepSee)๋Š” ์„ ํƒ์  ํ๋ธŒ ๊ตฌ์ถ•์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ธก์ •๊ฐ’์ด๋‚˜ ์ฐจ์›์€ ํ•˜๋‚˜๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ํ๋ธŒ์˜ ์„ค๋ช…์„ ๋ณ€๊ฒฝํ•œ ํ›„ ๋ณ€๊ฒฝ๋œ ๋ถ€๋ถ„๋งŒ ๋‹ค์‹œ ๋นŒ๋“œํ•˜๊ณ , ๋‹ค์‹œ ๋นŒ๋“œํ•˜๋Š” ๋™์•ˆ ์ „์ฒด ํ๋ธŒ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

PowerBI ์ปค๋„ฅํ„ฐ

Microsoft PowerBI๋Š” ์ด์ œ InterSystems IRIS ํ…Œ์ด๋ธ”๊ณผ ํ๋ธŒ ์ž‘์—…์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ปค๋„ฅํ„ฐ๋Š” 2019๋…„ XNUMX์›” ์ถœ์‹œ ์ดํ›„ PowerBI์™€ ํ•จ๊ป˜ ์ œ๊ณต๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋” ์ž์„ธํ•œ ๋‚ด์šฉ โ€” ยซPower BI์šฉ InterSystems IRIS ์ปค๋„ฅํ„ฐ".

์ฟผ๋ฆฌ ๊ฒฐ๊ณผ ๋ฏธ๋ฆฌ๋ณด๊ธฐ

์ด ๋ฆด๋ฆฌ์Šค์—์„œ๋Š” Analyzer์—์„œ ํ”ผ๋ฒ— ํ…Œ์ด๋ธ”์„ ๋งŒ๋“ค ๋•Œ ์ƒˆ๋กœ์šด ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๋ชจ๋“œ๊ฐ€ ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ „์ฒด ๊ฒฐ๊ณผ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ ๋„ ์š”์ฒญ์˜ ์ •ํ™•์„ฑ์„ ๋น ๋ฅด๊ฒŒ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐํƒ€ ๊ฐœ์„  ์‚ฌํ•ญ

  • $ORDER ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์—ญ์ˆœ(๋ฐฉํ–ฅ = -1)์œผ๋กœ ์ „์—ญ์„ ํƒ์ƒ‰ํ•˜๋Š” ๊ฒƒ์ด ์ด์ œ ์ •์ˆœ์œผ๋กœ ํƒ์ƒ‰ํ•˜๋Š” ๊ฒƒ๋งŒํผ ๋น ๋ฆ…๋‹ˆ๋‹ค.
  • ๋กœ๊น… ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • Apache Spark 2.3, 2.4์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • WebSocket ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•œ ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค. %Net.WebSocket.Client ํด๋ž˜์Šค.
  • ์ด์ œ ์ œํ’ˆ ํŽ˜์ด์ง€๊ฐ€ ๋ณ€๊ฒฝ๋  ๋•Œ ๋ฒ„์ „ ์ œ์–ด ํด๋ž˜์Šค๊ฐ€ ์ด๋ฒคํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•ฉ๋‹ˆ๋‹ค.
  • CSP, ZEN ๋ฐ REST์— ๋Œ€ํ•œ ํ—ˆ์šฉ๋œ ์š”์ฒญ์„ ํ•„ํ„ฐ๋งํ•˜๋Š” ํ—ˆ์šฉ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค.
  • .NET Core 2.1 ์ง€์›.
  • ODBC ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์‰ฌ์šด ๋ถ„์„์„ ์œ„ํ•œ ๊ตฌ์กฐํ™”๋œ ๋กœ๊ทธ messages.log.
  • ์˜ค๋ฅ˜ ๊ฒ€์‚ฌ ๋ฐ ๊ฒฝ๊ณ ๋ฅผ ์œ„ํ•œ API์ž…๋‹ˆ๋‹ค. ํด๋ž˜์Šค %SYSTEM.Monitor.GetAlerts().
  • ์ด์ œ ํด๋ž˜์Šค ์ปดํŒŒ์ผ๋Ÿฌ๋Š” ์ €์žฅ์†Œ ์„ ์–ธ์˜ ์ „์—ญ ์ด๋ฆ„์ด ์ตœ๋Œ€ ๊ธธ์ด(31์ž)๋ฅผ ์ดˆ๊ณผํ•˜์ง€ ์•Š๋Š”์ง€ ํ™•์ธํ•˜๊ณ , ์ดˆ๊ณผํ•˜์ง€ ์•Š์œผ๋ฉด ์˜ค๋ฅ˜๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์ด์ „์—๋Š” ๊ธ€๋กœ๋ฒŒ ์ด๋ฆ„์ด ์•„๋ฌด๋Ÿฐ ๊ฒฝ๊ณ  ์—†์ด 31์ž๋กœ ์ž˜๋ ธ์Šต๋‹ˆ๋‹ค.

์–ป์„ ์ˆ˜์žˆ๋Š” ๊ณณ

์ง€์›์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์„น์…˜์—์„œ ๋ฐฐํฌํŒ์„ ๋‹ค์šด๋กœ๋“œํ•˜์„ธ์š”. ์˜จ๋ผ์ธ ๋ฐฐํฌ ์›น์‚ฌ์ดํŠธ wrc.intersystems.com

InterSystems IRIS๋ฅผ ์‹œ๋„ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด - https://www.intersystems.com/ru/try-intersystems-iris-for-free/

Docker๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋”์šฑ ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค.

docker run --name iris20 --init --detach --publish 51773:51773 --publish 52773:52773 store/intersystems/iris-community:2020.1.0.215.0

์„ธ๋ฏธ๋‚˜

7์›” 17์ผ ์˜คํ›„ 00์‹œ(๋ชจ์Šคํฌ๋ฐ” ์‹œ๊ฐ„)์— ์ƒˆ๋กœ์šด ๋ฆด๋ฆฌ์Šค์— ๋Œ€ํ•œ ์›จ๋น„๋‚˜๊ฐ€ ์ง„ํ–‰๋  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค. ์ด ํ–‰์‚ฌ๋Š” ์ œํ”„ ํ”„๋ผ์ด๋“œ(์ œํ’ˆ ๊ด€๋ฆฌ ์ด์‚ฌ)์™€ ์กฐ ๋ฆฌํžˆํ…๋ฒ„๊ทธ(์ œํ’ˆ ๋ฐ ์‚ฐ์—… ๋งˆ์ผ€ํŒ… ์ด์‚ฌ)๊ฐ€ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋“ฑ๋กํ•˜๋‹ค! ์›จ๋น„๋‚˜๋Š” ์˜์–ด๋กœ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€