NoSQL 데이터베이스 (NoSQL)
쉽게 풀면
전통적인 관계형 데이터베이스(SQL)는 모든 데이터를 미리 정해둔 표(열 이름과 형식이 고정된 스프레드시트)에 맞춰 넣어야 합니다. 반면 NoSQL은 정리함이나 상자에 물건을 넣는 것과 비슷합니다. 어떤 상자에는 문서 한 장을 통째로, 어떤 상자에는 "이름표-내용물" 짝을, 어떤 상자에는 사람과 사람 사이의 연결 관계를 저장할 수 있습니다. 즉 데이터마다 모양이 달라도 되고, 나중에 항목을 추가하기도 쉽습니다. 이런 유연함 덕분에 형식이 자주 바뀌는 데이터나, 서버 여러 대에 나눠 저장해야 할 만큼 양이 많은 데이터를 다룰 때 특히 많이 쓰입니다.
왜 중요한가
대규모 분산 시스템 연구, 빅데이터 처리, 실시간 서비스 아키텍처 논문에서는 데이터 저장 계층의 확장성과 지연 시간이 시스템 전체 성능을 좌우하기 때문에 NoSQL 데이터베이스 선택이 중요한 설계 결정으로 다뤄집니다. 또한 사물인터넷(IoT)이나 소셜 네트워크처럼 비정형·반정형 데이터가 폭증하는 응용 분야에서는 스키마 유연성이 연구의 실현 가능성 자체를 좌우하기도 합니다.
논문에서는 이렇게 쓰입니다
이 문장은 연구에서 수집되는 데이터의 형식이 일정하지 않거나 수집량이 매우 많아, 정형화된 표 구조의 관계형 데이터베이스 대신 유연한 구조를 가진 NoSQL 시스템을 채택했다는 뜻입니다.
소셜 네트워크 분석 연구에서 사용자 간 관계 데이터를 다루기 위해 그래프형 NoSQL을 활용한 예문입니다.
웹 시스템 성능 최적화 연구에서 키-값 구조의 NoSQL이 처리 속도를 높이는 데 쓰인 예문입니다.
조금 더 깊게 보면
NoSQL은 크게 문서 지향형(예: MongoDB), 키-값형(예: Redis), 컬럼 지향형(예: Cassandra), 그래프형(예: Neo4j)으로 나뉘며, 연구에서 어떤 유형을 선택했는지는 다루는 데이터의 구조와 질의 패턴을 반영합니다. 성능을 논할 때는 흔히 읽기/쓰기 처리량(throughput)과 지연 시간(latency)을 지표로 사용하며, 데이터가 여러 노드에 분산 저장되는 방식(샤딩, 복제)과 그로 인한 데이터 정합성 수준(강한 일관성 대 최종적 일관성)도 함께 언급되는 경우가 많습니다.
주의할 점
NoSQL은 관계형 데이터베이스가 엄격히 보장하는 데이터 정합성(모든 사용자가 항상 동일하고 최신인 값을 보는 것)을 일부 포기하는 대신 확장성과 속도를 얻는 경우가 많습니다. 이는 CAP 정리에서 말하는 일관성과 가용성 사이의 트레이드오프와 직접 관련되므로, "NoSQL이 SQL보다 무조건 더 낫다"고 오해해서는 안 되며 연구 데이터의 정합성 요구 수준에 맞게 선택해야 합니다.