์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ Graph DB๋ฅผ ํด๋ผ์šฐ๋“œ์— ํ˜ธ์ŠคํŒ…ํ•˜๊ธฐ  

์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋ฅผ ์ด์šฉํ•˜์—ฌ OrientDB๋ฅผ ์ปจํ…Œ์ด๋„ˆ๋กœ ๋น ๋ฅด๊ณ  ์‰ฝ๊ฒŒ ๋ฐฐํฌํ•˜๊ธฐ

Last updated

OrientDB์™€ ๊ฐ™์€ ๊ทธ๋ž˜ํ”„(Graph) ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋…ธ๋“œ(node), ์—ฃ์ง€(edge) ๊ทธ๋ฆฌ๊ณ  ์†์„ฑ(property)์œผ๋กœ ๊ตฌ์„ฑ๋œ ๊ทธ๋ž˜ํ”„ ๊ตฌ์กฐ ์ž๋ฃŒ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๋””์ž์ธ์ ์œผ๋กœ ๊ทธ๋ž˜ํ”„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋ณต์žกํ•˜๊ณ  ๊ณ„์ธต์  ์ž๋ฃŒ ๊ตฌ์กฐ๋ฅผ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ณด๋‹ค ๋” ํšจ์œจ์ ์ธ ๋ฐฉ์‹์œผ๋กœ ๋‹จ์ˆœํ•˜๊ณ  ๋น ๋ฅด๊ฒŒ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. ์ด ๊ฐœ๋ฐœ์ž ๊ณผ์ •์€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค API๋ฅผ ์ด์šฉํ•˜์—ฌ IBM ํด๋ผ์šฐ๋“œ ์ปจํ…Œ์ด๋„ˆ ์„œ๋น„์Šค์— OrientDB๋ฅผ ๋น ๋ฅด๊ฒŒ ํ˜ธ์ŠคํŒ…ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ๋ ค์ค๋‹ˆ๋‹ค. ํด๋ผ์šฐ๋“œ์— ํ˜ธ์ŠคํŒ…๋˜๋Š” OrientDB๋Š” ์—ฌ๋Ÿฌ๋ถ„์˜ ๊ฐœ๋ฐœํŒ€๊ณผ ๊ฒ€์ฆํŒ€๊ฐ„ ํ˜‘์—…์„ ๋ณด๋‹ค ์‰ฝ๊ฒŒํ•˜๋„๋ก ํ™œ์šฉ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

By Shiva Kumar H R, Neha Setia

Overview

OrientDB์™€ ๊ฐ™์€ ๊ทธ๋ž˜ํ”„(Graph) ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋…ธ๋“œ(node), ์—ฃ์ง€(edge) ๊ทธ๋ฆฌ๊ณ  ์†์„ฑ(property)์œผ๋กœ ๊ตฌ์„ฑ๋œ ๊ทธ๋ž˜ํ”„ ๊ตฌ์กฐ ์ž๋ฃŒ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ๋””์ž์ธ์ ์œผ๋กœ ๊ทธ๋ž˜ํ”„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋ณต์žกํ•˜๊ณ  ๊ณ„์ธต์  ์ž๋ฃŒ ๊ตฌ์กฐ๋ฅผ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ณด๋‹ค ๋” ํšจ์œจ์ ์ธ ๋ฐฉ์‹์œผ๋กœ ๋‹จ์ˆœํ•˜๊ณ  ๋น ๋ฅด๊ฒŒ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค. Gremlin์€ ๊ทธ๋ž˜ํ”„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด ํ‘œ์ค€ํ™”๋œ ๊ทธ๋ž˜ํ”„ ์ˆœํšŒ(traverse) ์–ธ์–ด์ž…๋‹ˆ๋‹ค (RDBMS์—์„œ SQL๊ณผ ๊ฐ™์€ ๋ฐฉ์‹).

์ด ๊ณผ์ •์—์„œ๋Š” Bluemix ์ปจํ…Œ์ด๋„ˆ ์„œ๋น„์Šค์— OrientDB๋ฅผ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ณด์—ฌ์ฃผ์–ด ์ด๋ฅผ ๊ฐœ๋ฐœ์ด๋‚˜ ํ…Œ์ŠคํŠธ ๋ชฉ์ ์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

IBM Bluemix ์ปจํ…Œ์ด๋„ˆ ์„œ๋น„์Šค๋Š” ๋„์ปค(Docker)์™€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค(Kubernetes)๊ฐ€ ์กฐํ•ฉ๋œ ํ˜•ํƒœ๋กœ์„œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋…๋ฆฝ ์ปดํ“จํŠธ ํ˜ธ์ŠคํŠธ๋กœ ๊ตฌ์„ฑ๋œ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์ปจํ…Œ์ด๋„ˆํ™”๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ž๋™ํ™”๋œ ๋ฐฐํฌ, ์šด์˜, ํ™•์žฅ ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง์ด ๊ฐ€๋Šฅํ•œ ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ด ๊ณผ์ •์€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹จ๊ณ„๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

  • Bluemix ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์— OrientDB ์ปจํ…Œ์ด๋„ˆ ๋ฐฐํฌ
  • ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค secret์— OrietntDB์˜ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ €์žฅ
  • ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค volume claim์„ ์‚ฌ์šฉํ•˜์—ฌ OrientDB volume์šฉ ์˜๊ตฌ ์ €์žฅ์†Œ ๊ตฌ์„ฑ
  • ์‹คํ–‰์ค‘์ธ ์ปจํ…Œ์ด๋„ˆ์˜ ์‰˜(shell)์— ์ ‘๊ทผํ•˜๋Š” ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๊ธฐ๋Šฅ์„ ์ด์šฉํ•œ Gremlin ์ฝ˜์†”์„ ๋น„๋กฏํ•œ ๋ฐฐํฌ๋œ OrientDB์˜ ์ฝ˜์†”์— ์ ‘์†

Flow

  1. IBM Cloud CLI์— ๋กœ๊ทธ์ธ ํ›„ IBM ์ปจํ…Œ์ด๋„ˆ ์„œ๋น„์Šค ํ”Œ๋Ÿฌ๊ทธ์ธ์„ ์ดˆ๊ธฐํ™” ํ•ฉ๋‹ˆ๋‹ค.
  2. IBM Cloud ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ์„ค์ • ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œํ•˜๊ณ  KUBECONFIG ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜์—ฌ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค CLI ์ปจํ…์ŠคํŠธ๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  3. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค secret์— OrientDB์— ๋Œ€ํ•œ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
  4. OrientDB volume์šฉ ์˜๊ตฌ ์ €์žฅ์†Œ๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  5. ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ์— OrientDB ์ปจํ…Œ์ด๋„ˆ์™€ NodePort service๋ฅผ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค.
  6. worker ๋…ธ๋“œ์˜ ํผ๋ธ”๋ฆญ IP ์ฃผ์†Œ์™€ NodePort์— ๋งคํ•‘๋œ OrientDB์˜ HTTP ํฌํŠธ ๋ฒˆํ˜ธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ OrientDB ๋Œ€์‹œ๋ณด๋“œ์— ์ ‘์†ํ•ฉ๋‹ˆ๋‹ค.

Components

IBM Bluemix Container Service

IBM Bluemix ์ปจํ…Œ์ด๋„ˆ ์„œ๋น„์Šค๋Š” IBM ํด๋ผ์šฐ๋“œ ์ƒ์—์„œ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํด๋Ÿฌ์Šคํ„ฐ(Kubernetes Cluster) ๋ฐ ๋„์ปค ์ปจํ…Œ์ด๋„ˆ(Docker Container) ๊ธฐ๋ฐ˜์˜ ๊ณ ๊ฐ€์šฉ์„ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ด€๋ฆฌ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

Technologies

์ปจํ…Œ์ด๋„ˆ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜

์ปจํ…Œ์ด๋„ˆํ˜• ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ฐฐํฌ, ์Šค์ผ€์ผ๋ง ๋ฐ ๊ด€๋ฆฌ์˜ ์ž๋™ํ™”.

Containers

์•ฑ ์‹คํ–‰์— ํ•„์š”ํ•œ ๋ชจ๋“  ์š”์†Œ๋ฅผ ํฌํ•จํ•˜๋Š” ๊ฐ€์ƒ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐ์ฒด.

Related Blogs

๊ท€ํ•˜๊ฐ€ ์ž…๋ ฅํ•œ ์‡ผํŠธ์ฝ”๋“œ ๊ฒ€์ƒ‰์กฐ๊ฑด์— ๋งค์น˜๋˜๋Š” ํฌ์ŠคํŒ…์ด ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Related Links

IT ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ

Marko Rodriguez๊ฐ€ ์‚ฌ์šฉํ–ˆ๋˜ ๋™์ผ ๋ฐ์ดํ„ฐ๋กœ OrientDB๋กœ ์˜ํ™” ์ถ”์ฒœ ์—”์ง„์„ ๋งŒ๋“ค์–ด ๋ณด์„ธ์š”.(์˜๋ฌธ)

Supporting the Graph Landscape

๊ทธ๋ž˜ํ”„ ๊ธฐ๋ฐ˜ ์˜ํ™” ์ถ”์ฒœ ์—”์ง„์„ ํ™•์ธํ•ด ๋ณด์„ธ์š”(์˜๋ฌธ).