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 >> > >