Sequel: The Database Toolkit for Ruby
by Jeremy Evans
He’s not the original implementer of the Sequel module. He’s improved it quite
a bit. He added Jruby and Ruby 1.9 support, among other things.
Sequel is a domian-spefic-language (DSL) for Ruby for dealing with databases.
It’s not designed with web apps in mind, although it does work with them.
He spoke very quickly, as he was constrained for time. Sounded interesting,
but was a bit hard to follow due to the speed.
sequel_model – an ORM build on Sequel
He uses it successfully with the adaptors for Oracle, MySQL and PostgreSQL adaptors. Has a thread safe connection pool. Insures db connections aren’t leaked.
Sequel::Dataset sets it apart from other Ruby db libraries.
You can write complex SQL data queries without writing SQL, although you can if you want.
– Dataset Graphing
– Pagination Support
– Create table, Schema modification, etc.
– Master/Slave databases — requires no modifications to your code.
– Sharding/Partitioning – simple to support with Sequel module
– Bound variables /might/ be faster, but don’t depend on it.
– Prepared statements are similar to bound variables, but potentially faster.
Only use after profiling/benchmarking.
Has a command line client called ‘sequel’. The -E option causes all SQL to be
echoed to standard output.
The future: Sequel 3.0. Many features will be moving to plugins, and the
majority of the work is already complete. It’s going to be easier to use, and
require less memory.
Q: Does it support sharded database migrations?
A: No, not at this time. You can submit a patch.