DrawingProcess
๋“œํ”„ DrawingProcess
DrawingProcess
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
ยซ   2025/06   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (964)
    • Profile & Branding (22)
      • Career (15)
    • IT Trends (254)
      • Conference, Faire (Experien.. (31)
      • News (187)
      • Youtube (19)
      • TED (8)
      • Web Page (2)
      • IT: Etc... (6)
    • Contents (97)
      • Book (66)
      • Lecture (31)
    • Project Process (94)
      • Ideation (0)
      • Study Report (34)
      • Challenge & Award (22)
      • 1Day1Process (5)
      • Making (5)
      • KRC-FTC (Team TC(5031, 5048.. (10)
      • GCP (GlobalCitizenProject) (15)
    • Study: ComputerScience(CS) (72)
      • CS: Basic (9)
      • CS: Database(SQL) (5)
      • CS: Network (14)
      • CS: OperatingSystem (3)
      • CS: Linux (39)
      • CS: Etc... (2)
    • Study: Software(SW) (95)
      • SW: Language (29)
      • SW: Algorithms (1)
      • SW: DataStructure & DesignP.. (1)
      • SW: Opensource (15)
      • SW: Error Bug Fix (43)
      • SW: Etc... (6)
    • Study: Artificial Intellige.. (149)
      • AI: Research (1)
      • AI: 2D Vision(Det, Seg, Tra.. (35)
      • AI: 3D Vision (70)
      • AI: MultiModal (3)
      • AI: SLAM (0)
      • AI: Light Weight(LW) (3)
      • AI: Data Pipeline (7)
      • AI: Machine Learning(ML) (1)
    • Study: Robotics(Robot) (33)
      • Robot: ROS(Robot Operating .. (9)
      • Robot: Positioning (8)
      • Robot: Planning & Control (7)
    • Study: DeveloperTools(DevTo.. (83)
      • DevTool: Git (12)
      • DevTool: CMake (13)
      • DevTool: NoSQL(Elastic, Mon.. (25)
      • DevTool: Container (17)
      • DevTool: IDE (11)
      • DevTool: CloudComputing (4)
    • ์ธ์ƒ์„ ์‚ด๋ฉด์„œ (64)
      • ๋‚˜์˜ ์ทจ๋ฏธ๋“ค (7)
      • ๋‚˜์˜ ์ƒ๊ฐ๋“ค (42)
      • ์—ฌํ–‰์„ ๋– ๋‚˜์ž~ (10)
      • ๋ถ„๊ธฐ๋ณ„ ํšŒ๊ณ  (5)

๊ฐœ๋ฐœ์ž ๋ช…์–ธ

โ€œ ๋งค์ฃผ ๋ชฉ์š”์ผ๋งˆ๋‹ค ๋‹น์‹ ์ด ํ•ญ์ƒ ํ•˜๋˜๋Œ€๋กœ ์‹ ๋ฐœ๋ˆ์„ ๋ฌถ์œผ๋ฉด ์‹ ๋ฐœ์ด ํญ๋ฐœํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด๋ผ.
์ปดํ“จํ„ฐ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์ด๋Ÿฐ ์ผ์ด ํ•ญ์ƒ ์ผ์–ด๋‚˜๋Š”๋ฐ๋„ ์•„๋ฌด๋„ ๋ถˆํ‰ํ•  ์ƒ๊ฐ์„ ์•ˆ ํ•œ๋‹ค. โ€

- Jef Raskin

๋งฅ์˜ ์•„๋ฒ„์ง€ - ์• ํ”Œ์ปดํ“จํ„ฐ์˜ ๋งคํ‚จํ† ์‹œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ฃผ๋„

์ธ๊ธฐ ๊ธ€

์ตœ๊ทผ ๊ธ€

์ตœ๊ทผ ๋Œ“๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
DrawingProcess

๋“œํ”„ DrawingProcess

[NoSQL] Apache Cassandra ์ •๋ฆฌ: NoSQL Column-Family DB
Study: DeveloperTools(DevTool)/DevTool: NoSQL(Elastic, Mongo)

[NoSQL] Apache Cassandra ์ •๋ฆฌ: NoSQL Column-Family DB

2022. 11. 17. 11:43
๋ฐ˜์‘ํ˜•
๐Ÿ’ก ๋ณธ ๋ฌธ์„œ๋Š” ๋Œ€ํ‘œ์ ์ธ NoSQL ์ค‘ ํ•˜๋‚˜์ธ 'Apache Cassandra(์ดํ•˜ Cassandra)'์— ๋Œ€ํ•œ ๊ฐœ๋…์„ ๊ฐ„๋‹จํ•˜๊ฒŒ ์ •๋ฆฌํ•ด๋†“์€ ๊ธ€์ž…๋‹ˆ๋‹ค.
ํ‰์†Œ์— NoSQL์— ๊ด€์‹ฌ์ด ์žˆ๊ฑฐ๋‚˜ Cassandra๋ฅผ ์ž…๋ฌธํ•˜๊ณ  ์‹ถ์œผ์‹  ๋ถ„๋“ค์„ ์ฐธ๊ณ  ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

1. Cassandra ์†Œ๊ฐœ

1.1 Cassandra ๊ฐœ์š”

 Cassandra๋Š” NoSQL DBMS์˜ ํ•˜๋‚˜๋กœ, ๋‹จ์ผ ์žฅ์•  ์—†์ด ๊ณ ์„ฑ๋Šฅ์„ ์ œ๊ณตํ•˜๋ฉด์„œ ์ˆ˜๋งŽ์€ ์„œ๋ฒ„ ๊ฐ„์˜ ๋Œ€์šฉ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ์„ผํ„ฐ์— ๊ฑธ์ณ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ์ง€์›ํ•˜๋ฉฐ ๋งˆ์Šคํ„ฐ๋ฆฌ์Šค(masterless) ๋น„๋™๊ธฐ ๋ ˆํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํ†ตํ•ด ๋ชจ๋“  ํด๋ผ์ด์–ธํŠธ์— ๋Œ€ํ•œ ๋‚ฎ์€ ๋ ˆ์ดํ„ด์‹œ ์šด์˜์„ ํ—ˆ์šฉํ•˜๋ฉฐ ์„ฑ๋Šฅ ๋ฉด์—์„œ ๋†’์€ ๊ฐ€์น˜๋ฅผ ๋ณด์ž…๋‹ˆ๋‹ค. 

์ฒ˜์Œ์— Staged event-driven architecture(SEDA)๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ Facebook์—์„œ ์„ค๊ณ„ํ•˜์˜€์œผ๋ฉฐ,  Amazon์˜ Dynamo ๋ถ„์‚ฐ ์Šคํ† ๋ฆฌ์ง€ ๋ฐ ๋ณต์ œ ๊ธฐ์ˆ ๊ณผ Google์˜ Bigtable ๋ฐ์ดํ„ฐ ๋ฐ ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„ ๋ชจ๋ธ์ด ๊ฒฐํ•ฉ๋œ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.

  • Amazon Dynamo: https://www.allthingsdistributed.com/2007/10/amazons_dynamo.html
  • Google Bigtable: https://static.googleusercontent.com/media/research.google.com/en//archive/bigtable-osdi06.pdf

์ถ”๊ฐ€๋กœ, DB-Engines Ranking ๊ธฐ์ค€์œผ๋กœ ํ˜„์กดํ•˜๋Š” NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ค‘ ์ธ์ง€๋„ 4์œ„, ์ „์ฒด DB ์ธ์ง€๋„ 11์œ„๋ฅผ ์œ ์ง€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. 

1.2 Cassandra ํŠน์ง•: NoSQL (Wide column store)

Name CassandraDB
Description Wide-column store based on ideas of BigTable and DynamoDB 
Primary database model Wide column store
Technical documentation cassandra.apache.org/­doc/­latest
Developer Apache Software Foundation 
Initial release 2008
Current release 4.0.7, October 2022
License  Open Source (Lisence: Apache v2.0)

Pricing for commercial distributions provided by DataStax and available upon request.
Cloud-based only  no
DBaaS offerings (sponsored links) 
  • Aiven for Apache Cassandra: Fully managed, open source NoSQL database specifically designed to be highly available, performant, and scalable.
  • Astra DB: Multi-cloud DBaaS built on Apache Cassandra.
Data scheme schema-free
Typing  yes (https://cassandra.apache.org/doc/latest/cassandra/cql/types.html)
SQL  SQL-like SELECT, DML and DDL statements (CQL, Cassandra Query Language)
Replication methods selectable replication factor
3rd parties Elassandra: Elassandra closely integrates Elasticsearch in Cassandra.

CData: Connect to Big Data & NoSQL through standard Drivers.
» more

Instaclustr: Hosted & Managed Apache Cassandra as a Service
» more

DataStax Cassandra: Cassandra Day + Wakanda Forever
» more

Aiven for Apache Cassandra: A truly distributed database that can handle large volumes of writes.
» more
Typical application scenarios Internet of Things (IOT), fraud detection applications, recommendation engines, product catalogs and playlists and messaging applications.
  • ๋”์šฑ ์ž์„ธํ•œ ๋‚ด์šฉ์€ DB-Engines Ranking: Cassandra ๋ถ€๋ถ„์„ ์ฐธ๊ณ ํ•ด์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

2. Cassandra ๊ตฌ์กฐ

2.1 Cassandra ์ €์žฅ ๊ตฌ์กฐ

Cassandra๋Š” Wide-Column(Column Family) ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋กœ Schema-less ํ•œ Column ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์ž…๋‹ˆ๋‹ค.

์œ„์™€ ๊ฐ™์ด ์นด์‚ฐ๋“œ๋ผ์˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋Š” ๋น„๊ต์  ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ์ตœ์ƒ์œ„์— ๋…ผ๋ฆฌ์  ๋ฐ์ดํ„ฐ(Data) ์ €์žฅ์†Œ์ธ ํ‚ค ์ŠคํŽ˜์ด์Šค(Key space)๊ฐ€ ์žˆ๊ณ , ํ‚ค ์ŠคํŽ˜์ด์Šค ์•„๋ž˜์—๋Š” ํ…Œ์ด๋ธ”(Table)์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. Table์€ ๋‹ค์ˆ˜์˜ ๋กœ์šฐ๋“ค๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ์œผ๋ฉฐ ๊ฐ ๋กœ์šฐ๋Š” ํ‚ค ๊ฐ’(Key Value)์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์นผ๋Ÿผ๋“ค๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. RDB ํ˜•ํƒœ์™€ ์œ ์‚ฌํ•œ ๊ตฌ์กฐ๋ฅผ ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฑธ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Table์˜ ๊ตฌ์กฐ๋ฅผ ๊ฐ„๋‹จํžˆ ํ‘œํ˜„ํ•˜๋ฉด?

Map<RowKey, SortedMap<ColumnKey, ColumnValue>>

2.2 Cassandra ์ €์žฅ ๊ตฌ์กฐ (RDB์™€ ๋น„๊ต)

๊ธฐ์กด์˜ RDB์™€๋Š” ์œ ์‚ฌํ•œ ์ €์žฅ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง

RDB Database Table Row Column schema
Cassandra Keyspace Table Row Column Name, Value  
  • Keyspace : ๋ฐ์ดํ„ฐ์…‹์ด ๋ฐ์ดํ„ฐ์„ผํ„ฐ์— ์–ด๋–ป๊ฒŒ ๋ณต์ œ๋  ๊ฒƒ์ธ์ง€ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ณต์ œ ๊ฐœ์ˆ˜๋งŒํผ ํด๋Ÿฌ์Šคํ„ฐ์— ๋ณต์ œ๋˜์–ด ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ํ‚ค์ŠคํŽ˜์ด์Šค๋Š” ํ…Œ์ด๋ธ”์„ ํฌํ•จํ•˜๋Š” ๊ฐœ๋…์ž…๋‹ˆ๋‹ค.
  • Table : ํŒŒํ‹ฐ์…˜๋ณ„ ์ฝœ๋ž™์…˜์— ๋Œ€ํ•œ ์Šคํ‚ค๋งˆ๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ํ…Œ์ด๋ธ”์€ ํŒŒํ‹ฐ์…˜์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ ๋กœ์šฐ์™€ ์ปฌ๋Ÿผ์„ ํฌํ•จํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์นด์‚ฐ๋“œ๋ผ ํ…Œ์ด๋ธ”์€ ์ƒˆ๋กœ์šด ์ปฌ๋Ÿผ์„ ๋‹ค์šดํƒ€์ž„ ์—†์ด ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Partition : ์นด์‚ฐ๋“œ๋ผ์— ์ €์žฅ๋˜๋Š” ๋กœ์šฐ์˜ ๋…ธ๋“œ๋ฅผ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ ํ‚ค๊ฐ€ ํŒŒํ‹ฐ์…˜์ž…๋‹ˆ๋‹ค. ์ฆ‰ ๊ธฐ๋ณธํ‚ค๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ํŒŒํ‹ฐ์…˜ ํ‚ค๋ฅผ ์–ด๋–ป๊ฒŒ ์„ค์ •ํ•˜๋А๋ƒ์— ๋”ฐ๋ผ ์„ฑ๋Šฅ์ด ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.
  • Row : ํŒŒํ‹ฐ์…˜ ํ‚ค์™€ ์„ ํƒ์ ์œผ๋กœ ํด๋Ÿฌ์Šคํ„ฐ๋ง ํ‚ค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ์ดํ„ฐ์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ ์ปฌ๋Ÿผ์„ ํฌํ•จํ•˜๋Š” ๊ฐœ๋…์ž…๋‹ˆ๋‹ค. 
  • Column : ํ•ด๋‹น ์ปฌ๋ ‰์…˜(ํ…Œ์ด๋ธ”)์—์„œ ๋กœ์šฐ์— ์†ํ•œ ๋‹จ์ผ ๋ฐ์ดํ„ฐ(์—ด)๋ฅผ ๋งํ•ฉ๋‹ˆ๋‹ค.

2.3 Cassandra  ์•„ํ‚คํ…์ณ ํŠน์ง•

์นด์‚ฐ๋“œ๋ผ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ง(Ring) ๊ตฌ์กฐ๋ฅผ ๋ ๊ณ  ์žˆ์œผ๋ฉฐ, ๋ง์„ ๊ตฌ์„ฑํ•˜๋Š” ๊ฐ ๋…ธ๋“œ์— ๋ฐ์ดํ„ฐ(Data)๋ฅผ ๋ถ„์‚ฐํ•˜์—ฌ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด๋•Œ ํŒŒํ‹ฐ์…˜ ํ‚ค๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ์˜ ํ•ด์‹œ(hash) ๊ฐ’์„ ๊ธฐ์ค€์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์‚ฐํ•˜๊ฒŒ ๋˜๋ฉฐ, ๊ฐ ๋…ธ๋“œ๋Š” ์นด์‚ฐ๋“œ๋ผ์˜ conf/cassandra.yaml์— ์ •์˜๋œ ์„ค์ •์„ ํ†ตํ•˜์—ฌ ๋…ธ๋“œ๋งˆ๋‹ค ๊ณ ์œ ์˜ ํ•ด์‹œ ๊ฐ’ ๋ฒ”์œ„์— ๋”ฐ๋ผ ๋ถ„์‚ฐ๋ฉ๋‹ˆ๋‹ค.

2.4 Cassandra ์šด์˜ ๋ฐฉ๋ฒ•

์•„ํŒŒ์น˜ ์นด์‚ฐ๋“œ๋ผ ๊ธฐ๋ณธ ๊ตฌ์„ฑ ์„ค์ •์€ cassandra.yaml ํŒŒ์ผ์„ ํ†ตํ•ด ์ง„ํ–‰ํ•˜๋ฉฐ ์ˆ˜๋™ ๋˜๋Š” ๊ด€๋ จ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ์„ค์ •์€ ๋‹ค์šดํƒ€์ž„ ์—†์ด ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ผ๋ถ€ ์˜ต์…˜์€ ์นด์‚ฐ๋“œ๋ผ๋ฅผ ์™„์ „ํžˆ ์ข…๋ฃŒํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์นด์‚ฐ๋“œ๋ผ๋Š” ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•˜๊ธฐ  ์œ„ํ•œ ๋„๊ตฌ์ธ nodetool, fqltool๊ณผ ๊ฐ™์€ ๋„๊ตฌ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์นด์‚ฐ๋“œ๋ผ๋Š” ์นด์‚ฐ๋“œ๋ผ ๋ฐ์ดํ„ฐ์˜ ์‹œ์  ์Šค๋ƒ…์ƒท์„ ์ œ๊ณตํ•˜๋Š” ์•„ํ† ๋ฏน ์Šค๋ƒ…์ƒท์„ ์ง€์›ํ•˜๋ฉฐ ๋ฐฑ์—… ๋„๊ตฌ์™€ ์‰ฝ๊ฒŒ ํ†ตํ•ฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์นด์‚ฐ๋“œ๋ผ๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๊ธฐ๋ก๋˜๋Š” ๋Œ€๋กœ ๋ฐฑ์—…ํ•  ์ˆ˜ ์žˆ๋Š” ์ฆ๋ถ„ ๋ฐฑ์—…(incremental backup)๋„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

์ถ”๊ฐ€์ ์œผ๋กœ ์•„ํŒŒ์น˜ ์นด์‚ฐ๋“œ๋ผ 4.0๋ถ€ํ„ฐ๋Š” ์ž๋ฐ” 11 ์ง€์›, ๊ฐ€์ƒ ํ…Œ์ด๋ธ”, audit ๋กœ๊น… ๋“ฑ์„ ์ถ”๊ฐ€๋กœ ์ง€์›ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

3. Cassandra ์ฃผ์š” ๊ธฐ๋Šฅ ๋ฐ ์žฅ๋‹จ์ 

3.1 Cassandra ์ฃผ์š” ๊ธฐ๋Šฅ ๋ฐ ์žฅ์ 

3.1.1 Masterless

Mater-Slave

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

Masterless

  • ๋งˆ์Šคํ„ฐ๋ฆฌ์Šค ์•„ํ‚คํ…์ฒ˜๋กœ ๊ตฌ์ถ•๋œ Apache Cassandra๋Š” ์œ„์™€ ๊ฐ™์€ ๋‹จ์ ์ด ์—†์Œ
  • ๋ฐ์ดํ„ฐ ๋ณต์ œ๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ๋‹จ์ผ ๋…ธ๋“œ๊ฐ€ ์—†๊ณ  ๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ ๋™์ผํ•จ
  • ๋ง ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํด๋Ÿฌ์Šคํ„ฐ์— ์ฐธ์—ฌํ•˜๋Š” ๋ชจ๋“  ๋…ธ๋“œ์— ์ž๋™์œผ๋กœ ๋ฐ์ดํ„ฐ ๋ถ„์‚ฐ
    • ๋ฐ์ดํ„ฐ๋Š” ๋ชจ๋“  ๋…ธ๋“œ์—์„œ ํˆฌ๋ช…ํ•˜๊ฒŒ ๋ถ„ํ• ๋˜๋ฏ€๋กœ ๊ฐœ๋ฐœ์ž๋‚˜ ๊ด€๋ฆฌ์ž๊ฐ€ ํด๋Ÿฌ์Šคํ„ฐ ์ „์ฒด์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•ด ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜์ง€ ์•Š์•„๋„ ๋จ
  • ๋Œ€์‹  ๋ชจ๋“  ๋…ธ๋“œ๊ฐ€ ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์ž‘์—…์„ ์ˆ˜ํ–‰
  • ์„ฑ๋Šฅ์ด ํ–ฅ์ƒ๋˜๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ณต์›๋ ฅ์ด ์ถ”๊ฐ€๋จ

3.1.2 ํ™•์žฅ์„ฑ ๋ฐ ๊ณ ์„ฑ๋Šฅ

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

  • ์ˆ˜์ง ํ™•์žฅ: ๋‹จ์ˆœํžˆ ๊ธฐ์กด ๋จธ์‹ ์— ๋” ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ์™€ ํ•˜๋“œ์›จ์–ด ์šฉ๋Ÿ‰์„ ์ถ”๊ฐ€ํ•ด์„œ ํ™•์žฅ์„ฑ์„ ์–ป์Œ.
  • ์ˆ˜ํ‰ ํ™•์žฅ: ๋ฐ์ดํ„ฐ ์ „์ฒด๋‚˜ ์ผ๋ถ€๋ฅผ ๊ฐ–๋Š” ๋จธ์‹ ์„ ์ถ”๊ฐ€ํ•ด์„œ ์š”์ฒญ ์ฒ˜๋ฆฌ๋ฅผ ์—ฌ๋Ÿฌ ๋จธ์‹ ์ด ๋‚˜๋ˆ  ๊ฐ–๋Š” ๋ฐฉ๋ฒ•.
  • ๊ทธ๋Ÿฌ๋‚˜ ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด ํด๋Ÿฌ์Šคํ„ฐ์— ์žˆ๋Š” ๋‹ค๋ฅธ ๋…ธ๋“œ์™€ ๋ฐ์ดํ„ฐ๋ฅผ ๋™๊ธฐํ™”ํ•˜๊ณ  ์œ ์ง€ํ•˜๋Š” ๋‚ด๋ถ€ ๋ฉ”์ปค๋‹ˆ์ฆ˜์ด ํ•„์š”ํ•จ.

๋ฐ˜๋ฉด Cassandra๋Š” ๋…ธ๋“œ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด,ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ค‘๋‹จ ์—†์ด ์ƒˆ๋กœ ์ถ”๊ฐ€๋œ ๋…ธ๋“œ์— ์ž‘์—…์„ ํ• ๋‹น(๋กœ๋“œ ๋ฐธ๋Ÿฐ์‹ฑ)ํ•˜์—ฌ ์šฉ๋Ÿ‰์„ ์„ ํ˜•์œผ๋กœ ๋Š˜๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋ฌผ๋ก , ๊ทœ๋ชจ๋ฅผ ์ถ•์†Œํ•  ๋•Œ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€). ์˜ˆ๋ฅผ ๋“ค์–ด, 2๊ฐœ์˜ ๋…ธ๋“œ๊ฐ€ ์ดˆ๋‹น 100,000๊ฐœ์˜ ํŠธ๋žœ์žญ์…˜์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ 8๊ฐœ์˜ ๋…ธ๋“œ๋กœ ๊ตฌ์„ฑํ•˜๋ฉด ์ดˆ๋‹น 400,000๊ฐœ์˜ ํŠธ๋žœ์žญ์…˜์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ โ€‹โ€‹์žˆ์Šต๋‹ˆ๋‹ค.

3.1.3 ๊ณ  ๊ฐ€์šฉ์„ฑ ๋ฐ ๋‚ด ๊ฒฐํ•จ์„ฑ

๋ชจ๋“  Cassandra ๋…ธ๋“œ๋Š” ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ํด๋Ÿฌ์Šคํ„ฐ ๋ฐ ๋…ธ๋“œ์— ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด ์ •์ƒ ๋…ธ๋“œ๋กœ ์ž๋™ ๋ผ์šฐํŒ… ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์‹œ์Šคํ…œ์„ ์ค‘๋‹จํ•˜์ง€ ์•Š๊ณ  ์žฅ์• ๊ฐ€ ๋ฐœ์ƒํ•œ ๋…ธ๋“œ๋ฅผ ๊ต์ฒดํ•  ์ˆ˜ ์žˆ๊ณ , ๋‹ค์ค‘ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์ œํ•ด ๋กœ์ปฌ ์„ฑ๋Šฅ์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ํ•œ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ๊ฐ€ ํ™”์žฌ๋‚˜ ํ™์ˆ˜ ๊ฐ™์€ ์น˜๋ช…์ ์ธ ์žฌ์•™์„ ๋‹นํ•˜๋”๋ผ๋„ ๋‹ค์ค‘ ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์— ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์ œํ•ด์„œ ์„œ๋น„์Šค ์ค‘๋‹จ์„ ์˜ˆ๋ฐฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3.1.4 CQL(Cassandra Query Language)

์นด์‚ฐ๋“œ๋ผ๋Š” CQL(Cassandra Query Language)๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. SQL๊ณผ ์œ ์‚ฌํ•˜๊ฒŒ ์ƒ๊ธด ์–ธ์–ด๋กœ์„œ ์นด์‚ฐ๋“œ๋ผ์— ์ ‘๊ทผํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์“ฐ๊ฑฐ๋‚˜ ์ฝ์„ ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. CQL์€ ์ˆ˜๋งŽ์€ ๊ธฐ๋Šฅ๋“ค์„ ์ œ๊ณตํ•˜๋Š”๋ฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋‹จ์ผ ํŒŒํ‹ฐ์…˜ ๊ธฐ์ค€์œผ๋กœ atomic compare๊ณผ set semantic ํŠธ๋žœ์ ์…˜์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ž ์ •์˜ ํƒ€์ž…๊ณผ ํ•จ์ˆ˜, ์ง‘๊ณ„๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ๋กœ์ปฌ ์„ธ์ปจ๋”๋ฆฌ ์ธ๋ฑ์Šค๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ตฌ์ฒดํ™”๋œ ๋ทฐ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

3.2 Cassandra ๋‹จ์ 

3.2.1 ๋†’์€ ์ง„์ž…์žฅ๋ฒฝ

  • ์นผ๋Ÿผํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ๋กœ์šฐํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ธ RDB์™€๋Š” ๋‹ค๋ฅธ ์ƒ์†Œํ•œ ๊ฐœ๋…์ด๋ผ ์ง„์ž…์žฅ๋ฒฝ์ด ๋†’์Šต๋‹ˆ๋‹ค.

3.2.2 ๋ฐ์ดํ„ฐ ์ž…๋ ฅ ์‹œ ์ž๋™ํ™” ์ฒ˜๋ฆฌ๊ฐ€ ์–ด๋ ค์›€

  • ๋ฐ์ดํ„ฐ๋ฅผ ์ž…๋ ฅ ์‹œ์—๋„ ์ž๋™ํ™”ํ•œ ์ฒ˜๋ฆฌ๊ฐ€ ์–ด๋ ต์Šต๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋ฝ์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด Zookeeper์™€ ๊ฐ™์€ ์ „์ฒด ๋ถ„์‚ฐ ์„œ๋ฒ„๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ถ”๊ฐ€ํ•ด์„œ ๋ณ„๋„๋กœ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. 
  • Transaction์„ ์ง€์›ํ•˜์ง€ ์•Š์•„ ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋™์‹œ ๊ฐฑ์‹  ์š”์ฒญ์ด ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๊ฑฐ๋‚˜ ์ž๋™ํ™”ํ•œ ํŠธ๋žœ์žญ์…˜์ด ํ•„์š”ํ•œ ์„œ๋น„์Šค์—์„œ๋Š” ๋‹ค๋ฅธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ณ ๋ คํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

3.2.3 ๋ณต์žกํ•œ ์กฐ๊ฑด์˜ ๊ฒ€์ƒ‰ ๋ถˆ๊ฐ€

  • ๋งŽ์€ ์‚ฌ์šฉ์ž๋ฅผ ๋Œ€์ƒ์œผ๋กœ ๋Œ€๋Ÿ‰ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๋Š” ์„œ๋น„์Šค๊ฐ€ ์•„๋‹ ๊ฒฝ์šฐ ์“ธ ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  Join๊ณผ ๊ฐ™์€ ๋ณต์žกํ•œ ์กฐ๊ฑด์˜ ๊ฒ€์ƒ‰์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉฐ ๋กœ์šฐ ํ‚ค์™€ ์นผ๋Ÿผ ๋‘ ๊ฐ€์ง€์— ๋Œ€ํ•œ ์ธ๋ฑ์Šค๋งŒ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋Š” ๋Œ€๋Ÿ‰์ด์ง€๋งŒ ๊ฒ€์ƒ‰ ์กฐ๊ฑด์€ ๋‹จ์ˆœํ•œ ์„œ๋น„์Šค์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.
  • ์Šˆํผ ์นผ๋Ÿผ ๊ตฌ์„ฑ(Super Column family)์˜ ํ•˜์œ„ ์นผ๋Ÿผ์— ๋Œ€ํ•œ ์ธ๋ฑ์‹ฑ์€ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
  • ํ‚ค ๊ฐ’์„ ํ†ตํ•œ ๋ฒ”์œ„ ๊ฒ€์ƒ‰์€ ๋ฐ์ดํ„ฐ ๋ถ„์‚ฐ ๋ฐฉ์‹์„ ์˜ค๋”ํ”„๋ ˆ์ŠคํŒŒํ‹ฐ์…”๋„ˆ(OrderPresservingPartitioner)๋กœ ์„ค์ •ํ•˜์—ฌ ํ‚ค ๊ฐ’์„ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฅผ ์„œ๋ฒ„์— ๋ถ„๋ฐฐํ–ˆ์„ ๊ฒฝ์šฐ์—๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

3.2.4 ์—ฌ๋Ÿฌ ํŒŒํ‹ฐ์…˜์— ๊ฑธ์นœ ์ž‘์—…์„ ์ง€์›ํ•˜์ง€ ์•Š์Œ

์นด์‚ฐ๋“œ๋ผ๋Š” ์†๋„๊ฐ€ ๋А๋ฆฌ๊ณ  ๊ฐ€์šฉ์„ฑ์ด ๋†’์€ ๊ธ€๋กœ๋ฒŒ ์‹œ๋ฉ˜ํ‹ฑ์„ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์—ฌ๋Ÿฌ ํŒŒํ‹ฐ์…˜์— ๊ฑธ์นœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ž‘์—…๋“ค์€ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • ํŒŒํ‹ฐ์…˜ ๊ฐ„ ํŠธ๋žœ์žญ์…˜
  • ๋ถ„์‚ฐ ์กฐ์ธ
  • ์™ธ๋ถ€ ํ‚ค ๋˜๋Š” ์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ

์ด ์™ธ์—๋„ RDBMS์™€ ๊ฐ™์€ Paging์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ํž˜๋“ค๊ณ  Keyspace๋‚˜ Table ๋“ฑ์„ ๊ณผ๋„ํ•˜๊ฒŒ ์ƒ์„ฑํ•  ๊ฒฝ์šฐ Memory Overflow๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

4. RDB vs Cassandra

  RDBMS Cassandra
์ˆ˜์‹  ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ์ ๋‹นํ•œ ์ˆ˜์‹  ๋ฐ์ดํ„ฐ ์†๋„ ์ฒ˜๋ฆฌ ๋†’์€ ์ˆ˜์‹  ๋ฐ์ดํ„ฐ ์†๋„ ์ฒ˜๋ฆฌ
ํŠธ๋žœ์žญ์…˜ ๋ณต์žกํ•˜๊ณ  ์ค‘์ฒฉ๋œ ์ฟผ๋ฆฌ ์ง€์› ๊ฐ„๋‹จํ•œ ์ฟผ๋ฆฌ ์ง€์›
์žฅ์•  ์กฐ์น˜ ์žฅ์•  ์กฐ์น˜๋ฅผ ํ†ตํ•œ ๋‹จ์ผ ์žฅ์•  ์ง€์  ๋ฐœ์ƒ ๋‹จ์ผ ์‹คํŒจ ์ง€์ ์ด ์—†๊ณ  ์ง€์†์ ์ธ ๊ฐ€๋™ ์‹œ๊ฐ„(Failover)
๋ฐ์ดํ„ฐ ์‚ฌ์ด์ฆˆ ์ค‘๊ฐ„ ๊ทœ๋ชจ์˜ ๋ฐ์ดํ„ฐ ๋ณผ๋ฅจ ์ง€์› ๋งค์šฐ ๋†’์€ ๋ฐ์ดํ„ฐ ๋ณผ๋ฅจ ์ง€์›
์ค‘์•™์ง‘์ค‘ / ๋ถ„์‚ฐ ์ค‘์•™ ์ง‘์ค‘์‹ ๋ถ„์‚ฐ ๋ฐฐ์น˜: ์—ฌ๋Ÿฌ ์œ„์น˜์—์„œ ์ž‘์„ฑ๋œ ๋ฐ์ดํ„ฐ
ํ™•์žฅ์„ฑ ์ฝ๊ธฐ ํ™•์žฅ์„ฑ ์ง€์› ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ ํ™•์žฅ์„ฑ ์ง€์›
ํ™•์žฅ ๋ฐฉ์‹ ์ˆ˜์ง ํ™•์žฅ ๋ฐฉ์‹์œผ๋กœ ๋ฐฐํฌ ์ˆ˜ํ‰ ํ™•์žฅ ๋ฐฉ์‹์œผ๋กœ ๋ฐฐํฌ

5. ๋งˆ๋ฌด๋ฆฌ

  • ์•„ํŒŒ์น˜ ์นด์‚ฐ๋“œ๋ผ๋Š” ๋‹ค์šด ํƒ€์ž„ ์—†์ด ์ง€์†์ ์ธ ๊ฐ€์šฉ์„ฑ๊ณผ ๊ณ ์„ฑ๋Šฅ ๋ฐ ์„ ํ˜• ํ™•์žฅ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ ์„ผํ„ฐ์™€ ์ง€์—ญ์— ๊ฑธ์ณ ๋‹จ์ˆœํ•˜๊ณ  ์†์‰ฌ์šด ๋ณต์ œ, ํŽ˜ํƒ€ ๋ฐ”์ดํŠธ ๊ทœ๋ชจ์˜ ์ •๋ณด์™€ ์ดˆ๋‹น ์ˆ˜์ฒœ ๊ฑด์˜ ๋™์‹œ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ์นด์‚ฐ๋“œ๋ผ๋Š” ํ•˜์ด๋ธŒ๋ฆฌ๋“œ ํด๋ผ์šฐ๋“œ ํ™˜๊ฒฝ์—์„œ ์„ฑ๋Šฅ ์ €ํ•˜ ์—†์ด ํ™•์žฅ์„ฑ๊ณผ ๊ณ  ๊ฐ€์šฉ์„ฑ์ด ํ•„์š”ํ•œ ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋‹จ์ผ ์žฅ์•  ์ง€์  ์—†์ด ๋งŽ์€ ์ƒ์šฉ ์„œ๋ฒ„์—์„œ ์ง€์†์ ์ธ ๊ฐ€์šฉ์„ฑ ๋ฐ ์šด์˜ ๋‹จ์ˆœ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์€ ๋กœ๊ทธ ๊ตฌ์กฐ ์—…๋ฐ์ดํŠธ์˜ ์„ฑ๋Šฅ, ๋น„์ •๊ทœํ™” ๋ฐ ๊ตฌ์ฒดํ™”๋œ ๋ทฐ์— ๋Œ€ํ•œ ๊ฐ•๋ ฅํ•œ ์ง€์› ๋ฐ ๊ฐ•๋ ฅํ•œ ๋‚ด์žฅ ์บ์‹ฑ์„ ํ†ตํ•ด ์ปฌ๋Ÿผ ์ธ๋ฑ์Šค์˜ ํŽธ์˜์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

 

์ฐธ๊ณ 

  • [DB Engines Ranking] Cassandra: https://db-engines.com/en/system/Cassandra
  • [Cassandra] Official Docs(Apache Cassandra): https://cassandra.apache.org/doc/latest/cassandra/architecture/overview.html
  • [Blog] ์•„ํŒŒ์น˜ ์นด์‚ฐ๋“œ๋ผ๋ž€?: https://goyunji.tistory.com/95
  • [Blog] Apache Cassandra์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž: https://baek.dev/post/23/ 
๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Study: DeveloperTools(DevTool) > DevTool: NoSQL(Elastic, Mongo)' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[NoSQL] Docker๋ฅผ ์ด์šฉํ•˜์—ฌ MongoDB ์„œ๋ฒ„ ๋„์šฐ๊ธฐ (feat. mongo-express)  (0) 2023.01.10
[NoSQL] MongoDB Geospatial ์ฟผ๋ฆฌ: GeoJSON ๋ฐ์ดํ„ฐ ํ™œ์šฉํ•˜๊ธฐ  (0) 2022.11.20
[NoSQL] Redis(vs Memcached) ์ •๋ฆฌ: NoSQL Key-value DB  (0) 2022.11.16
[NoSQL] mongoDB(vs Elasticsearch) ์ •๋ฆฌ: NoSQL Document DB  (0) 2022.11.15
[NoSQL] NoSQL ๋น„๊ต ์ •๋ฆฌ: CassandraDB vs Elasticsearch vs MongoDB vs Redis (22.11.03. ๊ธฐ์ค€)  (0) 2022.11.14
    'Study: DeveloperTools(DevTool)/DevTool: NoSQL(Elastic, Mongo)' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [NoSQL] Docker๋ฅผ ์ด์šฉํ•˜์—ฌ MongoDB ์„œ๋ฒ„ ๋„์šฐ๊ธฐ (feat. mongo-express)
    • [NoSQL] MongoDB Geospatial ์ฟผ๋ฆฌ: GeoJSON ๋ฐ์ดํ„ฐ ํ™œ์šฉํ•˜๊ธฐ
    • [NoSQL] Redis(vs Memcached) ์ •๋ฆฌ: NoSQL Key-value DB
    • [NoSQL] mongoDB(vs Elasticsearch) ์ •๋ฆฌ: NoSQL Document DB
    DrawingProcess
    DrawingProcess
    ๊ณผ์ •์„ ๊ทธ๋ฆฌ์ž!

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”