Google App Engine

Is anyone doing a project involving GAE?

Would love to hear of some existing projects!

My understanding is that Rails 3 Datamapper will be a much, much better fit for Datastore?

Is anyone doing a project involving GAE?

Would love to hear of some existing projects!

My understanding is that Rails 3 Datamapper will be a much, much

better fit for Datastore?

In Rails 3.0, ActiveRecord is moving to a more database agnostic approach by the use of ActiveModel.

Thus, one will be able to use any ORM or object store that supports the ActiveModel API. Now, in

regards to DataMapper and GAE, DataMapper is an ORM similar to ActiveRecord but it interfaces with

a non-relational database called BigTable. It’s a key value store and indexes are automatically created

for you. Furthermore, the notion of joins are not supported but optimistic transactions are supported

within the BigTable. Last but not least, GAE automatically scales your application for you and the 5

million or so page views are free per month. I would recommend playing with the various technologies

and learning what works best for your project.

Good luck,

-Conrad

Thanks Conrad

Am very interested in using BigTable, since I think GAE is a platform I'd like to commit to (automatic scaling is a huge plus for me)

Just trying to envisage what how a non-relational ActiveRecord will bahave.... or whether the differences will be transparent.

Awesome :slight_smile:

Thanks Conrad

Am very interested in using BigTable, since I think GAE is a platform I'd like to commit to (automatic scaling is a huge plus for me)

I think it's Headius (Charles Nutter) who has a blog post on how to get Rails running on GAE. Have you read his post? Basically, although it is possible, it seems to me that GAE is not a great platform for Rails due to things like its hard 1000-file limit.

If you need automatic scaling for Rails, why not try Heroku? That also gets you PostgreSQL instead of a non-relational DB.

Just trying to envisage what how a non-relational ActiveRecord will bahave.... or whether the differences will be transparent.

Best,

Heroku seems quite expensive... the $50 Crane recommended for small business apps quickly becomes $158 when you follow their recommended number of Dynos. And there is no mention of bandwidth costs. Meanwhile GAE is offering 5million page views free per month.

With BigTable.... I think there would be a considerable amount of re- thinking needed to get Rails to use it effectively.

From what I've read, Google app engine wont necessarily scale well if you blindly attempt to use it in a similar fashion as relational databases

GAE is not a great platform for Rails due to things like its hard 1000-file limit

yeah I'm not sure about that limit.... if it's relating to project files, that's not so bad.... but I assume gernal website assets and user content is in some way separate, or can be done through s3 etc

Hi ALL, you can find a really good comparison here:

http://rrees.wordpress.com/2009/10/08/heroku-versus-gae-gaej/

Good luck,

-Conrad

With BigTable… I think there would be a considerable amount of re-

thinking needed to get Rails to use it effectively.

From what I’ve read, Google app engine wont necessarily scale well if

you blindly attempt to use it in a similar fashion as relational

databases

GAE is not a great platform for Rails due to things like its hard 1000-file limit

yeah I’m not sure about that limit… if it’s relating to project

files, that’s not so bad…

Yes it is. Remember that you need to put Rails in your vendor directory

to host it on GAE. That’s 1556 files right there (for 2.3.4), and

you’re over the limit without any actual app code. Headius was only

able to get Rails on GAE by removing framework files.

You can actually package all your gems including rails into a single jar

file to work around this issue. Also, Google has provided tools to simply

do just that.

-Conrad

Conrad Taylor wrote:

>

You can actually package all your gems including rails into a single jar file to work around this issue.

Will that actually work, or does GAE unzip the JAR before counting files?

Also, Google has provided tools to simply do just that.

I'll look at that. Got a link handy?

-Conrad

Best,

Conrad Taylor wrote:

> You can actually package all your gems including rails into a single jar > file to work around this issue.

Will that actually work, or does GAE unzip the JAR before counting files?

Yes, this does actually work because all gems get installed into the servlet container as gems.jar. Thus, everytime you install a gem it gets inserted into gems.jar using the following command:

appcfg.rb gem install [ <gem-name> ]+ // install one of more gems into the servlet container

For example, appcfg.rb gem install rails dm-appengine rails_datamapper

Next, all .rb files gets transformed into .class files to actually run on the servlet container. Last but not least, there are about 3 other jar files which are required by GAE and you'll be using 4 jar files total which are not unzipped by GAE.

> Also,Googlehas provided tools to > simply > do just that.

I'll look at that. Got a link handy?

http://rails-primer.appspot.com