Задание
📝 **Вопрос:** **Напишите функцию** \`recommend_vector_db(stack, вектор_count, ops_burden_ok)\`, которая возвращает \`(db_name, Reason)\`. Используйте это дерево решений (по порядку):
1. Если \`vector_count >= 10_000_000\` → \`("Qdrant or Pinecone", "10M+ векторов превышают комфортный диапазон pgvector")\`
2. Иначе if \`stack == "postgres"\` → \`("pgvector", f"Уже на Postgres + {vector_count:,} векторы — одна БД, меньше операций")\`
3. Иначе, если \`ops_burden_ok\` → \`("Qdrant", "Самостоятельный хостинг, Rust, отличная фильтрация метаданных")\`
4. Остальное → \`("Шишка", "Управляемый, простой в эксплуатации; платите за удобство")\`
Затем запустите его с четырьмя реальными формами стартапа:
\`\`\`
stack=postgres n= 500 000 ops_ok=True -> pgvector (уже на Postgres + 500 000 векторов — одна БД, меньше операций)
stack=postgres n=50,000,000 ops_ok=True -> Qdrant или Pinecone (более 10 миллионов векторов превышают комфортный диапазон pgvector)
stack=none n= 100,000 ops_ok=False -> Сосновая шишка (управляемая, простая в эксплуатации; платите за удобство)
stack=none n= 100 000 ops_ok=True -> Qdrant (самостоятельное размещение, Rust, отличная фильтрация метаданных)
\`\`\`
Случай с 500K на Postgres — это **наиболее распространенный ответ** на производстве, и новички ошибаются, обращаясь к Pinecone: простота эксплуатации (одна база данных, одно резервное копирование, один пул соединений) превосходит незначительное преимущество Pinecone в производительности в этом масштабе. Выполняйте миграцию ТОЛЬКО после того, как вы измерили пределы попадания pgvector.
📋Выберите правильный ответ.
💡 **Подсказка:** Если вы не уверены, перечитайте приведенную выше теорию.