
Spanish: 
¿Qué hay de nuevo en Firebase
para desarrolladores backend de juegos?
Hola a todos.
Gracias por acompañarme virtualmente
en este espectáculo en línea.
Sé que el título original
de nuestra charla era
"¿Qué hay de nuevo en Firebase
para desarrolladores backend de juegos?
Pero ¡alerta de spoiler!
Hablaremos de Cloud Firestore,
qué es, por qué debería importarte
y porqué tu ingeniero de bases de datos
está tan emocionado.
Como ya debes saber,
Firebase tiene herramientas
que te facilitan
tener tu juego en pleno funcionamiento.
La idea es que nos dejes encargarnos
del aburrido trabajo de infraestructura
y puedas enfocarte en otras tareas,
como hacer que tu juego sea divertido,
lo cual debería ser tu prioridad.
Brindamos servicios
como Firebase Authentication.
que hace que sea muy fácil
para tu usuario
ingresar a tu juego
desde diversos proveedores.
Tenemos Firebase Hosting.
La idea es que podamos
hacer que sea sencillo
tener un sitio web
en funcionamiento rápidamente
en un CDN global,
que por defecto tiene SSL
y todas esas cosas geniales.
Y esto es genial si tienes,
un sitio único de mercadotecnia

English: 
[MUSIC PLAYING]
TODD KERPELMAN: Hi, everybody.
Thanks for joining me virtually
in this online extravaganza.
So I know the original
title of our talk
was what's new in Firebase
for back-end game developers.
But, hey, spoiler
alert, we're going
to talk about Cloud
Firestore-- what it is,
why you should
care, and maybe why
that database engineer next
you just got really excited.
So as you may have
heard, Firebase
has a number of tools to
make it easier for you to get
your game up and running.
The general idea
here is, hey, why
don't you let us take care of
the boring infrastructure work?
And you can focus on
other tasks like making
your game fun, which,
you know, probably
should be your top priority.
So we provide services like
Firebase authentication,
which makes it super
easy for your user
to sign into your game from a
variety of different providers.
We have Firebase hosting.
The idea with this is
we can make it easy
for you to get a website
up and running quickly
on a global CDN
that's SSL by default
and all that great stuff.
And this is really nice if you
have, say, a one-off marketing

Japanese: 
バックエンドゲーム開発者向け
Firebase新着情報
トドオ・カーペルマン：こんにちは
このオンラインイベントに
ご参加いただき感謝します
今回の講演はもともと
バックエンドゲームデベロッパー向け
Firebaseの新機能というタイトルでした
ネタバレ注意ですが
Cloud Firestoreについてお話しします
関心を向けるべき理由
隣にいるそのデータベースエンジニアが
ワクワクしている理由です
ご存知かもしれませんが
Firebaseには
ゲームの起動・実行を容易にする
ツールがいくつかあります
一般的には
インフラストラクチャの
退屈な作業は委託して
楽しいゲームを作るなどの
最優先事項の
他のタスクに
集中しようと考えます
Firebase認証などのサービスを提供します
ユーザーはさまざまなプロバイダーから
非常に簡単に
ゲームにサインインできます
Firebaseホスティングがあります
これはデフォルトでSSLなどの
優れた機能を備えた
グローバルCDNで
ウェブサイトを
すばやく簡単に
立ち上げるという考えです
たとえば
迅速にホストしたい1回限りの

Korean: 
게임을 위한 Google
백엔드 게임 개발자를 위한
Firebase의 새로운 점은 무엇인가요?
안녕하세요, 여러분
온라인 영상에 참여해주셔서 감사합니다
본 영상에 있는 제목이
백엔드 게임 개발자를 위한
Firebase의 새로운 점이었지만
내용을 살짝 미리 말씀드리자면
Cloud Firestore에 대해 다룰 거예요
Cloud Firestore이 무엇인지
왜 중요한지 그리고
데이터베이스 엔지니어가
왜 그렇게 신나하는지도 알게 되겠죠
여러분도 들어보셨겠지만
Firebase에는 많은 도구가 있어서
게임을 작동시키는데
편리하게 사용할 수 있어요
여기에 있는 기본적인 개념은
이렇게 지루한 인프라에
손을 보면 어떨까라는 거였죠
다른 때에도 유용하게 쓰일 수 있는데요
예를 들어, 게임을 재미있게
만드는 것 같은 거죠
아시다시피, 중요한 부분이잖아요
Firebase 인증과 같은
서비스를 제공하고 있는데요
이를 통하여 사용자들이 다양한 제공자로부터
게임에 로그인하는 게 쉬워졌죠
Firebase 호스팅도 있어요
웹사이트가 제대로 작동되도록 하는 걸
손쉽고 빠르게 할 수 있게 하는
개념을 기반으로 두고 있어요
기본값으로 SSL인 글로벌 CDN와
다른 모든 것들에서 말이죠
유용한 예시를 하나 말씀드리자면
게임에 관련하여 유일하게 소유하고 있는

Chinese: 
大家好
感谢大家加入我的在线虚拟盛会
我知道我们原本的演讲标题是
Firebase中后端游戏
开发人员的新鲜事
但是，嘿，剧透警报
我们将讨论Cloud Firestore
它到底是什么
为什么你应该要知道它
以及为什么旁边的数据库
工程师会那么兴奋
你可能听说过，Firebase
有许多工具可以帮你轻松地
启动和运行游戏
总体思路是，嘿，为什么
不让我们处理无聊的
基础架构工作？
你可以专注于其他任务
例如使游戏变得有趣
这也许应该是你的首要任务
我们提供了Firebase
身份验证之类的服务
这使你的用户可以非常轻松地
从各种不同的提供商处登录游戏
我们有Firebase托管
我们可以使你轻松地
在默认为SSL的
全球CDN上启动网站
并快速运行
例如，如果你有一个
一次性的营销网站

Portuguese: 
O que há de novo no Firebase
para desenvolvedores back-end de jogos?
Olá, pessoal.
Obrigado por estarem aqui comigo
virtualmente neste espetáculo online.
Sei que o título original da palestra era
"O que há de novo no Firebase
para desenvolvedores back-end de jogos."
Mas, atenção para o spoiler,
vamos falar sobre o Cloud Firestore.
O que é, por que é importante
e por que o engenheiro de banco de dados
ao seu lado ficou animado.
Como já devem saber,
o Firebase tem várias ferramentas
para ajudar a botar
seu jogo para funcionar.
A ideia é deixar a gente cuidar
do trabalho chato de infraestrutura
e você pode se concentrar
em deixar seu jogo interessante,
que deve ser a sua prioridade máxima.
Nós oferecemos serviços
como autenticação no Firebase,
que facilita muito para o usuário
entrar no seu jogo
a partir de vários provedores diferentes.
Temos hospedagem no Firebase.
A ideia aqui é facilitar
para você ter um site
funcionando rapidamente
em uma CDN global que tem SSL por padrão
e todas aquelas coisas legais.
E isso é muito legal se você tem
um site exclusivo

Korean: 
마케팅 사이트에서 호스트가
정말로 빨리 작동되게 할 수 있죠
Cloud 스토리지는 강력하지만
단순한 서비스예요
큰 2진법 오브젝트를 저장하는데 말이죠
이는 사용자가 생성한
콘텐츠가 될 수 있는데요
스크린샷이나 영상 또는
여러분이 제공한 콘텐츠일 수 있어요
사후 설치 게임 데이터와 같은 거요
Firebase를 위한
Cloud 함수들이 있어요
이를 이용하면 백엔드 코드에
서버를 둘 필요가 없이 작동할 수 있어요
그리고 Cloud에서 데이터
저장을 위한 데이터베이스가 있어요
이제, 실시간 데이터베이스는
많은 개발자들이 이미 들어보신 거죠
Firebase 주력 상품이었어요
예전에는 독립적으로 운영되는 거였죠
지금도 좋은 제품이에요
사용자가 한 기기의 값을 바꿀 때
서버에 있는 SDK 자동적으로
해당 값을 받는 모든 다른 기기에서
그러한 변경사항을 업데이트한다는
개념을 기반으로 두고 있어요
여기서 강조할 점은 실시간이라는 건
개임 개발자들이 생각하는 것과는
약간 다른 걸 뜻한다는 거예요
몇 백 밀리세컨드 대기가 있죠
그러니 1인칭 슈팅 게임에는
적합하지 않아요
그렇지만 빙고 게임과 같은 경우에는
사용될 수 있어요
사실, 여기에 흥미로운 점이 있어요
실시간 데이터베이스는
Loteria를 위해 사용되었어요

Portuguese: 
para comercialização de um jogo
que você quer hospedar com rapidez.
Temos o Cloud Storage,
que é um serviço poderoso, mas simples,
para armazenar grandes objetos binários.
E pode ser tanto conteúdo
gerado pelo usuário
como capturas de tela ou vídeos
ou fornecido por você,
como dados do jogo pós-instalação.
Há o Cloud Functions para o Firebase,
para você executar o código de back-end
sem precisar instalar servidores próprios.
E temos bancos de dados
para armazenar dados na nuvem.
Muitos desenvolvedores já ouviram falar
no Realtime Database.
É o principal produto do Firebase,
da época em que era
uma startup independente.
E ainda é um ótimo produto.
A ideia é que se o usuário altera
um valor em um dispositivo,
os SDKs e servidores atualizam
esse alteração automaticamente
em todos os outros dispositivos
que ouvem esse valor.
E tempo real aqui é um pouco diferente
do que desenvolvedores de jogos
estão acostumados.
São algumas centenas
de milissegundos de latência,
então não é adequado
para o seu atirador em primeira pessoa,
mas você pode usar
em um jogo de bingo, por exemplo.
Tenho um fato interessante.
O Realtime Database
foi usado no jogo Loteria.

Chinese: 
想要快速托管游戏
那么这真是太好了
我们有Cloud Storage
这是一项功能强大但简单的服务
用于存储大型二进制物件
这可能是用户生成的内容
如屏幕截图或视频
也可能是你提供的内容，例如
大量的安装后游戏数据
有适用于Firebase的云功能
可让你从根本上运行后端代码
而无需自己支撑任何服务器
我们有在云中存储数据的数据库
现在，实时数据库
是许多开发人员
都听说过的数据库
这是Firebase在自己
独立创立公司时的旗舰产品
而且它仍然是一个很棒的产品
如果用户更改一台设备上的值
我们服务器中的SDK
会在侦听该值的其他所有设备上
自动更新
是的，我应该提醒一下
此处的实时性
与你的游戏开发人员
所习惯的实时性
不太一样
这是几百毫秒的延迟
因此可能不太适合
为第一人称射击游戏供电
但是你完全可以用它
来驱动宾果游戏
实际上，这是一个有趣的事实
实时数据库为Loteria供电

English: 
site for a game that you want
to get hosted really quickly.
We have Cloud Storage, which is
a powerful, yet simple, service
for storing large
binary objects.
And this could be user
generated content,
like screenshots or videos,
or content you provide, say,
chunks of post-install
game data.
There's Cloud
Functions for Firebase,
which lets you essentially run
back-end code without needing
to stand up any
servers on your own.
And then we have our databases
for storing data in the cloud.
Now, the Realtime Database
is the one many developers
have heard about.
This is Firebase's
flagship product
back when it was its
own independent startup.
And it is still a great product.
The idea here is that, if the
user changes the value on one
device, our SDKs in
servers automatically
update that change on
every other device that's
listening to that value.
And yes, I should note
that realtime here
means something a little
different than what you game
developers are used to.
It's a few hundred milliseconds
of latency, so probably not
suitable for powering
your first person shooter.
But you totally could use it
to drive, say, a bingo game.
In fact, here's a fun fact.
The Realtime Database was
used to power Loteria.

Spanish: 
para tu juego
que quieres alojar rápidamente.
Tenemos Cloud Storage, que es un servicio
sólido y a la vez simple
para almacenar objetos binarios grandes.
Y eso puede ser contenido
generado por usuarios,
como capturas de pantalla o videos;
o contenido que tú proveas,
como datos de juegos
posteriores a la instalación.
Tenemos Cloud Functions para Firebase,
que básicamente te permite ejecutar
código de backend
sin tener que colocar servidores propios.
Y también tenemos bases de datos
para almacenar datos en la nube.
Realtime Database es algo
que muchos desarrolladores conocen.
Este es un producto central de Firebase,
de cuando era una
empresa emergente independiente.
Y sigue siendo un gran producto.
La idea es que si el usuario cambia
el valor en un dispositivo,
nuestros SDKs en los servidores
automáticamente actualicen
ese cambio en cualquier otro dispositivo
que escuchen ese valor.
Debo destacar que Realtime
es algo un poco diferente
de lo que conocen
los desarrolladores de juegos.
Son unos cientos de milisegundos
de latencia, así que probablemente
no sea adecuado para tu juego
de acción en primera persona.
Pero definitivamente puedes usarlo
para, por ejemplo, un juego de bingo.
De hecho, tengo un dato curioso.
Realtime Database
se usó para impulsar Loteria.

Japanese: 
ゲーム向けマーケティングサイトが
ある場合などに便利です
大きなバイナリオブジェクトを格納する
強力かつシンプルなサービスの
Cloud Storageがあり
スクリーンショットや動画のような
ユーザーが作成したコンテンツや
インストール後のゲームデータのチャンクなど
あなたが提供するコンテンツかもしれません
Cloud Functions for Firebaseを使うと
サーバーを自分で立ち上げる必要なく
バックエンドコードを実行できます
クラウドにデータを保存するデータベースがあります
Realtime Databaseは
耳にした事のある開発者も
多いと思います
独立した
スタートアップだったときの
Firebaseの主力製品です
今でも優れた製品です
ここでの考え方は
ユーザーが1つのデバイスの値を変更すると
サーバーのSDKがその値を捉え
他のすべてのデバイスの変更を
自動的に更新するというものです
ここでのリアルタイムとは
ゲーム開発者が慣れているものとは
少し異なります
数百ミリ秒のレイテンシなので
ファーストパーソン・シューターには
向かないでしょう
しかしそれを使って
ビンゴゲームなどが可能です
興味深い点ですが
Realtime Databaseは
Loteriaを動かすために使用されました

Portuguese: 
É um jogo tipo bingo que rodava
como um Doodle do Google.
Estava na página principal do Google
em mais de uma dúzia de países.
E o Realtime Database fazia
as combinações, anunciava os números,
mostrava a jogada do oponente
em tempo real e declarava o vencedor.
E o mais legal é que esse jogo
foi de zero a milhões de jogadores
de um dia para o outro
quando o colocamos
na página principal do Google.
Aparentemente,
o Google recebe muito tráfego.
E o Realtime Database
aguentou bem o tranco.
Nenhum engenheiro ligou em pânico
nem nada do tipo.
E temos até um artigo no blog
contando em detalhes
como a equipe de engenharia fez tudo isso.
E recomendo que vocês leiam
para saber mais.
Isso é legal, mas para desenvolvedores
Web e de aplicativos,
apresentamos a próxima geração
do Realtime Database,
um produto conhecido como Cloud Firestore.
E tem sido um produto muito bem recebido,
exceto pelo fato de que não tem
bibliotecas de clientes para C++, nem Unity
até agora, ou até algumas semanas atrás,
quando anunciamos
que a versão Alfa estava liberada.
Vou falar daqui a pouco
sobre esse rótulo de Alfa,
porque é meio importante.
Pode ser que alguns de vocês
já estejam salivando por isso

Japanese: 
これはGoogle Doodleとして
実行されたビンゴのようなゲームです
12か国以上の
Googleフロントページで実行されました
Realtime Databaseが
マッチメイキングを処理し
スクエアを呼び出し
対戦相手の動きをリアルタイムで示し
勝者を宣言しました
素晴らしい点は
Googleのトッページに
このゲームが表示され始めたとき
文字通り一晩で
プレーヤーがゼロから
数百万人になったことです
Googleのトラフィックが
多いことがわかりました
Realtime Databaseが
すべて処理しました
パニックでエンジニアに
電話がかかることもありませんでした
エンジニアリングチームが
これをどのように行ったか
詳細に説明した
素晴らしいブログポストがあります
読むとより多くの
情報が得られ素晴らしいです
しかし多くのネイティブアプリ
およびWeb開発者には
次世代のリアルタイムで
Cloud Firestoreと呼ばれる製品の
データベースを導入しました
現在あるいはアルファリリースで
利用可能と発表した
数週間前までは
C +やUnity向けの
クライアントライブラリがないこと以外は
全体的に非常に好評です
そのアルファタグは重要なので
さらに扱いたいと思います
とてもワクワクし
ご自身の複合インデックスや

English: 
This is the bingo-like game
that ran as a Google Doodle.
This ran on the Google front
page in over a dozen countries.
And the Realtime
Database took care
of the matchmaking, the
calling out the squares,
showing your opponent's
moves in realtime
and declaring a winner.
And what's really
neat is this game
went from zero
players to millions
literally overnight when
we started displaying it
on the Google front page.
Turns out Google gets a
lot of traffic, who knew?
And the Realtime Database
just kind of handled it all.
There were no panicked calls
to engineers or anything.
And in fact, we have a
really nice blog post
going into detail around how the
engineering team did all this.
And I encourage you to read
it for more information.
And that's nice.
But for many native
app and web developers,
we've introduced
the next generation
of the Realtime
Database, a product known
as Cloud Firestore.
And all in all, it's been a
really well-received product
except for the fact that there
are no client libraries for C+
or Unity until now, or I guess a
few weeks ago when we announced
that it's available
as an Alpha release.
And I am going to talk
more about that Alpha tag
in a minute, because
that's kind of important.
Now, maybe some of you are
super excited about this already

Chinese: 
这是像Google Doodle
一样的宾果游戏
它在十几个国家的
Google首页上运行
实时数据库负责
对接会，召唤方格
实时显示对手的举动
并宣布获胜者
而且真正棒的是
当我们开始在Google首页上
显示该游戏时
该游戏的玩家在一夜之间
从零变成了数百万人
原来Google吸引了
很多流量，谁知道呢？
而实时数据库处理了这一切
没有给工程师或其他任何人
带来惊慌的电话
实际上，我们有一篇
非常不错的博客文章
详细介绍了工程团队
如何完成所有工作
我鼓励你读一读以获取更多信息
那文章很不错
但是，对于许多app和Web开发人员
我们推出了下一代的
实时数据库，这个产品
称为Cloud Firestore
总而言之
它是一个非常受欢迎的产品
除了到目前为止还没有C+
或Unity的客户端库
或者我猜是几周前我们宣布
将其作为Alpha版本提供时
我将在稍后谈论更多
有关Alpha标签的信息
因为这很重要
现在，也许有一些人
对此感到非常兴奋

Spanish: 
Es un juego de estilo bingo
que se ejecutó como un doodle de Google.
Se ejecutó en la página principal
de Google en más de una docena de países.
Y Realtime Database se encargó
del emparejamiento, anunciar las casillas,
mostrar los movimientos
de tu oponente en tiempo real
y anunciar al ganador.
Y lo que es estupendo es que este juego
pasó de tener cero jugadores a millones
de la noche a la mañana,
cuando empezamos a mostrarlo
en la página principal de Google.
Resulta que Google tiene
mucho tráfico, quién lo diría.
Y Realtime Database lo manejó todo.
No hubo llamadas de pánico
a los ingenieros.
Y de hecho, tenemos
una entrada de blog muy buena
que detalla cómo el equipo de ingeniería
logró todo esto.
Y les recomiendo leerla.
Y es genial.
Pero para desarrolladores web
y de apps nativas
presentamos la próxima generación
de Realtime Database,
un producto conocido como Cloud Firestore.
Y en general, ha sido un producto
bien recibido,
excepto por el hecho de que no hay
bibliotecas de cliente para C++ o Unity
hasta ahora, o supongo
que hace unas semanas
cuando anunciamos que estaba disponible
en versión Alfa.
Y hablaré más sobre
esa etiqueta Alfa en un minuto,
porque es algo importante.
Quizás algunos de ustedes
ya estén muy emocionados por esto

Korean: 
Google Doodle처럼 작동되는
빙고와 같은 게임이에요
12개국이 넘는 국가에서 Google
첫 페이지에서 작동되는 건데요
실시간 데이터베이스로 대전표가 만들어져요
정사각형들을 맞추면서
실시간으로 경쟁자의 움직임을 보여줘서
승리자를 선언하는 거죠
이러한 게임에서 멋진 점은
플레이어의 수가 말 그대로 하룻밤에
0명에서 수백 명이 된다는 거예요
Google 첫 페이지에
표시하였을 때 말이죠
Google에 트래픽이 많다는 게
발견되었죠, 누가 알았겠어요?
실시간 데이터베이스는
모든 트래픽을 처리했어요
그 누구도 엔지니어한테
항의 전화를 하거나 어떠한 일도 없었죠
사실, 굉장히 좋은 블로그
게시글이 있는데요
이를 엔지니어 팀이 어떻게 처리했는지를
상세히 다루고 있어요
더 많은 정보를 원하시면
이를 읽어보시길 바랍니다
굉장히 좋죠
그렇지만 대다수의 현지 앱과
웹 개발자에게는
다음 세대의 실시간 데이터베이스를
소개 드리는데요
Cloud Firebase라는 제품이죠
대체로 많은 호평을 받은 제품이에요
지금까지 C+나 Unity에서 클라이언트
라이브러리가 없다는 걸 빼고는 말이죠
몇 주 전에 Alpha 출시로
이용 가능하게 되었다는 걸
알렸을 때까지 말이에요
잠시만 Alpha 태그에 대해서
좀 더 설명드릴게요
이게 중요한 부분이라서요
지금 몇 분들은 이에 대해 굉장히
기대하고 있으실 텐데요

Portuguese: 
e correndo para criar seus próprios
índices compostos ou o que for.
Mas para vocês que não são
fanáticos por bancos de dados
podem estar pensando:
"Parece que é uma boa noticia,
mas o que significa
e por que devo me importar?"
Então, vamos explicar.
O Cloud Firestore,
assim como o Realtime Database,
é parte de uma família de bancos de dados
conhecidos como NoSQL.
E se você quer saber
a versão bem simplificada,
pense em um banco de dados tradicional.
Você tem tabelas,
que armazenam
tipos de dados altamente estruturados.
E você pode mesclar esses dados
usando uma linguagem chamada SQL.
E você pode fazer muitas coisas legais.
Pode mesclar diferentes dados,
como dados calculados
de várias tabelas diferentes.
E, ainda que isso seja bem legal,
o desempenho pode ser bem variável.
Essa consulta pode demorar
muito ou pouco tempo,
dependendo da quantidade de dados,
como estão configurados,
e do tipo de consulta
que você está fazendo.
Bancos de dados NoSQL são diferentes
em alguns pontos importantes.
Uma coisa que vão perceber é que eles são
mais flexíveis com os dados.
Oficialmente, isso é chamado
de sem esquema.

English: 
and are running off to build
your own composite indexes
or what have you.
But for the rest of you who
aren't big database nerds,
you might be asking
yourself, well, I
guess this is good news and all.
But what does this really mean?
And why should I care?
So let's back up and explain.
Cloud Firestore, like
the Realtime Database,
is part of a family of databases
known as NoSQL databases.
And if you want the
overly simplified
version of what
that means, well,
think about a
traditional database.
You have a bunch of
tables, each of which
stores types of highly
structured data.
And you can join these
bits of data together using
a query language called SQL.
And you can do a lot of
fancy stuff here, right?
You can merge in
different pieces of data
or calculated pieces
of data from all sorts
of different tables.
And while that's pretty
neat, performance
can be quite variable.
This query could take a long
time or a short amount of time,
depending on how much data
I have, how it's set up,
and what kind of
query I'm asking for.
Now, NoSQL databases
are different
in a few important ways.
One thing you'll
notice is that they
tend to be a little more
loosey goosey with their data.
Officially, this is known
as being schemaless.

Chinese: 
并开始建立自己的
复合索引
但是对于那些
不是数据库专家的其他人
你可能会问自己，好吧
我想这全都是好消息
但这到底是什么意思？
我为什么要在乎呢？
让我们回头进行解释
像实时数据库一样
Cloud Firestore
是NoSQL数据库的
数据库家族的一部分
如果你想要
过度简化的版本
请你考虑一下传统数据库
你有一堆表，每个表
都存储高度结构化数据的类型
你可以使用SQL的查询语言
将这些数据位连接在一起
你可以在这里做很多
有趣的事情，对不对？
你可以合并各种表格中的
不同数据或计算
所得的数据
尽管这很好用，但性能
的变化很大
此查询可能需要很长的时间
或很短的时间
具体取决于我拥有多少数据
设置的方式
以及我要什么样的查询
现在，NoSQL数据库
在一些重要方面
有所不同
你会注意到的一件事是
它们的数据往往显得有些松散
这被正式地称为无模式

Spanish: 
y estén corriendo a compilar
sus índices compuestos o lo que sea.
Pero para los que no sean expertos
en bases de datos,
quizás piensen "bueno,
quizás son buenas noticias,
pero ¿qué significa esto
y por qué debería importarme?
Así que vamos a explicar.
Cloud Firestore,
al igual que Realtime Database,
es parte de una familia de bases de datos
conocidas como bases de datos NoSQL.
Y si quieren una versión sobresimplificada
de qué significa eso, bueno,
piensen en una base de datos tradicional.
Tienen un puñado de tablas,
y cada una contiene
datos altamente estructurados.
Y pueden unir estas porciones de datos
usando un lenguaje de consultas
llamado SQL.
Y puedes hacer
muchas cosas complejas aquí.
Puedes fusionar diferentes
porciones de datos
o fragmentos de datos calculados
de diferentes tipos de tablas.
Y aunque es genial,
el rendimiento puede variar.
Esta consulta puede tomar
mucho o poco tiempo
dependiendo de cuántos datos tenga,
cómo estén estructurados
y qué tipo de consulta estoy realizando.
Ahora bien, las bases de datos NoSQL
difieren en algunos aspectos importantes
Algo que notarás es que tienden a ser
un poco más relajadas con los datos.
Oficialmente, a esto se le llama
no tener esquema.

Korean: 
여러분이 만든 복합 색인을
만들어서 사용하고 있거나
가지고 있을 수 있죠
데이터베이스에 큰 관심이 없으신 분들은
그냥 좋은 소식이라는 것으로만
생각하실 수 있죠
그러면 이는 정확히
어떤 걸 의미하는 걸까요?
그리고 왜 중요한 걸까요?
이제부터 설명드리겠습니다
실시간 데이터베이스와 같은
Cloud Firestore는
NoSQL 데이터베이스로 알려진
데이터베이스의 일부예요
이러한 정의에 대해 좀 더 단순하게
정의를 내리자면
기존의 데이터베이스에 대해서 생각해보세요
테이블이 여러 개가 있고, 거기에는
매우 구조적으로 된
데이터 유형이 저장되어 있어요
SQL이라고 불리는 쿼리 언어를 이용해서
데이터 조각들을 결합시킬 수 있죠
그리고 여기서 꽤 멋진 것들도
많이 할 수 있잖아요, 그렇죠?
모든 종류의 다양한 테이블에서
다양한 데이터 조각들을 합치거나
계산된 데이터 조각들을 합칠 수 있죠
꽤 유용하지만, 성능은
꽤 변동이 심할 수 있어요
해당 쿼리는 시간이 오래 걸리거나
짧게 걸릴 수도 있어요
소유하고 있는 데이터의 양과
설정된 방식 그리고
무슨 종류의 쿼리를
요청하는 지에 따라 다르죠
지금 NoSQL 데이터베이스는
몇 가지 방식에서 달라요
한 가지는 데이터에 관련해서
좀 더 편리하게 된 경향이 있어요
공식적으로, 이는 무계획적이라고
알려져 있죠

Japanese: 
お持ちのものを
構築する方もおられるでしょう
しかしかなりの
データベースオタクではない
残りの人にとっては
こう自問するでしょう
これは良いニュースだと思うけど
これはどういう意味か？
関心を持つべき理由は？
詳しくご説明します
Cloud Firestoreは
Realtime Databaseと同様
NoSQLデータベースと呼ばれる
データベースファミリーの一部です
どういう意味か
簡潔に知りたい場合は
従来のデータベースを考えてください
多数のテーブルがあり
それぞれに高度に構造化された
データのタイプが格納されています
またSQLと呼ばれるクエリ言語を使用して
これらのデータを結合できます
多くのことが行えますね？
さまざまな種類のテーブルから
さまざまなデータや計算データを
統合できます
素晴らしいですが
パフォーマンスは
かなり変動する可能性があります
クエリにかかる時間も
長かったり短かったりします
持っているデータの量と
それがどう設定されているか
どんな種類のクエリを
求めているかにより異なります
NoSQLデータベースは
いくつかの重要な点で異なります
1つ目に気づくのは
データが少しゆるい傾向があることです
公式には
スキーマレスとして知られています

Japanese: 
良いと見なされることが多いです
これにより開発者は
古いレコードに加えたすべての変更を
バックフィルを心配せずに
基礎となるデータをはるかに高速に
反復処理できます
また類似していても
厳密には異なるデータを
格納する機能もあります
この様に
同じコレクションに
多数の文字をまとめて保存しています
確かに似ていますが
先に進んで
メイジ用のスペルブックと
ファイター用のバトルクライを追加し
泥棒にロックピックを設定できます
当社データベースは
データ構造が文字ごとに
まったく同じではないことに
不満は出ず対応しました
しかしNoSQLデータベースとの
最大の違いは
SQLがないことです
クエリはずっと単純になりがちです
すべてのデータまたは
計算データを一緒に統合する
こうした結合が
得られるわけではありません
つまり同じデータのコピーが
複数の場所に存在するなど
最初は変に見えるものを
頻繁に目にすることになります
これらの奇妙な点のいくつか
特にここでは
d正規化データと呼ばれるこの概念は
最初はベテランの
SQL開発者を驚かせていました

Spanish: 
Y por lo general es algo bueno.
Le permite a los desarrolladores
iterar mucho más rápido
en sus datos subyacentes
sin tener que preocuparse
por reabastecer cada cambio
que hacen a sus registros más antiguos.
También te permite almacenar datos
que sean similares
pero no exactamente iguales.
Aquí pueden ver que estoy almacenando
algunos personajes en la misma colección.
Y sí, claro que son similares.
Pero puedo añadir
un libro de hechizos para mi mago
y un grito de guerra para mi guerrero,
y técnicas para abrir cerraduras
para mi ladrón.
Y la base de datos no va reclamar
que la estructura de datos
no sea exactamente igual
de un personaje al otro.
Simplemente puede lidiar con esto.
Pero creo que la mayor diferencia
con una base de datos NoSQL
es el hecho de que no hay SQL.
Las consultas suelen ser
mucho más simples.
No tienes todas esas uniones
que fusionan todos los datos
o los datos calculados.
Y eso significa que a menudo verás cosas
que se algo inusuales al principio,
como que existan copias
de los mismos datos en varios lugares.
Algunas de estas peculiaridades,
como este concepto,
que se conoce como datos desnormalizados,
al principio asustaron un poco
a los desarrolladores SQL.

Korean: 
그리고 이건 종종 좋은 일로 보이는데요
이를 이용하여 개발자들은 기존의 데이터에
훨씬 더 빨리 반복할 수 있게 되었죠
모든 기존의 기록에 일일이
변경사항을 다시 채우는 일에 대해
걱정할 필요가 없이 말이죠
또한 유사하지만
완전히 동일하지는 않은 방식으로
데이터를 저장할 수 있기도 하고요
여기에 제가 몇 가지 글자들을 저장했어요
같은 무리로 함께 말이죠
그리고 유사하게 보이죠
하지만 마법사에
철자 교본이라는 단어를 추가하고
싸움에 함성이라는 단어를 넣고
도둑에 자물쇠를 따는 물건을 넣어도
데이터베이스에서 구조가 정확하지 않다고
알려주지는 않을 거예요
글자마다 파악하면서 말이죠
그냥 이렇게 처리하는 거예요
그렇지만 NoSQL 데이터베이스에서의
가장 큰 차이점은
SQL이 없다는 거예요
쿼리가 훨씬 더 단순한 경향이 있죠
모든 데이터나 계산된 데이터를 함께
조합시키는 일을 할 필요가 없어요
즉, 이런 게 처음에 봤을 때 이상하거나
특이하다고 보일 수 있다는 거죠
똑같은 데이터의 복사본이
다양한 곳에 있는 것처럼 말이에요
여기서 특이한 점은 개념에 있는데요
여기서는 정상화된 데이터라고 불려요
이러한 점이 처음에는 기존의
SQL 개발자들을 놀라게 할 수 있어요

Chinese: 
这通常被视为一件好事
它使开发人员能够更快地迭代
其基础数据
而不必担心会回填
他们对所有较旧记录
所做的每次更改
它还使你能够存储相似
但不完全相同的数据
你可以在这里看到
我在同一集合中
一起存储了一堆字符
是的，当然，它们是相似的
但是我可以继续为法师
添加一本咒语书
为我的战士添加战斗声
并为小偷设置一个锁扣
而且我们的数据库不会抱怨
我们的数据结构从一个字符
到另一个字符并不完全相同
它可以解决这个问题
但是我认为NoSQL数据库的
最大区别在于没有SQL
查询往往要简单得多
你无法得到所有数据
或计算所得的数据
合并在一起的精美联接
这意味着你一开始经常会看到
有些奇怪或不寻常的事物
例如在多个位置存在相同数据的副本
现在，其中的一些怪癖
特别是这里的这个概念
称为d标准化数据
最初使长期的SQL开发人员感到惊讶

English: 
And it's often seen
as a good thing.
It gives developers
the ability to iterate
a lot faster on
their underlying data
without having to
worry about sort
of backfilling every change
they make to all their older
records.
It also gives you the ability
to store data that's similar,
but not exactly alike.
You can see here I'm storing
a bunch of characters
together in the same collection.
And yeah, sure, they're similar.
But I can go ahead and add
a spell book for my mage,
and a battle cry for
my fighter, and I
set a lock picks for my thief.
And our database isn't
going to complain
that our data structure
isn't exactly alike
from one character to the next.
It can just kind handle this.
But I think the biggest
difference with a NoSQL
database is the fact
that there is no SQL.
Queries tend to
be a lot simpler.
You don't get sort of all
those fancy joins that
merge all that data or
calculated data together.
And this means you'll
often see things
that look kind of strange
or unusual at first,
like having copies of the same
data exists in multiple places.
Now, some of these quirks,
particularly this concept here
which is known as d normalized
data, kind of freaked
out longtime SQL
Developers at first.

Portuguese: 
E costuma ser visto como algo bom.
Ele permite que os desenvolvedores
acessem mais rápido os dados subjacentes
sem se preocupar em replicar
todas as alterações que fizeram
para todos os registros mais antigos.
Ele também permite armazenar
dados similares
mas não exatamente iguais.
Vocês podem ver que armazenei
vários personagens na mesma coleção.
E é claro, eles são similares.
Mas posso adicionar
um livro de feitiços para o mago,
um grito de guerra para o lutador,
e gazuas para o ladrão.
E o banco de dados não vai reclamar
se a estrutura de dados não for igual
de um personagem para o outro.
Ele sabe lidar com isso.
Mas a maior diferença
em um banco de dados NoSQL
é o fato de que não tem nenhum SQL,
as consultas são muito mais simples.
Você não tem todas as combinações
de dados e dados calculados.
Isso quer dizer que você pode ver coisas
que podem parecer estranhas
à primeira vista,
como cópias dos mesmos dados
em vários lugares.
Algumas dessas peculiaridades,
como esse conceito conhecido
como dados denormalizados,
assusta os desenvolvedores SQL
mais antigos no início.

Japanese: 
しかし長期的には
この奇妙さを相殺する
素晴らしい価値があります
まずNoSQLデータベースは
水平方向に拡張できます
本当に優れています
データセットが大きくなるにつれ
より多くのマシンを投入でき
先に進み
これら様々なマシンすべてに
そのデータを提供します
クラウドでホストする環境で
非常に役立ちます
たとえば
データベースの必要に応じて
オンとオフを切り替えられ
大量のサーバーがある
Google Cloud Platformを選ぶだけです
データベースは
こうしたさまざまなサーバーに
増え拡大しますが
背後でこうした作業を
行っているとは気づきません
対照的に
従来のSQLデータベースは
垂直方向に拡張する傾向があり
データセットが大きくなるにつれ
それらをホストする
もっと大きなコンピューターが必要で
それが問題になる場合があります
1つにはある時点で
データセットを実行する
大規模なスーパーコンピューターが
不足する可能性があります
大型で高速な
スーパーコンピューターに切り替える
必要があるたびに
ダウンタイムが
発生する可能性もあります
NoSQLデータベースを使用すると

English: 
But in the long run, there are
some really nice trade-offs
that make some of this
weirdness worth it.
For starters, NoSQL databases
can scale horizontally.
And this is really nice.
This basically means that,
as your data set gets
bigger and bigger, you
can just kind of throw
more and more machines at it.
And it will go ahead and simply
serve its data across all
these different machines.
And that's really
helpful in a cloud hosted
environment, like, I don't
know, say just to pick one,
the Google Cloud Platform,
where we have tons of servers
we can just flip on and off
as your database needs it.
Your database simply
grows and expands
onto these different servers
kind of behind the scenes
and without your even
knowing that we're
doing all this work for you.
By contrast, traditional
SQL databases
tend to scale vertically.
This means that as
your data set grows,
you need to find bigger and
bigger computers to host them
on.
And that can be problematic.
For one thing, at
some point, you're
probably going to run out
of massive supercomputers
to run your data set on.
And it also means
that every time you
need to switch out to a bigger
and faster supercomputer
there's probably going
to be some downtime.
And often with
NoSQL databases, you

Spanish: 
Pero a la larga, esas rarezas
se compensan.
En primer lugar, las bases de datos NoSQL
pueden escalar horizontalmente.
Y eso es muy bueno.
Significa que a medida
que tu conjunto de datos
se vuelve más y más grande,
puedes ir acoplando más máquinas
y pasará a simplemente entregar tus datos
en las diversas máquinas.
Y eso es muy útil en un entorno
alojado en la nube
como Google Cloud Platform,
donde tenemos tantos servidores
que podemos activar y desactivar
según lo requiera la base de datos.
Tu base de datos simplemente
crece y se expande
en estos diversos servidores
detrás de escena
y sin que sepas que estamos haciendo
todo este trabajo por ti.
Por el contrario,
las bases de datos SQL tradicionales
suelen escalar verticalmente.
Significa que a medida
que tu conjunto de datos crece,
debes conseguir computadoras
más grandes para alojarlos.
Y eso puede ser problemático.
En cierto punto, probablemente
te quedes sin supercomputadores masivas
en las que puedas ejecutar tus datos.
Y también significa que cada vez
que necesites
cambiar a una computadora
más grande y rápida,
probablemente haya
periodos de inactividad.
Y a menudo, con las bases de datos NoSQL,

Chinese: 
但是从长远来看
有一些非常不错的折衷
使这些怪异值得
首先，NoSQL数据库可以水平扩展
这真的很棒
这基本上意味着，随着你的数据集
变得越来越大，你可以在其中
投放越来越多的电脑
它将继续进行，并简单地
在所有这些不同的电脑上
提供数据
在云托管环境中
这确实很有用，例如
Google Cloud Platform
这里有大量的服务器
我们可以根据你的数据库需要
随时打开和关闭服务器
你的数据库只是在后台成长
并扩展到这些不同的服务器上
而你甚至不知道我们正在为你
完成所有这些工作
相比之下，传统的SQL数据库
倾向于垂直扩展
这意味着随着数据集的增长
你需要找到越来越多的电脑
来进行托管
这可能会有问题
一方面，在某个时候
你可能会用完大型超级电脑
来运行数据集
这也意味着每次
你需要切换到更大更快的超级电脑时
都可能会出现一些停机时间
通常在NoSQL数据库中

Korean: 
하지만 장기적으로 봤을 때, 정말로
멋진 균형이 생기게 되는 거예요
이러한 이상한 점을 가치있게 만드는 거죠
먼저, NoSQL 데이터베이스는
수평적으로 크기를 변경할 수 있어요
정말로 유용한 부분이죠
즉, 데이터가 점점 더 커질수록
더 많은 머신을 입력하면 되는 거예요
그러면 이렇게 다양한 머신 전체에 걸쳐서
데이터를 단순하게 제공하게 될 거예요
Cloud가 호스팅하는 환경에서는
굉장히 유용한 기능이죠
이에 관련하여 예시를 하나 말씀드리자면
Google Cloud Platform이에요
다수의 서버가 있는 곳이죠
데이터베이스가 필요할 때마다
작동시키기만 하면 돼요
데이터베이스는 간단하게 커지고
확장하는 거예요
일종의 화면 뒤에서 이렇게
다양한 서버에서 말이죠
여러분을 위해 이러한 작업을 하는 걸
알아차리지도 못한 채로 말이죠
이와는 반대로, 기존의
SQL 데이터베이스는
수직으로 크기를 변경하는 경향이 있어요
즉, 데이터 세트가 커질수록
더욱 큰 컴퓨터로
이를 호스팅할 필요가 생긴다는 거예요
그러면 문제가 될 수 있죠
한 가지로, 어느 시점에서
모든 데이터 세트를 작동시킬
거대한 컴퓨터가 없을 수 있어요
그리고 더 크고 더 빠른 컴퓨터로
변경할 때마다 일정한 정지 시간을
가져야 한다는 거예요
NoSQL 데이터베이스를 사용하면

Portuguese: 
Mas, a longo prazo,
essa esquisitice compensa.
Para começar, bancos de dados NoSQL
podem crescer horizontalmente.
E é muito legal.
À medida que seus conjuntos de dados
aumentam de tamanho,
você pode ir acoplando mais máquinas.
E ele vai simplesmente servir os dados
por todas essas máquinas diferentes.
E isso é muito útil
em um ambiente hospedado na nuvem,
como, sei lá, pode escolher qualquer um,
o Google Cloud Platform,
onde há inúmeros servidores
que podem ligar ou desligar de acordo
com a necessidade.
O banco de dados simplesmente se expande
por esses vários servidores
por trás dos panos
e sem você perceber que estamos
fazendo esse trabalho para você.
Em contraste,
bancos dados SQL tradicionais
tendem a crescer verticalmente.
À medida que seu conjunto de dados cresce,
você precisa de computadores
cada vez maiores para hospedá-los.
E isso pode ser problemático,
pois, em algum momento,
não vai ter um supercomputador
grande o suficiente para os dados.
E sempre que precisar trocar
para um supercomputador
maior e mais rápido
vai enfrentar algum tempo de inatividade.

Chinese: 
你会发现更好的性能
实际上，在Cloud Firestore世界中
我们喜欢的是
查询扩展到结果集的大小
而不是基础数据集的大小
那是什么意思呢？
这表示，例如，你有一个游戏
其中将用户生成的谜题
存储在Cloud Firestore
且你要求数据库向你发送
按评分排序的
美国前十大活动级别
该查询将采用
是否需要搜索300条记录
或3亿条记录的时间相同，对吗？
不管基础数据集有多大
此查询基本上将花费相同的时间
这非常棒，因为这意味着
随着游戏越来越受欢迎
你通常不必出于性能原因
而不得不重组数据库
让我们看一下其他一些功能
这些功能通常使Cloud Firestore
令人使用愉快
对于初学者而言
数据结构模型
往往非常易于使用，尤其是
与诸如实时数据库或其他NoSQL
数据库之类的模型相比
你的所有数据都倾向于

Portuguese: 
E com bancos de dados NoSQL,
você verá que o desempenho é melhor.
Na verdade,
no mundo do Cloud Firestore,
dizemos que as consultas são dimensionadas
pelo tamanho do resultado
não do conjunto de dados subjacente.
E o que isso quer dizrer?
Digamos que você tem um jogo
em que armazena enigmas
gerados pelo usuário no Could Firestore
e pede para o banco de dados enviar
os 10 principais níveis ativos nos EUA
ordenados por classificação,
a consulta vai demorar o mesmo tempo
seja com 300 registros ou 300 milhões.
Não importa o tamanho
dos dados subjacentes,
a consulta vai demorar o mesmo tempo.
E isso é ótimo, porque significa
que você não precisa
reestruturar o seu banco de dados
por questões de desempenho
conforme seu jogo fica mais popular.
Vamos ver outras características
que tornam o Cloud Firestore
agradável de se trabalhar.
Para começar, o modelo de dados
é muito bom para se trabalhar,
especialmente, se comparado
com o Realtime Database
ou outros bancos dados NoSQL.
Todos os seus dados são armazenados
em documentos e coleções.

Korean: 
성능이 더 낫다는 걸 자주 발견하실 거예요
사실, 저희가 자주 하는 말인데
Cloud Firestore 세계에서
쿼리 크기는
결과 세트의 규모이지
기존의 데이터 세트의 크기가 아니라고 해요
무슨 뜻일까요?
즉, 게임이 있는 상황이라고 칠게요
여러분은 사용자가 생성한 퍼즐을
Cloud Firestore에 저장하고 있죠
그리고 데이터베이스에
순위를 기반으로 하여 미국에서
가장 활동적인 레벨의 사용자
10명을 보여달라고 합니다
해당 쿼리를 처리하는데는
같은 시간이 걸릴 거예요
300개의 기록을 검색하거나
3억 개의 기록을 검색하거나 말이죠
기존의 데이터 세트의 크기에 상관없이
해당 쿼리를 처리하는 데는
동일한 시간이 걸릴 거예요
꽤 멋진 부분이죠
즉, 성능을 우려하여 데이터베이스의 구조를
재구성할 필요가 없다는 걸 뜻하니까요
게임이 점점 더 인기를
얻게 되면서 말이에요
몇 가지 다른 기능도 볼게요
Cloud Firestore이 작업을
즐겁게 만들어주는 부분이죠
먼저, 데이터 구조 모델이
작업하기에 좀 더 좋은 경향이 있어요
특히 실시간 데이터베이스나
다른 NoSQL에 비교해서 말이죠
모든 데이터가
문서와 모음에 저장될 거예요

Japanese: 
パフォーマンスが
向上することがよくあります
Cloud Firestoreの世界で
我々が気に入っている点の1つは
クエリは基になる
データセットのサイズではなく
結果セットのサイズに
スケーリングすることです
どういう意味でしょう？
たとえば
ユーザーが生成したパズルを
Cloud Firestoreに保存するゲームがあり
データベースに
評価の高い順に並べられた
米国の上位10のアクティブレベルを
送信するよう求めた場合
そのクエリが
検索するレコードが300か
3億かに関わらず
掛かる時間は同じですね？
基になるデータセットが
どれほど大きくても
このクエリには
基本的に同じ時間がかかります
ゲームの人気が高まるにつれ
パフォーマンス上の理由から
データベースを再構築する必要を
心配しなくてよいので
非常に優れています
ではCloud Firestoreの扱いを
快適なものとする
他のいくつかの機能も
見ていきましょう
まず第一に
データ構造モデル
特にRealtime Databaseや
他のNoSQLデータベースと
比較すると
かなり使いやすいと言えます
すべてのデータは
ドキュメントやコレクションに

Spanish: 
encontrarás que el rendimiento es mejor.
De hecho, algo que nos complace decir
en el mundo de Cloud Firestore
es que las consultas escalan
hacia el lado del conjunto de resultados,
no hacia el lado del conjunto
de datos subyacentes.
¿Y qué significa eso?
Significa que si, por ejemplo,
tuvieras un juego
donde guardas rompecabezas
generados por usuarios
en Cloud Firestore y le pidieras
a la base de datos,
"Oye, envíame los 10 principales
niveles activos en EE. UU.
ordenados por calificación",
esa consulta tomaría el mismo tiempo
sin importar si tienes que buscar
entre 300 registros o 300 millones, ¿no?
No importa cuán grande se vuelva
el conjunto de datos de datos subyacentes,
la consulta va a tomar
la misma cantidad de tiempo.
Y es genial, porque significa
que generalmente
no debes preocuparte
por tener que reestructurar
tus conjuntos de datos
por razones de rendimiento
a medida que tu juego se hace más popular.
Así que repasemos otras características
que hacen que generalmente sea agradable
trabajar con Cloud Firestore.
Primero, suele ser agradable trabajar
con el modelo de estructura de datos,
especialmente en comparación
con algo como Realtime Database
u otras bases de datos NoSQL.
Todos tus datos suelen almacenarse
en documentos y colecciones.

English: 
will find that
performance is better.
In fact, one thing we are
fond of saying in the Cloud
Firestore world is
that queries scale
to the size of the
result set, not
the size of the
underlying data set.
And what does that mean?
That means that, if,
say, you had a game where
you were storing user generated
puzzles in Cloud Firestore
and you asked the database,
hey, send me the top 10
active levels in
the United States
sorted by rating,
that query would take
the same amount of time whether
you had to search through 300
records or 300 million, right?
No matter how large that
underlying data set gets,
this query will basically
take the same amount of time.
And that's pretty great,
because it means you generally
don't need to worry about
having to restructure
your database for
performance reasons
as your game gets
more and more popular.
So let's go over a
few other features
that makes Cloud
Firestore generally
enjoyable to work with.
For starters, the
data structure model
tends to be pretty nice
to work with, particularly
compared to something
like the Realtime Database
or other NoSQL databases.
All of your data
tends to be stored

Japanese: 
保存されることが多いです
キーバリューのペアを含む
ドキュメントと見なせます
これらの値は
配列から文字列
浮動小数点数
JSONyに見えるオブジェクト
少量のバイナリデータまで
さまざまです
これらのドキュメントは
ドキュメントごとに
最大1メガバイトの
データになる場合があり
ここではテキストと数値
およびJSONyを主に扱っているので
実際にはかなり大きなデータです
これらのドキュメントは
コレクションに格納されています
ドキュメントの集まりです
これらのドキュメントは
他のドキュメントを含む
サブコレクションを指す
他のサブコレクションを
指すこともあります
ここで重要なのは
すべてのクエリは浅く
その下にあるデータすべての取得を
心配することなく
ドキュメントを取得できます
つまりユーザーが
こうしたドキュメントの1つを
ここでリクエストするたびに
不要なデータを大量に
取得することを心配せずに
論理的に意味のある仕方で
データを階層的に構造化できます
Cloud Firestoreには
すべてのクライアントライブラリに
組み込まれた非常に堅牢な

Spanish: 
Puedes pensar en los documentos como,
bueno, documentos que contienen
pares clave-valor.
Y el valor de estos
pueden ser cualquier cosa
desde arreglos a strings,
floats u objetos estilo JSON
o incluso pequeñas cantidades
de datos binarios.
Estos documentos pueden ser
de hasta 1 megabyte de datos
para cada documento,
lo cual es bastante grande
considerando que trabajas mayormente
con texto, números y elementos tipo JSON.
Estos documentos se almacenan
en colecciones,
que son, como deben sospechar,
colecciones de documentos.
Y estos documentos pueden referir,
y a menudo refieren a subcolecciones
que contienen otros documentos,
que incluso pueden referir
a otras subcolecciones
y así sucesivamente.
Algo para destacar aquí es
que todas las consultas son superficiales,
lo que significa que puedes tomar
un documento sin tener que preocuparte
por tomar todos los datos
que están por debajo.
Y eso significa que puedes estructurar
tus datos jerárquicamente
de tal modo que tenga sentido lógicamente
sin preocuparte por tomar
muchos datos innecesarios
cada vez que tu usuario
solicita uno de estos documentos
aquí arriba.
Cloud Firestore tiene un soporte
sin conexión muy sólido
integrado en todas
las bibliotecas de cliente,

Portuguese: 
Por documentos, você pode pensar
em documentos que contêm
pares de chave-valor.
E esses valores podem ser qualquer coisa
de matrizes a sequências de caracteres,
floats, objetos em JSON
e, até mesmo, pequenas quantidades
de dados binários.
Esses documentos podem ter até
um megabyte de dados para cada documento,
o que é bem grande
dado que, na maioria dos casos,
você vai estar lidando
com texto, números e objetos em JSON.
Esses documentos
são armazenados em coleções,
que, como você imaginou,
são coleções de documentos.
E esses documentos geralmente apontam
para subcoleções
que contêm outros documentos
que podem apontar para outras
subcoleções e assim por diante.
É importante observar
que todas as consultas são rasas,
você pode capturar um documento
sem se preocupar com os dados subjacentes.
Você pode estruturar
seus dados hierarquicamente
de forma que tenha
sentido lógico para você
sem precisar se preocupar
em capturar dados desnecessários
a cada vez que o usuário solicitar
um desses documentos aqui em cima.
O Cloud Firestore
tem um ótimo suporte offline
em todas as bibliotecas de cliente,

English: 
in documents and collections.
Now, documents you
can think of as, well,
documents that contain
key value pairs.
And the values of
these things can
be anything from
arrays to strings
to floats to JSONy
looking objects to even
small amounts of binary data.
Now, these documents can
be up to 1 megabyte of data
for each document, which
actually is pretty large given
that you're mostly dealing
with text and numbers and JSONy
things here.
Now, these documents are
stored in collections,
which are, as you might suspect,
collections of documents.
And these documents
can and often
do point to sub-collections that
contain other documents, which
might even point to
other sub-collections,
and so on and so forth.
Now, one important note here is
that all queries are shallow,
meaning that you can grab
a document without having
to worry about grabbing
all the data underneath it.
And that means you can structure
your data hierarchically
in a way that makes sense to
you logically without having
to worry about sort of grabbing
tons of unnecessary data
every time your user requests
one of these documents
on the top here.
Cloud Firestore has really
robust offline support
built into all the
client libraries,

Korean: 
이제, 문서를 생각해보면
문서는 중요한 값의 묶음을 포함하고 있죠
이러한 것들의 값은
배열에서 문자열까지
어떤 것이든 될 수 있어요
JSON에서 오브젝트를 찾으며
떠다닐 수도 있고
심지어 작은 양의
2진법 데이터일 수도 있죠
이러한 문서들은 1메가 바이트까지의
크기를 가질 수 있어요
따지고 보면 꽤 큰 거죠
주로 문자와 숫자들을 담고 있으며
JSON에 관련된 것들이니까요
이러한 문서들은 모음집에 저장됩니다
이는, 다들 예상하셨다시피 문서의 모음이죠
이러한 문서들은 종종
하위 모음으로 향하고
이는 다른 문서를 포함하는 거죠
그리고 다른 하위 모음으로 이끌면서
계속 진행될 수 있어요
여기서 주목해야 할 점은
모든 쿼리가 가볍다는 거예요
즉, 문서를 가져올 수 있는데
그 아래에 있는 모든 데이터가 같이
나오는 걸 걱정하지 않아도 된다는 거죠
그러니 데이터를 계급에 따라서
구조화할 수 있고
이는 꽤 논리적인 방식이에요
상단에 있는 문서들 중에서
하나를 사용자들이 요청할 때마다
수 많은 불필요한 데이터를 끌어내는 걸
걱정하지 않아도 되니까요
Cloud Firestore에는
정말로 강력한 오프라인 지원이
모든 클라이언트 라이브러리에 만들어져있어요

Chinese: 
存储在文档和集合中
现在，你可以将文档
视为包含键值对的文档
这些东西的值
可以是任何值，从数组到字符串
到浮点数到JSONy对象，甚至是
少量的二进制数据都可以
现在，每个文档最多可以包含
1兆字节的数据，考虑到你在这里
主要处理文本和数字
以及JSONy内容
实际上这是非常大的
现在，这些文档存储在集合中
你可能会怀疑它们是文档的集合
这些文档可以且经常
指向包含其他文档的子集合
这些子集合甚至可能指向其他子集合
依此类推
现在，这里的一个重要说明是
所有查询都是浅层的
这意味着你可以获取文档
而不必担心获取其下面的所有数据
这意味着你可以按逻辑上合理的方式
对数据进行分层结构
而不必担心每次你的用户
在此处请求这些文档之一时
都会获取大量不必要的数据
Cloud Firestore在所有客户端库中
都内置了真正强大的离线支持

Korean: 
그래서 SDK에서 데이터를
자동적으로 캐시에 저장할 거예요
서버에서 가져올 때 말이죠
그러면 사용자가 비행기에
탑승을 한 상태이고
비행기 모드를 켰을 때도 여전히
모든 데이터에 접근할 수 있어요
기기에서 캐시에 저장되었으니까
계속 게임을 할 수 있는 거죠
쿼리와 오프라인 캐시에
저장된 데이터로 말이에요
게다가, 플레이어가 작성한 어떤 것이든
기기에서 줄지어 대기할 거예요
사용자가 온라인으로 돌아오자마자
데이터베이스로 전달될 것이고
기록된 순서대로 남겠죠
그래서 게임에 대한 어떠한 데이터도
손실되지 않을 거예요
Cloud Firestore에는 데이터를
한 번에 가져오는 간단한 지원 기능이 있죠
아마도 익숙한 기능이라고 여길 수도 있어요
기존의 데이터베이스를
사용하시던 분들에게 말이죠
많은 개발자들이 Cloud Firestore를
이렇게 사용하기 시작하지만
실시간 리스너를 추가할 수도 있어요
그러면 클라이언트가
바로 알림을 받을 수 있죠
문서의 값이 변경될 때에 말이에요
꽤 멋진 기능이지 않아요?
라이브러리에 알리는 거예요
해당 쿼리의 결과를 알고 싶다고 하는 거죠
그러면 Cloud Firestore에서
업데이트를 보내는 거예요
이러한 값이 바뀔 때 말이죠
즉, 새로고침과 같은 추가 작업을
하지 않아도 된다는 말이에요
새로운 데이터는 이용 가능할 때마다
나타날 것이고
이는 멀티플레이어 게임과 같은
상황에 적합해요

Spanish: 
así que las SDK almacenarán
tus datos en caché automáticamente
a medida que los recuperas
desde el servidor.
Y luego, si tu usuario
fuera a subirse a un avión,
y se pusiera en modo avión,
seguiría teniendo acceso a todos los datos
que están almacenados en caché
en el dispositivo, lo que significa
que pueden seguir jugando
y tú puedes consultar cualquier dato
que esté almacenado
en tu caché sin conexión.
Además, cualquier escritura
que hagan tus jugadores
queda en cola en el dispositivo.
Y luego, tan pronto el usuario
vuelve a estar en línea,
se envían a tu base de datos
en el orden en que hayan sido guardadas.
Así que no se pierden
datos de la sesión de juego.
Cloud Firestore admite
recuperaciones simples de datos
a lo que probablemente estés acostumbrado
si vienes de una base de datos
más tradicional.
Y muchos desarrolladores comienzan
a usar Cloud Firestore de esa forma,
pero también puedes añadir
objetos de escucha en tiempo real,
para que tu cliente sea notificado
inmediatamente
cuando cambie un valor en un documento.
Eso es estupendo, ¿cierto?
Simplemente le dices a la biblioteca,
"oye, quiero escuchar los resultados
de esta consulta".
Y Cloud Firestore te envía actualizaciones
cuando estos valores cambien,
lo que significa que no tienes que lidiar
con esa tontería
de pull to refresh.
Tus datos nuevos aparecen tan pronto
como están disponibles,
lo que es genial para situaciones
como en juegos de multijugador,

Japanese: 
オフラインサポートがあるため
サーバーからデータを取得すると
SDKがデータを自動的にキャッシュします
新たに飛行機に
飛び乗るユーザーの場合でも
飛行機モードをオンにし
デバイスにキャッシュされた
すべてのデータに引き続きアクセスできるので
ゲームをプレイし続けられます
さらにオフラインキャッシュに
保存されている
データも照会できます
さらにプレーヤーが行った書き込みは
デバイスのキューに入れられます
ユーザーがオンラインに戻るとすぐに
記録された順序で
データベースに配信されます
ゲームプレイセッションデータが
失われることはありません
Cloud Firestoreは
データを1回限り
取るサポートがあり
より従来型のデータベースを
使用している場合に
慣れているでしょう
多くの開発者がこの方法で
Cloud Firestoreの使用を開始しますが
リアルタイムリスナーを追加して
ドキュメントの値が変更されたときに
クライアントにすぐに
通知されるようにもできます
便利ですね？
このクエリの結果を聞きたいと
ライブラリに伝えれば
Cloud Firestoreが更新を送信します
これらの値が変更された場合
更新のために
そうしたプルは不要です
新しいデータが
利用可能になると
すぐに表示されます

Chinese: 
因此，当你从服务器获取数据时
SDK会自动缓存你的数据
然后，如果你要上新飞机
打开飞机模式，他们仍然可以访问
设备上缓存的所有数据，这意味着他们
可以继续玩游戏
你可以继续查询离线缓存中
存储的所有数据
此外，玩家播放的任何内容
都会在设备上排队
然后，一旦用户重新联机
他们就会按照记录的顺序
传送到你的数据库中
因此，他们的游戏会话数据都不会丢失
Cloud Firestore支持简单的一次性
数据获取，如果你来自
更传统的数据库，这可能是你
惯用的方式
许多开发人员开始以这种方式
使用Cloud Firestore
但是你也可以添加实时侦听器
以便在文档中的值发生更改时
立即通知你的客户端
很棒吧？
你只要告诉图书馆，嘿
我想知道这个查询的结果
当这些值更改时
Cloud Firestore可以向你
发送更新，这意味着
你无需处理任何拉动
即可刷新废话
你的新数据将立即显示
这对于多人游戏等情况

Portuguese: 
os SDKs armazenam
os dados no cache automaticamente
conforme você os busca do servidor.
Se o seu usuário entrar em um avião,
e ligar o modo avião,
ele ainda terá acesso aos dados
que estão no cache do dispositivo,
ou seja, ele pode continuar jogando
e você pode consultar todos os dados
armazenados no cache offline.
Além disso, qualquer coisa
que os seus jogadores gravarem
fica na fila no dispositivo.
Assim que eles ficarem online novamente,
são enviados para o banco de dados
na ordem em que foram gravados.
Assim, nenhum dado
da sessão do jogo será perdido.
O Cloud Firestore suporta
buscas simples e isoladas de dados
que você deve estar acostumado a fazer
se vem de um banco de dados tradicional.
E muitos desenvolvedores começam
no Cloud Firestore dessa forma,
mas você pode adicionar
ouvintes em tempo real,
para que o cliente seja notificado
quando um documento for alterado.
E é muito legal, não?
Você apenas diz para a biblioteca
escutar os resultados da consulta.
E o Cloud Firestore envia atualizações
quando os valores forem alterados,
assim você não precisa
deslizar para atualizar.
Os dados aparecem
assim que estiverem disponíveis,
o que é ótimo
em jogos de múltiplos jogadores

English: 
so the SDKs will cache
your data automatically
as you grab it from the server.
And then if you're user where
to hop onto new airplane,
turn on airplane mode, they
would still have access
to all the data that's cached
on the device, which means they
can keep playing your game.
And you can go ahead and
query any data that's
stored in your offline cache.
In addition, any writes
that your players make, they
get queued up on the device.
And then as soon as you
user goes back online,
they're delivered to your
database in the order
that they were recorded.
So none of their gameplay
session data gets lost.
Cloud Firestore has support
for simple one-time fetches
of your data, which
is probably what
you're used to if you're
coming from a more
traditional database.
And a lot of developers start
using Cloud Firestore this way,
but you can also add
realtime listeners,
so that your client gets
notified right away when
a value in a document changes.
And that's pretty neat, right?
You simply tell
the library, hey,
I want to listen to the
results of this query.
And Cloud Firestore
can send you updates
when these values
change, which means
you don't have to
deal with any of that
pull to refresh nonsense.
Your new data just
appears as soon
as it's available, which
is great for situations

English: 
like multiplayer games
when you want your game
state to be updated after a
user has taken their turn.
Cloud Firestore has
multi-region support,
which means that we
can store your data
in different locations a few
miles apart from each other.
And this is really nice from
a reliability standpoint.
Because if, say, some kind
of radioactive lizard,
or what have you, were to
take an entire city offline,
your data would
still be accessible
from these other regions.
But at the same time,
it's strongly consistent,
which means that the
data you're retrieving
is the latest version
of the data that's
been written to the database
sort of no matter which region
your client originally pinged.
And I'll be honest.
Having this sort of
multi-region support while
also being strongly
consistent is
this really amazing
and difficult problem
that we've solved behind
the scenes for you.
And honestly, I don't
think people really
appreciate how cool this is.
So trust me when I say, hey,
this is a pretty neat problem
we solved.
Cloud Firestore also has
support for atomic transactions
if you want to make sure
some other client isn't
messing with your data
the same time you are.
I don't have of
a slide for that,
but I know it's a thing
people care about.
So I'm going to mention it here.

Korean: 
사용자의 차례에 왔을 때
게임 상태에 대한
업데이트를 받으니까 말이죠
Cloud Firestore에는
다중 지역 지원 기능도 있어요
즉, 데이터를 약간의 거리를 둔 채로
다양한 위치에 저장할 수 있다는 거죠
이는 확실성의 관점에서 봤을 때
꽤 유용한 기능이에요
예를 들어, 방사능이 있는
도마뱀이 있다고 칠게요
혹은 전체 도시가 오프라인이 되었다고
가정을 해볼게요
그런 경우에도 다른 지역에서
데이터를 접근할 수 있다는 거예요
하지만 동시에 굉장히 일관성이 있다는 거죠
즉, 다시 가져오는 데이터가
데이터의 가장 최근의 버전이고
어느 지역에서든지 클라이언트가
원래 핑을 했더라도
데이터베이스에 작성된 거예요
솔직히 말씀드릴게요
다중 지역 지원 기능을 가진 건
매우 일관성이 있기도 하지만
이런 놀라우면서도 어려운 문제가
화면 뒤에서 해결된 거예요
솔직히 말해서, 이러한 기능이 얼마나 멋진지
많은 분들이 잘 모르시는 것 같아요
그러니 제가 문제를 해결할 기능이 있다고
추천드리면 귀 기울여주세요
Cloud Firestore는 또한
원자 거래를 지원해요
여러분이 작업하는 동일한 데이터를
다른 클라이언트가
동시에 손대기를 원치 않는다면
이를 설명드릴 슬라이드는 없지만
이를 원하시는 분들이 있는 걸 알고 있어요
그래서 지금 말씀드리려고요

Japanese: 
これはマルチプレイヤーゲームなど
ユーザーの順番が変わった後に
ゲームの状態を更新したい場合に最適です
Cloud Firestoreは
マルチリージョンサポートがあり
互いに数マイル離れた
さまざまな場所に
データを保存できます
信頼性の観点から本当に優れています
たとえば放射性トカゲなどで
都市全体がオフラインになっても
他の地域からデータに
アクセスできるからです
しかし同時に
とても一貫しています
つまり取得データは
クライアントが最初に
置いた場所に関係なく
データベースに書き込まれた
最新バージョンのデータです
正直に言うと
この種のマルチリージョンサポートと
強い一貫性を持たせるのは
素晴らしと同時に
我々が舞台裏で解決するのに
困難を覚えた問題でもあります
正直言って
これがいかに優れているか
理解できません
我々が解決した
かなりすごい
問題だと言えます
Cloud Firestoreは
他のクライアントが
同時にデータを
いじらないようにしたい場合に
アトミック
トランザクションもサポートしています
そのスライドはありませんが
みんな関心を持っているので
ここで触れておきます

Chinese: 
非常有用，当你希望在用户轮到他们后
更新游戏状态时，这种情况非常有用
Cloud Firestore具有多区域支持
这意味着我们可以将你的数据
存储在彼此相距几英里的不同位置
从可靠性的角度来看，这确实很棒
因为，假如有某种放射性蜥蜴
或什么东西使整个城市离线
你仍然可以从其他区域
访问你的数据
但是同时，它是非常一致的
这意味着无论你的客户端
最初对哪个区域进行ping操作
你正在检索的数据都是已写入数据库的
最新数据版本
我说实话
有了这种多区域支持，同时
又保持高度一致
我们在幕后为你解决
非常奇妙而困难的问题
老实说，我认为人们不会真正
欣赏它的酷炫之处
所以当我说，嘿
这是我们解决的一个问题
请相信我
如果你要确保其他客户端
不会在同一时间弄乱你的数据
Cloud Firestore也支持原子交易
我没有幻灯片
但是我知道这是人们关心的事
我要在这里提及

Portuguese: 
quando você quer que o estado do jogo
seja atualizado
depois que o usuário jogar.
O Cloud Firestore tem suporte
para múltiplas regiões,
ou seja, podemos armazenar dados
em diferentes locais distantes
alguns quilômetros uns dos outros.
E isso é ótimo em termos de confiabilidade
porque, digamos que um lagarto radioativo
ou algo assim deixe a sua cidade offline,
seus dados continuariam acessíveis
a partir dessas outras regiões.
Mas, ao mesmo tempo,
ele é muito consistente,
ou seja, os dados recuperados
são a última versão dos dados
que foram escritos no banco de dados,
não importa a região
de onde o usuário se conectou.
E vou ser sincero.
Ter esse suporte para múltiplas regiões
e ser altamente consistente
é um problema incrivelmente difícil
que solucionamos para você nos bastidores.
E não acho que as pessoas
percebem como isso é legal.
Podem acreditar, é um problema
bem interessante que resolvemos.
O Cloud Firestore também tem suporte
para transações atômicas
se quiser garantir que nenhum cliente
está mexendo ao mesmo tempo.
Não tenho um slide para isso,
mas sei que é importante para vocês.
Por isso, estou mencionando.

Spanish: 
donde quieres que el estado de juego
se actualice luego de que un usuario
haya tomado su turno.
Cloud Firestore
tiene soporte multiregional,
lo que significa que podemos
almacenar tus datos
en diferentes ubicaciones
a unos cuantos kilómetros una de otra.
Y eso es muy bueno desde
una perspectiva de confiabilidad
porque si, por ejemplo,
algún tipo de lagartija radioactiva
o lo que fuera, dejara
a toda la ciudad sin conexión,
tus datos seguirían siendo accesibles
desde estas otras regiones.
Pero al mismo tiempo,
es fuertemente consistente,
es decir que los datos
que estás recuperando
son la última versión de los datos
que se han escrito en la base de batos
sin importar qué región
haya pinchado tu cliente originalmente.
Y seré honesto.
Tener este suporte multiregional
que a la vez es fuertemente consistente
es un problema realmente asombroso
y difícil que solucionamos
detrás de escena por ustedes.
Y no creo que la gente
realmente aprecie lo bueno que es esto.
Pero creánme cuando digo
"resolvimos este problema complejo".
Cloud Firestore también tiene soporte
para transacciones atómicas
si quieres asegurarte de que otro cliente
no esté metiéndose con tus datos
al mismo tiempo que tú.
No tengo una diapositiva para eso,
pero sé que es algo
que le preocupa a la gente.
Y tenía que mencionarlo.

Chinese: 
由于我们都在制作游戏
我们知道我们不能一直信任客户
因此我们也支持云功能和安全规则
现在，安全规则是你定义的规则
它将拒绝来自客户机的请求
这些请求要么是客户机
正在请求的数据
要么是客户机正在试图写的数据
这些数据看起来不符合你的期望
但是，如果你需要更复杂的控件
你可以使用Cloud Functions
这些是无服务器功能
可以在你控制和信任的环境中
在云运行
这意味着你可以确保此功能
在所有客户端中都一致
更重要的是，你信任
它们对数据库所做的更改
因此，我知道我们已经谈论了
很多关于Cloud Firestore的信息
Cloud Firestore
是我们实时存在于云上的
NoSQL数据库
你可能会问自己，好吧，等一下
这与Firebase实时数据库，也就是
驻留在云的实时数据库
相比如何呢？
我需要明确指出，你不需要
选择任何一个
你可以根据需要在同一个项目中
同时使用两者
但是，如果你需要对两者
进行比较和对比
我通常会喜欢将Cloud Firestore视为
实时数据库的重型版本

Spanish: 
Y dado que todos hacemos juegos
y que no siempre
podemos confiar en los clientes,
también tenemos soporte para
Cloud Functions y reglas de seguridad.
Las reglas de seguridad son reglas
que tú defines
y que rechazarán solicitudes del cliente,
ya sea cuando el cliente esté
pidiendo datos que no deberían pedir
o esté intentando escribir datos
que no se ven como esperas.
Pero si necesitas
controles más sofisticados,
puedes usar Cloud Functions.
Son funciones sin servidores
que se ejecutan en la nube
en un entorno que puedes controlar
y en el que puedes confiar.
Y eso significa que puedes asegurarte
de que esta funcionalidad
sea consistente con todos tus clientes.
Y lo más importante,
que confías en los cambios
que hacen en tu base de datos.
Sé que hemos hablado un montón
sobre Cloud Firestore,
nuestra base de datos
NoSQL en tiempo real
que se aloja en la nube.
Y quizás te estás preguntando
¿cómo se compara esto
con Realtime Database de Firebase,
la base de datos en tiempo real
que se aloja en la nube?
Y para ser claro, realmente
no necesitas elegir una u otra.
Puedes usar ambas con el mismo proyecto
dependiendo de tus necesidades.
Pero si necesitaras comparar
y contrastarlas,
en general me gusta pensar
en Cloud Firestore
como una versión reforzada
de Realtime Database.

Portuguese: 
E porque fazemos jogos
e sabemos que nem sempre
podemos confiar nos clientes,
também temos suporte a Cloud Functions
e regras de segurança.
Você define as regras de segurança
para rejeitar solicitações de um cliente
se ele estiver pedindo dados
que não deveria,
ou escrevendo dados
que não são aquilo que você espera.
Mas se precisar
de controles mais sofisticados,
pode usar as Cloud Functions.
São funções sem servidor
executadas na nuvem,
em um ambiente
que você controla e confia.
Assim você pode garantir
que a funcionalidade é consistente
em todos os seus clientes.
E você confia nas alterações
que elas fazem no seu banco de dados.
Já falei muito sobre o Cloud Firestore,
nosso banco de dados NoSQL em tempo real
que vive na nuvem.
E vocês devem estar se perguntando
qual é a diferença
para o Realtime Database,
o banco de dados em tempo real
que vive na nuvem?
Você não precisa escolher um ou outro.
Pode usar os dois no mesmo projeto,
dependendo das suas necessidades.
Mas se você quiser
comparar e contrastar os dois,
eu costumo pensar no Cloud Firestore
como uma versão do Realtime Database
para serviços pesados.

Korean: 
지금 게임에 관련해서 말씀드리고 있죠
항상 클라이언트를 믿을 수 있는 게
아니라는 걸 알고 있잖아요
이를 지원하는 Cloud 함수와
보안 규칙들이 있어요
보안 규칙들은 클라이언트의 요청을
거절하는 것들을 정의하는 규칙인데요
클라이언트에게 허용되지 않는
데이터를 요청하거나
여러분이 원치 않는 방식으로
데이터를 작성하려는 것일 수 있죠
하지만 좀 더 세부적으로
제어하길 원하신다면
Cloud 함수를 사용하시면 돼요
이는 무서버 함수로써
여러분이 제어하고 믿을 수 있는
환경에 있는 Cloud에서 작동해요
즉, 해당 기능이 모든 클라이언트에게
동일하게 적용되도록 할 수 있다는 거죠
더욱 중요한 건, 데이터베이스에서
변경하는 사항을 믿을 수 있다는 거예요
제가 Cloud Firestore에 대해서
많이 말씀드린 건 사실이지만
실시간으로 가능한 NoSQL
데이터베이스는
Cloud에 있다는 거예요
여러분이 이렇게 생각하실 수도 있어요
Firebase 실시간 데이터베이스와
Cloud에 있는 실시간 데이터베이스를
어떻게 비교해야 할지 말이에요
여기서 정리를 해드리자면
둘 중에 하나를
선택하셔야 할 필요는 없어요
같은 프로젝트 내에서
둘 다 사용하셔도 돼요
필요에 따라서 말이죠
그렇지만 두 가지를 비교하고
대조해보길 원하신다면
Cloud Firestore를
실시간 데이터베이스의
무거운 버전이라고 생각하시면 돼요

English: 
And because we're
all making games
and we know we can't
always trust our clients,
we also have support for Cloud
Functions and security rules.
Now, security rules
are rules that you
define that will reject
requests from the client
either where your client is
asking for data they shouldn't
be, or they're trying to
write data that doesn't
look the way you expect.
But if you need more
sophisticated controls,
you can use Cloud Functions.
These are serverless
functions that
run in the cloud
in an environment
that you control and trust.
And that means you can make
sure this functionality is
consistent across
all your clients.
And more importantly,
you trust the changes
that they make to your database.
So I know we've talked a
lot about Cloud Firestore,
our realtime capable
NoSQL database that
lives in the cloud.
And you might be asking
yourself, well, wait a minute.
How does this compare
to the Firebase Realtime
Database, the realtime database
that lives in the cloud?
And to be clear,
you don't actually
need to choose one or the other.
You can totally use them
both within the same project
depending on your needs.
But if you needed to kind of
compare and contrast the two,
I generally like to think of
Cloud Firestore as a heavy duty
version of the
Realtime Database.

Japanese: 
皆ゲームを作っており
常にクライアントを信頼できるとは限らないので
Cloud Functionsと
セキュリティルールもサポートしています
セキュリティルールは
クライアントが
必要のないデータを要求したり
期待どおりに
見えないデータを書き込もうとする
クライアントからのリクエストを
拒否するように定義したルールです
ただしより高度な
コントロールが必要な場合は
Cloud Functionsを使用できます
ユーザーが制御および信頼する
環境のクラウドで実行される
サーバーレス機能で
この機能がすべてのクライアントで
一貫していることを確認できます
さらに重要なのは
データベースに加えられた
変更を信頼することです
クラウドで動作するリアルタイム対応の
NoSQLデータベースである
Cloud Firestoreについては
大分扱いました
こう自問するかもしれません
ちょっと待って
リアルタイムデータベースの
Firebase Realtime Databaseとの比較はどうか
クラウドにあるのか？
どちらか一方を
選択する必要はありません
ニーズに応じて
同じプロジェクト内で
両方使用できます
ただしこの2つを
比較対照するなら
一般的にCloud Firestoreを
Realtime Databaseの
強力なバージョンと見なせるでしょう

Japanese: 
一般的に
より複雑なデータを
より適切に処理できると思います
個人的な意見ですが
データモデルの方が
扱いやすいと思います
より強力なクエリ機能があります
取引が少し洗練されています
Realtime Databaseよりも
優れた拡張性を備えています
また信頼性を高めるために
マルチリージョンサポートを利用できます
ただしRealtime Databaseの方が
優れている点がいくつかあります
クライアントが北米で
プレゼンスのサポートが組み込まれている場合は
多少速くなる傾向があります
多くのゲーム開発者が
プレイヤーに友達がオンラインか
知れるようにしたいと考えています
これとCloud Firestoreには回避策がありますが
ネイティブに組み込まれておらず
Realtime Databaseほど
エレガントではありません
価格モデルも異なります
Realtime Databaseでは
コストは主に
クライアントとの間でやり取りする
データの量に基づいています
Cloud Firestoreのコストは
主に実行する読み取り
または書き込み操作の数に基づいています
一般的にRealtime Databaseは
小規模な操作が多数ある場合に
費用対効果が少し高くなります
ビンゴやポーカーのような
ゲームを考えてください

Chinese: 
总的来说，我认为它可以
更好地处理更复杂的
数据
这是我个人的看法
但是我认为数据模型更易于使用
你有更强大的查询功能
你的交易更加复杂
它的扩展性甚至比实时数据库更好
而且，你具有多区域支持以提高可靠性
不过，有一些事可以使实时数据库
更好
如果你的客户位于北美
并具有内置的在线支持
则往往会更快一些
这是很多游戏开发人员
所关心的事情
某种程度上是让玩家找出
他们的朋友是否在线
现在，存在针对此问题
和Cloud Firestore的解决方法
但这不是本机内置的
它不如实时数据库
优雅
此外，定价模式也不同
在实时数据库中，你的费用
主要基于你要来回
发送给客户的数据量
Cloud Firestore的成本主要基于
你执行的读取或写入操作的数量
因此，总的来说，当你进行
许多小型操作时，实时数据库
将更具成本效益
想像一下宾果或扑克之类的游戏
你的客户经常发送

Spanish: 
En general, creo que puede manejar
mejor los datos más complejos.
Esto es una opinión personal,
pero creo que es más fácil trabajar
con el modelo de datos.
Tienes capacidades de consulta
más robustas.
Las transacciones
son un poco más sofisticadas.
Escala aun mejor que Realtime Database.
Y tienes soporte multiregional
para mejor confiabilidad.
Sin embargo, hay algunas cosas que
Realtime Database hace mejor.
Suele ser algo más rápida
si tus clientes están
en Norteamérica y tiene
soporte integrado para la presencia.
Esto les interesa
a muchos desarrolladores de juegos,
el que los jugadores sepan
si sus amigos están en línea.
Hay alternativas para esto
en Cloud Firestore,
pero no están integradas nativamente.
Y no es tan elegante como
en Realtime Database.
Además, el modelo de precios es diferente.
En Realtime Database, tus costos se basan
principalmente en la cantidad de datos
que intercambias con tus clientes.
Los costos de Cloud Firestore
se basan principalmente en la cantidad
de operaciones de lectura o escritura
que realizas.
Así que en general, Realtime Database
será un poco más rentable
cuando tengas muchas operaciones pequeñas.
Piensa en un juego como bingo o póquer,
en los que tus clientes
frecuentemente envían

Korean: 
일반적으로 더욱 복잡한 데이터를
더 잘 처리할 수 있으니까요
이건 그냥 제 생각이긴 하지만
데이터 모델을 작업하는데
더 쉬운 것 같아요
더욱 강력한 쿼리 작업
기능을 가지고 있고요
거래가 좀 더 상세하죠
실시간 데이터베이스보다
크기를 더 잘 변경해요
더 나은 확실성을 위한 다중 지역
지원 기능도 있고요
실시간 데이터베이스가
더 나은 부분도 몇 가지가 있긴 해요
클라이언트가 북미에 위치하고 있거나
출석에 대한 내장 지원을 가지고 있으면
더욱 빠른 경향이 있어요
많은 개임 개발자들이 신경을 쓰는 부분이죠
친구들이 온라인인지
플레이어들이 알아내도록 하는 거요
이에 대한 해결책으로
Cloud Firestore이 있어요
하지만 원래 내장되어 있는 기능은 아니에요
그래서 실시간 데이터베이스에 있는 것보다
섬세하지 않을 수 있어요
또한 가격 책정 모델이 달라요
실시간 데이터베이스에서, 비용이
주로 데이터의 양에 기반되어 있어요
클라이언트로 보내고 받는 데이터 말이죠
Cloud Firestore의 비용은 주로
실행하는 운영체제에서 읽거나 작성하는
수에 기반하고 있어요
그래서 일반적으로 실시간 데이터베이스는
조금 더 비용 면에서 효율적이죠
많은 수의 작은 운영체제가
있는 경우에 말이죠
빙고나 포커와 같은 게임을 생각해보세요
클라이언트가 매우 빈번하게

English: 
In general, I think it can
handle more complex data
better.
This is kind of my
personal opinion,
but I think the data model
is easier to work with.
You have more powerful
querying capabilities.
Your transactions are a
little more sophisticated.
It scales even better than
the Realtime Database.
And you have multi-region
support for better reliability.
There are a few things that the
Realtime Database does better,
though.
It tends to be somewhat
faster if your customers are
located in North America and has
built-in support for presence.
This is something a lot of game
developers care about, sort
of having players find out
if their friends are online.
Now, there are workarounds
for this and Cloud Firestore,
but it's sort of not
natively built in.
And it's not as
elegant as what's
in the Realtime Database.
Also, the pricing
model is different.
In the Realtime
Database, your costs
are primarily based
on the amount of data
that you're sending back
and forth to your clients.
Cloud Firestore's
costs are primarily
based on the number of read or
write operations you perform.
So in general, the
Realtime Database
is going to be a little
more cost effective when you
have lots of small operations.
Think of a game
like bingo or poker,
where your clients
are very frequently

Portuguese: 
Acho que ele lida melhor
com dados mais complexos.
É a minha opinião pessoal,
mas acho que o modelo de dados
é mais fácil de usar.
Você tem recursos de consulta
mais poderosos.
Suas transações são
um pouco mais sofisticadas.
Ele é mais escalável
do que o Realtime Database.
E tem suporte a múltiplas regiões
para melhor confiabilidade.
Mas tem algumas coisas
que o Realtime Database faz melhor.
Ele é um pouco mais rápido
se os seus clientes estão
na América do Norte,
e tem suporte interno para presença.
Muitos desenvolvedores acham importante
que os jogadores saibam
se seus amigos estão online.
O Cloud Firestore tem soluções alternativas
mas não é um recurso nativo.
E não é tão elegante
como no Realtime Database.
O modelo de precificação
também é diferente.
No Realtime Database,
os custos são baseados
principalmente na quantidade de dados
que você envia e recebe dos clientes.
No Cloud Firestore,
os custos são baseados
principalmente na quantidade
de operações de leitura e escrita.
Em geral, o Realtime Database
será um pouco mais vantajoso
se você tiver muitas pequenas operações.
Pense em um jogo como bingo ou pôquer,

Korean: 
작은 정보 조각들을 보내죠
콜, 가격 올리기 또는 B14과 같이요
Cloud Firestore가
좀 더 비용 효율적인 경향이 있어요
큰 운영 체제에서 더 작은 양을
가지고 있을 때 말이죠
비동기 그리기 게임을 생각해보세요
큰 JSON 데이터 덩어리를 보내는 거죠
이는 플레이어의 그림을 나타내며
심지어 차례를 기반으로 한 단어
혹은 체스 게임이 될 수 있어요
플레이어가 차례가 되었을 때
오래 생각하게 되는 게임 말이에요
많은 운영체제들이 작동하지 않고 있는 거죠
그렇지만 너무 비용에만
치우지지 않으셨으면 좋겠어요
Cloud Firestore에서
유용한 기능이
아주 많이 있으니까요
아시다시피, 엔지니어 작업 시간은
금전적으로도 비용이 들어요
10명의 추가 엔지니어
작업 시간이 필요하죠
서버 비용에서 18가지 작업을
처리하려면 말이죠
이는 효율적인 방식이 아니에요
엔지니어 작업 시간을
현명하게 사용해야 해요
엔지니어 분들은 입맛이 고급이기도 하고요
그러면 실생활에서 Cloud
Firestore를 어떻게 사용할까요?
몇 가지 잠재적으로 현실적인
시나리오들을 보겠습니다
가장 단순한 사용의 예로
플레이어의 게임을
Cloud에 저장하는 것에 대해 보죠
사용자들은 다양한 기기에서
게임을 하길 원하죠
Cloud Firestore를
사용하면 손쉽게
게임 상태를 Cloud에 저장할 수 있어요

English: 
sending across little
pieces of information,
like call, raise, or B14.
Cloud Firestore
tends to be more cost
effective when you have
smaller amounts of maybe
large operations.
Think about an
asynchronous drawing game,
where you're probably sending
across a large chunk of JSON
data that represents the
player's drawing, or even
a turn-based word or chess
game, where your players tend
to think for long periods of
time before they take a turn.
They're not performing
that many operations.
But I would also say don't
get too fixated on price.
There's lots of ways
Cloud Firestore can
make your life easier.
And you know, your engineering
time costs money, too.
If it takes 10 extra
engineering hours
to save yourself 18
bucks in server costs,
that's probably not
the right trade-off.
Use your engineering
time wisely.
These people tend
to eat fancy snacks.
So how would you use Cloud
Firestore in real life?
Let's look at a few potential
real world scenarios.
One of the most
simple use cases--
saving your player's
game to the cloud, right?
Your users want to play their
game on multiple devices.
And Cloud Firestore
makes it really easy
to save your game
state to the cloud.

Portuguese: 
onde os clientes enviam
pequenas informações com muita frequência
como, call, raise ou B14.
O Cloud Firestore é mais vantajoso
quando você tem operações grandes
em pequenas quantidades.
Pense em um jogo de desenho assíncrono,
em que você envia
um grande bloco de dados em JSON
que representa o desenho do jogador,
ou um jogo de palavras ou xadrez,
em que os jogadores pensam
por um longo tempo antes de dar a vez.
Eles não estão executando
muitas operações.
Mas não se fixem demais no preço.
O Cloud Firestore pode facilitar
a sua vida de muitas formas.
Seu tempo de engenharia
também custa dinheiro.
Se é preciso 10 horas adicionais
de engenharia
para economizar 18 dólares
em custos de servidor,
não é exatamente um bom negócio.
Use o tempo de engenharia com sabedoria.
Esse pessoal custa caro.
Então, como você pode usar
o Cloud Firestore na vida real?
Vamos ver alguns cenários
em potencial do mundo real.
Um dos casos de uso mais simples,
salvar o jogo na nuvem, certo?
Seus usuários querem jogar
em múltiplos dispositivos.
E com o Cloud Firestore, é muito fácil
salvar o estado do jogo na nuvem.

Japanese: 
クライアントは
コール レイズ B14などの
小さな情報を
非常に頻繁に送信しています
クラウドファイアストアは
大規模な操作が少ない場合に
費用対効果が高くなる傾向があります
非同期の描画ゲームについて考えてみましょう
プレーヤーの描画を表す
JSONデータの大きな塊や
ターンベースの単語または
チェスゲームでさえも
送信する可能性があり
プレイヤーはターンする前に
長時間考えがちです
それほど多くの操作を実行していません
しかし価格にこだわりすぎないでください
Cloud Firestoreで便利になる点が
沢山あります
エンジニアリング時間にも費用がかかります
サーバーコストを18ドル節約するのに
10時間余分にかかる場合
適切なトレードオフではありません
エンジニアリング時間を賢く使ってください
こうした人たちは
おしゃれなスナックを食べる傾向があります
では実際にCloud Firestoreをどのように使用しますか？
潜在的な状況を見てみましょう
最もシンプルな使用例の1つです
プレーヤーのゲームをクラウドに保存します
ユーザーは複数のデバイスで
ゲームをプレイしたいと考えています
Cloud Firestoreを使用すると
ゲームの状態をクラウドに簡単に保存できます

Chinese: 
很少的信息
例如跟注、加注或B14
当你进行少量的大型操作时
Cloud Firestore往往更具
成本效益
考虑一下异步绘画游戏
你可能会在其中发送表示玩家绘画的
大量JSON数据，或者甚至
是基于回合的单词
或象棋游戏在这种情况下
玩家往往需要思考很长一段时间
才能思考转一转
他们没有执行那么多操作
但是我也想说，不要太执着价格
Cloud Firestore有很多方法
可以使你的生活更轻松
而且你知道，你的工程时间也要花钱
如果要花10个额外的工程小时
才能为自己节省
18美元的服务器成本
那可能不是正确的权衡
明智地使用你的工程时间
这些人倾向于更爱高档小吃
那么你将如何在现实生活中
使用Cloud Firestore？
让我们看看现实世界中
一些可能的使用场景
最简单的用例之一--
将玩家的游戏保存到云端，对吧？
你的用户想要在多台设备上玩游戏
Cloud Firestore将游戏状态
保存到云中变得非常容易

Spanish: 
pequeñas porciones de información
como "voy", "subo" o "B14".
Cloud Firestore tiene a ser más rentable
cuando tienes
cantidades más pequeñas
de operaciones grandes.
Piensa en un juego de dibujo asíncrono
donde probablemente envíes
una gran cantidad de datos JSON
que representan el dibujo del jugador
o quizás un juego de palabras o de ajedrez
en los que se toman turnos,
donde tus jugadores suelen
tomarse bastante tiempo para pensar
antes de tomar un turno.
No llevan a cabo tantas operaciones.
Pero diría que no te obsesiones
tanto con el precio.
Hay muchas formas en que Cloud Firestore
puede ayudarte.
Y sabes, tu tiempo de ingeniería
también cuesta dinero.
Si te toman 10 horas extra de ingeniería
el ahorrarte 18 dólares
en costos de servidores,
quizás no sea un intercambio adecuado.
Usa tu tiempo de ingeniería sabiamente.
Estas personas suelen comer
bocadillos elegantes.
Así que ¿cómo usarías
Cloud Firestore en la vida real?
Veamos un par de situaciones posibles
del mundo real.
Uno de los casos de uso más simples
es guardar el juego de tu jugador
en la nube, ¿no?
Tus usuarios quieren jugar
en diferentes dispositivos.
Y Cloud Firestore hace que sea muy fácil
guardar tu estado de juego en la nube.

Spanish: 
Solo escribes el estado de tu jugador
en un documento,
escribes ese documento en la base de datos
y cualquier otro cliente
que escuche ese valor
puede tomar la última versión
y asegurarse de que el progreso
del jugador se refleje
donde sea que juegue a tu juego.
También debo mencionar
que el almacenamiento en Cloud Firestore
es relativamente asequible
si lo comparamos con la Realtime Database.
Así que puedes ir
y guardar un par de versiones
para que cuando el jugador
llame desesperadamente
a atención al cliente y diga
"¡algo le pasa a mi juego!",
tengas la opción de que se restaure
a un juego guardado anteriormente.
Otro buen caso de uso en Cloud Firestore
es el estado de juego compartido.
Piensa en un juego de palabras
o de dibujo por turnos.
Es muy fácil, en principio,
que tus clientes
consulten los juegos
en los que están participando.
Y luego, cada vez que tu jugador
quiera tomar un turno,
puedes registrar ese nuevo estado de juego
en un documento compartido
al que tienen acceso
todos los jugadores competentes.
Y luego, gracias a la magia
de los objetos de escucha en tiempo real,
los clientes de otros jugadores
pueden actualizarse
tan pronto como
cambie el estado del juego,
así saben que es su turno.
Y si quieres seguridad extra,
en vez de hacer que tus clientes
actualicen este documento directamente,
puedes hacer que envíen
el movimiento deseado

Japanese: 
プレーヤーの状態をドキュメントに書き込み
そのドキュメントをデータベースに書き込むだけです
その値を聞いている他のクライアントは
最新バージョンを取得して
プレーヤーの進行状況が
ゲームをプレイしているすべての場所に
反映されていることを確認します
Cloud Firestoreのストレージは
特にRealtime Databaseと比較して
比較的安価であることも指摘しておきます
先に進んでいくつかのバージョンを
保存して戻すことができます
カスタマーサポートに
必死に電話をかけ
ゲームに問題があるという
プレーヤーなら
以前のセーブゲームに戻すことができます
Cloud Firestoreのもう
1つの優れた使用例は共有ゲーム状態です
ターン制の単語ゲームや
描画ゲームについて考えてみましょう
始めにクライアントが先に進んで
参加しているゲームを
クエリするのはとても簡単です
プレーヤーが順番を望むときはいつでも
この共有ドキュメントに
新しいゲームの状態を
記録するだけで
適切なプレーヤーが
アクセスできます
リアルタイムリスナーの魔法のおかげで
他のプレーヤーのクライアントは
ゲームの状態が変更されると
すぐに更新されるため
自分の番であることがわかります
クライアントにこのドキュメントを
直接更新させるのではなく
追加のセキュリティが必要な場合は
希望する動きをCloud Functionに

English: 
Just write your player
state into a document,
write that document
to the database.
And any other client
listening to that value
can grab the latest
version and make
sure your player's progress
is reflected everywhere
that they're playing your game.
I should also point out that
storage in Cloud Firestore
is relatively inexpensive
particularly compared
to the Realtime Database.
So you could go ahead and
save a few versions back.
So that when you're
a player frantically
calls customer support
and they're like,
something is wrong
with my game, you
have the option of restoring
them to an earlier save game.
Another good use case for Cloud
Firestore is shared game state.
Think about a turn-based
word game or drawing game.
It's really easy, for
starters, for your clients
to go ahead and query for games
that they're participating in.
And then every time your
player wants to take a turn,
you can just record
that new game state
in this shared document that
all the appropriate players
have access to.
And then thanks to the
magic of realtime listeners,
those other player's
clients can get updated
as soon as the game
state is changed,
so they know it's their turn.
And if you want extra
security, rather
than having your clients
update this document directly,
you can have them relay
their desired move

Korean: 
플레이어 상태를 문서에 작성하면 돼요
문서를 데이터베이스에 작성하고요
그리고 해당 값을 받는 다른 클라이언트에서
가장 최근 버전을 가져올 수 있고
플레이어의 진행 상황이 반영되도록 해요
플레이어가 어디에서나 게임을 하든지요
여기서 또 말씀드리고 싶은 건
Cloud Firestore에서
비용이 비교적 비싸지 않다는 거예요
실시간 데이터베이스에 비교해서요
그러니 몇 가지 버전을 저장할 수 있어요
플레이어가 열정적으로 고객 지원에
호출을 하는 경우에
게임에 문제가 있다고 하죠
여러분은 이전에 저장된 게임을
다시 복구시켜주면 되는 거예요
Cloud Firestore를 사용할
또 다른 경우는 게임 상태 공유예요
차례를 기반으로 한 단어 혹은
그림 게임을 생각해보세요
초급자인 클라이언트에게는 굉장히 쉬워요
참여하고 있는 게임에 열을 세우면 되니까요
그러면 플레이어의 차례가 되게 하려면
공유된 문서에
새로운 게임 상태를 기록하고
여기에 모든 적합한 플레이어들이
접근할 수 있도록 하는 거예요
그리고 유용한 실시간 리스너 덕택에
다른 플레이어의 클라이언트가
업데이트를 받을 수 있어요
게임 상태가 변경될 때 말이죠
그러면 자신의 차례인 걸 알 수 있어요
추가적인 보안을 필요로 하는 경우에
클라이언트가 직접 해당 문서를
업데이트하게 하는 대신에
Cloud 함수에 원하는 것을

Chinese: 
只需将播放器状态写入文档
然后将该文档写入数据库即可
其他倾听该价值的客户
都可以获取最新版本
并确保玩家的进度在他们玩游戏的
任何地方都能得到体现
我还应该指出，与实时数据库相比
Cloud Firestore的存储
相对便宜
因此，你可以继续保存一些版本
当你是玩家时，疯狂地
打电话给客户支持
而他们表现得好像是
我的游戏有问题
你可以选择将其还原到
较早的保存游戏
Cloud Firestore的另一个
好用例是共享游戏状态
考虑回合制文字游戏或绘画游戏
对于初学者来说，让客户
继续并查询其参与的游戏确实非常容易
然后，每当你的玩家想要转弯时
你都可以在此共享文档中
记录该新游戏状态
所有合适的玩家都可以访问
该状态
然后，借助实时侦听器的魔力
这些其他玩家的客户可以在游戏状态
更改后，立即进行更新
他们知道该轮到他们了
如果你需要额外的安全性
而不是让客户直接更新此文档
则可以让他们将所需的操作

Portuguese: 
Grave o estado do jogador em um documento,
e o documento no banco de dados.
E um outro cliente
que estiver ouvindo aquele valor
pode pegar a última versão
e garantir que o progresso
seja refletido em todos os lugares
onde estiverem jogando.
O armazenamento no Cloud Firestore
é relativamente barato,
especialmente se comparado
com o Realtime Database.
Assim você pode salvar
algumas versões anteriores.
E quando ligarem desesperados
para o suporte ao cliente
dizendo que tem algo errado com o jogo,
você tem a opção de restaurar
uma versão anterior do jogo.
Outro bom caso de uso
é o estado de jogo compartilhado.
Como um jogo de palavras
ou de desenho baseado em turnos.
É muito fácil para os clientes consultarem
os jogos em que estão participando.
E quando for a vez do jogador,
você pode gravar um novo estado de jogo
nesse documento compartilhado
ao qual todos os jogadores têm acesso.
E, graças a mágica
dos ouvintes em tempo real,
os clientes dos outros jogadores
são atualizados
quando o estado do jogo muda
para que saibam que é a vez deles.
E, se você quiser uma segurança adicional,
em vez de ter clientes atualizando
o documento diretamente,

Portuguese: 
eles podem passar a alteração
para uma Cloud Function.
São aquelas funções sem servidor
que vivem na nuvem.
Essa Cloud Function pode validar a jogada
e garantir que está tudo certo.
E então pode efetivamente atualizar
o estado do jogo compartilhado
que será enviado
a todos os outros jogadores.
E graças à integração
com o Firebase Cloud Messaging,
você pode notificar os outros jogadores.
Assim, mesmo que o aplicativo
não esteja aberto,
serão informados que está na vez deles.
Desafios diários são outro bom exemplo.
São uns bons blocos de conteúdo
que você precisa enviar
para todos os clientes
toda vez que eles entrarem.
Sei que existem
muitos jogos de RPG, enigmas,
palavras-cruzadas e coisas assim
que têm desafios diários.
São os dados que podem ser
facilmente armazenados e servidos
pelo Cloud Firestore.
Conteúdo gerado pelo usuário
também é um bom caso de uso.
Para grandes objetos binários
como vídeos ou screencasts,
recomendo usar o Cloud Storage.
Mas pense em um jogo de enigmas
ou de plataforma
onde os usuários criam
seus próprios níveis.
Você provavelmente armazena
esses dados em JSON.
E funciona muito bem no Cloud Firestore.

Japanese: 
中継させることができます
これらはクラウドに存在する
サーバーレス機能です
次にこのCloud Functionは
プレーヤーの動きを検証し
すべてが正当に見えることを確認します
共有ゲームの状態を
実際に更新する作業を実行して
他のプレイヤーに送信できます
またFirebase Cloud Messagingとの
統合により
他のプレーヤーに通知を送信できます
現時点でアプリを開いていなくても
自分の番であるという
アラートを受け取れます
毎日の課題も
別の良い例です
サインインするたびに
すべてのクライアントに
送信する必要がある
コンテンツの集まりです
ロールプレイングゲーム
パズルゲーム
クロスワードパズルなど
毎日の挑戦がありますが
これはCloud Firestoreを通じて
簡単に保存および提供できるデータです
ユーザーが作成したコンテンツも
良いユースケースとなるでしょう
繰り返しますが
動画やスクリーンキャストなどの
大きなバイナリオブジェクトの場合は
Cloud Storageをお勧めします
でもユーザーが独自のレベルを作成している
あらゆる種類のパズルゲーム
またはプラットフォーマーゲームについて
考えてください
おそらくJSONデータとして保存しているデータです

English: 
to a Cloud Function.
Remember, these are our
serverless functions
that live in the cloud.
This Cloud Function can then
validate your player's move,
make sure everything
looks legit.
And then it can perform the
work of actually updating
your shared game
state, which then gets
sent to your other players.
And also, thanks
to our integration
with Firebase Cloud
Messaging, you
could send a notification
to your other players.
So that even if they don't have
your app open at the moment,
they can still get alerted
that it's their turn.
Daily challenges, these are
probably another good example.
These things are sort of
decent chunks of content
that you're going to need
to send to all your clients
every time they sign in.
I know there's a lot of
role-playing games, puzzle
games, crossword puzzles, and so
on that have daily challenges.
And this is data that could
easily be stored and served
through Cloud Firestore.
User generated content could
be a good use case, too.
Again, for large binary objects,
like videos or screencasts,
I'd recommend using
Cloud Storage.
But think about any kind of
puzzle game or platformer
game where users are
creating their own levels.
This is probably data that
you're storing as JSON data.
And these could work
nicely in Cloud Firestore.

Chinese: 
中继到Cloud Function
请记住，这些是我们在云中的
无服务器功能
该Cloud Function
可以验证玩家的移动
确保一切看起来合法
然后，它可以执行实际更新
共享游戏状态的工作，然后
将其发送给其他玩家
由于我们与Firebase
Cloud Messaging集成
你可以向其他播放器发送通知
这样一来，即使他们
目前没有打开你的应用
他们仍然可以收到轮到他们的警报
日常挑战，这些可能是
另一个很好的例子
这些东西都是相当不错的内容
你需要在每次客户登录时
将其发送给所有客户
我知道有很多角色扮演游戏、益智游戏
填字游戏等等，这些游戏每天都有挑战
这是可以通过Cloud Firestore
轻松存储和提供的数据
用户生成的内容
也可能是一个很好的用例
同样，对于大型二进制物件
例如视频或屏幕录像
我建议使用Cloud Storage
但是，请考虑用户创建自己关卡的
任何益智游戏或平台游戏
这可能是你存储为JSON的数据
这些可以在Cloud Firestore中
很好地工作

Spanish: 
a una Cloud Function.
Recuerda, estas son nuestras funciones
sin servidores alojadas en la nube.
Esta Cloud Function puede luego
validar el movimiento del jugador,
asegurarse de que todo se vea bien.
Y luego puede realizar el trabajo
de actualizar
tu estado de juego compartido,
que luego se envía a tus otros jugadores.
Y además, gracias a nuestra integración
con Firebase Cloud Messaging,
puedes enviar una notificación
a tus otros jugadores
para que, incluso si no tienen
tu app abierta en ese momento,
aun puedan ser notificados
de que es su turno.
Los desafíos diarios probablemente
sean otro buen ejemplo.
Son bloques de contenido
que deberás enviar a todos tus clientes
cada vez que ingresen.
Sé que hay muchos juegos de rol,
de rompecabezas,
de crucigramas y demás
que tienen desafíos diarios.
Y son datos que pueden
almacenarse y entregarse fácilmente
a través de Cloud Firestore.
El contenido generado por usuarios
es un buen caso de uso también.
De nuevo, para objetos binarios grandes
como videos o presentaciones en pantalla,
recomiendo que usen Cloud Storage.
Pero piensen en cualquier juego
de rompecabezas o de plataforma
en el que los usuarios
creen sus propios niveles.
Probablemente estos sean datos
que almacenas como datos JSON.
Y pueden funcionar muy bien
en Cloud Firestore.

Korean: 
전달하도록 할 수 있어요
기억하세요, 이는 무서버 함수이며
Cloud에 있습니다
그러면 Cloud 함수는 플레이어의
움직임을 승인할 수 있어요
모든 것들이 올바르게 작동되도록 말이죠
그리고 공유된 게임 상태를
업데이트하는 작업을 수행할 수 있죠
이는 다른 플레이어에게 보내져요
또한 Firebase Cloud
Messaging과의
통합 기능 덕분에
다른 플레이어에게 알림을 보낼 수 있어요
당시에 앱을 열고 있는 상태가 아니더라도
자신의 차례가 되면
알림을 받을 수 있는 거예요
일일 임무가 또 다른
좋은 예시가 될 수 있겠네요
이러한 기능은 적절한 양의 콘텐츠가 있고
모든 클라이언트가 로그인 할 때마다
보낼 필요가 있을 때
유용할 수 있어요
롤플레잉 게임, 퍼즐 게임, 십자말풀이
그리도 일일 임무를 포함한
많은 게임들이 있죠
이러한 데이터가 쉽게
저장되고 제공될 수 있어요
Cloud Firestore를 통해서 말이죠
사용자가 생성한 콘텐츠도
좋은 사용 예가 될 수 있어요
영상이나 스크린캐스트와 같은
큰 2진법 오브젝트에서는
Cloud Storage를 사용하는 걸
권장드립니다
그렇지만 퍼즐 게임이나
플랫폼 게임을 생각해보세요
사용자가 자신의 레벨을
창조해나가는 게임이죠
이러한 경우에 데이터를
JSON 데이터로 저장할 거예요
이는 Cloud Firestore에서
문제없이 작동될 거예요

Chinese: 
你可以再次运行类似的查询
找到按评分排序的
北美地区创建的所有难题
或者找到最新的难题，或者找到
特定作者的所有难题
但我认为，从政治上来说
许多大型公司和更老牌公司
最有趣的用例是将Cloud Firestore
用作当前基础架构之上的
实时全局可扩展缓存层
让我们看一下航空公司
在这些航空公司中，他们拥有
30年历史的旧服务器
内置了许多业务逻辑
和法规遵从性
他们可能无法将所有内容交换到
全新的NoSQL数据库，对吧？
但是同时，也许他们想要一个
很好的现代应用程序
基础结构，它可以处理数百万个查询
并具有实时更新和良好的离线支持
以及所有这些奇特的东西，对吗？
这些企业可以做的就是将
部分数据复制到
Cloud Firestore实例
这使这些客户真正方便地
进行搜索，例如，查找机票价格
或获取航班状态信息
或诸如此类的东西
并实时获取这些更新

Spanish: 
Y luego, de nuevo, puedes
hacer consultas como
"encuentra todos los rompecabezas
creados en Norteamérica
ordenados por calificación"
o "encuentra los rompecabezas
más recientes"
o "encuentra todos los rompecabezas
de un autor en particular".
Pero creo que el caso de uso
más interesante,
en especial para muchas compañías grandes
y bien establecidas
es usar Cloud Firestore como una capa
de caché escalable global en tiempo real
sobre tu infraestructura actual.
Pensemos por un segundo en una aerolínea.
Estas aerolíneas tienen
servidores heredados de 30 años
con mucha lógica de negocio
y cumplimiento normativo integrados.
Quizás no puedan simplemente mover todo
a una nueva base de datos NoSQL, ¿no?
Pero al mismo tiempo, quizás quieran
una infraestructura de aplicación moderna
que pueda lidiar con millones de consultas
y tenga actualizaciones en tiempo real
y un buen soporte sin conexión
y todas esas cosas, ¿no?
Bueno, lo que estas empresas pueden hacer
es copiar algunos de sus datos
a una instancia de Cloud Firestore.
Eso hace que sea realmente fácil
para estos clientes realizar búsquedas,
como encontrar precios de boletos
y obtener información del estado
de un vuelo y ese tipo de cosas,
y obtener esas actualizaciones
en tiempo real

Korean: 
그리고 쿼리도 작동되게 할 수 있어요
순위로 분류된 북미에서 만들어진
모든 퍼즐을 찾는 것처럼요
혹은 가장 최신 퍼즐을 찾거나
특정한 인물이 만든
모든 퍼즐을 찾는 것도요
제가 생각하기에 가장 흥미로운 사용 예는
훨씬 더 크고 더욱 기반이 확고한
회사에 사용되는 거예요
Cloud Firestore를
전 세계에서 실시간으로
측정할 수 있는 캐시 레이어로서
최근 인프라의 상단에서 사용하는 거죠
잠시 항공사에 대해서 생각해볼게요
항공사들은 30년간 축적된 서버가 있죠
수 많은 비즈니스 논리가 있고요
그리고 규제순응도 내장되어 있어요
그러면 이러한 모든 것들을
새로운 NoSQL 데이터베이스에
한 번에 옮길 수 없겠죠?
하지만 동시에, 멋지고 현대적인
애플리케이션 인프라를 가지길 원할 거예요
수백 개의 쿼리를 처리할 수 있고
실시간 업데이트가 가능하며
유용한 오프라인 지원이 가능하고
모든 멋진 기능을 제공하는 걸
원치 않겠어요?
이러한 경우에 할 수 있는 건
기존의 데이터를 Cloud Firestore
인스턴스에 복사하는 거예요
이렇게 하여 클라이언트가 정말로 손쉽게
검색을 할 수 있어요
비행기표 가격을 찾거나
항공 상태 정보를 보거나
이와 관련된 걸 보는 거죠
실시간으로 업데이트를 받을 수도 있고요

Japanese: 
Cloud Firestoreでうまく機能します
北米で作成されたすべてのパズルを
評価で並べ替えて検索したり
最新のパズルを検索したり
特定の作者によるすべてのパズルを
検索したりできます
しかし多くのより大規模で
世間に認められた企業にとって
政治的に最も興味深いユースケースは
現在のインフラストラクチャ上で
リアルタイムでグローバルに
スケーラブルな
キャッシングレイヤーとして
Cloud Firestoreを使
用することだと思います
航空会社を考えましょう
これらの航空会社には
30年前のレガシーサーバーがあり
多数のビジネスロジックと
規制コンプライアンスが
組み込まれています
すべてを新しい
NoSQLデータベースに
置き換えることはできません
しかし同時に
何百万ものクエリを処理でき
リアルタイムの更新と
優れたオフラインサポートなどの
優れた最新の
アプリケーションインフラストラクチャが
必要かもしれません
これらの企業は
データの一部を
Cloud Firestoreインスタンスに
コピーできます
これらのクライアントは
非常に簡単に検索できます
たとえばチケットの価格や
フライトステータス情報などを取得し
レガシーサーバーがチケット購入

English: 
And then, again, you
could run queries like,
find all puzzles created in
North America sorted by rating,
or find most recent
puzzles, or find all puzzles
by a particular author.
But I think the most
interesting use case politically
for a lot of larger and
more established companies
is to use Cloud Firestore
as a realtime globally
scalable caching layer on top
of your current infrastructure.
Let's think about an
airline for a second.
These airlines, they've got
their 30-year-old legacy
servers with a bunch
of business logic
and regulatory
compliance built in.
They probably just can't
swap everything over
to a brand new NoSQL
database, right?
But at the same time, maybe they
want a nice modern application
infrastructure that can
handle millions of queries
and have realtime updates
and nice offline support
and all that fancy stuff, right?
Well, what these
businesses can do
is copy over some of their data
to a Cloud Firestore instance.
That makes it really
easy for these clients
to do searches, like
let's find ticket prices
or get flight status information
or that sort of thing,
and get those
updates in real time

Portuguese: 
E você pode executar consultas como,
todos os enigmas da América do Norte
ordenados por classificação,
ou os enigmas mais recentes,
ou todos os enigmas de determinado autor.
Mas o caso de uso mais interessante
para empresas mais estabelecidas
é usar o Cloud Firestore como uma camada
de cache escalável globalmente em tempo real
por cima da infraestrutura atual.
Pense em uma companhia aérea.
Essas empresas têm
servidores herdados de 30 anos
com lógica de negócios e de assuntos
regulatórios e de conformidade.
Eles não podem trocar tudo
para um banco de dados NoSQL, certo?
Mas talvez queiram uma moderna
infraestrutura de aplicativos
que possa lidar com milhões de consultas
e atualizações em tempo real
e um bom suporte offline
e aquelas coisas sofisticadas.
Essas empresas podem copiar
alguns de seus dados
para uma instância do Cloud Firestore.
Isso facilita muito
para os clientes fazerem buscas,
como consulta de preços de passagens
ou informações sobre o status de um voo.
E obter as atualizações em tempo real

Japanese: 
おそらくまだ元のサーバーを
通過する必要があるものなどの
重要なことを処理しながら
これらの更新を
リアルタイムで取得できます
このプレゼンテーションを
ご覧になっている方々は
飛行機ではなくても
MMO
収集可能なカードゲームや
ロールプレイングゲームを使用していて
大量のデータがある場合は
それがゲームプレイのバランス設定
プレーヤーのプロファイル
またはクライアントが
定期的に読むようなものがあるでしょう
繰り返しますが
常にサーバーにアクセスする
クライアントが多くいます
Cloud Firestoreを
その前に置くことを
検討してください
クライアントは先に進んで
Cloud Firestoreに
プッシュしたデータをクエリしながら
元のサーバーを解放して
プレーヤーのトランザクションや
ユーザーの購入などの重要な処理を
行うことができます
以上のことを踏まえると
Cloud Firestoreでの構築は
ワクワクしますが
そのAlphaラベルについて
ここで話したいと思います
Cloud Firestoreバックエンドサービスは
かなり前から存在しており
実際の本番環境生産アプリで
使用されていますが
これらの新しい
クライアントライブラリは非常に新しく
まだ実際にテストされていません
バグが予想されます
いくつかあるでしょう
Unity SDKは高度な機能が幾つか

Chinese: 
同时让你的旧服务器处理重要的事
例如，买票，可能仍然需要通过
原始服务器的内容
如果你一直在观看此视频
我想你没有航空公司可以运营
但是也许你有MMO
可收藏的纸牌游戏
或角色扮演游戏，其中拥有大量数据
无论这是游戏平衡设置
玩家个人资料，或是客户想要
定期阅读的东西
再说一遍，有很多客户端一直在
攻击你的服务器
因此，可以考虑将Cloud Firestore
放在最前面
对吧？
你的客户可以继续查询你推送到
Cloud Firestore的数据，同时
让原始服务器可以自由
处理重要事务，例如玩家交易
或用户购买
话虽这么说，也许你
为使用Cloud Firestore
开始构建而感到非常兴奋
但是我确实想在这里
谈论Alpha标签
尽管Cloud Firestore后端服务
已经存在了很长时间
并且已在实际的app中使用
但是这些新的客户端库是非常新的
并且尚未经过实际测试
因此，请期待错误
可能会有一些
我们知道Unity SDK中

Korean: 
기존의 서버가 중요한 일들을
처리할 수 있도록 두면서
비행기표 구매와 같은 거요
이런 것들은 여전히
기존의 서버를 거쳐야 할 거예요
지금 제가 설명하는 걸 보시는 분들은
아마도 항공사를
운영하고 있지는 않으실 것 같아요
하지만 트레이딩 카드 게임인
MMO를 가지고 있으시다면
혹은 수 많은 데이터가 있는
롤플레잉 게임을 가지고 있으시다면
게임플레이 균형 설정이나
플레이어 프로필 혹은 뭐든지
클라이언트가 정기적으로
읽기를 원하는 것들이 있을 거예요
다시 말씀드리지만, 많은 클라이언트가
지속적으로 서버에 접근을 하는 거예요
그러니 Cloud Firestore를
전면에 배치하는 걸 고려해보세요
아시겠죠?
클라이언트가 데이터에 쿼리 작업을 하고
이는 Cloud Firestore에
보내지는 거죠
기존의 서버가 중요한 일들을
처리하도록 두면서요
플레이어 거래나 사용자 구매같은 거요
자, 제가 지금까지 설명드린 걸 보시면
Cloud Firestore로 작업을
시작하는 게 기대되실 거예요
그렇지만 Alpha 라벨에 대해
말씀을 드리고 싶네요
Cloud Firestore 백엔드 서비스가
한 동안 제공되고 있었죠
그리고 실제 제품의 앱에서
사용되기도 하고요
이러한 새로운 클라이언트 라이브러리들은
매우 새롭고 아직까지
테스트를 많이 하지 못했어요
그러니 버그가 있을 수 있죠
몇 가지가 있을 거예요
몇 가지 고급 기능에서

Spanish: 
mientras dejas que tu servidor heredado
se encargue de cosas importantes
como, por ejemplo, comprar un boleto,
cosas que probablemente requieran
pasar por ese servidor original.
Ahora, si has estado mirando
esta presentación,
supongo que no estás a cargo
de una aerolínea.
Pero quizás tengas un MMO,
un juego de cartas coleccionables
o un juego de rol
donde tienes una tonelada de datos,
ya sea la configuración
del equilibrio del juego
o perfiles de jugadores, o lo que sea,
que tus clientes vayan a querer leer
regularmente.
Y de nuevo, esos son muchos clientes
que constantemente
acceden a tus servidores.
Así que piensa en poner Cloud Firestore
al frente de esto, ¿sí?
Tus clientes pueden consultar los datos
que has enviado a Cloud Firestore
a la vez que liberan tu servidor original
para que se encargue de cosas importantes,
como transacciones de jugadores
o compras del usuario.
Ahora, habiendo dicho todo eso,
quizás estés muy entusiasmado
por empezar a compilar
con Cloud Firestore, pero quiero hablar
de esa etiqueta Alfa.
Aunque el servicio backend
de Cloud Firestore
existe desde hace bastante tiempo
y se usa en aplicaciones
de producción real,
estas bibliotecas de cliente nuevas
son muy novedosas
y aún no han sido sometidas a prueba.
Así que espera que haya errores.
Probablemente haya algunos.
Sabemos que faltan
algunas características avanzadas

English: 
while leaving your legacy server
to handle important things
like, say, purchasing a ticket,
stuff that probably still needs
to go through that
original server.
Now, if you've been
watching this presentation,
I'm guessing you don't
have an airline to run.
But maybe you do have an
MMO, a collectible card game,
or a role playing game where
you have a ton of data,
whether that's sort of gameplay
balance settings, or player
profiles, or what have you, that
your clients are going to want
to read in on a regular basis.
And again, that's a lot of
clients that are constantly
hitting your servers.
So consider putting Cloud
Firestore in front of that,
right?
Your clients can go
ahead and query the data
that you've pushed
to Cloud Firestore
while leaving your
original server
free to handle important
things, like player transactions
or user purchases.
Now, with all that
being said, maybe you're
super excited to start
building with Cloud Firestore,
but I do want to talk about
that Alpha label here.
While the Cloud Firestore
back-end service
has been around
for quite a while
and is used in real
production apps,
these new client
libraries are very new
and haven't really
been battle tested yet.
So expect bugs.
There will probably be some.
We know that some
advanced features

Portuguese: 
deixando os servidores herdados
para lidar com coisas importantes
como compra da passagens,
que ainda precisam passar
pelo servidor original.
Se você está assistindo,
imagino que não tenha uma companhia aérea.
Mas talvez tenha um MMO,
um jogo de cartões colecionáveis,
ou um RPG em que você tem
um monte de dados,
configurações de balanceamento do jogo,
perfil do jogador, ou o que for
que seus clientes
vão querer ler regularmente.
Tem muitos clientes
que acessam seus dados constantemente
Então considere colocar
o Cloud Firestore na frente.
Seus clientes podem consultar os dados
no Cloud Firestore
deixando seu servidor original
livre para lidar com coisas importantes
como transações de jogadores
ou compras de usuários.
Depois de ouvir tudo isso,
você deve estar empolgado
para usar o Cloud Firestore,
mas quero falar sobre esse rótulo Alfa.
O serviço de back-end do Cloud Firestore
já existe há algum tempo
e é usado em aplicativos em produção,
mas essas bibliotecas de cliente são novas
e ainda não foram exaustivamente testadas.
Vocês podem encontrar bugs,
devem haver alguns.

Korean: 
Unity SDK가 없는 것도 알고 있어요
더욱 정교한 쿼리 일부가 아직
이용 가능하지 않고요
숫자 변형과 같은 것들도
아직 지원되지 않아요
다음 몇 달간은 API 측면에서
변화가 있을 것이라고
예상되고요
그러니 언젠가는 방식을
바꿔야 할 때가 올 거예요
클라이언트 라이브러리를
업데이트할 때 말이죠
그러니 이러한 새로운 라이브러리를
시도해보시길 권장드려요
게임 인프라에 어떻게 맞는지 보시고요
그리고 후기도 꼭 남겨주시길 바랍니다
전체 비즈니스를 Cloud
Firestore 기반으로 옮기는 건
미뤄두시길 바랍니다
몇 달 정도는 더 있어야 할 거예요
이렇게 몇 가지 주의문으로 마무리하면서
소유하신 최신 게임에
Cloud Firestore를
사용하는 것에 대해 조금의
관심이라도 두게 되셨으면 좋겠네요
Cloud Firestore에 대한
더 많은 정보나
저희가 제공하는 다른 서비스에 대한
더 많은 정보를 보시려면
firebase.google.com/games에
가셔서 확인해보세요
언제나 그렇듯이, 시청해주셔서 감사해요

Spanish: 
en el SDK de Unity.
Algunas de las consultas más sofisticadas
todavía no están disponibles.
Y cosas como transformaciones numéricas
aún no son compatibles.
Y esperamos que la superficie de la API
cambie a lo largo de los próximos meses.
Así que tendrás que renombrar
tus métodos en cierto punto,
cuando actualices tus bibliotecas
de clientes.
Así que te recomiendo
que vayas empezando a probar
estas nuevas bibliotecas.
Mira cómo encajarían dentro
de la infraestructura de tu juego.
Y por supuesto,
déjanos tus comentarios.
Pero quizás debas esperar para mover
todo tu negocio a Cloud Firestore
hasta que llevemos unos cuantos meses.
Así que apartando ese molesto
aviso de responsabilidad,
espero que te hayamos generado
algo de interés
en usar Cloud Firestore
para tu último juego.
Si quieres saber más sobre Cloud Firestore
o cualquiera de los otros servicios
que brindamos,
visita firebase.google.com/games
y échales un vistazo.
Y como siempre, gracias por mirar.

English: 
are missing from the Unity SDK.
Some of the more sophisticated
queries aren't available yet.
And things like
numeric transforms
aren't supported yet.
And we fully expect that the
API surface will be changing
over the next few months.
So you are going
to have to rename
your methods at some point
when you update your client
libraries.
So I would encourage
you to start giving
these new libraries a try.
See how they would fit within
your game's infrastructure.
And of course, send us feedback.
But maybe hold off on moving
your entire business to a Cloud
Firestore based one until
we're a few more months along.
So with that scary
disclaimer out of the way,
I hope we've gotten
you at least a little
interested in using Cloud
Firestore in your latest game.
If you want to find out more
about Cloud Firestore or any
of the other services
we offer, head on over
to firebase.google.com/games
and check it out.
And as always,
thanks for watching.
[MUSIC PLAYING]

Chinese: 
缺少一些高级功能
一些更复杂的查询尚不可用
而且尚不支持数字转换
之类的功能
我们完全预计API的面貌
将在未来几个月内发生变化
在更新客户端库时
你将不得不在某个时候
为方法重新命名
我鼓励你开始尝试
这些新库
了解它们如何适合你的游戏基础架构
当然，请向我们发送反馈
但是，也许要等到几个月之后
才能将你的整个业务转移到
Cloud Firestore
因此，有了这个免责声明
我希望我们至少对你在最新游戏中
使用Cloud Firestore有一点兴趣
如果你想了解Cloud Firestore
或更多和我们其他服务的相关信息
请访问firebase.google.com/games
感谢收看

Japanese: 
欠けていることがわかっています
より洗練されたクエリのいくつかは
まだ利用できません
数値変換のようなものは
まだサポートされていません
APIサーフェスは今後数か月で
変化すると予想しています
クライアントライブラリを更新するときに
メソッドの名前を
変更する必要があります
これらの新しいライブラリを
お試しください
それらがゲームのインフラストラクチャに
どのように適合するかをご覧ください
フィードバックもお待ちしています
しかし数か月先まで
ビジネス全体を
Cloud Firestoreベースのビジネスに
移行することを控えるかもしれません
その恐ろしい免責事項は脇に置いて
最新のゲームで
Cloud Firestoreを使用することに
少し興味を持っていただければ幸いです
Cloud Firestore
または当社が提供する
その他のサービスの詳細は
firebase.google.com / gamesに
アクセスしてご確認ください
ご視聴に感謝します
ゲームを次のレベルへ
ゲーム用グーグルをさらに見る

Portuguese: 
Alguns recursos avançados ainda não foram
implementados no SDK do Unity.
Algumas consultas mais sofisticadas
não estão disponíveis.
E ainda não há suporte
para transformações numéricas.
E a superfície da API deve ser alterada
nos próximos meses.
Você vai precisar renomear os métodos
quando atualizar
as bibliotecas de cliente.
Sugiro que você comece a experimentar
essas novas bibliotecas.
Veja como se encaixam
na infraestrutura do seu jogo.
E envie seus comentários.
Mas espere alguns meses
antes de passar todo o seu negócio
para o Cloud Firestore.
Agora que já dei esse aviso,
espero que estejam interessados
em usar o Cloud Firestore no próximo jogo.
Se quiser saber mais
sobre o Cloud Firestore
ou algum dos serviços que oferecemos,
acesse firebase.google.com/games
e confira.
E, como sempre, obrigado por assistirem.
