์นด์šฐ์น˜๋ฒ ์ด์Šค ์•Œ์•„๋ณด๊ธฐ

์‹ ์šฉ ์นด๋“œ ์—†์ด 30์ผ๊ฐ„ ๋ฌด๋ฃŒ๋กœ DBaaS๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”.

์นด์šฐ์น˜๋ฒ ์ด์Šค๋ž€ ๋ฌด์—‡์ธ๊ฐ€์š”?

Couchbase๋Š” ํ™•์žฅ์„ฑ์ด ๋›ฐ์–ด๋‚œ ๋ถ„์‚ฐํ˜• ๋ฉ”๋ชจ๋ฆฌ ์šฐ์„  ๋ฌธ์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ, ๊ธฐ์กด ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๊ฐ€์žฅ ์„ ํ˜ธํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋น ๋ฅด๊ณ  ์œ ์—ฐํ•˜๋ฉฐ ํ•ญ์ƒ ์ผœ์ ธ ์žˆ๊ณ  ๋‹จ์ผ ์žฅ์•  ์ง€์ ์ด ์—†์Šต๋‹ˆ๋‹ค. (์ฐธ๊ณ : ์นด์šฐ์น˜๋ฒ ์ด์Šค๋Š” ์นด์šฐ์น˜DB๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.)

Couchbase์˜ ์ฃผ์š” ์†์„ฑ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • JSON์œผ๋กœ ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ
  • SQL++๋ฅผ ํ†ตํ•ด ์ฟผ๋ฆฌ๋œ ๋ฐ์ดํ„ฐ
  • ๋‹ค์ค‘ ๋ฌธ์„œ ACID ํŠธ๋žœ์žญ์…˜ ์ง€์›
  • ํ‚ค-๊ฐ’ ์•ก์„ธ์Šค ์‚ฌ์šฉ
  • ๊ฒ€์ƒ‰ ์—”์ง„์ด ๋‚ด์žฅ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ณ ์„ฑ๋Šฅ ์บ์‹ฑ ์ œ๊ณต
  • ๋ฐ์ดํ„ฐ ์ž๋™ ์ƒค๋”ฉ
  • ๋ถ„์„ ์›Œํฌ๋กœ๋“œ ์ง€์›
  • ๊ณ ๊ธ‰ ๋ชจ๋ฐ”์ผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ณด์œ 

"Couchbase๋Š” ํ˜์‹ ๊ฐ€๋“ค์ด ์ฆ๊ฒจ ์ฐพ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ž…๋‹ˆ๋‹ค. ์†Œ๋งค์—…, ์ „์ž์ƒ๊ฑฐ๋ž˜, ์—ฌํ–‰, ์ˆ™๋ฐ•์—…, ์˜๋ฃŒ, ๋ฏธ๋””์–ด ๋ฐ ๊ธฐํƒ€ ์—ฌ๋Ÿฌ ์‚ฐ์—…์—์„œ ์ˆ˜๋…„๊ฐ„ ์‚ฌ์šฉ๋˜์–ด ์˜จ ํ˜„๋Œ€์ ์ด๋ฉด์„œ๋„ ๋งค์šฐ ์„ฑ์ˆ™ํ•œ ์†”๋ฃจ์…˜์ž…๋‹ˆ๋‹ค..."

๋ฐ๋‹ˆ์Šค ๋กœ์‚ฌ
๊ฐœ๋ฐœ์ž ์˜นํ˜ธ์ž

MongoDBโ„ข์˜ ์žฅ์ 

๊ธฐ๋Šฅ Couchbase MongoDB

SQL

์ƒค๋”ฉ

์ž๋™

๋งค๋‰ด์–ผ

์•„ํ‚คํ…์ฒ˜

๊ณต์œ , ํšจ์œจ์ 

๊ธฐ๋ณธ/๋ณด์กฐ, ๊ตฌ์„ฑ ๋ฐ ๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ ์„œ๋ฒ„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์บ์‹œ

๋‚ด์žฅ

ํฌํ•จ๋˜์ง€ ์•Š์Œ

์ฟผ๋ฆฌ ์˜ˆ์ œ

์นด์šฐ์น˜๋ฒ ์ด์Šค SQL++
MongoDBโ„ข ์ฟผ๋ฆฌ
                                         
์„ ํƒ SUM(๊ฐ’ * ๋ณผ๋ฅจ) AS val, ๊ธฐํ˜ธ
FROM   db.์ฃผ์‹
์–ด๋””  ๊ธฐํ˜ธ IN ( "AAPL", "GOOG" ) AND ๊ฐ’ > 0
๊ทธ๋ฃน  BY ๊ธฐํ˜ธ
์ฃผ๋ฌธ  BY val DESC, ๊ธฐํ˜ธ ASC
                                
                                         
db.์ฃผ์‹.์ง‘๊ณ„([
  { "$match": {
    "$and": [
      {"์‹ฌ๋ณผ": {
        "$in": [
        "AAPL",
        "GOOG"]}},
      { "value": {
      "$gt": 0 }}]}},
  { "$group": {
    "_id": {
      "์‹ฌ๋ณผ": "$symbol" },
    "ํ•ฉ๊ณ„(๊ฐ’ * ๋ณผ๋ฅจ)": {
      "$sum": {
        "$multiply": [
          "$value",
          "$volume"]}}}},
  { "$project": {
    "_id": 0,
    "ํ•ฉ๊ณ„(๊ฐ’ * ๋ณผ๋ฅจ)": "$sum(๊ฐ’ * ๋ณผ๋ฅจ)",
    "์‹ฌ๋ณผ": "$_id.symbol"}}
  { "$sort": {
    "ํ•ฉ๊ณ„(๊ฐ’ * ๋ณผ๋ฅจ)": -1,
    "์‹ฌ๋ณผ": 1 }}]})
                                

์‹œ์ž‘ํ•  ์ค€๋น„๊ฐ€ ๋˜์…จ๋‚˜์š”?