Talks
Speakers
Events
Topics
Search
Sign in
Search
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
search talks for
⏎
Suggest modification to this talk
Title
Description
The need to maintain social activity feeds is an increasingly useful thing in a variety of software. Whether its a project management app or a social site, many kinds of software can make use of a list of events that have happened in the system, filtered for each user and listed in reverse chronological order. However, this sort of data presents many storage and privacy challenges. Gowalla has built Chronologic to meet all these needs. Chronologic is an application built for dealing with events, timelines, and pushing those events to the right subscribers. It is a general service for dealing with activity feeds. On top of that, it implements privacy, a flexible follow model, and the ability to fetch incremental updates to a feed. Chronologic is built with Ruby, Sinatra, and Cassandra. We'll show how this trio played nicely together and how it could be improved. Most importantly, we'll show how to get started with Chronologic, how to adapt it to your own application, and how to deploy it in your datacenter. Help us caption & translate this video! http://amara.org/v/FGds/
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
In the video titled "Chronologic and Cassandra at Gowalla," Adam Keys discusses the development and functionality of Chronologic, an activity feed database built using Cassandra, Ruby, and Sinatra. The presentation covers the challenges and advantages of maintaining social activity feeds across various software applications while addressing concerns regarding storage and privacy. ### Key Points Discussed: - **Introduction to Cassandra**: Keys explores what Cassandra is, describing it as a hybrid of distributed hash tables and column-oriented databases, emphasizing its masterless design and resilience against node failures. - **Data Structure and Flexibility**: He explains how Cassandra handles keys and values, hashes, sorted sets, and counters, providing flexibility in data storage with support for both structured and nested objects. - **Use Cases at Gowalla**: Gowalla encounters challenges managing rapidly growing social data, including check-ins and social graphs. Using Cassandra provides benefits such as efficient replication, scalability, and high availability without impacting performance. - **Chronologic Overview**: Chronologic serves to capture and store event-driven data from user interactions, such as check-ins and posts. It integrates seamlessly with social graphs, allowing users to retrieve activities in a consolidated manner. - **Event Handling**: The application effectively employs a publication-subscriber model to ensure the flow of events is managed correctly. Events and sub-events are stored systematically, allowing for organized and efficient data retrieval. - **Implementation and API Usage**: Keys illustrates how to set up bindings using the Ruby Cassandra driver, discussing simple social graphs and querying capabilities that allow manipulation of user-related data based on specific criteria. - **Future Prospects and Enhancements**: The potential for Chronologic to be used across different applications is highlighted, as well as ongoing improvements to the API documentation and features aiming to support ease of integration for developers. ### Conclusions and Takeaways: - The distribution and flexibility of Cassandra make it suitable for high-velocity activity feed applications, such as those at Gowalla. - Chronologic is positioned as a versatile solution for managing event data, capable of adapting to the needs of different software environments while emphasizing user privacy. - The system's ability to efficiently communicate user activities via a REST JSON API streamlines operations, enhancing overall usability for applications.
Suggest modifications
Cancel