There were some useful replies to this other, similar thread, also
posted by an Andy ;-)

http://groups.google.com/group/google-appengine-python/browse_thread/thread/80a44f96c623c964

On Jan 18, 3:51 pm, "Nick Johnson (Google)" <[email protected]>
wrote:
> Hi Andy,
>
> On Mon, Jan 4, 2010 at 8:08 PM, Andy <[email protected]> wrote:
> > I'm new to sharding and am a little stuck on how to implement the toy
> > problem below.  Basically I have a many-to-one relationship between a
> > Company and Employees, and I want shards which are partitioned
> > according to company name.  My naive approach is to replicate and
> > rename the tables.
>
> >   (1) Is there a better approach?
> >   (2) How do I switch context effectively to use the correct
> >          my request handlers?
>
> Why do you want to shard your tables at all?
>
> -Nick Johnson
>
>
>
>
>
>
>
> > Thanks!
> > Andy
>
> > # (from my models.py)
> > #  # I start with these two models, then shard by company
> > #  class Company(db.Model):
> > #     name=db.StringProperty(required=True)
> > #
> > #  class Employee(db.Model):
> > #     lastname=db.StringProperty(required=True)
> > #     company=db.ReferenceProperty(Company,
> > collection_name='employees')
>
> > # Company 'Foo' and it's employees
> > class Company_Foo(db.Model):
> >   name=db.StringProperty(required=True)
>
> > class Employee_Foo(db.Model):
> >   lastname=db.StringProperty(required=True)
> >   company=db.ReferenceProperty(Company_Foo,
> > collection_name='employees')
>
> > # company 'Bar' and it's employees
> > class Company_Bar(db.Model):
> >   name=db.StringProperty(required=True)
>
> > class Employee_Bar(db.Model):
> >   lastname=db.StringProperty(required=True)
> >   company=db.ReferenceProperty(Company_Bar,
> > collection_name='employees')
>
> > # (from my handlers.py)
> > # other imports here
> > from models import *      # potentially hundreds of model shards!?
>
> > def MyHandler(webpp.RequestHandler):
> >   def post(self):
> >      company_id=get_from_request(self)
> >      if company_id == 'Foo':
> >           my_emp=Employee_Foo.gql(...)
> >      else:
> >           my_emp=Employee_Bar.gql(...)
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google App Engine" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> > [email protected]<google-appengine%2Bunsubscrib 
> > [email protected]>
> > .
> > For more options, visit this group at
> >http://groups.google.com/group/google-appengine?hl=en.
>
> --
> Nick Johnson, Developer Programs Engineer, App Engine
> Google Ireland Ltd. :: Registered in Dublin, Ireland, Registration Number:
> 368047
-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine?hl=en.


Reply via email to