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
Data Access ,
Dynamic Languages ,
Database Design ,
Performance & Scalability ,
Deployment / Datacenter
Tags
Database ,
HTTP ,
Data Partitioning ,
Data Analysis ,
Database Management ,
TokyoCabinet ,
EC2 ,
Data Storage ,
MySQL ,
Curl ,
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

How HTML5 Web Sockets Interact With Proxy Servers

Peter Lubbers explains in this article how HTML5 Web Sockets interact with proxy servers, and what proxy configuration or updates are needed for the Web Sockets traffic to go through.

Rails in the Large: How Agility Allows Us to Build One Of the World's Biggest Rails Apps

Neal Ford shows what ThoughtWorks learned from scaling Rails development: infrastructure, testing, messaging, optimization, performance.

Stuart Halloway on Clojure and Functional Programming

Stuart Halloway discusses Clojure and functional programing on the JVM in depth, and touches on the uses of a number of other modern JVM languages including JRuby, Groovy, Scala and Haskell.

Oren Teich and Blake Mizerany on Heroku

Oren Teich and Blake Mizerany talk about the technology behind Heroku and the benefits of the new add-on system.

Security for the Services World

Chris Riley presents security issues threatening service based systems, examining security threats, presenting measures to reduce the risks, and mentioning available security frameworks.

Navigating The Rapids:Real-World Lessons in Adopting Agile

This talk investigates technical issues encountered when moving to an Agile process.

Codename "M": Language, Data, and Modeling, Oh My!

Don Box and Amanda Laucher present “M”, a declarative language for building data models, domain models or external DSLs. Don Box's demos show some of M’s features and latest changes of the language.

SOA Manifesto - 4 Months After

It is four months since the SOA manifesto was announced; InfoQ interviewed the original author’s to get insight into the motivations and the process behind the initiative.