kudu๊ฐ ๋ญ์ง, ์ฌ์ฉํด๋ณด์ง๋ ๋ชปํ๊ณ rpm ๋น๋๋ฅผ ํด์ผํ๋ ์ํฉ์์ ๊ธ์ ์ผ๋ค๊ฐ ์ต๊ทผ์ ๋ค์ ์์ ํ๊ฒ ๋์๋ค.
ํ์ฌ๋ kudu๋ ์ฌ์ฉํด๋ณด์ง ๋ชปํ๋ค. ๊ทธ๋ฌ๋ ํ๋ก์์ฝ์์คํ ์ ์ฌ์ฉํ๋ค๋ณด๋ฉด ๋๋ถ๋ถ ์ํคํ ์ณ๊ฐ ์ ์ฌํ ๋๋์ด๋ผ ์ดํดํ๋๋ฐ ํฌ๊ฒ ์ด๋ ต์ง๋ ์๋ค.
์ฒ์์ kudu ์ฐพ์๋ดค์ ๋
kudo์ ์ํคํ ์ณ๋ hbase์ ์ ์ฌํ ์ ์ด ์๋ค.
๊ทธ๋์ hbase๋ฅผ ์ฌ์ฉํด๋ดค๊ฑฐ๋ ํ๋ค๋ฉด, kudu์ดํดํ๋๋ฐ์ ํฌ๊ฒ ์ด๋ ค์์ด ์์ ๊ฒ์ด๋ค.
kudu์์ ํต์ฌ ํค์๋๋ key-value ์ด๋ค.
์ผ๋จ, kudu๋ฅผ ๊ฒ์ํด์ ์ด๊ฒ ์ ๊ฒ ๋ณด๋ค๋ณด๋ฉด ๊ทธ๋์ hbase๊ฐ์๊ฑฐ๋ผ๋ ๊ฑด๊ฐ? ์๊ฐ์ด ๋ ๋ค.
๋ฐ๋ผ๋ค๋๋ ํค์๋๊ฐ key-value๋ก ์ธ๋ฐ, hbase ๋ํ key-value๊ฐ ํต์ฌํค์๋์ด๋ค.
kudu ์ ์ hbase
kudu๋ฅผ ์์๋ณด๊ธฐ์ ์ hbase์ ๋ํด ๊ฐ๋ตํ ์ง๊ณ ๋์ด๊ฐ๋ฉด HDFS๋ append-only , immutable์ ํน์ง์ ๊ฐ์ง๊ณ ์๋ค. HDFS์ ์ ์ฅ๋ ํ์ผ์ ์์ ์ด ๋ถ๊ฐํ๋ค. (๋ฎ์ด์ฐ๊ธฐํด์ ์์ )
Hbase์ ๊ฒฝ์ฐ HDFS์ ๋ฌ๋ฆฌ ์์ ๊ฐ๋ฅํ๊ณ ๋๋ค์ผ๋ก ์ ๊ทผํด ์ฝ๊ณ ์ฐ๊ธฐ๊ฐ ๊ฐ๋ฅํ๋ค. ์ ๊ทผ์ด ๋น ๋ฅด๊ณ low latency๋ก input, output ๊ณผ์ ์์ ์ง์ฐ์ ์ต์ํ ํ๋ ๊ฒ์ด๋ค.
hbase์ kudu์ ์ฐจ์ด์ ์ ?
๊ทธ๋ผ kudu์ ์ด๋ป๊ฒ ๋ค๋ฅผ๊น??
hbase๋ ์ฒ๋ฆฌ๋์ด ๋ฎ๊ณ , kudu๋ ์ฒ๋ฆฌ๋์ด ๋๋ค๊ณ ๋น๊ตํ ์ ์๋ค.
hbase์ HDFS์์ JSONํ์ผ, kudu๋ HDFS์์ parquet ํ์ผ์ ์ฒ๋ฆฌํ๋ค
kudu๋ parquet ์ hbase์ ์์๊ฒฉ์ด๋ค.
parquetํ์ผ์ ๋ค๋ค๋ดค๋ค๋ฉด, ์์ถ๋ฅ ์ด ๋์(์ฉ๋์ด ์์ ๋ฑ๋ฑ) ์ฒ๋ฆฌ๋์ด ๋๋ค๊ณ ๋๋ ์ ์๋ค.
parquet์ด ๋จผ๋?
hbase์ฒ๋ผ ์นผ๋ผ๋ฒ ์ด์ค ์คํ ๋ฆฌ์ง์ด๋ฉฐ, hbase๊ฐ์ parquet parquet๊ฐ์ hbase๋ผ๊ณ ์๊ฐํด์ผํ๋ค๊ณ ํ๋ค.
Kudu๋ Hbase์ parquet์ ํผ์ข
์ค์๊ฐ์ผ๋ก ๋ฐ์ดํฐ๊ฐ ๋์ฐฉํ์ฌ ์ ์ฅํ ๋, Hbase์ ๊ฐ์ ํน์ง์ ๊ฐ์ง๋ฉฐ,
์ค์๊ฐ์ผ๋ก ๋ฐ์ดํฐ์ ๋ํ ๋ถ์ ์ํฌ๋ก๋ ์คํํ ๋, parquet๊ณผ ๊ฐ์ ํน์ง์ ๊ฐ์ง๋ค.
์ฟผ๋ฆฌ๋ก ๊ธด ๊ธฐ๊ฐ ๋ด์ญ ๋ฐ์ดํฐ์ ์ค์๊ฐ ๋จ๊ธฐ ๋ฐ์ดํฐ ๊ฒฐํฉ์ ์ฝ๊ฒ ํ ์ ์๋ค
Hbase in-memory + Parquet columar layout = kudu
Kudu์ ์ํธ์์ฉ ํ๋ ๊ฒ๋ค?
- Impala
- ๋ณ๋์ ์ง์ ๊ธฐ๋ฅ์ kudu์์ ์ง์ํ์ง์๊ธฐ์ impala์ ๊ฐ์ ์ง์ ์์ง ์ฌ์ฉํด์ผํ๋ค.
- ํ์คํ ํ์ด๋ธ ์ฟผ๋ฆฌ์๋ ์๋๊ฐ ๋น ๋ฆ์ ๋๋ ์ ์๋ค. ๋ฌด๊ฑฐ์ด ์ฟผ๋ฆฌ๋ง ๋๋ฆฌ๊ณ ์์ฃผํ๋ ์ํฌํ๋ก์ฐ๊ฐ ๋ง๋ค๋ฉด TEZ์์ง ์ฌ์ฉ์์ฒด๋ ๋ถ๋ด์ด ๋๋ ๊ฒฝ์ฐ๊ฐ ์๋ค. MR์์ง ์ฐ๋ ํ์ด๋ธ์๋ ๋งค์ฐ ์๋๊ฐ ๋น ๋ฅด๋ค
- C++,java,python client
- MapReduce
- Spark
Kudu ์ํคํ ์ณ
Kudu Master
- Fault Tolerance ์ฅ์ ํ์ฉ
- Failover to backup masters ๋ฐฑ์ ์ผ๋ก ์ฅ์ ์กฐ์น
- Raft used for electing new leaders ์๋ก์ด ๋ฆฌ๋ ๋ฝ์๋ Raft ์ฌ์ฉ
- Only leader serves client request ๋ฆฌ๋๋ง ํด๋ผ์ด์ธํธ ์์ฒญ ์์ฉ
Tablets
- Hbase์ region๊ณผ ๋น์ทํจ
- 3- 5 ๊ฐ ๋ณต์ ๊ฐ๋ฅํจ
- ๋ณต์ ๋ ํฉ์๋ฅผ ์ํด Raft์ ๋ฆฌ๋/ํ๋ก์ ํจํด์ ์ฌ์ฉ
- HDFS์๋ ๋ก์ปฌ์ ๋ฐ์ดํฐ ์ ์ฅํจ
Kudu ์คํ
https://n-a-y-a.tistory.com/108
Kudu Impala, Hive metastore ์ฐ๋
https://n-a-y-a.tistory.com/110
๊ผญ ํ์ด๋ธ๋ฉํ์คํ ์ด์๋ ์ฐ๋์ ํ์ง์์๋ ๋ ๊ฒ๊ฐ์ง๋ง, ๊ธฐ์กด์ ํ์ด๋ธ๋ฅผ ์ฌ์ฉํ๊ณ ์์ผ๋ฉด ์ฐ๋ํด์ ์ฌ์ฉํ๋๊ฒ์ด ํธ๋ฆฌํ ๊ฒ์ด๋ค.
'BIGDATA > ํ๋ก์์ฝ์์คํ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[airflow] airflow ์ค์น ํ ์คํ (0) | 2022.03.23 |
---|---|
[Hive] ์ด๊ธฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๋ ํ ์๊ธฐ๋ ํ ์ด๋ธ ๋ชฉ๋ก (0) | 2022.03.04 |
[Apache NiFi] ์ํ์น ๋์ดํ์ด ๋? (0) | 2021.12.06 |
lamda arch (0) | 2021.11.22 |
[Hadoop] Block Pool (0) | 2021.11.12 |