# NoSQL 데이터베이스 (Data Engineering) > GraphDB (Neo4j), Document DBs (MongoDB, Firestore), Wide Column (Cassandra, Bigtable), CAP 정리, 사용 사례 - 20 면접 질문 - Senior - [면접 질문: Data Engineering](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions.md) ## 1. CAP 정리란 무엇이며 그 세 가지 속성은 무엇입니까? **답변** CAP 정리는 분산 시스템이 세 가지 속성 중 동시에 두 가지만 보장할 수 있다고 명시합니다: Consistency(모든 노드가 동일한 데이터를 봄), Availability(시스템이 항상 응답함), Partition tolerance(네트워크 파티션에도 시스템이 계속 작동함). 이 정리는 NoSQL 데이터베이스의 아키텍처 트레이드오프를 이해하는 데 기본입니다. ## 2. Document 데이터베이스(MongoDB)와 Wide Column 데이터베이스(Cassandra)의 주요 차이점은 무엇입니까? **답변** MongoDB와 같은 Document 데이터베이스는 유연한 스키마로 JSON/BSON 문서를 저장하고 모든 필드에 대한 복잡한 쿼리를 허용합니다. Cassandra와 같은 Wide Column 데이터베이스는 partition key가 있는 컬럼 패밀리로 데이터를 구성하며, 대량 쓰기 및 키 기반 읽기에 최적화되어 있습니다. MongoDB는 계층적 데이터에 뛰어나고 Cassandra는 고속 시계열 데이터에 뛰어납니다. ## 3. 어떤 사용 사례에서 MongoDB나 Cassandra보다 Neo4j를 선호해야 합니까? **답변** Neo4j는 엔티티 간의 복잡한 다단계 관계에 최적화된 그래프 데이터베이스입니다. 소셜 네트워크, 추천 시스템, 사기 탐지 및 의존성 분석에 탁월합니다. Cypher 언어는 SQL 조인이나 NoSQL 조회로는 성능상 금지될 수백만 개의 관계를 밀리초 단위로 순회할 수 있게 해줍니다. ## 17개 추가 질문 이용 가능 - Cassandra의 partition key는 무엇이며 왜 성능에 중요합니까? - Neo4j에서 사용자의 친구의 친구를 모두 찾는 Cypher 구문은 무엇입니까? 무료로 가입하기: https://sharpskill.dev/ko/login ## 기타 Data Engineering 면접 주제 - [Linux & Shell - 기초](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/linux-shell-basics.md): 20개 질문, Junior - [Git & GitHub - 기초](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/git-github-fundamentals.md): 20개 질문, Junior - [데이터 엔지니어링을 위한 고급 Python](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/python-advanced-de.md): 25개 질문, Junior - [Docker - 기초](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/docker-fundamentals.md): 25개 질문, Junior - [Google Cloud Platform - 기초](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/gcp-fundamentals.md): 20개 질문, Junior - [CI/CD 및 코드 품질](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/ci-cd-code-quality.md): 20개 질문, Mid-Level - [Docker Compose](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/docker-compose.md): 20개 질문, Mid-Level - [FastAPI - 데이터 API](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/fastapi.md): 20개 질문, Mid-Level - [Data Engineering을 위한 고급 SQL](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/sql-advanced-de.md): 20개 질문, Mid-Level - [Data Lake - 아키텍처 및 수집](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/data-lake.md): 20개 질문, Mid-Level - [데이터 엔지니어링을 위한 BigQuery](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/bigquery-de.md): 20개 질문, Mid-Level - [PostgreSQL - 관리](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/postgresql-admin.md): 20개 질문, Mid-Level - [Data Engineering을 위한 Data Modeling](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/data-modeling-de.md): 20개 질문, Mid-Level - [Fivetran & Airbyte - 데이터 수집](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/fivetran-airbyte.md): 20개 질문, Mid-Level - [dbt - 기초](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/dbt-fundamentals-de.md): 20개 질문, Mid-Level - [Apache Airflow - 기초](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/airflow-fundamentals.md): 20개 질문, Mid-Level - [Kubernetes - 기초](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/kubernetes-fundamentals.md): 20개 질문, Mid-Level - [dbt - 고급 기능](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/dbt-advanced-de.md): 20개 질문, Senior - [ETL / ELT / ETLT 패턴](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/etl-elt-patterns.md): 20개 질문, Senior - [Apache Airflow - 고급](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/airflow-advanced.md): 20개 질문, Senior - [Airflow + dbt - 파이프라인 오케스트레이션](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/airflow-dbt-integration.md): 20개 질문, Senior - [PySpark - 대규모 처리](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/pyspark.md): 20개 질문, Senior - [Google Pub/Sub - 데이터 스트리밍](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/pubsub-streaming.md): 20개 질문, Senior - [Apache Beam & Dataflow](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/apache-beam-dataflow.md): 20개 질문, Senior - [Kubernetes - 프로덕션 및 스케일링](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/kubernetes-advanced.md): 20개 질문, Senior - [Terraform - Infrastructure as Code](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/terraform.md): 20개 질문, Senior - [모던 Data Architecture](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/data-architecture.md): 20개 질문, Senior - [모니터링 및 관찰 가능성](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/monitoring-observability.md): 20개 질문, Senior - [IAM 및 데이터 보안](https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/iam-security-de.md): 20개 질문, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/ko/technologies/data-engineering/interview-questions/nosql-databases