InfoQ

Interview

Recorded at:
Recorded at

Ilya Grigorik on Tokyo Cabinet, MySQL and Ruby HTTP Performance

Interview with Ilya Grigorik by Werner Schuster on Sep 22, 2009

Community
Architecture,
Ruby
Topics
Deployment / Datacenter ,
Database Design ,
Performance & Scalability ,
Dynamic Languages ,
Data Access
Tags
MySQL ,
Curl ,
Database Management ,
Data Storage ,
Database ,
HTTP ,
TokyoCabinet ,
EC2 ,
Data Analysis ,
Data Partitioning ,
FutureRuby
Summary
Ilya Grigorik discusses his company's PostRank algorithm for tracking reader engagement with content. Also: his experience scaling MySQL, Tokyo Cabinet, Ruby HTTP libs, Solr, Amazon EC2 and more.

Bio
Ilya Grigorik is the founder of AideRSS – a real-time social media engagement monitoring and analytics platform. He has been wrangling with Ruby and cloud computing for over four years, trying to make sense of it all. In the process, he has contributed to many open source projects, blogged about his discoveries (blog: www.igvita.com, twitter: @igrigorik) has been an active speaker.

About the conference
FutureRuby isn't a Ruby conference, but a conference for Rubyists. This is a call to order - a congress of the curious characters that drew us to this community in the first place. We have a singular opportunity to express a long-term vision, a future where Ruby drives creativity and prosperity without being dampened by partisan politics.
We're here at Future Ruby 2009, in Toronto. I'm sitting here with Ilya Grigorik. Who are you?
What does PostRank do?
It sounds very interesting, very useful in our times to use the resource of all these social sites and the voting of those people that vote on those sites. How do you make this actually happen? What runs on your machines?
You store, basically, the whole output of the blogoshpere, so that's a lot of text. Where do you put that?
How do you use MySQL at the moment?
Where is that battle leading you? You gave a talk here about Tokyo Cabinet - something to investigate for you?
If you look at many of the new databases or the modern databases, like Couch DB or all these things, where does Tokyo Cabinet fit in? Is it document oriented? Is it key/value? Where does it fit in?
How do you do queries with Tokyo Cabinet? Do you use a language? Or how is that working?
If you get the values with the Ruby interface and you have a lot of values, do you have to iterate for all the values or is there a way that Tokyo Cabinet or one of the other tools can run an optimized query?
You mentioned distribution or you can distribute the database, what tools do you use for that? How does that work? Have you ever looked at that?
You wrote a couple of blog posts about Ruby's network performance or HTTP performance, what was that about? What did you find out?
Which Ruby versions do you use? 1.8, 1.9, JRuby, others?
show all  show all

No comments

Watch Thread Reply

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.