I need some basic understanding of google cloud as a whole.Supposing, I have an android app that will store user's contact,photo etc to cloud,in this case-
1.Which service should I use - google cloud storage or google drive ?
if I use google cloud storage, how do I do it? Is this how we make an app-engine backend using the Entity class with endpoint class, thereby saving it to cloud's schemaless NoSQL datastore? If I do so, is there any limit to storage space that an app can use?
2.If I use google drive,How do I do it? Should I first store the data in xml,then save it to google drive?
3.Whats the difference between appengine schemaless NoSQL datastore and cloudSQL,which is better for user's data storing.
4.Which is called the app engine app/backend- the android client app in device or the the backend module (with entity class,endpoint class etc) that is uploaded to cloud? What about the web front end (that is auto-generated by IDE), is it necessary?
With Google Cloud Storage you can upload/download a file, delete a file, obtain a list of files, or obtain the size of a given file. Google Drive, on the other hand, is used for storing personal files and it's free up to 15 GB across all your different personal services offered by Google.
At first glance, it seems that Google Drive is much cheaper. However, this statement is true only if you use the entire space. If a user pays for 1TB but uses only 30% of that space, then the rest amount that was paid is financially “lost”.
1.Which service should I use - google cloud storage or google drive ?
Google Cloud Storage is excellent for saving big blobs of data, such as photographs, and getting or serving them back. Google App Engine's Datastore is for smaller, more structured data (no more than 1MB per entity, so you see e.g many photos wouldn't fit there), with the ability to get them back in the future, totally or partially, via queries.
if I use google cloud storage, how do I do it? Is this how we make an app-engine backend using the Entity class with endpoint class, thereby saving it to cloud's schemaless NoSQL datastore? If I do so, is there any limit to storage space that an app can use?
Google Cloud Endpoints is good for this purpose, but the part of the data that's "big blobs" (such as photos and videos) should be stashed away in Cloud Storage, while in the datastore you would save just the names of the Cloud Storage objects thus created (for purposes of future retrieval), plus other less-huge, more-structure data (such as users' contact info).
Each single entity in the datastore must fit within 1 megabyte. There is no limit to the size of objects in Cloud Storage, nor are there any limits on the number of datastore entities an app can have, nor the number of Cloud Storage buckets and objects. Of course, you will pay for storage and access to it -- see https://cloud.google.com/storage/pricing for Cloud Storage, https://cloud.google.com/appengine/pricing#cost_resource for App Engine resources (including the datastore).
2.If I use google drive,How do I do it? Should I first store the data in xml,then save it to google drive?
Google Drive is "a filesystem in the cloud" -- you would use it when you need filesystem semantics, rather than just storing and retrieving big objects (that's what Cloud Storage is best at) or using the functionalities of a database (relational, like Cloud SDL, or not, like the GAE Datastore). Drive does not appear to be a strong fit for your needs in as much as you express such needs here.
3.Whats the difference between appengine schemaless NoSQL datastore and cloudSQL,which is better for user's data storing.
Cloud SQL is an implementation of MySQL and is recommended if you actually need relational database functionality, such as JOINs, or to simplify migration of an existing app already written to use a relational DB. If you don't need the relational DB's characteristics, Cloud Storage for big blobs, and GAE Datastore for structured dats, can be faster, and can be expanded without limits (while Cloud SQL does have a limit, currently 250 GB per instance by default, expandable to an absolute maximum of 500 GB by emailing [email protected]).
4.Which is called the app engine app/backend- the android client app in device or the the backend module (with entity class,endpoint class etc) that is uploaded to cloud? What about the web front end (that is auto-generated by IDE), is it necessary?
The term "back-end" is somewhat ambiguous and overloaded. GAE used to use it to refer to specific instances intended to deal with larger (batch-like) workloads, but that is now deprecated in favor of GAE modules
that offer you much more control.
In any case, the android client up will definitely not be "a back-end" to anything; it's definitely the front-end, interacting with the user (while the app engine app, interacting with whatever forms of storage you choose to use, will be the back-end to that android app).
If you're willing to restrict your users to the Android app only, not offering them any way to access their data from a browser, then it's not strictly necessary for you to offer a web "face" to your service. However it can be very simple to do, and empowering your users with more flexibility and choice is hardly a bad thing, isn't it? It's partly a generational thing, I suspect -- the ability to access your service from a larger screen and with a larger, more readable font, may be precious to more mature users, while millennials might care less about it.
Google cloud storage is not Google Cloud Datastore. Cloud storage is durable persistent storage for Blobs, Google Cloud Datastore is the NoSQL offering. Google Drive is usually not a good choice as backend storage for a mobile app.
Don't use Google Drive as your backend storage. It is not intended for structured data but as a cloud file system.
NoSQL datastore a.k.a. Google Cloud Datastore is NoSQL - schemaless, high availability storage, whereas Google Cloud SQL is a fully managed mySQL database running on Google's infrastructure.
I presume you are asking where your code is running. Google App Engine is the PAAS solution from Google extremely suited for this purpose.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With