Permalink
Browse files

Sight gags.

  • Loading branch information...
1 parent 91333aa commit df0c3122685f07e2294d865cef9fac57af9ca21f @therealadam committed Aug 12, 2011
View
@@ -1,6 +1,10 @@
-<!SLIDE>
+<!SLIDE center>
-# Cassandra at Gowalla
+# Chronologic and Cassandra at Gowalla
+## Adam Keys
+### @therealadam
+
+![logo](chronologic.png)
<!SLIDE bullets incremental>
@@ -49,6 +53,9 @@
- Operate with full consistency
- Do any of this across racks or datacenters
+<!SLIDE full-page center>
+![lol](CorgiHaters.jpg)
+
<!SLIDE>
# Why are we using Cassandra?
@@ -45,6 +45,9 @@
@@@ sql
drop keyspace ImportantStuff;
+<!SLIDE full-page center>
+![lol](ec77d9f5-fb71-4db6-8090-29b5b56d290e.jpg)
+
<!SLIDE center>
# Keys and Blobs
@@ -104,6 +107,10 @@
<!SLIDE center>
+<!SLIDE full-page center>
+![lol](KermitConfused.png)
+
+<!SLIDE center>
# Graphs!!!!
<!SLIDE code>
@@ -243,3 +250,5 @@
@@@ sql
get Users where admin='true' and age > '18';
+<!SLIDE full-page center>
+![lol](pyramid-jumbo.jpg)
@@ -1,8 +1,10 @@
<!SLIDE center>
# Chronologic
-
## A service for storing event data, related objects, social graphs, and assembling it into activity feeds.
+<!SLIDE center>
+![logo](chronologic.png)
+
<!SLIDE center bullets incremental>
# Events and object references
- People generate events (statuses, checkins, photos, TPS reports, etc.)
@@ -44,26 +46,46 @@
- Chronologic app is implemented in Sinatra
- Chronologic talks to a Cassandra cluster via Thrift
-<!SLIDE center bullets incremental>
+<!SLIDE full-page center>
+![lol](roflbot-JmlA.jpg)
+
+<!SLIDE center>
# Internals
+<!SLIDE center bullets>
+
- `Objects` stores replicated data as key/blob pairs, though this may
change to leverage secondary indexes
+
+<!SLIDE center bullets full-page>
+![keys_and_columns](keys_and_columns.jpg)
+
+<!SLIDE center bullets>
- `Subscriptions` maps timelines that are consumed as feeds to timelines
that are written to by events. It also includes a backlink to do basic
privacy checks. The storage structure maps subscriber keys to consumer
timeline/user key pairs.
-<!SLIDE center bullets incremental>
-# Internals
+<!SLIDE center bullets full-page>
+![simple_graphs](simple_graphs.jpg)
+
+<!SLIDE center bullets>
- `Events` stores all events as key/column structures. Each event stores
blobs for event attributes, timelines, and referenced objects. A
timestamp is also stored and used to generate index keys.
+
+<!SLIDE center bullets full-page>
+![key_and_blobs](keys_and_blobs.jpg)
+
+<!SLIDE center bullets>
- `Timelines` are indexes that map a feed to a series of events. Each
key represents one timeline; the column name/value pairs map sortable
timestamps (as stored in the event) to a key into the `Events` CF.
+<!SLIDE center bullets full-page>
+![timeline_indexes](timeline_indexes.jpg)
+
<!SLIDE center bullets incremental>
# Internals
@@ -81,6 +103,9 @@
case, `Timelines` is read again to find events on the timeline for the
event with subevents.
+<!SLIDE full-page center>
+![lol](Screen shot 2010-05-14 at 2.28.46 PM.png)
+
<!SLIDE center bullets incremental>
# Object API
@@ -35,6 +35,10 @@
<!SLIDE center>
+<!SLIDE full-page center>
+![lol](tumblr_l6v7a4Potn1qa77fso1_500.jpg)
+
+<!SLIDE center>
# Event fanout
<!SLIDE code>
@@ -106,7 +110,6 @@
pp feed['items'].first
<!SLIDE center>
-
# Events reference objects
<!SLIDE code>
@@ -244,3 +247,6 @@
feed = connection.timeline("friends:mt")
pp feed['items'].first
+
+<!SLIDE full-page center>
+![lol](tumblr_l85hq0giwW1qaaf7to1_500.jpg)
View
@@ -15,3 +15,9 @@
- Sexyback: replace Redis with Cassandra for great win
- Become the John Nunemaker of Cassandra
- More distributed databases, fewer replicated/sharded databases
+
+<!SLIDE full-page center>
+![lol](tumblr_l9zohiDZih1qa77fso1_500.jpg)
+
+<!SLIDE center>
+# THANKS!
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit df0c312

Please sign in to comment.