Skip Menu |

This queue is for tickets about the DBD-Cassandra CPAN distribution.

Report information
The Basics
Id: 103831
Status: resolved
Priority: 0/
Queue: DBD-Cassandra

People
Owner: Nobody in particular
Requestors: thaljef [...] cpan.org
Cc:
AdminCc:

Bug Information
Severity: Wishlist
Broken in: (no value)
Fixed in: 0.51



Subject: Multi-Node Support
We have a Perl code base and are experimenting with Cassandra, so we were very happy to find this module on CPAN. Currently, we have a 3-node cluster running on Instaclustr.com. Judging from the source code, it appears that this module doesn't support connecting to multiple nodes and load balancing (say, via round-robin). Is that correct? If our experiment works out, we might have the resources to contribute multi-node support. But I'd love to hear that you've already got something in the pipe! Thanks again for putting this together. -Jeff
On Mon Apr 20 02:19:45 2015, THALJEF wrote: Show quoted text
> We have a Perl code base and are experimenting with Cassandra, so we > were very happy to find this module on CPAN. > > Currently, we have a 3-node cluster running on Instaclustr.com. > Judging from the source code, it appears that this module doesn't > support connecting to multiple nodes and load balancing (say, via > round-robin). Is that correct? > > If our experiment works out, we might have the resources to contribute > multi-node support. But I'd love to hear that you've already got > something in the pipe! > > Thanks again for putting this together. > > -Jeff
Hi Jeff, Always happy to hear someone is using my code. Multi-node support is indeed lacking. I have some initial plans to add it as part of a larger overhaul of the module, though those plans are currently low priority. Patches to solve immediate issues are, of course, welcome. The largest DBD::Cassandra deployment I'm currently aware of does the node selection before creating the dbh, giving them full control over which node gets selected. Would this approach work for your use case? Tom
Show quoted text
> The largest DBD::Cassandra deployment I'm currently aware of does the > node selection before creating the dbh, giving them full control over > which node gets selected. Would this approach work for your use case?
I thought of that -- some kind of wrapper around DBI that hands out different handles on a rotating basis. That could work for now. Would be nice to get seed information from the driver though. BTW, what would it take to support a timestamp type? As I understand it, Cassandra will take accept either and integer or an ISO8601 datetime and just do the right thing. So on the client, you could just pack that as an int or a string. You could be lazy about validation and just let Cassandra deal with it.
On Mon Apr 20 04:14:08 2015, THALJEF wrote: Show quoted text
>
> > The largest DBD::Cassandra deployment I'm currently aware of does the > > node selection before creating the dbh, giving them full control over > > which node gets selected. Would this approach work for your use case?
> > I thought of that -- some kind of wrapper around DBI that hands out > different handles on a rotating basis. That could work for now. Would > be nice to get seed information from the driver though.
Indeed. In our deployment that wouldn't work (firewalls etc) but I can see cases where this would be really helpful. I'll try to find a solution that works for everyone, because I agree there's some value in this. Show quoted text
> > BTW, what would it take to support a timestamp type? As I understand > it, Cassandra will take accept either and integer or an ISO8601 > datetime and just do the right thing. So on the client, you could just > pack that as an int or a string. You could be lazy about validation > and just let Cassandra deal with it.
I'll have a look, planning to get 0.09 released today. I may add timestamp support. Tom
On Mon Apr 20 04:25:14 2015, TVDW wrote: Show quoted text
> On Mon Apr 20 04:14:08 2015, THALJEF wrote:
> >
> > > The largest DBD::Cassandra deployment I'm currently aware of does > > > the > > > node selection before creating the dbh, giving them full control > > > over > > > which node gets selected. Would this approach work for your use > > > case?
> > > > I thought of that -- some kind of wrapper around DBI that hands out > > different handles on a rotating basis. That could work for now. Would > > be nice to get seed information from the driver though.
> > Indeed. In our deployment that wouldn't work (firewalls etc) but I can > see cases where this would be really helpful. I'll try to find a > solution that works for everyone, because I agree there's some value > in this. >
> > > > BTW, what would it take to support a timestamp type? As I understand > > it, Cassandra will take accept either and integer or an ISO8601 > > datetime and just do the right thing. So on the client, you could > > just > > pack that as an int or a string. You could be lazy about validation > > and just let Cassandra deal with it.
> > I'll have a look, planning to get 0.09 released today. I may add > timestamp support. > > Tom
More than a year later... multi-node support is now there and timestamps have been implemented a long time ago as well :-)