이제 MongoDB 호환성을 갖춘 Firestore Enterprise 버전을 사용할 수 있습니다.
자세히 알아보기
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
Cloud Firestore
plat_ios
plat_android
plat_web
plat_flutter
plat_cpp
plat_unity
plat_node
plat_java
plat_python
plat_go
Google Cloud 인프라를 기반으로 하는 유연하고 확장 가능한 NoSQL 클라우드 데이터베이스를 사용해 클라이언트 측 개발 및 서버 측 개발에 사용되는 데이터를 저장하고 동기화하세요.
Cloud Firestore는 Firebase 및 Google Cloud의 모바일, 웹, 서버 개발에 사용되는 유연하고 확장 가능한 데이터베이스입니다. Firebase Realtime Database와 마찬가지로 실시간 리스너를 통해 클라이언트 애플리케이션 간에 데이터의 동기화를 유지하고 모바일 및 웹에 대한 오프라인 지원을 제공해 네트워크 지연 시간이나 인터넷 연결에 상관없이 원활하게 반응하는 앱을 개발할 수 있습니다. Cloud Firestore는 Cloud Functions를 비롯한 다른 Firebase 및 Google Cloud 제품과도 원활하게 통합됩니다.
시작하기
주요 기능
유연성 |
Cloud Firestore 데이터 모델은 유연한 계층적 데이터 구조를 지원합니다.
컬렉션으로 정리되는 문서에 데이터를 저장하세요. 하위 컬렉션 외에도 복잡한 중첩된 개체를 문서에 포함할 수 있습니다.
|
표현형 쿼리 |
Cloud Firestore에서는 쿼리를 사용해 개별 문서를 가져오거나 쿼리 매개변수와 일치하는 컬렉션의 모든 문서를 가져올 수 있습니다. 쿼리에 여러 필터를 서로 연결해 적용할 수 있으며 필터링과 정렬의 결합도 가능합니다. 또한 기본적으로 색인이 생성되어 쿼리 성능이 데이터 세트가 아닌 결과 세트의 크기에 비례합니다.
|
실시간 업데이트 |
Realtime Database와 마찬가지로 Cloud Firestore는 데이터 동기화를 사용해 연결된 모든 기기의 데이터를 업데이트합니다. 더불어 간단한 일회성 가져오기 쿼리도 효율적으로 할 수 있도록 설계되었습니다.
|
오프라인 지원 |
Cloud Firestore는 앱에서 많이 사용되는 데이터를 캐시하기 때문에 기기가 오프라인 상태더라도 앱에서 데이터를 쓰고 읽고 리슨하고 쿼리할 수 있습니다. 기기가 다시 온라인 상태가 되면 Cloud Firestore는 로컬 변경사항을 Cloud Firestore에 동기화합니다.
|
확장형 설계 |
Cloud Firestore에서는 자동 멀티 리전 데이터 복제, 강력한 일관성 보장, 원자적 일괄 작업, 실제 트랜잭션 지원 등 Google Cloud의 강력한 인프라를 최대한 활용합니다. Cloud Firestore는 세계 최대 규모의 앱에서 수많은 데이터베이스 워크로드를 처리하도록 설계되었습니다.
|
기본 원리

Cloud Firestore는 클라우드에 호스팅되는 NoSQL 데이터베이스로서 Apple, Android, 웹 앱에서 기본 SDK를 통해 직접 액세스할 수 있습니다. Cloud Firestore는 REST 및 RPC API는 물론, 네이티브 Node.js, Java, Python, Unity, C++, Go SDK로도 사용할 수 있습니다.
Cloud Firestore의 NoSQL 데이터 모델에 따라 값에 매핑되는 필드를 포함하는 문서에 데이터가 저장됩니다. 이러한 문서는 데이터 정리와 쿼리에 사용할 수 있는 문서 컨테이너인 컬렉션에 저장됩니다. 문서에서는 간단한 문자열과 숫자부터 복잡한 중첩된 객체에 이르는 다양한 데이터 유형을 지원합니다. 또한 문서 내에 하위 컬렉션을 만들고 데이터베이스 증가에 따라 확장되는 계층적 데이터 구조를 만들 수도 있습니다. Cloud Firestore 데이터 모델은 앱에 가장 적합한 데이터 구조를 지원합니다.
또한 Cloud Firestore는 효율적이며 유연한 표현형 쿼리를 지원합니다.
전체 컬렉션 또는 중첩된 하위 컬렉션을 가져오지 않고도 문서 수준에서 데이터를 가져오는 얕은 쿼리를 만들 수 있습니다. 쿼리나 커서에 정렬, 필터링, 제한을 추가하여 결과를 페이지화할 수도 있습니다. 실시간 리스너를 추가하면 업데이트가 발생할 때마다 전체 데이터베이스를 가져오지 않고도 앱 데이터를 최신 상태로 유지할 수 있습니다.
실시간 리스너를 앱에 추가하면 수신 대기하는 클라이언트 앱의 데이터가 변경될 때마다 새 변경사항만 가져와 데이터 스냅샷으로 알려줍니다.
Firebase Authentication 및 Android, Apple 플랫폼, JavaScript용 Cloud Firestore Security Rules 또는 서버 측 언어용 Identity and Access Management(IAM)으로 Cloud Firestore에서 데이터 액세스를 보호하세요.
구현 경로
|
Cloud Firestore SDK 통합 |
Gradle, CocoaPods 또는 스크립트 포함을 통해 클라이언트를 빠르게 통합합니다. |
|
데이터 보안 |
Cloud Firestore Security Rules 또는 Identity and Access Management(IAM)을 사용해 모바일/웹 및 서버 개발에 사용되는 데이터를 보호합니다. |
|
데이터 추가 |
데이터베이스에서 문서 및 컬렉션을 만듭니다. |
|
데이터 가져오기 |
쿼리를 작성하거나 실시간 리스너를 사용해 데이터베이스에서 데이터를 가져옵니다. |
다음 단계
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-08-17(UTC)
[null,null,["최종 업데이트: 2025-08-17(UTC)"],[],[],null,["Cloud Firestore \nplat_ios plat_android plat_web plat_flutter plat_cpp plat_unity plat_node plat_java plat_python plat_go \nUse our flexible, scalable NoSQL cloud database, built\non Google Cloud infrastructure, to store and sync data for client- and\nserver-side development. \n\nCloud Firestore is a flexible, scalable database for mobile, web,\nand server development from Firebase and Google Cloud. Like\nFirebase Realtime Database, it keeps your data in sync across client apps through\nrealtime listeners and offers offline support for mobile and web so you can\nbuild responsive apps that work regardless of network latency or Internet\nconnectivity. Cloud Firestore also offers seamless integration with other Firebase\nand Google Cloud products, including Cloud Functions.\n\n[Get started](/docs/firestore/quickstart)\n\nKey capabilities\n\n|---------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Flexibility | The Cloud Firestore data model supports flexible, hierarchical data structures. Store your data in documents, organized into collections. Documents can contain complex nested objects in addition to subcollections. |\n| Expressive querying | In Cloud Firestore, you can use queries to retrieve individual, specific documents or to retrieve all the documents in a collection that match your query parameters. Your queries can include multiple, chained filters and combine filtering and sorting. They're also indexed by default, so query performance is proportional to the size of your result set, not your data set. |\n| Realtime updates | Like Realtime Database, Cloud Firestore uses data synchronization to update data on any connected device. However, it's also designed to make simple, one-time fetch queries efficiently. |\n| Offline support | Cloud Firestore caches data that your app is actively using, so the app can write, read, listen to, and query data even if the device is offline. When the device comes back online, Cloud Firestore synchronizes any local changes back to Cloud Firestore. |\n| Designed to scale | Cloud Firestore brings you the best of Google Cloud's powerful infrastructure: automatic multi-region data replication, strong consistency guarantees, atomic batch operations, and real transaction support. We've designed Cloud Firestore to handle the toughest database workloads from the world's biggest apps. |\n\nHow does it work?\n\nCloud Firestore is a cloud-hosted, NoSQL database that your Apple, Android, and web\napps can access directly via native SDKs. Cloud Firestore is also available\nin native Node.js, Java, Python, Unity, C++ and Go SDKs, in addition to REST and\nRPC APIs.\n\nFollowing Cloud Firestore's NoSQL data model, you store data in documents that\ncontain fields mapping to values. These documents are stored in\ncollections, which are containers for your documents that you can use to\norganize your data and build queries. Documents support many different\n[data types](/docs/firestore/manage-data/data-types), from simple strings and numbers, to\ncomplex, nested objects. You can also create subcollections within\ndocuments and build hierarchical data structures that scale as your\ndatabase grows. The Cloud Firestore [data model](/docs/firestore/data-model) supports whatever\ndata structure works best for your app.\n\nAdditionally, querying in Cloud Firestore is expressive, efficient, and flexible.\nCreate shallow queries to retrieve data at the document level without needing to\nretrieve the entire collection, or any nested subcollections. Add sorting,\nfiltering, and limits to your queries or cursors to\npaginate your results. To keep data in your apps current, without retrieving\nyour entire database each time an update happens, add realtime listeners.\nAdding realtime listeners to your app notifies you with a data snapshot whenever\nthe data your client apps are listening to changes, retrieving only the new\nchanges.\n\nProtect access to your data in Cloud Firestore with Firebase Authentication and\nCloud Firestore Security Rules for Android, Apple platforms, and JavaScript, or Identity\nand Access Management (IAM) for server-side languages.\n\nImplementation path\n\n|---|------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------|\n| | Integrate the Cloud Firestore SDKs | Quickly include clients via Gradle, CocoaPods, or a script include. |\n| | Secure your data | Use Cloud Firestore Security Rules or Identity and Access Management (IAM) to secure your data for mobile/web and server development, respectively. |\n| | Add Data | Create documents and collections in your database. |\n| | Get Data | Create queries or use realtime listeners to retrieve data from the database. |\n\nNext steps\n\n- [Get started](/docs/firestore/quickstart) with Cloud Firestore --- set up your database, then add data and start reading it.\n- Learn more about the Cloud Firestore [data model](/docs/firestore/data-model).\n- Explore the [differences between Realtime Database and Cloud Firestore](/docs/firestore/rtdb-vs-firestore)."]]