Я согласен с MarkR, что слишком рано беспокоиться о шардинге, но я не согласен с тем, что его следует избегать, если это вообще возможно. Я бы сказал, что вы выбрали ORM, который соответствует вашему стилю и языку, и Propel, вероятно, подходит вам. Даже если ваше приложение выходит из-под контроля, разделение, вероятно, не понадобится - вы можете легко собрать 25 миллионов записей с помощью СУБД на основе MySQL и некоторых приличных методов кэширования, поэтому просто сконцентрируйтесь на быстрых запросах и разработке для легкой интеграции с memcache, и вы будете счастливым туристом, даже когда ваше приложение взлетит.
Удачи с этим!