YouTube

Got a YouTube account?

New: enable viewer-created translations and captions on your YouTube channel!

Portuguese, Brazilian subtitles

← Datastore Commit Process - Developing Scalable Apps with Java

Get Embed Code
6 Languages

Showing Revision 7 created 06/20/2016 by Udacity Robot.

  1. Voltemos agora nossa atenção para
  2. o processo de confirmação do Datastore. Este processo descreve
  3. as regras de consistência para o armazenamento de dados. O Datastore
  4. tem dois modelos de consistência eventual e
  5. forte. Vamos vê-las mais
  6. detalhadamente. Neste diagrama de caso de uso temos
  7. três elementos: o seu aplicativo, a API do Datastore
  8. que o seu aplicativo chama e o back-end do Datastore,
  9. que realiza o trabalho com o qual o aplicativo não está envolvido.
  10. Quando o aplicativo quer armazenar uma entidade,
  11. ele realiza uma operação PUT na API do Datastore.
  12. O back-end do Datastore, então, escreve essa entidade em um
  13. log. Quando esse processo é concluído, o controle é devolvido
  14. ao aplicativo. Nesse momento, o back-end do
  15. Datastore prometeu escrever a entidade no Datastore.
  16. No entanto, observe que a entidade ainda não foi escrita.
  17. Ela foi escrita apenas em um log.
  18. O back-end do Datastore agora trabalha para
  19. fazer com que tudo fique consistente. Ele faz isso usando as
  20. informações de logon para atualizar o armazenamento da entidade e, em seguida,
  21. atualiza todos os índices. Observe que
  22. quando o controle é retornado ao aplicativo, talvez o Datastore
  23. ainda não tenha realizado todo o trabalho necessário para
  24. atualizar os dados. Isso é bom ou ruim?
  25. É bom porque significa que há menos
  26. latência no aplicativo. Mas a questão agora é:
  27. o que acontece no caso de uma consulta que
  28. retorna os dados que o aplicativo acabou de inserir
  29. no Datastore? Com a consistência eventual,
  30. a API do Datastore não esperará isso
  31. acontecer. Ela considera fazer a correspondência somente com os dados que já
  32. existem. Isto é, dados que já estavam no Datastore
  33. antes da chamada PUT. E, depois, ela
  34. retorna esse resultado. Daí o nome
  35. consistência eventual. As consultas são eventualmente consistentes com as
  36. operações PUT realizadas em direção à API do Datastore.