[Neo] neo at GAE ?

Solomon (Sung) Wu (solowu) solowu at cisco.com
Thu May 7 17:02:55 CEST 2009


Hi Johan,
You are totally right that AppEngine may be running on different instance, so each request may be in different memory space.  AppEngine have a memcache service, perhaps that might be useful?  
http://code.google.com/appengine/docs/java/memcache/overview.html
"If many requests make the same query with the same parameters, and changes to the results do not need to appear on the web site right away, the app can cache the results in the memcache. Subsequent requests can check the memcache, and only perform the datastore query if the results are absent or expired."

However, the tricky part is that the cache data may not be always available.  
"Values can expire from the memcache at any time, and may be expired prior to the expiration deadline set for the value."  "Under rare circumstances, values may also disappear from the cache prior to expiration for reasons other than memory pressure."

Also, the memcache has a quota limit: http://code.google.com/appengine/docs/quotas.html#Memcache

Regarding suggestions on how to store graph data in appengine datastore, I guess we'll have to know a bit more about neo4j data structure and optimization.  Are there documents talking about that?


-----Original Message-----
From: user-bounces at lists.neo4j.org [mailto:user-bounces at lists.neo4j.org] On Behalf Of Johan Svensson
Sent: Tuesday, May 05, 2009 10:48 AM
To: Neo user discussions
Subject: Re: [Neo] neo at GAE ?

Yes,

I spent some time yesterday looking up GAE and also concluded we have to use the datastore:

    http://code.google.com/appengine/docs/java/javadoc/com/google/appengine/api/datastore/package-summary.html

Thought some about different layouts for storing nodes,relationships and properties that could work. Tried to find some information about latency/speeds and the like but didn't find much so any information here would be helpful. However, looks like people do have problems working with the datastore:

http://groups.google.com/group/google-appengine/browse_thread/thread/9f05757be0d27f92/edc718edfdb0432d?show_docid=edc718edfdb0432d

http://www.mail-archive.com/google-appengine@googlegroups.com/msg12451.html

Since every request made to your app potentially can land on a new fresh JVM on some other server (as I understand it) you can't keep any state cached at all. Each request has to be served by pulling data from the datastore (and if a write operation write the changes back).
This makes design and usage of the datastore very important.

If anyone has suggestions on how to store nodes,relationships and properties in their datastore please do tell.

-Johan

On Tue, May 5, 2009 at 6:36 PM, Solomon (Sung) Wu (solowu) <solowu at cisco.com> wrote:
> I would be interested to know how neo4j works on AppEngine, too.  :) 
> Since Appengine does not offer file system, sounds like one has to map neo4j data to GAE datastore.
>
> -----Original Message-----
> From: user-bounces at lists.neo4j.org 
> [mailto:user-bounces at lists.neo4j.org] On Behalf Of Peter Neubauer
> Sent: Sunday, May 03, 2009 11:28 PM
> To: Neo user discussions
> Subject: Re: [Neo] neo at GAE ?
>
> Cool,
> please let us know of any success or experiments there, I am interested too!
>
> /peter
>
> 2009/5/4 ஸ்ரீராம் கீர்த்தி <sriramkeerthy at gmail.com>:
>> I am trying to get Neo work in GAE (it doesn't allow new file
>> creations) Actually someone called Erick <efleming969 at gmail.com> had 
>> posted in GAE forums that he is running an embedded neo4j instance in 
>> GAE. I have mailed Erick on how he did it and waiting for his reply - 
>> http://groups.google.com/group/google-appengine-java/browse_thread/th
>> r
>> ead/da2b23756f65d6a9/95fd65ead06ee6ed?lnk=raot&fwc=1&pli=1
>>
>> - keerthy
>>
>> On Mon, May 4, 2009 at 8:04 AM, Michael Hunger <neo at jexp.de> wrote:
>>
>>> Team,
>>>
>>> thanks for the new release. Will certainly look into it.
>>> As it is quite hyped at the moment and with the prospect of infinite 
>>> scalability - are there any plans to make neo run on google app 
>>> engine? Perhaps using GFS / BigTable as backing storage? Or create a 
>>> Virtual File System and work on that?
>>>
_______________________________________________
Neo mailing list
User at lists.neo4j.org
https://lists.neo4j.org/mailman/listinfo/user


More information about the User mailing list