์ํ๋ง ์ ํ ์ถฉ๋
์ด ํ์ด์ง์ ๋ด์ฉ
๋ฒ์ 2.6์์ ๋ณ๊ฒฝ๋์์ต๋๋ค.
MongoDB์ ์ ์ฐํ ์คํค๋ง ๋ชจ๋ธ์ ์ฃผ์ด์ง ํ๋์ ์ฌ๋ฌ ์ ํ์ ๋ฐ์ดํฐ๋ฅผ ํฌํจํ ์ ์๋๋ก ํ์ฉํ๋ ๋ฐ๋ฉด, relational database๋ ์ด์ ๋จ์ผ ๋ฐ์ดํฐ ์ ํ์ผ๋ก ์ ํํฉ๋๋ค. BI Connector๋ MongoDB์์ ๋ฐ์ดํฐ๋ฅผ ์ํ๋งํ์ฌ ๊ด๊ณํ ์คํค๋ง ๋ชจ๋ธ์ ์์ฑํ์ง๋ง, BI Connector๊ฐ MongoDB ๋ฌธ์์ ํ๋์์ ๋ค์ํ ๋ฐ์ดํฐ ์ ํ์ ์ํ๋งํ ๋๋ ์ ํ ๋ณํ ์ถฉ๋์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
์ฌ๋ฌ ๋ฐ์ดํฐ ์ ํ์ด ์์ ๋ ๋ฐ์ํ ์ ์๋ ์ ํ ๋ณํ ์ถฉ๋์๋ ์ค์นผ๋ผ ์ ํ ๊ฐ์ ์ถฉ๋๊ณผ ๋ฌธ์ ๋ฐ ๋ฐฐ์ด๊ณผ ๊ฐ์ ๋ณตํฉ ์ ํ๊ณผ ๊ด๋ จ๋ ์ถฉ๋, ์ด๋ ๊ฒ ๋ ๊ฐ์ง ์ฃผ์ ์นดํ ๊ณ ๋ฆฌ๊ฐ ์์ต๋๋ค.
์ฐธ๊ณ
BI Connector๋ ์ํ๋ง๋ ๋ฐ์ดํฐ์ ํ์ ์งํฉ๋ง ์ฌ์ฉํ์ฌ ์คํค๋ง ์์ฑ ์ค ์ ํ ์ถฉ๋์ ๊ฒ์ํฉ๋๋ค. ๋ฐ์ดํฐ ์ธํธ์ ํ๋์์ ์ ํ ์ถฉ๋์ด ํฌํจ๋์ด ์๊ณ ์ถฉ๋ํ๋ ์ ํ์ด ์ํ์ ๋ชจ๋ ์กด์ฌํ์ง ์๋ ๊ฒฝ์ฐ, ์์ฑ๋ ์คํค๋ง๋ ์ด๋ฌํ ์ถฉ๋์ ํด๊ฒฐํ ์ค๋น๊ฐ ๋์ง ์์ ์ฟผ๋ฆฌ ์ง์ฐ ์๊ฐ์ด ์ฆ๊ฐํ ์ ์์ต๋๋ค.
--samplesize
๋ฐ --schemaRefreshIntervalSecs
์ค์ ๊ณผ ๊ฐ์ ์ํ๋ง ๊ตฌ์ฑ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์คํค๋ง ์ต์
์ ์ฐธ์กฐํ์ธ์.
์ค์นผ๋ผ-์ค์นผ๋ผ ์ถฉ๋
์ค์นผ๋ผ-์ค์นผ๋ผ ์ถฉ๋์ด ๋ฐ์ํ๋ฉด BI Connector๋ ๋ค์ ๊ฒฉ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ ๊ฐ์ง ๋ฐ์ดํฐ ์ ํ ์ค ์ต์ ์ํ์ ๊ฒฐ์ ํฉ๋๋ค.

์์
์ง์ ๋ ํ๋์ int
, double
๋ฐ string
์ ํ์ด ํฌํจ๋ ๊ฒฝ์ฐ ์ต์ ์ํ์ string
์
๋๋ค.
์ค์นผ๋ผ-์ค์นผ๋ผ ์ถฉ๋์ด ๋ฐ์ํ๋ฉด BI Connector๋ information_schema.COLUMNS
ํ
์ด๋ธ์ ํ์ ์ฝ์
ํ๊ณ COLUMN_COMMENT
์ด์ ๋ค์ํ ์ํ๋ง๋ ์ ํ์ ๋์ดํฉ๋๋ค.
๋ณตํฉ ์ถฉ๋
๋ณตํฉ ์ถฉ๋์ ๋ฌธ์ ๋๋ ๋ฐฐ์ด๊ณผ ๊ด๋ จ๋ ์ ํ ๋ณํ ์ถฉ๋์ ๋๋ค. ๋ค์ ์น์ ์์๋ BI Connector๊ฐ ๋ ๊ฐ์ง ์ ํ์ ๋ณตํฉ ์ถฉ๋์ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์ค๋ช ํฉ๋๋ค.
๋ฌธ์ ์ถฉ๋
๋ฌธ์์ ๊ด๋ จ๋ ์ถฉ๋์ด ๋ฐ์ํ๋ฉด BI Connector๋ ์ ํ๊ธฐ๋ฒ์ ์ฌ์ฉํ์ฌ ๋ฌธ์ ์ ํ์ ํ๋๋ฅผ ๋ณ๋์ ์ด๋ก ํ์ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, conflict
collection์๋ ๋ค์ ๋ฌธ์๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
{ _id: 0, a: "foo" } // "a" is scalar (string) { _id: 1, a: { a: "bar", b: "baz" } } // "a" is composite (document)
BI Connector๋ ์ค์นผ๋ผ-๋ณตํฉ ์ถฉ๋์ ๊ฐ์งํ๊ณ ๋ค์๊ณผ ๊ฐ์ ๊ด๊ณํ ์คํค๋ง๋ฅผ ์์ฑํฉ๋๋ค.
ํ
์ด๋ธ: conflict
_id | a | aa | ab |
---|---|---|---|
0 | "foo" |
|
|
1 |
| "bar" | "baz" |
๋ฌธ์์ ๊ด๋ จ๋ ์ถฉ๋์ด ๋ฐ์ํ๋ฉด BI Connector๋ information_schema.COLUMNS
ํ
์ด๋ธ์ ํ์ ์ฝ์
ํ๊ณ COLUMN_COMMENT
์ด์ ๋ค์ํ ์ํ๋ง๋ ์ ํ์ ๋์ดํฉ๋๋ค.
๋ฐฐ์ด ์ถฉ๋
๋ฐฐ์ด๊ณผ ๊ด๋ จ๋ ์ถฉ๋์ด ๋ฐ์ํ๋ฉด BI Connector๋ ์ถฉ๋ ํ๋์ ์ธ๋ ํค, ๋ฐฐ์ด ์ธ๋ฑ์ค ๋ฐ ๊ฐ์ ๋ํ ์ด์ด ์๋ ์ ํ
์ด๋ธ์ ๋ง๋ญ๋๋ค. BI Connector๋ ๋ฐฐ์ด์ ์ ํ
์ด๋ธ์ ์ฌ๋ฌ ํ์ผ๋ก ํ๊ณ ๊ทธ์ ๋ฐ๋ผ ์ด์ ์ฑ์๋๋ค. ์๋ฅผ ๋ค์ด, conflict
collection์๋ ๋ค์ ๋ฌธ์๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
{ _id: 0, a: "foo" } // "a" is scalar (string) { _id: 1, a: ["bar", "baz"] } // "a" is composite (array)
BI Connector๋ ์์ ๋ด์ฉ์ ๋ค์ ๋ ํ ์ด๋ธ๋ก ๋ ๋๋งํฉ๋๋ค.
ํ
์ด๋ธ: conflict
_id |
---|
0 |
1 |
ํ
์ด๋ธ: conflict_a
_id | a_idx | a |
---|---|---|
0 |
| "foo" |
1 | 0 | "bar" |
1 | 1 | "baz" |
๋ฐฐ์ด๊ณผ ๊ด๋ จ๋ ์ถฉ๋์ด ๋ฐ์ํ๋ฉด BI Connector๋ ๋ค์์ ์ํํฉ๋๋ค.
information_schema.COLUMNS
ํ ์ด๋ธ์ ํ์ ์ฝ์ ํ๊ณCOLUMN_COMMENT
์ด์์ ์ํ๋ง๋ ๋ค์ํ ์ ํ์ ๋์ดํฉ๋๋ค.๋ฐฐ์ด์ด
information_schema.COLUMNS
ํ ์ด๋ธ์ ํ์ ๋งคํ๋๋ ๋ฐฉ์์ ๋ํ ์ ๋ณด๊ฐ ํฌํจ๋information_schema.TABLES
ํ ์ด๋ธ์ ํ์ ์ฝ์ ํฉ๋๋ค.