It's a broad topic, but I mean all of the best practices alluded to by
writeups like this.

http://www.technicalinfo.net/papers/WebBasedSessionManagement.html

-Tupshin
On Jan 21, 2014 11:37 AM, "Drew Kutcharian" <d...@venarc.com> wrote:

> Cool. BTW, what do you mean by have additional session tracking ids?
> What’d that be for?
>
> - Drew
>
> On Jan 21, 2014, at 10:48 AM, Tupshin Harper <tups...@tupshin.com> wrote:
>
> It does sound right.
>
> You might want to have additional session tracking id's,  separate from
> the user id, but that is an additional implementation detail, and could be
> external to Cassandra.  But the approach you describe accurately describes
> what I would do as a first pass, at least.
>
> -Tupshin
> On Jan 21, 2014 10:41 AM, "Drew Kutcharian" <d...@venarc.com> wrote:
>
>> Thanks, I was actually thinking of doing that. Something along the lines
>> of
>>
>> CREATE TABLE user (
>>   id    timeuuid PRIMARY KEY,
>>   email    text,
>>   name    text,
>>   ...
>> );
>>
>> CREATE TABLE user_email_index (
>>   email  text,
>>   id  timeuuid,
>>   PRIMARY KEY (email, id)
>> );
>>
>> And during registration, I would just use LWT on the user_email_index
>> table first and insert the record and then insert the actual user record
>> into user table w/o LWT. Does that sound right to you?
>>
>> - Drew
>>
>>
>>
>> On Jan 21, 2014, at 10:01 AM, Tupshin Harper <tups...@tupshin.com> wrote:
>>
>> One CQL row per user, keyed off of the UUID.
>>
>> Another table keyed off of email, with another column containing the UUID
>> for lookups in the first table.  Only registration will require a
>> lightweight transaction, and only for the purpose of avoiding duplicate
>> email registration race conditions.
>>
>> -Tupshin
>> On Jan 21, 2014 9:17 AM, "Drew Kutcharian" <d...@venarc.com> wrote:
>>
>>> A shameful bump ;)
>>>
>>> > On Jan 20, 2014, at 2:14 PM, Drew Kutcharian <d...@venarc.com> wrote:
>>> >
>>> > Hey Guys,
>>> >
>>> > I’m new to CQL (but have been using C* for a while now). What would be
>>> the best way to model a users table using CQL/Cassandra 2.0 Lightweight
>>> Transactions where we would like to have:
>>> > - A unique TimeUUID as the primary key of the user
>>> > - A unique email address used for logging in
>>> >
>>> > In the past I would use Zookeeper and/or Astyanax’s "Uniqueness
>>> Constraint” but I want to see how can this be handled natively.
>>> >
>>> > Cheers,
>>> >
>>> > Drew
>>> >
>>>
>>
>>
>

Reply via email to