On 23/03/11 08:17, Anurag Priyam wrote:
On Sun, Mar 20, 2011 at 8:12 PM, Anurag Priyam<[email protected]>  wrote:
[...]
I am interested in implementing native sharding support in libdrizzle,
and would like to take it up as a summer of code project. I want to
start right away, slowly at first, getting familiar with Drizzle, and
then fleshing out the details. Or should I first take a stab at
low-hanging-fruits just to get started with the project. Andrew?

I was going through existing resources on sharding support for
Drizzle. There have been extensive discussion on the API[1][2].
However, I am unable to understand is "when does" drizzle actually
partitions the data across multiple shards. Does it happen when
writing to the database? Something like memcached?

Correct.

Say:
- I have a pool of connection to multiple drizzle servers, say
d1.yeban.in, d2.yeban.in
- query = "INSERT INTO Users VALUES (4, 'Anurag", 'Priyam');"
- now when I do something like $drizzle.sharded_query(key, query),
depending on the sharding implementation, the query will be routed to
the appropriate drizzle server
- so, after 1000 writes some values are in d1.yeban.in, while others
in d2.yeban.in

Am I write in understanding this? And if this be the case what happens
when d2.yeban.in goes done? Is that take care of by some kind of
master-slave replication?

That is correct. If you look at phase 2 and 3 from the below, that was my initial ideas for handling failure, but I'm interested in feedback:

[2] https://blueprints.launchpad.net/drizzle/+spec/libdrizzle-sharding-phase1

Kind Regards
--
Andrew Hutchings - LinuxJedi - http://www.linuxjedi.co.uk/

_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to