[YugabyteDB] ์†Œ๊ฐœ

[์›๋ณธ ๋งํฌ]

YugabyteDB๋Š” ์ดˆ๋Œ€ํ˜• ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ๋ฅผ ์œ„ํ•œ ๋ถ„์‚ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ค‘ ํ•˜๋‚˜๋‹ค. 2016๋…„์— ์ฒ˜์Œ ๋‚˜์˜จ ์‹ ์ƒ์ด๋‹ค.
๊ฑฐ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ์…‹์„ ์—ฌ๋Ÿฌ region, ๋Œ€๋ฅ™์— ๊ฑธ์ณ์„œ ๋ฐฐํฌํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์ฃผ ๋ชฉ์ ์œผ๋กœ ๋งŒ๋“ค์–ด์กŒ๋‹ค.

์ž‘์„ฑ ์–ธ์–ด๋Š” C++, ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์€ RocksDB, ๋ถ„์‚ฐ ํ•ฉ์˜ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ Raft์ด๋‹ค.
ํŽ˜์ด์Šค๋ถ ์—”์ง€๋‹ˆ์–ด๋“ค์ด ํƒˆ์ฃผํ•ด์„œ ๋งŒ๋“ ๊ฑฐ๋ผ๊ณ  ํ•œ๋‹ค.

๊ธฐ์—…ํ˜• ์˜คํ”ˆ์†Œ์Šค์ง€๋งŒ, ์•„ํŒŒ์น˜ ๋ผ์ด์„ผ์Šค๋ผ์„œ ์‚ฌ์šฉ์—๋Š” ์ง€์žฅ์ด ์—†๋‹ค.




๋›ฐ์–ด๋‚œ ํ˜ธํ™˜์„ฑ

yugabyte๋Š” ์ž์ฒด ํ”„๋กœํ† ์ฝœ์„ ๊ธฐ์ค€์œผ๋กœ ์‹œ์Šคํ…œ์„ ์ œ๊ณตํ•˜์ง€ ์•Š๋Š”๋‹ค.

๋Œ€์‹  PostgreSQL๊ณผ CassandraDB 2๊ฐ€์ง€ ํ”„๋กœํ† ์ฝœ์— ๋งž์ถฐ์„œ API๋ฅผ ๋งŒ๋“ค์–ด๋’€๊ธฐ ๋•Œ๋ฌธ์—, ๊ฐ๊ฐ์˜ ๋“œ๋ผ์ด๋ฒ„๋ฅผ ๊ฐ€์ ธ๋‹ค๊ฐ€ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š”๊ฒŒ ์žฅ์ ์ด๋‹ค. ํŽธํ•œ๊ฑฐ ๊ณจ๋ผ ์“ฐ๋ฉด ๋˜๊ณ , ๋ณ„๋„์˜ ์ƒํƒœ๊ณ„๊ฐ€ ํ•„์ˆ˜์ ์ด์ง€ ์•Š๋‹ค.




SQL๊ณผ ACID

ํ‘œ์ค€ SQL ๊ตฌ๋ฌธ์„ ์ œ๊ณตํ•˜๋ฉฐ, ACID ๋…ผ๋ฆฌ์— ๊ธฐ๋ฐ˜ํ•œ ์ผ๊ด€์„ฑ ๋ณด์žฅ์„ ์ œ๊ณตํ•œ๋‹ค.
CAP ์ •๋ฆฌ์— ์˜ํ•˜๋ฉด Yuga๋Š” CP ์‹œ์Šคํ…œ์ด๋‹ค. A๋ฅผ ๋ฒ„๋ฆฐ ๊ฒƒ์ด๋‹ค.

๋ถ„์‚ฐ ํŠธ๋žœ์žญ์…˜์„ ๋น„๋กฏํ•ด์„œ ๊ฐ•๋ ฅํ•œ ํŠธ๋žœ์žญ์…˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค.




vs CockroachDB

yuga์˜ ๊ฐ€์žฅ ๊ฐ•๋ ฅํ•œ ์˜คํ”ˆ์†Œ์Šค ๊ฒฝ์Ÿ์ž๋Š” ์•„๋งˆ cockroach์ผ ๊ฒƒ์ด๋‹ค.
๋‹น์žฅ ๊ตฌ๊ธ€์— ์น˜๋ฉด ์„œ๋กœ๊ฐ€ ์„œ๋กœ๋ฅผ ์—ด์‹ฌ์ด ๋น„ํŒํ•˜๋Š” ์•„๋ฆ„๋‹ค์šด ๊ด‘๊ฒฝ์ด ์—ฐ์ถœ๋œ๋‹ค.

๋‘˜๋‹ค ๋Œ€๋ฅ™๊ฐ„ ํด๋Ÿฌ์Šคํ„ฐ๊นŒ์ง€ ๊ฐ์•ˆํ•œ ๋ถ„์‚ฐ DB์ด๋ฉฐ, ํŠธ๋žœ์žญ์…˜๊ณผ SQL ๊ตฌ๋ฌธ ๋“ฑ์„ ์ œ๊ณตํ•œ๋‹ค.

๊ต‰์žฅํžˆ ์น˜์—ดํ•˜๊ณ  ๋น„๋“ฑ๋น„๋“ฑํ•˜๊ธด ํ•œ๋ฐ, ์ˆœ์ˆ˜ํ•œ ์ฒ˜๋ฆฌ๋Ÿ‰ ์ธก๋ฉด์—์„œ ๋ณด๋ฉด yuga๊ฐ€ ๋” ๋†’์€ ๊ฒƒ ๊ฐ™๊ธด ํ•˜๋‹ค.




์ฐธ์กฐ
https://medium.com/yugabyte/go-jeks-performance-benchmarking-of-cockroachdb-tidb-yugabyte-db-on-kubernetes-9fde0127b00