ChicagoBoss provides “vertical sharding” out of the box: each model can be stored in a different database or db_adapter.
Sample boss.config where models wiki and author are stored in MySQL and all other models will be using mock db_adapter:
[{boss, [ {applications, [cb_tutorial]}, {db_host, "localhost"}, {db_port, 1978}, {db_adapter, mock}, {log_dir, "log"}, {server, mochiweb}, {port, 8001}, {session_adapter, mock}, {session_key, "_boss_session"}, {session_exp_time, 525600}, {db_shards, [ [ {db_host, "localhost"}, {db_adapter, mysql}, {db_port, 3306}, {db_username, "root"}, {db_password, "password"}, {db_database, "wiki"}, {db_shard_id, first_shard}, {db_shard_models, [wiki, author]} ] ]} ]}].
Note: db_shard_id tuple is required for mysql db_adapter because of the way mysql db_adapter included with CB creates connection pools. Think of it as a connection pool name. DBIdentifier in source code.
Sharding examples are endless: you can persist models of click-stream data to Riak, store content of pages in PostgreSQL, store some logs in Archive type of MySQL database and so on, all based on one configuration file.