< 💡 NoSQL 데이터베이스 종류 >

NoSQL 은 'Not Only SQL' 의 줄임말로 기존에 관계형 데이터베이스(RDBMS)에서 사용하는 SQL 이 아닌 다른 방법으로 데이터베이스를 관리하는걸 뜻합니다. 초기에는 이 뜻이 관계형 데이터베이스(RDBMS)를 안쓴다는 의미로 전달되기도 했지만 이는 잘못된 해석이고 기존에 독점적인 형태의 RDBMS 를 탈피하여 다양한 형태의 데이터베이스를 사용할 수 있게 됬다 라고 이해하시면 됩니다. NoSQL 이 등장하면서 기존에 RDBMS 로 해결하기 어려웠던 이슈들을 해결할 수 있게 되었지만, 그렇다고 해서 무조건 NoSQL 이 RDBMS 보다 뛰어나다고 볼 순 없습니다. 데이터가 가진 특징과 이를 어떻게 활용할지에 따라 NoSQL 이 더 좋은 솔루션이 될 수도, RDBMS 가 더 좋은 솔루션이 될 수 있기 때문에 각각의 데이터베이스가 가진 특징을 잘 파악하고 상황에 맞게 적절한 솔루션을 쓸 수 있도록 해야 합니다. 현재까지 출시된 NoSQL 데이터베이스는 크게 다음과 같은 형태가 존재합니다. ✔️ Key-Value Database Key 가 고유 식별자 역할을 하는 Key-Value 쌍의 데이터를 저장하는 형태입니다. 각 값은 다른 형태의 스키마를 가질 수 있어 다양한 형태의 자료구조를 활용할 수 있습니다. 대표적인 Key-Value 데이터베이스로 Redis, Memcached, Hazelcast 등이 있습니다. ✔️ Wide Column Database 행마다 고유한 key 를 정의하고 해당 행에 여러개의 열(Column)을 저장할 수 있는데 이때 저장되는 열의 형태가 고정되지 않고 다양한 형태로(다양한 스키마로) 저장할 수 있습니다.(Wide Column Database 구조에 대한 상세한 내용은 https://database.guide/what-is-a-column-store-database/ 를 참고해주세요) 대량의 데이터의 압축, 분산처리, 집계 쿼리(SUM, COUNT, AVG 등) 및 쿼리 동작 속도 그리고 확장성이 뛰어난것이 특징입니다. 대표적인 Wide Column 데이터베이스로 Cassandra, Hbase, Druid 등이 있습니다. ✔️ Document Database 객체 혹은 Metadata 를 하나의 Document 혹은 Page 단위로 저장하는 데이터베이스 입니다. Document 는 JSON, XML 등과 같은 형식으로 저장할 수 있으며 저장되는 문서마다 다른 스키마로 저장이 가능합니다. 대표적인 Document 데이터베이스로 MongoDB, Apache CouchDB 등이 있습니다. ✔️ Graph Database Graph 데이터는 수학적 그래프 이론에 토대를 두고 있는데, 개별 객체의 데이터를 나타내는 점(Node 혹은 Vertex), 성질이 비슷한 객체들을 묶어주는 묶음(Label), 객체들간의 관계를 표시하는 관계선(Edge 혹은 Relationship)으로 이루어져 있습니다. Graph 데이터베이스는 이러한 Graph 데이터의 관계에 맞게 데이터를 점과 선의 그래프 형태로 저장하고, 선을 따라 특정 패턴과 이상 현상을 빠르게 추적할 수 있으며, 추가적인 도구로 이를 시각화함으로써 데이터의 상관관계를 보다 직관적으로 빠르게 분석할 수 있게 도와주는 데이터베이스 입니다. 대표적인 Graph 데이터베이스로 Neo4j, Blazegraph, OrientDB , AgensGraph 등이 있습니다.

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2022년 9월 7일 오후 2:07

 • 

저장 32조회 3,067

댓글 0