Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can I use a MySQL database with an App Engine application

I know that App Engine has its own datastore. This is great for most cases and fairly easy to used. However, we have a MySQL database that we use for several applications and not all of them are Web based. We want to use App Engine for many reasons, but would like to have the App Engine application access our MySQL database. The documentation I've found doesn't clearly state whether I can do this or not. Has anyone done it or have pointers to documents that show how to do it?

like image 466
GPollice Avatar asked Oct 30 '09 18:10

GPollice


People also ask

Is MySQL used in app development?

An open-source relational DBMS, MySQL is a fully managed database service used to deploy cloud-native apps.

Can I use MySQL for mobile app?

Then the answer is yes. MySQL will do fine as would PostgreSQL or NoSQL databases. It all boils down to your app requirements and an effort on your part to tune the database to that requirements.

Can App Engine Standard connect to on Prem database?

Because App Engine and Compute Engine use the same networking infrastructure, you can use the VPN connection to establish a connection between the App Engine app and your on-premises database using the database server's internal IP address.

Can I host MySQL on Google Drive?

You can use Cloud SQL to host your MySQL database in Google's cloud, and let Google Cloud handle administrative duties like replication, patch management, and database management. Cloud Marketplace provides a simple click-to-deploy interface that makes it easy to install MySQL onto a Compute Engine instance.


2 Answers

Google recently announced support for Cloud SQL in GAE - http://googleappengine.blogspot.com/2011/10/google-cloud-sql-your-database-in-cloud.html

like image 133
Uday Shanmugam Avatar answered Oct 04 '22 09:10

Uday Shanmugam


You cannot create a direct network connection to your database. The overview page outlines the major restrictions that would stop you from using Mysql - the major one in this case being "arbitrary network connections". You can only make http(s) calls from within app engine.

The JVM runs in a secured "sandbox" environment to isolate your application for service and security. The sandbox ensures that apps can only perform actions that do not interfere with the performance and scalability of other apps. For instance, an app cannot spawn threads, write data to the local file system or make arbitrary network connections. An app also cannot use JNI or other native code. The JVM can execute any Java bytecode that operates within the sandbox restrictions.

like image 22
Peter Recore Avatar answered Oct 04 '22 09:10

Peter Recore