Horizontal sharding support.
Defines a rudimental ‘horizontal sharding’ system which allows a Session to distribute queries and persistence operations across multiple databases.
For a usage example, see the Horizontal Sharding example included in the source distribution.
sqlalchemy.ext.horizontal_shard.
ShardedSession
(shard_chooser, id_chooser, query_chooser, shards=None, query_cls=<class 'sqlalchemy.ext.horizontal_shard.ShardedQuery'>, **kwargs)¶Bases: sqlalchemy.orm.session.Session
__init__
(shard_chooser, id_chooser, query_chooser, shards=None, query_cls=<class 'sqlalchemy.ext.horizontal_shard.ShardedQuery'>, **kwargs)¶Construct a ShardedSession.
Parameters: |
|
---|
sqlalchemy.ext.horizontal_shard.
ShardedQuery
(*args, **kwargs)¶Bases: sqlalchemy.orm.query.Query
set_shard
(shard_id)¶return a new query, limited to a single shard ID.
all subsequent operations with the returned query will be against the single shard regardless of other state.