Aufgabe
📝 **Frage:** **Schreiben Sie die Funktion** \`recommend_vector_db(stack, vector_count, ops_burden_ok)\`, die \`(db_name, reason)\` zurückgibt. Verwenden Sie diesen Entscheidungsbaum (in der Reihenfolge):
1. Wenn \`vector_count >= 10_000_000\` → \`("Qdrant oder Pinecone", "10M+ Vektoren überschreiten den komfortablen Bereich von pgvector")\`
2. Else if \`stack == "postgres"\` → \`("pgvector", f"Already on Postgres + {vector_count:,} vectors — one DB, less ops")\`
3. Sonst wenn \`ops_burden_ok\` → \`("Qdrant", "Selbstgehostet, Rust, ausgezeichnete Metadatenfilterung")\`
4. Sonst → \`(„Tannenzapfen“, „Verwaltet, am einfachsten zu bedienen; zahlen Sie für die Bequemlichkeit“)\`
Führen Sie es dann mit vier echten Startup-Formen durch:
\`\`\`
stack=postgres n= 500.000 ops_ok=True -> pgvector (Bereits auf Postgres + 500.000 Vektoren – eine Datenbank, weniger Operationen)
stack=postgres n=50.000.000 ops_ok=True -> Qdrant oder Pinecone (10M+ Vektoren überschreiten den komfortablen Bereich von pgvector)
stack=none n= 100.000 ops_ok=False -> Pinecone (verwaltet, am einfachsten zu bedienen; zahlen Sie für den Komfort)
stack=none n= 100.000 ops_ok=True -> Qdrant (Selbstgehostet, Rust, ausgezeichnete Metadatenfilterung)
\`\`\`
Der 500K-auf-Postgres-Fall ist die **häufigste Produktionslösung** und der einzige Fehler, den Junioren machen, wenn sie zu Pinecone greifen – die betriebliche Einfachheit (eine Datenbank, ein Backup, ein Verbindungspool) übertrifft Pinecones geringfügigen Leistungsvorsprung in dieser Größenordnung. Migrieren Sie NUR, wenn Sie die Grenzwerte für pgvector gemessen haben.
📋 Wählen Sie die richtige Antwort.
💡 **Hinweis:** Lesen Sie die obige Theorie noch einmal, wenn Sie sich nicht sicher sind.