[{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.
Sharding in ChicagoBoss
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: