์ ๋๋ฆฌํฑ์ค์ฉ SQL++ ๋ฐ๋ชจ
๋ณต์กํ JSON ๋ฐ์ดํฐ ์ฟผ๋ฆฌ๊ฐ ์ฌ์์ก์ต๋๋ค.
JSON ๋ฐ์ดํฐ ์ก์ธ์ค
์ ๋ณด ๊ตํ, ๊ฐ์ฒด ํํ, API ์๋ต, ๋ง์ดํฌ๋ก์๋น์ค ๋ชจ๋ JSON์ ์ฌ์ฉํฉ๋๋ค. Couchbase์ ๊ฐ์ ์ต์ NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ ์ฐํ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ก์ JSON์ ์ง์ํฉ๋๋ค.
SQL ํ์ค ํ์ฅ
SQL++๋ฅผ ์ฌ์ฉํ๋ฉด ๊ธฐ์กด SQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ์ ์ ์ฌ์ฉํ์ฌ JSON ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ์ฟผ๋ฆฌํ๊ณ ๊ด๋ฆฌํจ์ผ๋ก์จ ๊ฐ๋ฐ ์ฃผ๊ธฐ๋ฅผ ๋จ์ถํ ์ ์์ต๋๋ค. SQL++์์ ์ฌ์ฉํ๋ ์น์ํ ๊ตฌ๋ฌธ์ ์ฌ์ฉํ์ฌ SQL์ ๋ํ ์ง์์ ์ด์ ํ ์ ์์ผ๋ฉฐ JSON ์ฟผ๋ฆฌ์ ์ฝ๊ฒ ์ ์ฉํ ์ ์์ต๋๋ค.
์ ์ฐํ ์คํค๋ง ์ง์
๊ด๊ณํ ๋ชจ๋ธ์ SQL ์ฟผ๋ฆฌ ํ์ค์ ์ฌ์ฉํ์ง๋ง JSON ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ ์ ์ฐํ ์คํค๋ง๋ฅผ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ ๊ณ ๊ธ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ์ก์ธ์คํ๋ ค๋ฉด ์ถ๊ฐ ์ฟผ๋ฆฌ ๊ตฌ๋ฌธ์ด ํ์ํฉ๋๋ค. ๊ฐ๋ฐฉํ ํ์ค์ ์ฌ์ฉํ์ฌ ๋ฏธ๋ ์งํฅ์ ์ธ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ.
SQL++ ์ฟผ๋ฆฌ ์์
Couchbase๋ SQL++ ์ฌ์์ ์กฐ๊ธฐ ๋์ ์ ์ ๋ํ๊ณ ์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด Couchbase Server์์ ๋ถ์์ ์ธ JSON ๋ฐ์ดํฐ ์ํธ ์์ฉ์ ์คํํ๊ณ ์์ต๋๋ค. SQL++๋ฅผ ์ฟผ๋ฆฌ๋ฅผ ์ํ ํ์คํ๋ ๊ธฐ๋ฐ์ผ๋ก ์ฌ์ฉํจ์ผ๋ก์จ ์ฌ์ฉ์๋ ๊ธฐ์กด ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ธฐ์ ์ NoSQL ๋๋ฉ์ธ์ผ๋ก ์ฝ๊ฒ ์ด์ ํ์ฌ ์ด์ ์ ๋๋ฆด ์ ์์ต๋๋ค. NoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฟผ๋ฆฌ์ ๋ํ ์ฅ๋ฒฝ์ ๋ฎ์ถ๋ ๊ฒ์ ๊ธฐ์ ์ด ๋ณด์ ํ JSON ๋ฐ์ดํฐ์์ ๊ฐ์น๋ฅผ ์ถ์ถํ ์ ์๋๋ก ์ง์ํ๋ ๋ฐ ํ์์ ์ ๋๋ค. ๋ถ์์ฉ SQL++๋ SQL++๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ตฌ์ถ๋ Couchbase ์ฟผ๋ฆฌ ์ธ์ด์ ๋๋ค.
SELECT c.custid,
c.name,
c.orderno,
o.order_date,
o.ship_date,FROM orders o
JOIN customers c ON o.custid = c.custid
WHERE o.orderno = 1004;
[
{
"custid": "C35",
"name": "J. ๋ก๋ฒ์ธ ",
"orderno": 1004,
"order_date": "2017-07-10",
"ship_date": "2017-07-15"
}
]
[
{
"orderno": 1004,
"custid": "C35",
"order_date": "2017-07-10",
"ship_date": "2017-07-15",
"items": [ { "itemno": 680, "qty": 6, "price": 9.99 },
{ "itemno": 195, "qty": 4, "price": 35.00}
]
}
]
[
{
"custid": "C31",
"name": "B. ํผํธ",
"์ฃผ์":
{ "street": "360 Mountain Ave.", "๋์": "๋ฏธ์ฃผ๋ฆฌ์ฃผ ์ธ์ธํธ๋ฃจ์ด์ค", "์ฐํธ๋ฒํธ": "63101" }
},
{
"custid": "C35",
"name": "J. Roberts",
"์ฃผ์":
{ "๊ฑฐ๋ฆฌ": "420 Green St.", "๋์": "Boston, MA", "์ฐํธ๋ฒํธ": "02115" },
"rating": 565
}
]