GWT - what type of database? - database

A GWT project with a few combo boxes and a button. When I click the button I need to use "if" for each combo box and depending on the answer for each one I want to get some data from a database and use it for a formula. The problem is I don't know how to create the database for the GWT project. I need to use a free one. Also maybe it is important to the question that I want to deploy the GWT project to App Engine.
I could not figure out what type of database I should use. I've read about Google Cloud SQL, but the thing**strong text** is that you have to pay for it. The other option seems to be App Engine Datastore, but I couldn't actually figure out how it should work for my project.

You can start with the App Engine documentation of different storage options:
https://developers.google.com/appengine/docs/java/storage
Datastore on App Engine has a free quota, after which you have to pay for data and transactions.

Related

Access BigQuery table in Dash App deployed on Google App Engine

I am deploying a Plotly Dash app on Google App Engine but meet some difficulties. The data source to be queried in the dashboard is a Bigquery table, whose content is changing. I hope that the data in the App can always be the latest.
What I tried is at the beginning of the main.py code, I read in the table from Bigquery by Bigquery Python API, but after the App being deployed onto GAE, I found the data was fixed; even I deleted the Bigquery table, the App was not affected. May I know what is the correct way to get data from BigQuery to App Engine? Thanks.
How to connect to BigQuery from GAE using Python might be a bit more of a task than a single question can answer, but here are some hints:
Everything Google Cloud can (in my opinion) be best understood through the repositories on Github. For instance, the python docs samples contain several examples, out of which I think the client example is probably the easiest and most basic. Bigquery Python Samples are here. That will basically answer your question, except for a few gotchas I will mention.
You will of course need to download the client library to do development on a local environment. That is straightforward, but if something seems not to be working make sure you have enabled the API service account for your project--that can be a little confusing.
Something that is critically important to remember is that your GAE app will not be able to easily communicate with BigQuery if it is in a different region, and, in fact, once you set up a GAE app you cannot move or delete it! So, do pay attention to what you are doing as you set up, and if you have a locations mismatch you will need to migrate your BQ instance to the matching location.

Is there a way to interactively create a new Datastore entity kind for Go GAE apps?

Is there a way to create a new Datastore entity kind via some interactive means for Go App Engine apps? The datastore viewer won't let me add new entity kinds, and the interactive console doesn't seem to support Go.
I'm trying to upload some configuration data to datastore, including sensitive data that I don't want to appear in code. So far the best method I can come up with is to write some code to write an empty configuration entity, deploy, run, then use the datastore viewer to set the values.
Thanks in advance.
You absolutely can add new Entity Kinds in the Console.
In the Cloud Console, Click on the Datastore menu item, then 'Create an Entity'. Handy link, just select your project name
Then in the Kind field, just type in your desired Kind name.
First of all your code is safe at AppEngine - nobody can download it. At least nobody outside of Google. You can deploy it to a dedicated version/module and restrict usage to yourself (check current user, ask pass-phrase, etc in your code).
Second you can use Remote API - this way you do not upload any code to AppEngine. You can create entities remotely as you wish using secure HTTPS connection.

Google Cloud Storage Bucket Backups/Restores

Does anyone have backup/restore knowledge with Google Cloud Storage Buckets?
I have just created my first Project and first Bucket. Now I'd like to test backing up and restore, but I am being told to look for a 'Data' menu item in the left hand navigation section, within the Google Developers Console. There is no such 'Data' menu section at this time.
Has anyone used this technology before? I have an application that uploads files into a bucket, and now I need a backup strategy.
Any insight would be appreciated.
Thanks.
It isn't entirely clear from your question but I assume you want to back up the datastore from your app engine project to a GCS bucket.
You can do this with the old app engine console. On the left side there is a link Data->Datastore Admin. After clicking this you will see an option to backup the datastore to a bucket.
The new app engine console likely has this functionality as well but I still use the old one because I like it better and it has faster response.

Google Cloud Datastore and reports/administration

I'm quite new to Google App Engine and it's cloud Datastore which is used for storing the backend's data by default. As far as I realized you can only view it's content within the developer console and you can create or edit entities there.
But is there any external tool from which you can connect to your datastore to create reports or administer the data? What is your experience?
In fact yes it's true you can only see data's from the admin console.
If you wish to see your data's in Google Drive Table and make a report you can, but for that you need to create a connector to your sheet (I already made one). It's exactly the same if you need update or import data's to your datastore.
I use this Technic to upload or refresh products on my e-shop GAE app.
In general if I need to see a report, I design a specific web page for that and I protect theme via a login / password. To see a well formatted report you can use jquery library or use Google Charts

Scaling AppEngine applications

I've been thinking lately about the pros and cons of using AppEngine.
My concern would be, when we create application for GAE, the front-end code (the UI stuff) is served from the same application instance in the GAE cloud as with the Datastore codes.
The question would be when my applications grows:
For GAE:
Do I need to create multiple instance of my application?
If so, what do I need to manually update all instances?
For Appscale:
Do I also need to create multiple instance of my application?
If so, what do I need to manually update all instances?
GAE starts new frontend instances automatically, you even can't create or update frontend instances. You just need to configure min/max latency, min/max idle instances in Application Settings. See docs for performance settings
Btw, there are also Backend Instances that can be Resident and started manually from Admin Console. But it's useful only when you need something very specific
You seem to have missed the whole point of AppEngine, which is that Google takes care of scaling your app for you automatically. You seem to be confusing 'instance' with 'version' - you have control over which version of your app is serving, but Google dynamically creates and kills instances of that app depending on load. That's the main benefit of using AppEngine in the first place.

Resources