์ด ํ์ด์ง์์๋ Spanner์ ์ด ๊ธฐ๋ฐ ์์ง์ ๊ฐ๋ตํ๊ฒ ์ค๋ช ํ๊ณ ์ฌ์ฉ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค.
์ด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ผ๋ฐ์ ์ผ๋ก ๋ถ์์ ์ํด OLAP ์์คํ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ถ์ถ, ๋ณํ, ๋ก๋ (ETL)ํฉ๋๋ค. ์ด ์์คํ ์ ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค์ ์ผ๋ถ์ธ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. Data Boost๋ฅผ ์ฌ์ฉํ๋ฉด Spanner์์ ์ด๋ฏธ ๋ถ์ ์ปดํจํ ์ ๋ถ๋ฆฌํ์ฌ ํธ๋์ญ์ ์์ ์ฑ์ ๋ณด์ฅํฉ๋๋ค.
์ด ๊ธฐ๋ฐ ์์ง์ ๋ถ์ ์์คํ ์์ ์ผ๊ด ๊ธฐ๋ฐ ๊ฒ์์ ๋นํด ๊ฒ์ ์๋๋ฅผ ๋์ด๋ ๋ฐ ์ฌ์ฉํ๋ ์คํ ๋ฆฌ์ง ๊ธฐ์ ์ ๋๋ค. Spanner ์ด ํ์ ์์ง์ ์ฌ์ฉํ๋ฉด ์ต์ ์ด์ ๋ฐ์ดํฐ์ ๋ํด ์ฑ๋ฅ์ด ํฌ๊ฒ ํฅ์๋ ๋ถ์์ ์คํํ ์ ์์ต๋๋ค. Spanner ์ด ๊ธฐ๋ฐ ์์ง์ ์ค์บ ์ฑ๋ฅ์ ์ต๋ 200๋ฐฐ๊น์ง ํฅ์์์ผ ETL์ ํ์์ฑ์ ์์ ๋ฉด์๋ ๊ฐ๋ ฅํ ์ผ๊ด์ฑ์ ์ ์งํฉ๋๋ค.
Spanner์ Ressi ํ์์ ๋ฐ์ดํฐ ๋ธ๋ก ๋ด์์ ํจ์จ์ ์ธ ๊ฒ์์ ์ํด ํํฐ์ ์์ฑ ๊ต์ฐจ (PAX) ์ด๋ณ ๋ ์ด์์์ ์ฌ์ฉํฉ๋๋ค. ํ์ง๋ง ์ด ํ์์ ๋น ๋ฅธ ๋จ์ผ ํ ์กฐํ๋ฅผ ์ํด ์ง์ ๋ ๋ธ๋ก ๋ด์ ํ์ ๋ชจ๋ ์ด์ ๊ณต๋ ๋ฐฐ์นํฉ๋๋ค. Ressi์ ๋ฌ๋ฆฌ Spanner์ ์ด ํ์ ์์ง์ ๋ธ๋ก ์คํ์ ๋จ์ผ ์ด์ ์ ์ฉ์ผ๋ก ์ฌ์ฉํฉ๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ Spanner๊ฐ ์ฟผ๋ฆฌ์์ ์ฐธ์กฐ๋ ์ด๋ง ์ฝ์ผ๋ฉด ๋๋ฏ๋ก ์์ฐจ ์ค์บ์ ๋ ํจ์จ์ ์ ๋๋ค.
Spanner๋ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ์ด ํ์ ํํ์ ๋น๋ํ๊ณ (์์ถ์ ์ผ๋ถ๋ก) ์ฟผ๋ฆฌ ์๊ฐ์ ํํ์ ์ต์ ์ ๋ฐ์ดํธ์ ์๋์ผ๋ก ๋ณํฉํ์ฌ strong consistency๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด ํ์ ์คํ ๋ฆฌ์ง๋ฅผ ํ์ฉํ ์ ์๋ ์ฟผ๋ฆฌ๋ ๊ณ์ํด์ PAX๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ด ๊ธฐ๋ฐ ์์ง์ ์ฌ์ฉํ๋ฉด ์ข์ ์ํฌ๋ก๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ์ด์ ๋ณด๊ณ ์๋ ์ต์ ์ด์ ๋ฐ์ดํฐ์์ ์ค์๊ฐ ๋น์ฆ๋์ค ์ธํ ๋ฆฌ์ ์ค๋ฅผ ์ถ์ถํฉ๋๋ค.
- ๋ํํ ์ง์ฐ ์๊ฐ์ผ๋ก ๋ถ์ ๊ธฐ๋ฅ ๋์๋ณด๋์ ๋ง์ถค ๋๋ฆด๋ค์ด์ ์ ๊ณตํ์ต๋๋ค.
- ์ ํด ๋ถ์์ BigQuery์์ Spanner ๋ฐ ๊ธฐํ ์์ค์ ๋ฐ์ดํฐ๋ฅผ ์ํํ๊ฒ ๊ฒฐํฉํฉ๋๋ค.
Spanner ์ธ์คํด์ค ๋ฐฑ์ ์๋ ์ด ํ์์ด ํฌํจ๋์ง ์์ต๋๋ค.
์ด ํ์ ์์ง ์ฌ์ฉ ๊ถ์ฅ์ฌํญ
์ด ์น์ ์์๋ ์ด ํ์ ์์ง์ ์ฌ์ฉํ ๋์ ๊ถ์ฅ์ฌํญ์ ์ค๋ช ํฉ๋๋ค.
๋๊ท๋ชจ ์ค์บ ์ต์ ํ
์ด ๊ธฐ๋ฐ ์์ง์ ๋๋์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ ์ฟผ๋ฆฌ๋ฅผ ์ต์ ํํฉ๋๋ค. ๋ฐ์ดํฐ ์ค์บ์ด ๋ ์๊ฑฐ๋ LIMIT
์ ์ด ๋น ๋ฅด๊ฒ ์ถฉ์กฑ๋๋ ์ฟผ๋ฆฌ์ ๊ฒฝ์ฐ ํ ๊ธฐ๋ฐ ์ค์บ์ด ๋ ํจ์จ์ ์ผ ์ ์์ต๋๋ค.
ํ์ ์ด
SELECT *
๋ฅผ ์ฌ์ฉํ๋ฉด Spanner๊ฐ ์ด ํ์ ์คํ ๋ฆฌ์ง์์ ๋ชจ๋ ์ด์ ์ฝ์ต๋๋ค. ์ค์ ์ ๊ทน๋ํํ๋ ค๋ฉด ํ์ํ ์ด๋ง ์ง์ ํ์ธ์. ์๋ฅผ ๋ค๋ฉด SELECT column1, column2 FROM ...
์
๋๋ค.
์ฑ๋ฅ ๋ณ๋ชฉ ํ์ ์๋ณ
์ด ๊ธฐ๋ฐ ์์ง์ ์ค์บ ๋ฐ์ด๋ ์ํฌ๋ก๋์ ํจ๊ณผ์ ์ ๋๋ค. ์ค์บ ์ ํ ์ํฌ๋ก๋๋ฅผ ์๋ณํ๋ ค๋ฉด ํ ์ด๋ธ ์ค์บ ๋ ธ๋์์ ์ง์ฐ ์๊ฐ ์์ค์ด ๋์ ์ฟผ๋ฆฌ ๊ณํ์ ํ์ธํ์ธ์. ์ฟผ๋ฆฌ๊ฐ ์ค์บ์ ๋ฐ์ธ๋ฉ๋์ง ์์ ๊ฒฝ์ฐ ๋ค๋ฅธ ์ต์ ํ๋ฅผ ๋จผ์ ์ฐ์ ์ํฉ๋๋ค. ์ต์ ํ๋ก ์ธํด ์ฟผ๋ฆฌ๊ฐ ์ค์บ ๋ฐ์ด๋๊ฐ ๋๋ ๊ฒฝ์ฐ ๋์ค์ ์ด ํ์ ์์ง์ด ์ด์ ์ ์ ๊ณตํ ์ ์์ต๋๋ค.
์ต์ ์ ์ด ํ์ ์ง์ ๋ฒ์
์ด๋ฏธ ๋ฐ์ดํฐ๊ฐ ํฌํจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ด ํ์ ์์ง์ ์ฌ์ฉ ์ค์ ํ๋ฉด Spanner์ ์๋ ์์ถ ํ๋ก์ธ์ค๊ฐ ๋ฐฑ๊ทธ๋ผ์ด๋์์ ๋น๋๊ธฐ์์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ์ด ํ์ ์คํ ๋ฆฌ์ง๋ก ๋ณํํฉ๋๋ค. ์ฟผ๋ฆฌ์ ์ด์ ์ ํ์ธํ๋ ค๋ฉด ์ฟผ๋ฆฌ ๊ณํ์์ ์ด ํ์ ์ฝ๊ธฐ ์ ์ ์จ ๋น์จ์ ํ์ธํ์ธ์.
๋์ ์ฑ ์ ๊ฑฐ ๋ฐ์ดํฐ ๊ด๋ฆฌ
์ ๋ฐ์ดํธ ๋๋ ๋ฌด์์ ์ฝ์ ์ผ๋ก ์ธํ ๋์ ์ฐ๊ธฐ ์๋๋ ์ด ๊ธฐ๋ฐ ์์ง์ ์ฑ๋ฅ์ ์ํฅ์ ์ค ์ ์์ต๋๋ค. ์ด ํ์ ์์ง์ ์ฌ์ฉํ๋ฉด ์ถ๊ฐ ์ ์ฉ ์ํฌ๋ก๋์ ๋ฏธ์น๋ ์ํฅ์ด ์ต์ํ๋ฉ๋๋ค. ์์ถ์ ๋ฐฑ๊ทธ๋ผ์ด๋ ํ๋ก์ธ์ค์ด๋ฉฐ ์ผ๋ฐ์ ์ผ๋ก ์ฌ๋ฌ ๋ ์ ๊ฑธ์ณ ์ด๋ฃจ์ด์ง์ง๋ง ๋ฐ์ดํฐ๋ฒ ์ด์ค ํฌ๊ธฐ๊ฐ ํฌ๊ฒ ์ฆ๊ฐํ๋ฉด ๋ ๋นจ๋ฆฌ ๋ฐ์ํ ์ ์์ต๋๋ค. ๋๋ ๋ถํ ์์ค์์ ์ถ๊ฐ ์ ์ฉ ์ฐ๊ธฐ๋ฅผ ์ ํธํ๋๋ก ์คํค๋ง๋ฅผ ์ค๊ณํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ Spanner์์ ํ์์คํฌํ ์ฃผ๋ฌธํ ๋ฐ์ดํฐ ์ค๋ฉ์ ์ฐธ๊ณ ํ์ธ์.
๊ฐ๊ฒฉ ์ฑ ์
Spanner ์ด ๊ธฐ๋ฐ ์์ง์ ์ฒญ๊ตฌ๋ ์คํ ๋ฆฌ์ง ์ฌ์ฉ๋์ ๊ธฐ์ค์ผ๋ก ํฉ๋๋ค. Spanner ์ด ํ์ ์์ง์ ์ฌ์ฉ ์ค์ ํ๊ณ Spanner์์ ๋ฐ์ดํฐ ์์ถ์ ์๋ฃํ๋ฉด ์ ์ด ํ์ ํํ์ ํฌํจํ๋๋ก ์คํ ๋ฆฌ์ง ์ฌ์ฉ๋์ด ์ฆ๊ฐํฉ๋๋ค. ์ด ๊ธฐ๋ฐ ์์ง์ ์คํ ๋ฆฌ์ง์ ๋ฏธ์น๋ ์ํฅ์ ๋ชจ๋ํฐ๋งํ ์ ์๋ ์คํ ๋ฆฌ์ง ์ธก์ ํญ๋ชฉ์ ์ ๊ณตํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ์ด ํ์ ๋ฐ์ดํฐ ์คํ ๋ฆฌ์ง ์ธก์ ํญ๋ชฉ์ ์ฐธ๊ณ ํ์ธ์.
Spanner ์ด ํ์ ์์ง์ ์ ๋น 8๋ฐ์ดํธ ์ค๋ฒํค๋์ ์ํฅ์ ๋ฐ์ง ์์ต๋๋ค.
์ ํ์ฌํญ ๋ฏธ๋ฆฌ๋ณด๊ธฐ
- Spanner์ ์ง์ ๋๋ BigQuery
EXTERNAL_QUERY
๋ฅผ ์ฌ์ฉํ์ฌ ์คํํ๋ ์ฟผ๋ฆฌ์ ๋ํด ์ด ํ์ ์ฝ๊ธฐ๋ฅผ ์ฌ์ฉ ์ค์ ํ๋ ค๋ฉด ๋ช ์์ ํํธ๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ ์ด ํ์ ๋ฐ์ดํฐ ์ฟผ๋ฆฌ๋ฅผ ์ฐธ๊ณ ํ์ธ์. - ์ด ๊ธฐ๋ฐ ์์ง์ GoogleSQL ์ธํฐํ์ด์ค๋ง ์ง์ํฉ๋๋ค.
- ์ ํ์ ํํฐ๊ฐ ์๋ ์ค์บ์ ๊ฐ์ ํจ๊ณผ๊ฐ ์ ์ ์ ์์ต๋๋ค.
๋ค์ ๋จ๊ณ
- ์ด ํ์ ์์ง์ ์ฌ์ฉ ์ค์ ํ๋ ๋ฐฉ๋ฒ์ ์์๋ด ๋๋ค.
- ์ด ํ์ ๋ฐ์ดํฐ ์ฟผ๋ฆฌ ๋ฐฉ๋ฒ ์์๋ณด๊ธฐ
- ์ด ํ์ ์์ง์ ๋ชจ๋ํฐ๋งํ๋ ๋ฐฉ๋ฒ์ ์์๋ด ๋๋ค.