Skip to content

Latest commit

ย 

History

History
45 lines (32 loc) ยท 2.88 KB

File metadata and controls

45 lines (32 loc) ยท 2.88 KB

์ •๊ทœํ™”/๋น„์ •๊ทœํ™”

ํŠธ๋žœ์žญ์…˜(ACID)

์ธ๋ฑ์Šค, JOIN, ์„œ๋ธŒ์ฟผ๋ฆฌ

SQL vs NoSQL(Not only SQL)

SQL๊ณผ NoSQL์˜ ๊ฐ€์žฅ ํฐ ์ฐจ์ด๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹๊ณผ ํ™•์žฅ ๋ฐฉ์‹์ด๋‹ค.

ํ•ญ๋ชฉ SQL (RDB) NoSQL
๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ํ…Œ์ด๋ธ”(Row, Column) Key-Value, Document, Graph ๋“ฑ
์Šคํ‚ค๋งˆ ๊ณ ์ •(Schema) ์œ ์—ฐ(Schema-less)
๊ด€๊ณ„(Join) ๊ฐ•๋ ฅ ์ œํ•œ์ 
ํŠธ๋žœ์žญ์…˜ ACID ์ง€์› ์ƒ๋Œ€์ ์œผ๋กœ ์•ฝํ•จ
ํ™•์žฅ Scale-Up(์ˆ˜์ง ํ™•์žฅ) Scale-Out(์ˆ˜ํ‰ ํ™•์žฅ)
๋ฐ์ดํ„ฐ ์ค‘๋ณต ์ตœ์†Œํ™”(์ •๊ทœํ™”) ํ—ˆ์šฉ(๋น„์ •๊ทœํ™”)
๋Œ€ํ‘œ DB MySQL, PostgreSQL MongoDB, Redis, Cassandra
์šฉ๋„ ๊ธˆ์œต, ์ฃผ๋ฌธ, ํšŒ์› ๋กœ๊ทธ, ์บ์‹œ, ์ฑ„ํŒ…, ๋Œ€์šฉ๋Ÿ‰ ๋ฐ์ดํ„ฐ

SQL์€ ๊ด€๊ณ„์™€ ๋ฐ์ดํ„ฐ ์ •ํ•ฉ์„ฑ์„ ์ค‘์‹œํ•˜๋Š” ํ…Œ์ด๋ธ” ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๊ณ , NoSQL์€ ์œ ์—ฐํ•œ ์Šคํ‚ค๋งˆ์™€ ๋†’์€ ํ™•์žฅ์„ฑ์„ ์ œ๊ณตํ•˜๋Š” ๋น„๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ด๋‹ค. SQL is a table-based database that focuses on maintaining relationships and ensuring data consistency through structured schemas and ACID transactions. In contrast, NoSQL is a non-relational database that offers flexible schemas and high scalability, making it suitable for handling large volumes of data and distributed systems.

๊ด€๊ณ„ํ˜• ๋ชจ๋ธ

Valkey vs Redis

Valkey๋Š” Redis 7.2๋ฅผ ํฌํฌ(Fork)ํ–ˆ์œผ๋‚˜, ์šด์˜์˜ ์ง€์†์„ฑ๊ณผ ์„ฑ๋Šฅ ์ตœ์ ํ™” ๋ฐฉํ–ฅ์—์„œ ์ฐจ์ด๊ฐ€ ๋ฒŒ์–ด์ง€๊ณ  ์žˆ๋‹ค.

๋น„๊ต ํ•ญ๋ชฉ Valkey (Linux Foundation) Redis (Redis Ltd.)
๋ผ์ด์„ ์Šค BSD 3-Clause (์™„์ „ ์˜คํ”ˆ์†Œ์Šค) RSALv2 / SSPLv1 (์ œ์•ฝ ์žˆ์Œ)
๊ฑฐ๋ฒ„๋„Œ์Šค ์ปค๋ฎค๋‹ˆํ‹ฐ ๋ฐ ๋น…ํ…Œํฌ(AWS, Google ๋“ฑ) ์—ฐํ•ฉ ๋‹จ์ผ ๊ธฐ์—…(Redis Ltd.) ์ค‘์‹ฌ
I/O ๋ชจ๋ธ Aggressive Multi-threading ๋ณด์ˆ˜์  Multi-threading (6.0+)
ํ™•์žฅ์„ฑ ๋Œ€๋ถ€๋ถ„์˜ ๊ธฐ๋Šฅ์„ ์ฝ”์–ด(Core)์— ํ†ตํ•ฉํ•˜๋Š” ๋ฐฉํ–ฅ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ์€ Enterprise ์ค‘์‹ฌ, ๋ชจ๋“ˆํ™” ๊ฒฝํ–ฅ

์–ด๋–ค ๊ฒƒ์ด ๋‹ค๋ฅผ๊นŒ?

  1. ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋”ฉ์˜ ์ ๊ทน์  ํ™œ์šฉ (Aggressive Multi-threading) Redis: 6.0๋ถ€ํ„ฐ I/O(๋„คํŠธ์›Œํฌ ์ฝ๊ธฐ/์“ฐ๊ธฐ) ์ฒ˜๋ฆฌ์—๋งŒ ์ œํ•œ์ ์œผ๋กœ ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ๋ฅผ ๋„์ž… Valkey: I/O๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ฐ์ดํ„ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜(Slot Migration) ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ž‘์—… ๋“ฑ ๋ถ€ํ•˜๊ฐ€ ํฐ ์ž‘์—…์— ๋ฉ€ํ‹ฐ ์Šค๋ ˆ๋“œ๋ฅผ ๋” ์ ๊ทน์ ์œผ๋กœ ์‚ฌ์šฉํ•˜์—ฌ ๋ฉ”์ธ ์Šค๋ ˆ๋“œ์˜ Blocking์„ ์ตœ์†Œํ™”
  2. ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ์ตœ์ ํ™” (Memory Efficiency) Valkey: jemalloc ๋“ฑ ๊ณ ์„ฑ๋Šฅ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์ž์˜ ์ตœ์‹  ๊ธฐ๋Šฅ์„ ๋น ๋ฅด๊ฒŒ ์ ์šฉํ•˜์—ฌ ๋ฉ”๋ชจ๋ฆฌ ํŒŒํŽธํ™”(Fragmentation)๋ฅผ ์ค„์ด๊ณ  ๋™์ผ ์ŠคํŽ™ ๋Œ€๋น„ ๋” ๋†’์€ ์ฒ˜๋ฆฌ๋Ÿ‰(QPS)์„ ํ™•๋ณด