google-app-enginegoogle-cloud-storagegoogle-cloud-sqlgoogle-cloud-datastoreshared-data

Make an Android+ios+web app with profiles like facebook, using google cloud services


I am working on a project which needs to store profiles of people on the cloud.

Information includes multiple photos and multiple text fields. I don't need Messaging.

There is lot if confusion in the documentation provided Google Cloud Services. I am confused about what storage services should I opt for out of the 3:

1-Google Cloud Services, 2-Google Datastore, 3-Google Cloud SQL

So the the things i need to confirm are:

0.Is there a storage limit on using Google cloud SQL?

1.Does Google Cloud Storage and Google cloud Datastore provide unlimited storage?

2.Can an Android user write data on the cloud. I heard from some where that the applications only have access to read the data and the developer needs to put the data as blob on the cloud him self when using Google Cloud Services. Is this fact true for all the 3 storage services.

3.Is the data fully 'Sharable'+'Searchable'?

In other words:

If an Android user stores data in cloud in Google Datastore(text)+Google Cloud Storage(image), can this data be accessed by another android user without any headache of permissions or authentication(after I authenticate my app/app-engine)?

4.Is it the best option to store the images in Google Cloud Storage and their URLs in Google Datastore?

5.Does all the three storage services need app-engine to work?

6.Are any limitations on each of these services?


Solution

  • (0) Cloud SQL has currently a limit of 250Gb.

    (1) With regards to Cloud Storage, there isn't a limit you could reach.

    (2) and (3) They're not created for easiness of searchability. They should be accessed through applications, that are authorized, i.e. is not a substitute to Google Drive or Dropbox.

    If you're the owner of the project, you can "browse" the contents of your Cloud Storage, but it's not meant for that.

    Furthermore, objects in Cloud Storage can't be modified once created. A change needs to create a new copy of the object.

    (4) It's a good idea, and something is used by many developers who have their applications in Google App Engine.

    (5) No, they can exist without you using Google App Engine, but as I said earlier, you'd probably need an "application" to allow your Web/Android users to interact with the data, and there's where GAE comes handy.

    (6) Yes, your budget.

    If you provide a more detailed use case, I could tell you what you'd need to do to get it done with the whole array of Google Cloud products.