# NoSQLデータベース (Data Engineering) > GraphDB (Neo4j)、Document DBs (MongoDB、Firestore)、Wide Column (Cassandra、Bigtable)、CAP定理、ユースケース - 20 面接問題 - Senior - [面接問題: Data Engineering](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions.md) ## 1. CAP定理とは何ですか、そしてその3つの特性は何ですか? **回答** CAP定理は、分散システムが3つの特性のうち2つしか同時に保証できないことを述べています: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のJOINやNoSQLのルックアップではパフォーマンス的に困難な、数百万の関係をミリ秒単位で走査することを可能にします。 ## さらに17問利用可能 - Cassandraのpartition keyとは何ですか、そしてなぜパフォーマンスにとって重要なのですか? - Neo4jでユーザーの友達の友達をすべて見つけるCypher構文は何ですか? 無料で登録: https://sharpskill.dev/ja/login ## その他のData Engineering面接トピック - [Linux & Shell - 基礎](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/linux-shell-basics.md): 20問, Junior - [Git & GitHub - 基礎](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/git-github-fundamentals.md): 20問, Junior - [データエンジニアリングのための高度なPython](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/python-advanced-de.md): 25問, Junior - [Docker - 基礎](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/docker-fundamentals.md): 25問, Junior - [Google Cloud Platform - 基礎](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/gcp-fundamentals.md): 20問, Junior - [CI/CDとコード品質](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/ci-cd-code-quality.md): 20問, Mid-Level - [Docker Compose](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/docker-compose.md): 20問, Mid-Level - [FastAPI - データAPI](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/fastapi.md): 20問, Mid-Level - [Data Engineering向けの高度なSQL](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/sql-advanced-de.md): 20問, Mid-Level - [Data Lake - アーキテクチャと取り込み](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/data-lake.md): 20問, Mid-Level - [データエンジニアリングのためのBigQuery](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/bigquery-de.md): 20問, Mid-Level - [PostgreSQL - 管理](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/postgresql-admin.md): 20問, Mid-Level - [Data EngineeringのためのData Modeling](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/data-modeling-de.md): 20問, Mid-Level - [Fivetran & Airbyte - データ取り込み](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/fivetran-airbyte.md): 20問, Mid-Level - [dbt - 基礎](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/dbt-fundamentals-de.md): 20問, Mid-Level - [Apache Airflow - 基礎](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/airflow-fundamentals.md): 20問, Mid-Level - [Kubernetes - 基礎](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/kubernetes-fundamentals.md): 20問, Mid-Level - [dbt - 高度な機能](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/dbt-advanced-de.md): 20問, Senior - [ETL / ELT / ETLT パターン](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/etl-elt-patterns.md): 20問, Senior - [Apache Airflow - 上級](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/airflow-advanced.md): 20問, Senior - [Airflow + dbt - パイプラインオーケストレーション](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/airflow-dbt-integration.md): 20問, Senior - [PySpark - 大規模処理](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/pyspark.md): 20問, Senior - [Google Pub/Sub - データストリーミング](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/pubsub-streaming.md): 20問, Senior - [Apache Beam & Dataflow](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/apache-beam-dataflow.md): 20問, Senior - [Kubernetes - 本番環境とスケーリング](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/kubernetes-advanced.md): 20問, Senior - [Terraform - Infrastructure as Code](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/terraform.md): 20問, Senior - [モダンなData Architecture](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/data-architecture.md): 20問, Senior - [モニタリングとオブザーバビリティ](https://sharpskill.dev/ja/technologies/data-engineering/interview-questions/monitoring-observability.md): 20問, Senior - [IAMとデータセキュリティ](https://sharpskill.dev/ja/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/ja/technologies/data-engineering/interview-questions/nosql-databases