NoSQL

Not Only SQL ์˜ ๋‹จ์–ด ๋œป์œผ๋กœ SQL๋งŒ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ์„ ์ง€์นญํ•˜๋Š” ๋ง์ด๋‹ค.

  • ๋Œ€๋ถ€๋ถ„ cluster์—์„œ ์‹คํ–‰ํ•  ๋ชฉ์ ์œผ๋กœ ๋งŒ๋“ค์–ด์กŒ๊ธฐ ๋•Œ๋ฌธ์— ๊ด€๊ณ„ํ˜• ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ชจ๋“  NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ cluster์—์„œ ์‹คํ–‰๋˜๋„๋ก ๋งž์ถฐ์ง„ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค. NoSQL ๋ชจ๋ธ ์ค‘ ํ•˜๋‚˜์ธ ๊ทธ๋ž˜ํ”„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์™€ ๋น„์Šทํ•œ ๋ถ„์‚ฐ ๋ชจ๋ธ์„ ์‚ฌ์šฉํ•œ๋‹ค.

  • ์˜คํ”ˆ์†Œ์Šค์ด๋‹ค.

  • ์Šคํ‚ค๋งˆ ์—†์ด ๋™์ž‘ํ•˜๋ฉฐ, ๊ตฌ์กฐ์— ๋Œ€ํ•œ ์ •์˜๋ฅผ ๋ณ€๊ฒฝํ•  ํ•„์š” ์—†์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ ˆ์ฝ”๋“œ์— ์ž์œ ๋กญ๊ฒŒ ํ•„๋“œ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋‹ค.

cluster : ์—ฌ๋Ÿฌ ๋Œ€์˜ ์ผ๋ฐ˜ ์›Œํฌ์Šคํ…Œ์ด์…˜์„ ๋„คํŠธ์›Œํฌ๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ ํ•˜๋‚˜์˜ PC์ฒ˜๋Ÿผ ์ž‘๋™ํ•˜๊ฒŒ ํ•˜๋Š” ๊ธฐ์ˆ ์„ ๋งํ•œ๋‹ค.

์ถœ์ฒ˜: https://jw3461.tistory.com/6 [์ฐ์ฐ!! ]

๊ธฐ์กด์—๋Š” ํŠธ๋žœ์žญ์…˜์„ ํ†ตํ•œ ์•ˆ์ •์ ์ธ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์ด์Šˆ์˜€๊ธฐ๋•Œ๋ฌธ์— RDBMS๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ฐ์ดํ„ฐ์™€ ํŠธ๋ž˜ํ”ฝ ์–‘์ด ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ์ฆ๊ฐ€ํ•จ์— ๋”ฐ๋ผ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ๋น„์šฉ์ด ์ฆ๊ฐ€ํ–ˆ๋‹ค.

NoSQL์€ ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ์„ ์•ฝ๊ฐ„ ํฌ๊ธฐํ•œ ๋Œ€์‹  ์—ฌ๋Ÿฌ ๋Œ€์˜ ์ปดํ“จํ„ฐ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์‚ฐํ•˜์—ฌ ์ €์žฅํ•˜๋Š” ๊ฒƒ(scale-out : ์ˆ˜ํ‰์  ํ™•์žฅ)์„ ๋ชฉํ‘œ๋กœ ๋“ฑ์žฅํ–ˆ๋‹ค.

์ข…๋ฅ˜

Types of Databases
  • Key - Value

  • Document

  • Column-Family

  • Graph

๊ทธ๋ž˜ํ”„ ๋ชจ๋ธ์„ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ๋ชจ๋ธ์€ ์ง‘ํ•ฉ ์ง€ํ–ฅ(Aggregate-Oriented) ๋ชจ๋ธ์ด๋‹ค.

Aggregate-Oriented ๋ชจ๋ธ

์ง‘ํ•ฉ์ด๋ž€ ์—ฐ์‚ฐ์˜ ํ•œ ๋‹จ์œ„๋กœ ์ทจ๊ธ‰๋˜๋Š” ์—ฐ๊ด€๋œ ๊ฐ์ฒด๋“ค์˜ ์ง‘ํ•ฉ์ด๋‹ค. Aggregate-Oriented Database๋Š” ์—ฌ๋Ÿฌ ๋Œ€์œผ ใ…ฃํด๋Ÿฌ์Šคํ„ฐ๋กœ ์ด๋ฃจ์–ด์ง„ ์‹œ์Šคํ…œ์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ์ ํ•ฉํ•˜๋‹ค. ์ฆ‰, ์ˆ˜ํ‰์  ํ™•์žฅ์ด ์šฉ์ดํ•˜๋‹ค. ์ด๋Š” RDBMS์™€๋Š” ๋‹ฌ๋ฆฌ ์—ฐ๊ด€๋œ ๋ฐ์ดํ„ฐ๋“ค์ด ํ•จ๊ป˜ ์›€์ง์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๋˜ํ•œ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์˜ ์ž๋ฃŒ๊ตฌ์กฐ์™€ ์ง‘ํ•ฉ ๊ฐ„ ๋ฐ์ดํ„ฐ๊ฐ€ ์ž˜ ์ผ์น˜ํ•˜๋ฏ€๋กœ, RDBMS์ฒ˜๋Ÿผ ๊ฐ์ฒด-๊ด€๊ณ„ ๋งคํ•‘ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค. ๋ฐ์ดํ„ฐ์˜ ๊ฒ€์ƒ‰๋„ key๋‚˜ id๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์‰ฝ๊ฒŒ ์ฐพ์„ ์ˆ˜ ์žˆ๋‹ค.

Aggregate-Oriented ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์กฐ์ธ ์—ฐ์‚ฐ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด MongoDB๋‚˜ Cassandra ๋“ฑ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ๋Š” MapReduce๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•จ์œผ๋กœ์จ ์กฐ์ธ๊ณผ ์œ ์‚ฌํ•œ ์—ฐ์‚ฐ์„ ๊ฐ€๋Šฅํ•˜๋„๋ก ์„ค๊ณ„ํ–ˆ๋‹ค.

Key-Value

Key-Value ์ €์žฅ์†Œ๋Š” ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ํ˜•ํƒœ์˜ NoSQL์œผ๋กœ, ์ˆ˜ํ‰์  ํ™•์žฅ(scale-out)์ด ์šฉ์ดํ•˜๋‹ค. Key-Value ์Œ์œผ๋กœ ์ €์žฅ๋˜๋ฉฐ, key๋Š” value์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ์šฉ๋„๋กœ ์‚ฌ์šฉํ•œ๋‹ค. value๋Š” ์–ด๋– ํ•œ ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ๋ผ๋„ ๋‹ด์„ ์ˆ˜ ์žˆ๋‹ค.

์•„์ฃผ ๊ฐ„๋‹จํ•œ API๋งŒ์„ ์ œ๊ณตํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์งˆ์˜์˜ ์†๋„๊ฐ€ ๊ต‰์žฅํžˆ ๋น ๋ฅธ ํŽธ์ด๋‹ค.

์ข…๋ฅ˜

  • Memcached

  • Riak

  • Redis

  • Amazone Dynamo DB

  • LevelDB

RDBMS์™€ ๋ฐ์ดํ„ฐ ํ˜•ํƒœ ๋น„๊ต

  • RDBMS

img
  • Key-Value ๋ชจ๋ธ

img

Document

Key-Value ๋ชจ๋ธ์—์„œ ํ•œ์ธต ์ง„ํ™”ํ•œ ๋ชจ๋ธ๋กœ ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค. ๋ฐ์ดํ„ฐ๋Š” Key์™€ Document์˜ ํ˜•ํƒœ๋กœ ์ €์žฅ๋œ๋‹ค. (Document๋Š” Value์˜ ๊ณ„์ธต์  ํ˜•ํƒœ) ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ๊ฐ์ฒด์™€ ์œ ์‚ฌํ•˜๋ฉฐ, ์ด๋“ค์€ ํ•˜๋‚˜์˜ ๋‹จ์œ„๋กœ ์ทจ๊ธ‰๋˜์–ด ์ €์žฅ๋œ๋‹ค. ์ฆ‰, ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ด๋ธ”์— ๋‚˜๋ˆ  ์ €์žฅํ•  ํ•„์š”๊ฐ€ ์—†์–ด์ง„๋‹ค.

์ฃผ์š”ํ•œ ํŠน์ง•

  1. ๊ฐ์ฒด-๊ด€๊ณ„ ๋งคํ•‘์ด ํ•„์š”ํ•˜์ง€ ์•Š๋‹ค. ๊ฐ์ฒด๋ฅผ Document ํ˜•ํƒœ๋กœ ๋ฐ”๋กœ ์ €์žฅ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

  2. ๊ฒ€์ƒ‰์— ์ตœ์ ํ™” ๋˜์–ด์žˆ๋‹ค.

  3. ์‚ฌ์šฉ์ด ๋ฒˆ๊ฑฐ๋Ÿฝ๊ณ  SQL๊ณผ ์ฟผ๋ฆฌ๊ฐ€ ๋‹ค๋ฅด๋‹ค.

  4. JSON์ด๋‚˜ xml ํ˜•ํƒœ๋กœ ๊ฒฐ๊ณผ๊ฐ€ ์ถœ๋ ฅ๋œ๋‹ค.

์ข…๋ฅ˜

  • MongoDB

  • CouchDB

  • MarkLogic

Column-Family

์•ž์„  ๋‘๊ฐœ์˜ ๋ชจ๋ธ์€ ๊ฐ’(Value or Document)์„ ์ด์šฉํ•ด ํ•„๋“œ๋ฅผ ๊ฒฐ์ •ํ–ˆ๋‹ค๋ฉด, Column ๋ชจ๋ธ์€ ํ‚ค์—์„œ ํ•„๋“œ๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.

ํ‚ค๋Š” ROW(ํ‚ค ๊ฐ’)์™€ Column-Family, Column-Name์„ ๊ฐ€์ง„๋‹ค. ์—ฐ๊ด€๋œ ๋ฐ์ดํ„ฐ๋“ค์€ ๊ฐ™์€ column-family์•ˆ์— ์†ํ•ด์žˆ์œผ๋ฉฐ, ๊ฐ์ž์˜ column-name์„ ๊ฐ€์ง„๋‹ค.

์ด๋Ÿฌํ•œ ํŠน์ง•๋•Œ๋ฌธ์— column-family ๋ชจ๋ธ์€ ํด๋Ÿฌ์Šคํ„ฐ๋ง์ด ์‰ฝ๊ฒŒ ์ด๋ค„์ง€๋ฉฐ, timestamp๊ฐ€ ์กด์žฌํ•ด ๊ฐ’์ด ์ˆ˜์ •๋œ ํžˆ์Šคํ† ๋ฆฌ๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๋˜ํ•œ ๊ฐ’๋“ค์€ ์ผ๋ จ์˜ ๋ฐ”์ด๋„ˆ๋ฆฌ ๋ฐ์ดํ„ฐ๋กœ ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋– ํ•œ ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ๋ผ๋„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค. ์œ„์˜ ๋‘ ๋ชจ๋ธ๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ Bolb๋‹จ์œ„์˜ ์ฟผ๋ฆฌ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉฐ, Schema-less์ด๊ธด ํ•˜์ง€๋งŒ ์ƒˆ๋กœ์šด ํ•„๋“œ๋ฅผ ๋งŒ๋“œ๋Š”๋ฐ ๋“œ๋Š” ๋น„์šฉ์ด ํฌ๊ธฐ๋•Œ๋ฌธ์— ์‚ฌ์‹ค์ƒ ๊ฒฐ์ •๋œ ์Šคํ‚ค๋งˆ๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์ด ์–ด๋ ต๋‹ค. ๋˜ํ•œ Keyspace๋‚˜ table์„ ๊ณผ๋„ํ•˜๊ฒŒ ์ƒ์„ฑํ•  ๊ฒฝ์šฐ memory overflow๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

์ข…๋ฅ˜

  • Cassandra

  • HBase

  • Hypertable

RDBMS์™€ ๋น„๊ต

  • RDBMS

img
  • ์นผ๋Ÿผ ํŒจ๋ฐ€๋ฆฌ(Column Family) ๊ธฐ๋ณธ ๋ชจ๋ธ

img

์œ ์—ฐ์„ฑ์„ ์ ๊ทน ํ™œ์šฉํ•ด ์œ ์‚ฌํ•œ ์ปฌ๋Ÿผ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ์ปฌ๋Ÿผ๋ช…์ด columns ์†์„ฑ์— ๋ฐ์ดํ„ฐ๋กœ ์ €์žฅ๋˜๊ณ , value์—๋Š” ํ•ด๋‹น ์ปฌ๋Ÿผ์˜ ๊ฐ’๋งŒ ์กด์žฌํ•œ๋‹ค.

img

๊ด€๊ณ„ํ˜• ๋ชจ๋ธ์—์„œ๋Š” ์ƒˆ๋กœ์šด ์ปฌ๋Ÿผ์ด ์ถ”๊ฐ€๋ ๋•Œ๋งˆ๋‹ค ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผํ•˜๊ณ , ํŠน์ˆ˜ํ•œ ๊ฒฝ์šฐ์—๋Š” ๋ฐ์ดํ„ฐ๋„ ์ƒˆ๋กœ ์ ์žฌํ•ด์•ผํ•œ๋‹ค. Column-Family ๋ชจ๋ธ์€ ์‹ ๊ทœ ๋ฐ์ดํ„ฐ๋ฅผ ์œ„์˜ ์ด๋ฏธ์ง€ ์ฒ˜๋Ÿผ ์ž…๋ ฅํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด๋œ๋‹ค. ์ฆ‰, ๊ตฌ์กฐ๋ฅผ ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์—†์œผ๋ฉฐ, ๊ธฐ์กด ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•  ํ•„์š”๋„ ์—†๋‹ค.

Column Family DB๊ฐ€ ์‚ฌ์šฉํ•˜๊ธฐ์— ๋” ์œ ์—ฐํ•˜๋‹ค. ํ•˜์ง€๋งŒ ๋‹จ์ ์€ ํƒ€ ํ…Œ์ด๋ธ”๊ณผ์˜ ์กฐ์ธ์ด ์•ˆ๋œ๋‹ค๋Š” ์ ์ด๋‹ค. ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ตœ๋Œ€ ์žฅ์ ์ธ SQL ๋ฌธ์œผ๋กœ ํƒ€ ํ…Œ์ด๋ธ”๊ณผ ์กฐ์ธํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์ •๋ณด๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์ธ ๋ฐ˜๋ฉด NoSQL DB๋Š” ์ด ์ฒ˜๋ฆฌ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒƒ์ด ๋‹จ์ ์ด๋‹ค. ๊ทธ๋ž˜์„œ NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ๋Š” ์กฐ์ธ์ด ํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋Š” ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”์— ์ค‘๋ณต์œผ๋กœ ๊ด€๋ฆฌํ•ด ์ฒ˜๋ฆฌ ์†๋„๋ฅผ ํ–ฅ์ƒ ์‹œํ‚จ๋‹ค. ๋™์ผํ•œ ๋ฐ์ดํ„ฐ๋“ค์ด ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์— ์กด์žฌํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์ด๊ฒƒ์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์ด NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ๋Š” ๊ฐ€์žฅ ์–ด๋ ค์šด ์ ์ด๊ณ  ๊ฐ€์žฅ ์ค‘์š”ํ•œ ํŠน์ง•์ด๋‹ค.

Graph ๋ชจ๋ธ

Screenshot of query results in the Neo4j graph database.

๊ทธ๋ž˜ํ”„ ๋ชจ๋ธ์€ ์ง‘ํ•ฉ ์ง€ํ–ฅ ๋ชจ๋ธ๋ณด๋‹ค๋Š” ๊ด€๊ณ„ํ˜• ๋ชจ๋ธ์— ๊ฐ€๊น๋‹ค. ์‹ค์ œ ์„ธ๊ณ„์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๊ณ„์™€ ํ•จ๊ป˜ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ๋””์ž์ธ๋œ ๋ชจ๋ธ๋กœ์จ, ๋ฐ์ดํ„ฐ๋Š” ์—ฐ์†์ ์ธ ๋…ธ๋“œ, ๊ด€๊ณ„, ํŠน์„ฑ์˜ ํ˜•ํƒœ๋กœ ์ €์žฅ๋œ๋‹ค.

๋ฐ์ดํ„ฐ ๊ฐ„์˜ ๊ด€๊ณ„๊ฐ€ ํƒ์ƒ‰์˜ ํ‚ค์ผ ๊ฒฝ์šฐ์— ์ ํ•ฉํ•˜๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํŽ˜์ด์Šค๋ถ์ด๋‚˜ ํŠธ์œ„ํ„ฐ ๊ฐ™์€ ์†Œ์…œ๋„คํŠธ์›Œํฌ์—์„œ ์ ํ•ฉํ•˜๊ณ , ์—ฐ๊ด€๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ฒœํ•ด์ฃผ๋Š” ์ถ”์ฒœ ์—”์ง„์ด๋‚˜ ํŒจํ„ด ์ธ์‹ ๋“ฑ์˜ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋กœ๋„ ์ ํ•ฉํ•˜๋‹ค. ๋˜ํ•œ Aggregate-Oriendted ๋ชจ๋ธ๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ๊ฐ์ฒด์˜ ACID ํŠธ๋žœ์žญ์…˜์„ ์ง€์›ํ•œ๋‹ค.

๋‹ค๋งŒ, ๊ทธ๋ž˜ํ”„ ๋ชจ๋ธ์€ ํด๋Ÿฌ์Šคํ„ฐ๋ง์— ์ ํ•ฉํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์งˆ์˜์–ด๋„ ํŠนํ™”๋˜์–ด ์žˆ์–ด ์–ด๋ ต๋‹ค.

RDMBS vs NoSQL

Relational Database
NoSQL

Scale-up - ์„œ๋ฒ„ ํ•œ๋Œ€ ์ค‘์‹ฌ์œผ๋กœ ํ™•์žฅ

Scale-out - ์—ฌ๋Ÿฌ๋Œ€์˜ ์„œ๋ฒ„๋ฅผ ์ค‘์‹ฌ์œผ๋กœ ํ™•์žฅ

๋ฌด๊ฒฐ์„ฑ

์œ ์—ฐ์„ฑ

๋ฐ์ดํ„ฐ ์ค‘๋ณต ์ œ๊ฑฐ

๋ฐ์ดํ„ฐ ์ค‘๋ณต ํ—ˆ์šฉ

ํŠธ๋žœ์žญ์…˜

๋น ๋ฅธ ์“ฐ๊ธฐ, ์ฝ๊ธฐ

MongoDB vs Cassandra vs HBase

Cassandra
MongoDB
HBase

Architecture

Wide Column Store

Document Store

Wide Column Store

Distributed System Consistency

Eventual and Immediate Consistency

Eventual and Immediate Consistency

Immediate Consistency

Owner and developer

Apache Software Foundation

MongoDB, Inc.

Apache Software Foundation

Replication

Masterless Ring

Master-Slave Replication

Master-Slave Replication

Base Code

Java

C++

Java

Popular Use Cases

Sensor Data, Messaging Systems, E-commerce Websites, Always-On Applications, Fraud Detection for Banks

Operational Intelligence, Product Data Management, Content Management Systems, IoT, Real-Time Analytics

Online Log Analytics, Hadoop, Write Heavy Applications, MapReduce

์ฐธ์กฐ ํŽ˜์ด์ง€

Last updated

Was this helpful?