JSON์ ์ ์ฐ์ฑ๊ณผ SQL์ ๊ฐ๋ ฅํ ์ฑ๋ฅ ๊ฒฐํฉ
์บ๋ฆฌํฌ๋์๋ํ๊ต ์๋์์ด๊ณ ์บ ํผ์ค ์ปดํจํฐ ๊ณตํ ๊ต์์ธ ์ผ๋์ค ํํ์ฝ์คํํฐ๋ ธ์ฐ์ ์นด์ฐ์น๋ฒ ์ด์ค๋ ๋ฌธ์ ์งํฅ ๋ฐ์ดํฐ์ JSON(JavaScript Object Notation) ๋ฐ์ดํฐ ํ์์ ๊ด๋ฒ์ํ ์ฑํ์ ์ํ ์ค์ํ ๋จ๊ณ๋ก, ์ค๋ ๋น ๋ฐ์ดํฐ๋ฅผ ์ํ ์ฐจ์ธ๋ ์ฟผ๋ฆฌ ์ธ์ด์ ๋ํ ํ์ ์ ๋ฐํํ์ต๋๋ค. ์์ฌ์ ๊ณต๋ ์ฐ๊ตฌ๋ SQL์ ๊ฐ๋ ฅํ ์ฑ๋ฅ๊ณผ JSON์ ์ ์ฐ์ฑ์ ๊ฒฐํฉํ ๊ฒ์ ๋๋ค.
๊ณตํต ๋น์ : SQL + JSON
ํ์ ์ ์์ Couchbase์ ํํ์ฝ์คํํฐ๋ ๊ต์๋ ๊ธฐ์กด์ ์ ๊ทผ ๋ฐฉ์์ด ๋ฐ์ ํ ๋ฐ์ดํฐ ์ฟผ๋ฆฌ๋ฅผ ์ํ ์์ ํ๊ณ ํจ์จ์ ์ธ ์๋ฃจ์ ์ ์ ๊ณตํ์ง ๋ชปํ๋ค๊ณ ๋ ์์ ์ผ๋ก ๊ฒฐ๋ก ์ ๋ด๋ ธ์ต๋๋ค. ๋ ์ฌ๋ ๋ชจ๋ ๋ํ์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฟผ๋ฆฌ ์ธ์ด์ธ SQL๊ณผ ์ต์ ์ ํ๋ฆฌ์ผ์ด์ ์์ ๋ฐ์ ํ ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ธ๋งํ๊ธฐ ์ํ ๋ํ์ ์ธ ํ์์ธ JSON์ ๊ฒฐํฉํ๋ค๋ ๊ณตํต๋ ๋น์ ์ ๊ณต์ ํ์ต๋๋ค. ๋ ํ์ฌ ๋ชจ๋ ๊ทธ ๋ฐฉํฅ์ผ๋ก ์์ ์ ์์ํ๊ณ , ๊ณต๋ ์์ ์ ๊ฒฐ์ ํ ๊ฒ๋ ์ด๋ฌํ ๊ณตํต์ ๋น์ ์ ๋ฐํ์ผ๋ก ํ ๊ฒ์ ๋๋ค.
์นด์ฐ์น๋ฒ ์ด์ค๋ UC ์๋์์ด๊ณ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ทธ๋ฃน์ ํํ์ฝ์คํํฐ๋ ธ์ฐ ํ์ด ๊ฐ๋ฐํ ๋ฐ๊ตฌ์กฐํ ๋ฐ์ดํฐ๋ฅผ ์ํ ๊ณต์์ ์ผ๋ก ์ ์๋๊ณ SQL๊ณผ ํ์ ํธํ๋๋ ์ ์ธ์ ์ธ์ด์ธ SQL++์ ๊ฐ๋ฐ์ ์ํด ์ง์์ ์ธ ์ฐ๊ตฌ ์๊ธ์ ์ง์ํ ๊ฒ์ ๋๋ค. ๋ํ ์นด์ฐ์น๋ฒ ์ด์ค๋ JSON์ฉ SQL์ ํ์ฅํ๊ณ SQL++์ ์ ์๋ ์ฌ์๊ณผ ์ผ์นํ๋ ์นด์ฐ์น๋ฒ ์ด์ค์ ์ฟผ๋ฆฌ ์ธ์ด์ธ N1QL์ ์ง์์ ์ผ๋ก ๊ฐ์ ํด ๋๊ฐ ๊ฒ์ ๋๋ค.
SQL++๋ ํนํ SQL ๊ตฌ๋ฌธ์ ์ต์ํ ๊ฐ๋ฐ์์๊ฒ๋ ๋ฐฐ์ฐ๊ธฐ ์ฝ์ต๋๋ค. ํ์ง๋ง ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ํ ์ด๋ธ์ ๊น๋ํ๊ฒ ๋ค์ด๋ง์์ผ ํ๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฌ๋ฆฌ JSON์ ์ฌ๋์ด ์ฝ๊ฒ ์ฝ๊ณ ์ธ ์ ์๊ณ ๊ธฐ๊ณ๊ฐ ์์ฑํ๊ณ ๊ตฌ๋ฌธ ๋ถ์ํ ์ ์๋ ๊ฐ๋ฒผ์ด ๋ฐ์ดํฐ ๊ตํ ํ์์ ๋๋ค.
UC ์๋์์ด๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ทธ๋ฃน์ ์ต๊ทผ ๊ธฐ์ ๋ณด๊ณ ์*์ ์์ธํ ์ค๋ช ๋์ด ์๋ฏ์ด, SQL++์ ๊ณต๋ ๊ฐ๋ฐ์์ธ ํํ์ฝ์คํํฐ๋์ ์ฐ๊ตฌ์ ๊ฒธ CSE ์กธ์ ์์ธ ํค์ ์ ์น(Kian Win Ong, ๋ฐ์ฌ '12)์ ํจ์ฌ ๋ ๊น๋ํ๊ณ SQL์ ์์์ ์ฟผ๋ฆฌ ์ธ์ด ํ์ฅ๋ง ๋์ ํ๋ SQL++์ ๊ตฌ๋ฌธ๊ณผ ์๋ฏธ๋ก ์ ๋ํด ์ค๋ช ํฉ๋๋ค. ํํ์ฝ์คํํฐ๋๋ "SQL ๊ธฐ๋ฅ์ ์๋ก์ด ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๊ธฐ๋ณด๋ค๋ SQL์ ์๋ฏธ๋ก ์ ์ ํ์ ์ ๊ฑฐํจ์ผ๋ก์จ ํ์ฅ๋๋ ๊ฒฝ์ฐ๊ฐ ๋๋ถ๋ถ์ ๋๋ค."๋ผ๊ณ ๋งํฉ๋๋ค. "์ด๋ฅผ ํตํด SQL++๋ SQL์ ๋ํ ๋ถํ์ํ ํ์ฅ์ ํผํ ์ ์์ต๋๋ค." SQL++์ ์๋ฏธ๋ก ์ ์ด์ ์ฟผ๋ฆฌ ์ธ์ด์ ๋นํด ํจ์ฌ ์งง์์ง๊ธฐ ๋๋ฌธ์ ์ฌ์ฉ ํธ์์ฑ๋ ํฅ์๋ฉ๋๋ค.
SQL++ ๋ฐ N1QL
11๊ฐ์ ์ฟผ๋ฆฌ ์ธ์ด๋ฅผ ์ดํด๋ณธ ๊ฒฐ๊ณผ, ํํ์ฝ์คํํฐ๋๋ ๋ฐ์ ํ ๋ฐ์ดํฐ์ ๋ํ ๋ณธ๊ฒฉ์ ์ธ ์ฟผ๋ฆฌ๋ฅผ ์ ๊ณตํ๋ ์ธ์ด๊ฐ ์๋ค๋ ๊ฒฐ๋ก ์ ๋ด๋ ธ์ต๋๋ค. ํํ์ฝ์คํํฐ๋ ธ์ฐ์ ๊ทธ์ ํ์ ๋ฏธ๊ตญ ๊ตญ๋ฆฝ๊ณผํ์ฌ๋จ(NSF)๊ณผ Informatica์ ์ง์์ ๋ฐ์ UCSD์ FORWARD ํ๋ก์ ํธ๋ก SQL++ ์ฌ์์ ๊ฐ๋ฐํ์ฌ ์ถ์ํ์ต๋๋ค. ๋์์ Couchbase๋ SQL์ ์ฟผ๋ฆฌ ์ฑ๋ฅ๊ณผ JSON ๋ฐ์ดํฐ์ ์ ์ฐ์ฑ์ ๊ฒฐํฉํ ํฌ๊ด์ ์ธ ์ฟผ๋ฆฌ ์ธ์ด๋ฅผ ์ ๊ณตํ๊ธฐ ์ํด N1QL์ ๋ ์์ ์ผ๋ก ๊ฐ๋ฐํ์ต๋๋ค.
"๊ธฐ์ ๋ค์ ๋ฐ์ ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ํ ์ ์ธ์ ์ฟผ๋ฆฌ๋ฅผ ์๊ตฌํ๊ธฐ ์์ํ์ต๋๋ค. SQL++๋ฅผ ์ฌ์ฉํ๋ฉด JSON์ ์ฟผ๋ฆฌํ๊ณ SQL๊ณผ ์ญํธํ๋๋ ์ ์ธ์ ์ฟผ๋ฆฌ ์ธ์ด๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค."๋ผ๊ณ Papakonstantinou๋ ๋งํฉ๋๋ค. "์ด ์ฟผ๋ฆฌ ์ธ์ด๋ ๋ฐ์ ํ ๋ฐ์ดํฐ์์ ์๋ํ์ง๋ง ์์ ํ ์ ์ธ์ ์ด๊ณ SQL๊ณผ ํธํ๋๋ฏ๋ก ์๋ก์ด ๋น ๋ฐ์ดํฐ ์๋๋ฅผ ์ํ ์ฟผ๋ฆฌ ์ธ์ด์ ๋๋ค. ๋ ๊ฐ์ง ์ฅ์ ์ ๋ชจ๋ ์ ๊ณตํฉ๋๋ค. Couchbase N1QL์ SQL++ ์ฌ์๊ณผ ๋ฐ์ ํ ๋ฐ์ดํฐ ์ฟผ๋ฆฌ์ ์๊ตฌ ์ฌํญ์ ๋ถํฉํฉ๋๋ค."
"ํํ์ฝ์คํํฐ๋ ๊ต์ ๋ฐ ๊ทธ์ ์ฐ๊ตฌํ๊ณผ ํ๋ ฅํ๊ฒ ๋์ด ๊ธฐ์๊ฒ ์๊ฐํฉ๋๋ค. ๊ทธ๋ค์ JSON์ ์ํ ์ ์ธ์ ์ฟผ๋ฆฌ ์ธ์ด๊ฐ SQL์ ๊ธฐ๋ฐ์ผ๋ก ํด์ผ ํ๋ค๋ ์ฐ๋ฆฌ์ ๋น์ ์ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค."๋ผ๊ณ Couchbase์ ์ฟผ๋ฆฌ ์์ง๋์ด๋ง ์์ ์ํคํ ํธ์ธ ์ ๋ด๋ ์๊ตฌ๋๋ ๋งํฉ๋๋ค. "SQL++๋ ๋ํ ์ฌ์ฉ์์๊ฒ ์ ์ตํ ์๊ฒฉํจ๊ณผ ์์ ์ฑ์ ์ ๊ณตํฉ๋๋ค."
์ค์ ๋ก Couchbase์ UCSD๋ N1QL์ด SQL++์ ๋ฐฉ์ธ์ด๋ผ๋ ๊ฒ์ ๊ณต์์ ์ผ๋ก ํ๋ฆฝํ์ต๋๋ค. N1QL๊ณผ SQL++์ ๊ณต์์ ์ธ ๋งคํ์ ๋ณ๋๋ก ๊ฒ์๋๊ณ ์์ต๋๋ค.
ํ์ ์ ์ฐธ์ฌํ ๋ค๋ฅธ ์ฌ๋
์นด์ฐ์น๋ฒ ์ด์ค ์ธ์๋ UCSD๋ ์ฌ์ฉ์์๊ฒ ํํ์ ์ฃผ๊ณ ๋ฐ์ ํ ๋ฐ NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฑํ์ ์ฉ์ดํ๊ฒ ํ๊ธฐ ์ํด ๋ค๋ฅธ ํ๊ณ ๋ฐ ์ ๊ณ ํํธ๋๋ฅผ ์ฟผ๋ฆฌ ์ธ์ด ํ์ ์ ์ด๋ํ ์์ ์ ๋๋ค. ์ด๋ฏธ ๋ง์ดํฌ ์บ๋ฆฌ ๊ต์๊ฐ ์ด๋๋ UC ์ด๋ฐ์ธ์ AsterixDB*๋ SQL++์ ๋๋ถ๋ถ์ ์ง์ํ๊ณ ์์ผ๋ฉฐ, ์ ์ฒด SQL++๋ฅผ ์ง์ํ๋ ๋ฐฉํฅ์ผ๋ก ๋์๊ฐ๊ณ ์์ต๋๋ค. ์ด ํ์ ์ ์ด๋ฏธ ์ค์ํ ์ธ์ด ์ค๊ณ ํผ๋๋ฐฑ์ ์ ๊ณตํ์ต๋๋ค.
*ํค์ ์ ์น, ์ผ๋์ค ํํ์ฝ์คํํฐ๋, ๋ก๋งน ๋ฒ ๋ฅด๋, SQL++ ์ฟผ๋ฆฌ ์ธ์ด: ๊ตฌ์ฑ ๊ฐ๋ฅ, ํตํฉ ๋ฐ ๋ฐ๊ตฌ์กฐํ, 2015๋ ๊ธฐ์ ๋ณด๊ณ ์, ์บ๋ฆฌํฌ๋์ ๋ํ๊ต ์๋์์ด๊ณ ์บ ํผ์ค ์ปดํจํฐ ๊ณผํ ๋ฐ ๊ณตํ๋ถ, 2015๋ 4์ 29์ผ, http://arxiv.org/pdf/1405.3631v7.pdf
UC ์๋์์ด๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ทธ๋ฃน ์๊ฐ
๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ทธ๋ฃน์ UC ์๋์์ด๊ณ ์ ์ปดํจํฐ ๊ณผํ ๋ฐ ๊ณตํ๋ถ์ ์์นํ๊ณ ์์ผ๋ฉฐ, ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ ๋ฐ์ดํฐ ๊ด๋ฆฌ ๊ธฐ์ ์ ์ ๋์ ์ธ ์ ๋ฌธ๊ฐ์ธ ์ผ๋์ค ํํ์ฝ์คํํฐ๋ ธ์ฐ CSE ๊ต์๊ฐ ์ด๋๊ณ ์์ต๋๋ค. ๋ํ 2014๋ ๊ฐ์์ ์ ์ค๋ ๋ฐ์ดํฐ ๊ณผํ ๋ฐ ์์ง๋์ด๋ง ์ ๋ฌธ ์์ฌ ๊ณผ์ ์ ๊ณต๋ ์ฑ ์์์ด์ ๊ต์์ง์ผ๋ก ์ฌ์ง ์ค์ ๋๋ค. ํํ์ฝ์คํํฐ๋ ธ์ฐ๋ ๊ธฐ์ ๊ฐ์ด๊ธฐ๋ ํฉ๋๋ค. 2000๋ ์ Enosys Software๋ฅผ ์ค๋ฆฝํ์ผ๋ฉฐ, ์ด ํ์ฌ๋ 2003๋ ์ BEA Systems์ ์ธ์๋์์ต๋๋ค. Enosys๋ ํ์ฌ JSON์ผ๋ก ๋น ๋ฅด๊ฒ ๋์ฒด๋๊ณ ์๋ XML์ ์ฌ์ฉํ์ฌ ๋ฐ์ ํ ๋ฐ์ดํฐ ์ฟผ๋ฆฌ ํ๋ก์ธ์๋ฅผ ์ต์ด๋ก ์ ๋ณด์ธ ํ์ฌ ์ค ํ๋์์ต๋๋ค. ์ต๊ทผ์๋ ํํ์ฝ์คํํฐ๋ ธ์ฐ์ ์ฐ๊ตฌ์ Kian Win Ong, Yannis Katsis, ๊ทธ๋ฆฌ๊ณ ๋ฐ์ฌ ๋ฐ ์์ฌ ๋ํ์์์ผ๋ก ๊ตฌ์ฑ๋ ํ์ด ๋ถ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ์ ์ํ ๊ฐ๋ฐ ํ๋ซํผ์ธ FORWARD ํ๋ก์ ํธ์ ์ฐธ์ฌํ์ฌ SQL++๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค(SQL, NoSQL ๋๋ ๋ ๋ค)์์ ๋ฐ์ดํฐ์ ํตํฉ ๋ณด๊ธฐ๋ฅผ ๋ง๋ค๊ณ ์ ์ง์ ์ผ๋ก ์ ๋ฐ์ดํธํ๋ ์์ ์ ์งํํ์ต๋๋ค. FORWARD์๋ SQL++๋ฅผ ์ฌ์ฉํด SQL, NoSQL, NewSQL, SQL-on-Hadoop ๋ฑ ๋ค์ํ ๋ฐ์ดํฐ ์์ค์ ๋ํด ๋ถ์ฐ ์ฟผ๋ฆฌ๋ฅผ ์คํํ๋ ๋ฏธ๋ค์จ์ด ์ฟผ๋ฆฌ ํ๋ก์ธ์๊ฐ ํฌํจ๋์ด ์์ต๋๋ค. FORWARD ํ๋ก์ ํธ์ SQL++ ๊ธฐ๋ฐ ์๊ฐํ ๋ฐ ์ฑ ๊ฐ๋ฐ ํ๋ซํผ์ ์์ ์ ์ผ๋ก ๋ฐฐํฌ๋์์ต๋๋ค. FORWARD ํ๋ก์ ํธ์ ๋ํ ์์ธํ ์ ๋ณด๋ http://forward.ucsd.edu/.
์ฐ๋ฝ์ฒ:
๋๊ทธ ๋จ์ง
858-822-5825
dramsey@ucsd.edu
์นด์ฐ์น๋ฒ ์ด์ค ์๊ฐ
์นด์ฐ์น๋ฒ ์ด์ค๋ ๋ฐ์ดํฐ๊ฐ ๊ธฐ์ ์ ํต์ฌ์ด๋ผ๊ณ ๋ฏฟ์ต๋๋ค. ๊ฐ๋ฐ์์ ์ํคํ ํธ๊ฐ ๊ฐ์ฅ ๋ฏธ์ ํฌ๋ฆฌํฐ์ปฌํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ์ถ, ๋ฐฐํฌ, ์คํํ ์ ์๋๋ก ์ง์ํฉ๋๋ค. Couchbase๋ ๋ฐ์ดํฐ์ผํฐ์ ๋ชจ๋ ํด๋ผ์ฐ๋์์ ์คํ๋๋ ์ ์ฐํ๊ณ ํ์ฅ ๊ฐ๋ฅํ ๊ณ ์ฑ๋ฅ์ ์ต์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ธ๊ณ ์ต๋ ๊ท๋ชจ์ ๋ง์ ๊ธฐ์ ๋ค์ด ๋น์ฆ๋์ค์ ํ์์ ์ธ ํต์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌ๋ํ๊ธฐ ์ํด Couchbase๋ฅผ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ๋ค์์ ์ฐธ์กฐํ์ธ์. www.couchbase.com.
๋ฏธ๋์ด ์ฐ๋ฝ์ฒ
์ ์์ค ๊น
couchbasePR@couchbase.com
์นด์ฐ์น๋ฒ ์ด์ค ์ปค๋ฎค๋์ผ์ด์