Партиционирование — разбиение таблицы на части внутри одной БД. Бывает горизонтальное (по строкам, например по дате) и вертикальное (по колонкам).
Шардирование — горизонтальное партиционирование, но данные разносятся по разным серверам/инстансам БД. Ключевое отличие: партиционирование — одна нода, шардирование — несколько нод.
Шардирование даёт горизонтальное масштабирование, но усложняет JOIN-ы между шардами, транзакции и миграции. Выбор ключа шардирования критичен — плохой ключ приведёт к hot spots.