You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shardingsphere.apache.org by Eric <et...@gmail.com> on 2019/07/19 21:21:10 UTC

How to apply sharding on all tables globally by using proxy

Hi,

I am trying to apply sharding on all tables on the same key column exists
on all tables. The objective is evenly distribute the records on several
database instances. For example, even no. records on one server. After
trying around several hours, seems it's not possible to define database
sharding strategy bases on table column without table name nor by using
wildcard table name in yaml. I need it because the tables are dynamically
generated which I don't know the table names in advance. Please give me
some hints if someone knows hot to define global database sharding
strategy on all tables by using a key column?

Besides, I tried that the engine will randomly route the query to the
datasources if no sharding rule defined in yaml. Is it possible to
broadcast the query to all datasources if no sharding rule find? I can't
use broadcastTables for the same reason which tables are dynamically
generated.

Very appreciate for your help.

Regards,
Eric Poon

Re: How to apply sharding on all tables globally by using proxy

Posted by Eric <et...@gmail.com>.
Hi Sion,

Thank you very much for your prompt feedback. Please consider it as a
future feature. It can be very useful when there are a lot of tables or
similar to some auto sharding applications.

Regards,
Eric Poon

On Mon, Jul 22, 2019 at 9:20 AM Sion Yang <sc...@163.com> wrote:

> Hi Eric Poon,
>
>
> ShardingSphere requires users to configure which tables need to be shard
> currently.
> If there are no sharding-rule for sharding tables, ShardingSphere will use
> default-datasource
> to execute it. So it should not work with dynamic table names for now.
>
>
> --
>
> Yi Yang(Sion)
> Apache ShardingSphere
>
>
>
> At 2019-07-20 05:21:10, "Eric" <et...@gmail.com> wrote:
> >Hi,
> >
> >I am trying to apply sharding on all tables on the same key column exists
> >on all tables. The objective is evenly distribute the records on several
> >database instances. For example, even no. records on one server. After
> >trying around several hours, seems it's not possible to define database
> >sharding strategy bases on table column without table name nor by using
> >wildcard table name in yaml. I need it because the tables are dynamically
> >generated which I don't know the table names in advance. Please give me
> >some hints if someone knows hot to define global database sharding
> >strategy on all tables by using a key column?
> >
> >Besides, I tried that the engine will randomly route the query to the
> >datasources if no sharding rule defined in yaml. Is it possible to
> >broadcast the query to all datasources if no sharding rule find? I can't
> >use broadcastTables for the same reason which tables are dynamically
> >generated.
> >
> >Very appreciate for your help.
> >
> >Regards,
> >Eric Poon
>

Re:How to apply sharding on all tables globally by using proxy

Posted by Sion Yang <sc...@163.com>.
Hi Eric Poon,


ShardingSphere requires users to configure which tables need to be shard currently. 
If there are no sharding-rule for sharding tables, ShardingSphere will use default-datasource
to execute it. So it should not work with dynamic table names for now.


--

Yi Yang(Sion)
Apache ShardingSphere



At 2019-07-20 05:21:10, "Eric" <et...@gmail.com> wrote:
>Hi,
>
>I am trying to apply sharding on all tables on the same key column exists
>on all tables. The objective is evenly distribute the records on several
>database instances. For example, even no. records on one server. After
>trying around several hours, seems it's not possible to define database
>sharding strategy bases on table column without table name nor by using
>wildcard table name in yaml. I need it because the tables are dynamically
>generated which I don't know the table names in advance. Please give me
>some hints if someone knows hot to define global database sharding
>strategy on all tables by using a key column?
>
>Besides, I tried that the engine will randomly route the query to the
>datasources if no sharding rule defined in yaml. Is it possible to
>broadcast the query to all datasources if no sharding rule find? I can't
>use broadcastTables for the same reason which tables are dynamically
>generated.
>
>Very appreciate for your help.
>
>Regards,
>Eric Poon