[{"data":1,"prerenderedAt":612},["ShallowReactive",2],{"tool-weaviate-de":3},{"slug":4,"published":5,"minutes":6,"category":7,"tags":8,"keywords":14,"about":23,"sources":33,"cover":58,"og":59,"expertise":60,"locales":61,"lang":63,"title":65,"description":66,"coverAlt":67,"url":68,"pricing":69,"kind":70,"metaTitle":71,"takeaways":72,"faq":78,"toc":94,"blocks":119,"others":418},"weaviate","2026-06-02",10,"rag",[9,10,11,12,13],"Vector search","Hybrid search","HNSW","Quantization","Multi-tenancy",[15,16,17,18,19,20,21,22],"weaviate vector database","weaviate vs qdrant","weaviate vs pinecone","weaviate vs pgvector","hnsw vs hfresh","weaviate cloud pricing","vector database comparison","weaviate hybrid search",[24,27,30],{"name":25,"url":26},"Weaviate","https:\u002F\u002Fgithub.com\u002Fweaviate\u002Fweaviate",{"name":28,"url":29},"Hierarchical Navigable Small World","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FNearest_neighbor_search",{"name":31,"url":32},"SPFresh","https:\u002F\u002Farxiv.org\u002Fpdf\u002F2410.14452",[34,37,40,43,46,49,52,55],{"title":35,"url":36},"Weaviate documentation: Vector indexing","https:\u002F\u002Fdocs.weaviate.io\u002Fweaviate\u002Fconcepts\u002Fvector-index",{"title":38,"url":39},"Weaviate documentation: ANN benchmark","https:\u002F\u002Fdocs.weaviate.io\u002Fweaviate\u002Fbenchmarks\u002Fann",{"title":41,"url":42},"Weaviate 1.39 release notes","https:\u002F\u002Fweaviate.io\u002Fblog\u002Fweaviate-1-39-release",{"title":44,"url":45},"Weaviate 1.38 release notes","https:\u002F\u002Fweaviate.io\u002Fblog\u002Fweaviate-1-38-release",{"title":47,"url":48},"Weaviate documentation: MCP server","https:\u002F\u002Fdocs.weaviate.io\u002Fweaviate\u002Fconfiguration\u002Fmcp-server",{"title":50,"url":51},"Weaviate Cloud pricing","https:\u002F\u002Fweaviate.io\u002Fpricing",{"title":53,"url":54},"weaviate\u002Fweaviate: LICENSE","https:\u002F\u002Fgithub.com\u002Fweaviate\u002Fweaviate\u002Fblob\u002Fmain\u002FLICENSE",{"title":56,"url":57},"weaviate\u002Fweaviate v1.40.0 release notes","https:\u002F\u002Fgithub.com\u002Fweaviate\u002Fweaviate\u002Freleases\u002Ftag\u002Fv1.40.0","\u002Fimages\u002Fblog\u002Fweaviate\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fweaviate\u002Fog.jpg","ai-engineer",[62,63,64],"en","de","hu","Weaviate: eine Vektordatenbank, die bei der Suche gewinnen muss, nicht nur bei der Ähnlichkeit","Weaviate im Test: hybride BM25- und Vektorsuche in einer Abfrage, HNSW und HFresh, Quantisierungsentscheidungen, eingebauter MCP-Server, Lizenzschlüssel.","Eine Weaviate-Abfrage durchläuft zwei Indizes gleichzeitig: den invertierten Index für Filter und BM25, den Vektorindex für die Distanz, danach Fusion, Boosting und Reranking.","https:\u002F\u002Fweaviate.io","BSD-3 · Cloud from $25 per month","Vector database","Weaviate Test: Suche, nicht nur Ähnlichkeit · Balázs Csorba",[73,74,75,76,77],"Weaviate beantwortet eine Abfrage gleichzeitig mit BM25-Keyword-Suche, Vektorähnlichkeit und strukturierten Filtern, und genau das ist der Grund, es einer reinen Nearest-Neighbour-Engine vorzuziehen.","HNSW ist speichergebunden: Laut Doku kostet ein Knoten 2 bis 12 kB, eine Million Vektoren mit 1536 Dimensionen also 2 bis 12 GB Index im RAM, eine hundert Millionen 200 bis 1200 GB.","Index-Typ und Quantisierungsbreite sind praktisch Entscheidungen zum Anlegen der Collection. Die Bitebene der Rotationsquantisierung wird beim ersten Aktivieren von RQ festgeschrieben und lässt sich danach nicht migrieren.","Der Hersteller-Benchmark für DBPedia mit OpenAI-ada002-Embeddings meldet 97,24 Prozent Recall@10 bei 5639 Queries pro Sekunde und 4,43 ms p99 auf einer einzelnen Maschine mit 16 vCPU und 128 GB, ungefiltert.","Das Repository ist außerhalb des wl-Verzeichnisses BSD-3, und v1.40 legt Namespaces und deduplizierte Backups hinter einen Weaviate-Lizenzschlüssel im selben Binary.",[79,82,85,88,91],{"q":80,"a":81},"Ist Weaviate im Selbstbetrieb weiterhin kostenlos?","Die Datenbank steht unter BSD-3-Clause und lässt sich ohne Nutzungslimit selbst betreiben. Die LICENSE im Repository stellt klar, dass Code im wl-Verzeichnis proprietär ist und über eine Enterprise-Lizenz freigeschaltet wird, und v1.40 legt Namespaces sowie deduplizierte Backups hinter diesen Schlüssel. Die Cloud-Preise: eine kostenlose Stufe, Flex ab 45 US-Dollar pro Monat und Premium ab 400 US-Dollar.",{"q":83,"a":84},"HNSW oder HFresh für eine große Collection?","HNSW ist die schnellste Variante und der Standard, hält aber den gesamten Graphen im Speicher. HFresh behält nur einen komprimierten Zentroidadindex im RAM und liest Posting-Listen von der Platte, was laut Doku nicht darauf ausgelegt ist, HNSW beim Durchsatz zu schlagen. HFresh passt, wenn der Speicher die harte Grenze ist und etwas höhere p99 akzeptabel sind.",{"q":86,"a":87},"Senkt Quantisierung die Rechnung von Weaviate Cloud?","Nein. Die Abrechnung der Cloud basiert auf der Zahl der gespeicherten Vektordimensionen, zusätzlich Storage und Backups, und Kompression ändert diese Zahl nicht. Sie senkt den Speicher- und Rechenbedarf, was sich im Listenpreis je Dimension zeigt und nicht in der Zahl der berechneten Dimensionen.",{"q":89,"a":90},"Kann ein Agent Weaviate über MCP abfragen?","Ja, seit v1.38 bringt die Datenbank einen MCP-Server unter \u002Fv1\u002Fmcp auf dem REST-Port mit mit vier Tools: weaviate-collections-get-config, weaviate-tenants-list, weaviate-query-hybrid und weaviate-objects-upsert. Selbst gehostet ist er standardmäßig aus, in Weaviate Cloud immer aktiv, dort ist das Schreib-Tool aktiv, sofern nicht der Schalter Enable MCP Read-Only gesetzt ist.",{"q":92,"a":93},"Wie groß darf eine HNSW-Collection werden, bevor der Speicher limitiert?","Die Doku beziffert einen HNSW-Knoten je nach Dimensionalität auf 2 bis 12 kB, dazu rund 200 Byte Kanten pro Vektor. Das sind 2 bis 12 GB bei einer Million und 200 bis 1200 GB bei hundert Millionen Vektoren. Rotationsquantisierung oder HFresh sind die beiden Hebel; der Vektorcache ist mit 1e12 Objekten pro Collection separat begrenzt.",[95,98,101,104,107,110,113,116],{"id":96,"title":97},"what-it-is","Was es ist",{"id":99,"title":100},"how-it-works","Wie es funktioniert",{"id":102,"title":103},"getting-started","Erste Schritte",{"id":105,"title":106},"index-and-memory","Indizes, Speicher und die Rechnung",{"id":108,"title":109},"where-it-shingles","Wo es knirscht",{"id":111,"title":112},"mcp-and-licensing","MCP-Zugang und die Lizenzgrenze",{"id":114,"title":115},"verdict","Fazit",{"id":117,"title":118},"sources","Quellen",[120,124,127,130,133,153,154,157,166,171,172,175,178,189,204,214,215,218,256,265,268,271,276,277,280,326,329,330,342,358,361,362,365,378,384,385],{"type":121,"content":122},"paragraph",[123],"Weaviate ist eine Vektordatenbank, die Objekte und ihre Embeddings nebeneinander speichert und eine Abfrage gleichzeitig mit BM25-Keyword-Suche, Vektorähnlichkeit und strukturierten Filtern beantwortet. Sie ist die vollständigste Suchmaschine in der Open-Source-Kategorie. Der Grund zur Skepsis ist nicht die Retrieval-Qualität, sondern die Speicherrechnung und die Zahl der Index- und Quantisierungsentscheidungen, die vor dem ersten Import fallen müssen.",{"type":121,"content":125},[126],"Sie konkurriert mit Qdrant bei speichersparsamen Indizes, mit Pinecone beim Managed-Betrieb und mit pgvector mit dem Argument, ein Team, das bereits eine Datenbank betreibt, solle nicht eine zweite aufbauen. Weaviates Antwort ist, dass es zuerst eine vollwertige Datenbank ist, mit Replikation, Backups, Multi-Tenancy, RBAC und inkrementellen Schemaänderungen, und die Nahestvektorsuche danebensteht.",{"type":128,"level":129,"id":96,"text":97},"heading",2,{"type":121,"content":131},[132],"Das Projekt stammt von der niederländischen Firma Weaviate B.V., ist in Go geschrieben, und die aktuelle Version ist 1.40.0, getaggt am 7. Oktober 2026. Es gibt offizielle Clients für Python, JavaScript, Java, Go und C# sowie REST, gRPC und GraphQL. Die Kernfakten, die man vor einem Vergleich kennen sollte:",{"type":134,"ordered":135,"items":136},"list",false,[137,145,147,149,151],[138,139,144],"Hybride Suche führt BM25- und Vektorergebnisse in einer Abfrage zusammen, ein Parameter ",{"tag":140,"href":141,"children":142},"a","https:\u002F\u002Fdocs.weaviate.io\u002Fweaviate\u002Fsearch\u002Fhybrid",[143],"alpha"," gewichtet die beiden Hälften.",[146],"Vier Vektorindizes: flat, HNSW, dynamic (ein Flat-Index, der sich selbst zu HNSW hochschaltet) und HFresh, der plattenbasierte Index aus 1.36, seit 1.38 allgemein verfügbar.",[148],"Quantisierung umfasst Skalar-, Produkt-, Binär- und Rotationsverfahren; 4-Bit-Rotationsquantisierung ist Preview, v1.40 ergänzt RQ-4 für HNSW-Indizes.",[150],"Ein eingebauter MCP-Server, seit 1.38 allgemein verfügbar, stellt vier Tools unter \u002Fv1\u002Fmcp auf dem REST-Port bereit.",[152],"Multi-Tenancy, Replikation, Backups, inkrementelle Backups, Objekt-TTL und Collection-Aliase sind alle im Open-Source-Build und nicht im kostenpflichtigen.",{"type":128,"level":129,"id":99,"text":100},{"type":121,"content":155},[156],"Eine Abfrage trifft auf zwei Indexfamilien. Objekteigenschaften liegen in invertierten Indizes, derselben BM25-Maschinerie, die auch eine Suchmaschine mit invertiertem Index nutzt, ein Filter grenzt also die Kandidatenmenge ein, bevor etwas Teures passiert. Vektoren liegen im Vektorindex, wo HNSW einen geschichteten Graphen im Speicher abläuft. Das Ergebnis wird fusioniert, optional geboostet und optional neu gerankt.",{"type":158,"attrs":159,"inner":163,"caption":164},"diagram",{"viewBox":160,"role":161,"aria-labelledby":162},"0 0 720 330","img","wv-diagram-t wv-diagram-d","\u003Ctitle id=\"wv-diagram-t\">Eine hybride Weaviate-Abfrage\u003C\u002Ftitle>\u003Cdesc id=\"wv-diagram-d\">Eine Abfrage verzweigt sich auf zwei Indizes. Der invertierte Index löst den strukturierten Filter auf und bewertet BM25-Keywords. Der Vektorindex liefert die nächsten Nachbarn nach Distanz. Beide Kandidatenlisten werden fusioniert, dann geboostet und neu gerankt, und erst danach wird die Seite abgeschnitten.\u003C\u002Fdesc>\u003Cdefs>\u003Cmarker id=\"ah-wv\" viewBox=\"0 0 10 10\" refX=\"9\" refY=\"5\" markerWidth=\"7\" markerHeight=\"7\" orient=\"auto-start-reverse\">\u003Cpath d=\"M0 0L10 5L0 10z\" class=\"d-head\" \u002F>\u003C\u002Fmarker>\u003C\u002Fdefs>\u003Ctext x=\"16\" y=\"30\" class=\"d-title\">eine abfrage, zwei indizes\u003C\u002Ftext>\u003Crect x=\"16\" y=\"137\" width=\"140\" height=\"56\" rx=\"10\" class=\"d-accent\" \u002F>\u003Ctext x=\"86\" y=\"160\" text-anchor=\"middle\" class=\"d-text\">abfrage\u003C\u002Ftext>\u003Ctext x=\"86\" y=\"180\" text-anchor=\"middle\" class=\"d-small\">text oder vektor\u003C\u002Ftext>\u003Crect x=\"196\" y=\"77\" width=\"230\" height=\"56\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"311\" y=\"100\" text-anchor=\"middle\" class=\"d-text\">invertierter index\u003C\u002Ftext>\u003Ctext x=\"311\" y=\"120\" text-anchor=\"middle\" class=\"d-small\">filter und BM25\u003C\u002Ftext>\u003Crect x=\"196\" y=\"197\" width=\"230\" height=\"56\" rx=\"10\" class=\"d-mint\" \u002F>\u003Ctext x=\"311\" y=\"220\" text-anchor=\"middle\" class=\"d-text\">vektorindex\u003C\u002Ftext>\u003Ctext x=\"311\" y=\"240\" text-anchor=\"middle\" class=\"d-small\">HNSW oder HFresh\u003C\u002Ftext>\u003Crect x=\"466\" y=\"137\" width=\"238\" height=\"56\" rx=\"10\" class=\"d-gold\" \u002F>\u003Ctext x=\"585\" y=\"160\" text-anchor=\"middle\" class=\"d-text\">fusion\u003C\u002Ftext>\u003Ctext x=\"585\" y=\"180\" text-anchor=\"middle\" class=\"d-small\">alpha, limit, depth\u003C\u002Ftext>\u003Crect x=\"466\" y=\"247\" width=\"238\" height=\"56\" rx=\"10\" class=\"d-box\" \u002F>\u003Ctext x=\"585\" y=\"270\" text-anchor=\"middle\" class=\"d-text\">boost und rerank\u003C\u002Ftext>\u003Ctext x=\"585\" y=\"290\" text-anchor=\"middle\" class=\"d-small\">dann seite schneiden\u003C\u002Ftext>\u003Cpath d=\"M156 165L192 105\" class=\"d-line\" marker-end=\"url(#ah-wv)\" \u002F>\u003Cpath d=\"M156 165L192 225\" class=\"d-line\" marker-end=\"url(#ah-wv)\" \u002F>\u003Cpath d=\"M426 105L462 150\" class=\"d-line\" marker-end=\"url(#ah-wv)\" \u002F>\u003Cpath d=\"M426 225L462 175\" class=\"d-line\" marker-end=\"url(#ah-wv)\" \u002F>\u003Cpath d=\"M585 193L585 243\" class=\"d-line-accent\" marker-end=\"url(#ah-wv)\" \u002F>",[165],"Der Filter ist ein Indexzugriff und kein Post-Filter, grenzt also die Vektorsuche ein, statt deren Ergebnis zu verwerfen.",{"type":121,"content":167},[168,169,170],"Daraus folgen zwei Dinge. Gefilterte Suche bleibt günstig, weil der Filter zuerst läuft. Und der teure Teil ist immer der Vektorindex, dort liegt die Betriebskosten. ","QUERY_HYBRID_MAXIMUM_RESULTS"," steht standardmäßig auf 200, jede Hälfte einer hybriden Abfrage holt also mindestens so viele Kandidaten vor der Fusion; das ist der erste Regler, den man dreht, wenn eine Abfrage langsamer ist als der Benchmark nahelegte.",{"type":128,"level":129,"id":102,"text":103},{"type":121,"content":173},[174],"Der Python-Client ist der richtige Einstieg. Eine Collection mit HNSW-Index, Quantisierung, hybrider Suche, Filter, Boost und Diversitätsauswahl in rund dreißig Zeilen:",{"type":176,"code":177},"code","from datetime import timedelta\n\nimport weaviate\nfrom weaviate.classes.config import Configure, VectorDistances\nfrom weaviate.classes.query import Boost, Diversity, Filter\n\nclient = weaviate.connect_to_local()  # or connect_to_cloud(cluster_url, auth)\n\nclient.collections.create(\n    \"Product\",\n    vector_config=Configure.Vectors.text2vec_openai(\n        source_properties=[\"name\", \"description\"],\n        vector_index_config=Configure.VectorIndex.hnsw(\n            distance_metric=VectorDistances.COSINE,\n            quantizer=Configure.VectorIndex.Quantizer.rq(bits=8),\n        ),\n    ),\n)\n\nproducts = client.collections.get(\"Product\")\nproducts.data.insert_many([\n    {\"name\": \"Kestrel Wireless Headphones\", \"in_stock\": True, \"released\": \"2026-09-20\"},\n    {\"name\": \"Aurora Wireless Headphones\", \"in_stock\": False, \"released\": \"2025-11-02\"},\n    {\"name\": \"Nimbus Wireless Headphones\", \"in_stock\": True, \"released\": \"2026-10-05\"},\n])\n\nboost = Boost.blend(\n    [\n        Boost.filter(Filter.by_property(\"in_stock\").equal(True), weight=2.0),\n        Boost.time_decay(\"released\", scale=timedelta(days=30)),\n    ],\n    weight=0.3,   # 30 percent boost, 70 percent original relevance\n    depth=200,    # re-score the top 200 candidates\n)\n\nhits = products.query.hybrid(\n    query=\"wireless headphones\",\n    limit=4,\n    filters=Filter.by_property(\"released\").greater_than(\"2025-01-01\"),\n    boost=boost,\n    diversity_selection=Diversity.mmr(limit=4, balance=0.3),\n)\nfor hit in hits.objects:\n    print(hit.properties[\"name\"])\n",{"type":121,"content":179},[180,181,182,183,184,185,186,187,188],"Vier Details in diesem Snippet entscheiden über die Zusammensetzung der Seite. ","Boost.blend"," entfernt nie ein Ergebnis, es sortiert nur neu, ein negatives Gewicht einer Bedingung demotiert also statt zu filtern. ","depth"," legt fest, wie viele Kandidaten neu bewertet werden, und das äußere ","weight"," bestimmt, wie viel des Endwerts der Boost hält. MMR braucht Client 4.23.0 oder neuer, und der Standardwert für ","balance"," ist 0.0, also reine Diversität und kein neutraler Mittelwert. Wer Boost und Rerank kombiniert, bekommt das Reranking zuletzt, es hat das letzte Wort.",{"type":190,"variant":191,"title":192,"body":193},"callout","warn","Den Index vor dem ersten Import festlegen",[194],[195,196,199,200,203],"Index-Typ, HNSW-Build-Parameter und die Breite der Rotationsquantisierung sind praktisch Entscheidungen beim Anlegen. ",{"tag":176,"children":197},[198],"bits"," wird festgeschrieben, sobald RQ zum ersten Mal für einen Vektor aktiviert wird, eine Migration von 8-Bit- zu 4-Bit-Codes gibt es nicht, und ",{"tag":176,"children":201},[202],"ef"," ist nur dann sinnvoll, wenn es beim Build bewusst gesetzt wurde. Eine Collection neu aufzubauen, um einen Parameter zu ändern, ist der teure Teil des Betriebs dieser Datenbank.",{"type":190,"variant":205,"title":206,"body":207},"tip","Imports brauchen Speicher, nicht nur Platte",[208],[209,210,213],"Jeder Import führt wiederholt Suchen gegen bereits importierte Vektoren aus, die Doku rät daher, ",{"tag":176,"children":211},[212],"vectorCacheMaxObjects"," für einen Ladevorgang groß genug zu setzen, um den gesamten Korpus zu halten. Der Importdurchsatz bricht ein, wenn der Cache die Vektoren nicht halten kann. Asynchrones Indexing legt Graph-Änderungen über eine persistente Warteschlange auf der Platte, das hilft, kostet aber eine kurze Verzögerung zwischen dem Schreiben eines Objekts und seinem Auffinden über den Index.",{"type":128,"level":129,"id":105,"text":106},{"type":121,"content":216},[217],"HNSW hält Knoten und Kanten im Speicher, und die Dokumentation ist ungewöhnlich direkt beim Kostenniveau: ein Knoten kostet je nach Dimensionalität 2 bis 12 kB, eine Million Vektoren also 2 bis 12 GB, eine hundert Millionen 200 bis 1200 GB, dazu rund 200 Byte Kanten pro Vektor. Das ist eine Zahl für die Kapazitätsplanung, kein Durchsatzziel.",{"type":219,"head":220,"rows":229},"table",[221,223,225,227],[222],"Index",[224],"Speicher",[226],"Suchverhalten",[228],"Wofür",[230,239,247],[231,233,235,237],[232],"Flat",[234],"Sehr gering",[236],"Exakt, linearer Scan",[238],"Kleine Collections und Daten pro Mandant in einer Multi-Tenancy-Umgebung",[240,241,243,245],[11],[242],"Hoch, alles resident",[244],"Am schnellsten; logarithmisch im Graphen",[246],"Große Collections mit hohem Query-Durchsatz",[248,250,252,254],[249],"HFresh",[251],"Gering, Postings auf der Platte",[253],"Liest wenige Posting-Listen, dann Rescoring",[255],"Der Speicher ist die harte Grenze; etwas höhere p99 akzeptabel",{"type":121,"content":257},[258,259,260,261,262,263,264],"HFresh ist das interessante Stück für große Korpora. Es gruppiert Vektoren in Postings auf der Platte, hält einen kleinen 8-Bit-quantisierten HNSW-Index über deren Schwerpunkte im Speicher und speichert die Postings selbst mit 1 Bit. Eine Suche liest nur die Postings, die der Schwerpunktindex auswählt, und bewertet die Kandidaten dann gegen unkomprimierte Vektoren neu. Die Doku ist präzise: unterstützt werden nur Cosine- und l2-squared-Distanz, das Skalarprodukt fehlt, und gegen HNSW beim rohen Durchsatz ist HFresh nicht gedacht. Die Recall-Parameter sind ein Latenzregler: ","searchProbe"," legt fest, wie viele Posting-Listen eine Abfrage besucht, ","replicas"," in wie viele Listen jeder Vektor aufgenommen wird und ","maxPostingSizeKB"," die Clustergröße.",{"type":121,"content":266},[267],"Quantisierung ist der zweite Hebel. Rotationsquantisierung dreht einen Vektor so, dass sich seine Werte gleichmäßig auf die Dimensionen verteilen, und speichert jede Dimension dann als kleinen Ganzzahlwert. Bei 4 Bit und 1536 Dimensionen kostet ein Vektor 784 Byte gegenüber 6144 für rohes float32, ein Faktor 7,84 statt runder 8, weil der 16 Byte große Rotationsheader bleibt. Kompression senkt Speicher und Rechenaufwand, aber nicht die Zahl der Dimensionen, die die Cloud abrechnet: Weaviate Cloud rechnet ab 0,00465 US-Dollar pro Million Vektordimensionen und Monat auf Flex ab, Storage ab 0,12 US-Dollar pro GiB, bei einer Mindestsumme von 45 US-Dollar pro Monat, und aggressivere Kompression zeigt sich als niedrigerer Preis je Dimension, nicht als kleinere Rechnung.",{"type":121,"content":269},[270],"Der Benchmark des Herstellers lohnt sich nur mit Methodik. Auf DBPedia mit OpenAI-ada002-Embeddings, eine Million Objekte bei 1536 Dimensionen und Cosine-Distanz, liefert die empfohlene Konfiguration mit efConstruction 256, maxConnections 16 und ef 96 97,24 Prozent Recall@10 bei 5639 Queries pro Sekunde, 2,80 ms mittlerer Latenz und 4,43 ms p99. Das sind 10.000 ungefilterte Suchen auf einer einzigen GCP-n4-highmem-16-Instanz mit 16 vCPU und 128 GB, gesteuert vom Go-Client aus demselben VPC, wobei jedes gefundene Objekt wieder von der Platte gelesen wird. Die Skripte sind Open Source, und das ist der wichtige Teil.",{"type":190,"variant":191,"title":272,"body":273},"Diese Zahlen nicht ohne den Aufbau weitertragen",[274],[275],"Der Benchmark ist ungefiltert, einzelknotig, im selben VPC und end-to-end inklusive Objektzugriffen, was ihn gegenüber einer gefilterten Produktionsabfrage über ein echtes Netz schönt. Es ist außerdem die Hardware des Herstellers. Dieselbe Dokumentation warnt, dass HNSW bei Zufallsvektoren deutlich schlechter läuft als bei echten Daten, ein synthetischer Benchmark des eigenen Korpus ist damit die einzige Zahl, der man trauen darf.",{"type":128,"level":129,"id":108,"text":109},{"type":121,"content":278},[279],"Zuerst die Schwächen, weil sie entscheiden, ob das die richtige Datenbank ist. Das Wachstum auf HNSW ist eine Speicherkurve und keine horizontale: eine hundert Millionen Vektoren mit 1536 Dimensionen ist eine Planungsaufgabe im dreistelligen Gigabereich, und zusätzliche Knoten verkleinern den Index eines Shards nicht. Löschen ist asynchron, eine Suche direkt danach kann das Objekt noch liefern. Die API-Fläche ist so breit, dass GraphQL, gRPC, gRPC-Web und eine vierte, experimentelle REST-Such-API nebeneinander existieren, und die Release Notes zu 1.39 sagen, dass die Referenzauswahl in dieser neuen REST-API ersetzt wird, Code dagegen wird sich also noch ändern.",{"type":219,"head":281,"rows":290},[282,284,286,288],[283],"Datenbank",[285],"Indexmodell",[287],"Selbstbetriebsaufwand",[289],"Wo es weh tut",[291,299,308,317],[292,293,295,297],[25],[294],"HNSW, flat, dynamic, HFresh",[296],"Eine Datenbank: Replikation, Backups, RBAC, Multi-Tenancy",[298],"Speichergebundenes Wachstum; mehr Schemafläche zu lernen",[300,302,304,306],[301],"Qdrant",[303],"HNSW mit Platten- und Skalarquantisierung",[305],"Eine fokussierte Vektor-Engine mit Filtern",[307],"Weniger der Datenbankfunktionen, die Weaviate liefert",[309,311,313,315],[310],"pgvector",[312],"Postgres-Indizes: HNSW, IVFFlat",[314],"Keiner: es ist eine Extension auf einer vorhandenen Datenbank",[316],"Recall und Tuning sind jetzt Postgres-Tuning",[318,320,322,324],[319],"Pinecone",[321],"Nur managed",[323],"Nichts zu betreiben",[325],"Kein Selbstbetrieb, und eine Rechnung nach Read Units",{"type":121,"content":327},[328],"Zwei Betriebsnotizen runden das Bild ab. Async Replication wurde in 1.38 clusterweit auf einen einzigen Scheduler umgebaut und läuft jetzt bei jeder replizierten Collection standardmäßig, ein Zugewinn an Zuverlässigkeit und zugleich eine Last im Hintergrund. Und in 1.40 liegt das neue Namespaces-Feature, das Control-Plane- und Datenisolierung zwischen Nutzern eines gemeinsam genutzten Clusters ergänzt, hinter einem Weaviate-Lizenzschlüssel.",{"type":128,"level":129,"id":111,"text":112},{"type":121,"content":331},[332,333,334,335,336,337,338,143,339,340,341],"Der MCP-Server ist das Erste, worauf die meisten Teams stoßen. Es ist ein Streamable-HTTP-Server unter \u002Fv1\u002Fmcp auf dem REST-Port, im Selbstbetrieb standardmäßig aus, in Weaviate Cloud immer aktiv und mit einem API-Key als Bearer-Token authentifiziert. Er stellt vier Tools bereit: ","weaviate-collections-get-config"," für Schemata, ","weaviate-tenants-list",", ","weaviate-query-hybrid"," für eine hybride Suche mit einem "," von standardmäßig 0,75 und ","weaviate-objects-upsert"," für Schreibzugriffe. Die Rechte sind die normalen RBAC-Rollen, geprüft beim Aufruf eines Tools.",{"type":190,"variant":191,"title":343,"body":344},"Drei Voreinstellungen prüfen, bevor ein Agent den Cluster anfasst",[345],[346,347,350,351,354,355,357],"A ",{"tag":176,"children":348},[349],"tools\u002Flist"," liefert jedem authentifizierten Key alle Tools, ein Read-only-Credential erfährt also ebenfalls, dass es das Schreib-Tool gibt; ein verweigerter Aufruf kommt als HTTP 200 mit einem ",{"tag":176,"children":352},[353],"isError","-Tool-Ergebnis zurück, nicht als 403. ",{"tag":176,"children":356},[340]," ersetzt das gespeicherte Objekt statt es zu mergen, ein unvollständiges Payload verliert also die ausgelassenen Eigenschaften, und mit aktiviertem Auto-Schema legt ein falsch geschriebener Collection-Namen eine Collection an, statt zu scheitern. Weaviate Cloud liefert das Schreib-Tool, solange nicht der Clusterschalter Enable MCP Read-Only gesetzt ist, und der ist standardmäßig aus.",{"type":121,"content":359},[360],"BeLizenzierung ist die LICENSE im Repository eindeutig: Code außerhalb des wl-Verzeichnisses steht unter BSD-3-Clause, Code darin ist Copyright Weaviate B.V. und nur unter einer separaten Enterprise-Lizenz verfügbar, freigeschaltet über einen Lizenzschlüssel, und die BSD-Lizenz gibt kein Recht, diese Funktionen zu nutzen oder den Schlüssel zu umgehen. v1.40 legt Namespaces und deduplizierte Backups auf diese Seite. Die Datenbank selbst bleibt BSD-3 und ohne Nutzungslimit selbst hostbar, die einzige echte Frage ist, wie viel der Roadmap hinter dem Schlüssel landet.",{"type":128,"level":129,"id":114,"text":115},{"type":121,"content":363},[364],"Weaviate ist die Vektordatenbank der Wahl, wenn Retrieval-Qualität und betriebliche Vollständigkeit wichtiger sind als der kleinstmögliche Speicherbedarf, und wenn ein Team Index-Typ, Quantisierungsbreite und ef als echte Parameter behandeln kann statt als Voreinstellungen. Sie ist falsch für ein Team, das bereits Postgres betreibt und Embeddings neben den Zeilen haben will, und falsch für einen Korpus von hundert Millionen Vektoren bei festem Speicherbudget.",{"type":134,"ordered":366,"items":367},true,[368,370,372,374,376],[369],"Nimm sie, wenn Abfragen Filter und Keywords ebenso brauchen wie Vektoren, und das in einem Rundgang statt in drei passieren soll.",[371],"Nimm sie, wenn Multi-Tenancy, Replikation, Backups und RBAC nötig sind, ohne vier Dienste an einen nackten Vektorindex zu hängen.",[373],"Nimm sie, wenn eine BSD-3-Datenbank selbst betrieben werden kann und dieselbe API als Managed-Option gewünscht ist.",[375],"Lass sie, wenn der Korpus so groß ist, dass HNSW-Speicher die Rechnung dominiert und etwas höhere p99 akzeptabel wären; das ist die Aufgabe von HFresh oder einer eigens gebauten Engine.",[377],"Lass sie, wenn du erwartest, dass die ganze Roadmap unter der BSD-Lizenz bleibt. Prüfe vor dem Design, welche Features deine Version hinter einen Lizenzschlüssel legt.",{"type":190,"variant":379,"title":380,"body":381},"note","Kurzfassung",[382],[383],"Eine gut gebaute Datenbank mit der besten hybriden Suche ihrer Klasse, lizenziert und bepreist so, dass die interessanten Teile der Roadmap zunehmend hinter einem Schlüssel liegen. Die versionsabhängige Freischaltung vor dem Commitment lesen und den Speicher vor dem Schema planen.",{"type":128,"level":129,"id":117,"text":118},{"type":134,"ordered":366,"items":386},[387,391,395,399,403,407,411,414],[388],{"tag":140,"href":36,"children":389},[390],"Weaviate Dokumentation: Vector Indexing",[392],{"tag":140,"href":39,"children":393},[394],"Weaviate Dokumentation: ANN-Benchmark",[396],{"tag":140,"href":42,"children":397},[398],"Weaviate 1.39 Release Notes",[400],{"tag":140,"href":45,"children":401},[402],"Weaviate 1.38 Release Notes",[404],{"tag":140,"href":48,"children":405},[406],"Weaviate Dokumentation: MCP-Server",[408],{"tag":140,"href":51,"children":409},[410],"Weaviate Cloud Preise",[412],{"tag":140,"href":54,"children":413},[53],[415],{"tag":140,"href":57,"children":416},[417],"weaviate\u002Fweaviate v1.40.0 Release Notes",[419,469,522,562],{"slug":420,"published":421,"minutes":422,"category":7,"tags":423,"keywords":429,"about":438,"sources":442,"cover":461,"og":462,"expertise":60,"locales":463,"lang":63,"title":464,"description":465,"coverAlt":466,"url":467,"pricing":468,"kind":424},"zep","2026-10-06",11,[424,425,426,427,428],"Agent memory","Knowledge graph","Temporal graph","Context engineering","RAG",[430,431,432,433,434,435,436,437],"zep ai","zep agent memory","graphiti knowledge graph","zep pricing","zep vs mem0","long-term memory for agents","temporal knowledge graph","zep cloud",[439],{"name":440,"url":441},"Zep","https:\u002F\u002Fwww.getzep.com\u002F",[443,446,449,452,455,458],{"title":444,"url":445},"Zep pricing: plans, credits and limits","https:\u002F\u002Fwww.getzep.com\u002Fpricing",{"title":447,"url":448},"Zep documentation","https:\u002F\u002Fhelp.getzep.com\u002F",{"title":450,"url":451},"Graphiti on GitHub","https:\u002F\u002Fgithub.com\u002Fgetzep\u002Fgraphiti",{"title":453,"url":454},"Graphiti product page","https:\u002F\u002Fwww.getzep.com\u002Fplatform\u002Fgraphiti\u002F",{"title":456,"url":457},"Announcing a new direction for Zep's open-source strategy","https:\u002F\u002Fwww.getzep.com\u002Fblog\u002Fannouncing-a-new-direction-for-zeps-open-source-strategy\u002F",{"title":459,"url":460},"Graphiti: temporal knowledge graphs for AI agents (arXiv)","https:\u002F\u002Farxiv.org\u002Fabs\u002F2501.13956","\u002Fimages\u002Fblog\u002Fzep\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fzep\u002Fog.jpg",[62,63,64],"Zep-Review: Agenten-Memory auf einem temporalen Graphen","Zep ist eine gehostete Agenten-Memory-API auf einem temporalen Knowledge Graph: Credits beim Schreiben, Retrieval gratis, Flex ab 125 Dollar im Monat, Graphiti als selbst hostbarer Teil.","Diagramm, wie eine Aussage in Zep den Prompt erreicht: Nachrichten und Aussagen werden in einen benutzerspezifischen Context Graph aus Entitäten und Beziehungen extrahiert, und der Retrieval durchläuft den Graphen und liefert einen Kontextblock mit den tragenden Fakten.","https:\u002F\u002Fwww.getzep.com","Apache-2.0 core · Cloud from $50 per month",{"slug":470,"published":471,"minutes":472,"category":7,"tags":473,"keywords":475,"about":483,"sources":489,"cover":514,"og":515,"expertise":60,"locales":516,"lang":63,"title":517,"description":518,"coverAlt":519,"url":520,"pricing":521,"kind":70},"lancedb","2026-09-21",9,[9,10,474,428],"Embedded database",[470,476,477,478,479,480,481,482],"lancedb review","lance vector database","embedded vector database","lancedb vs qdrant","hybrid search rrf","lancedb indexing","lance data format",[484,486],{"name":70,"url":485},"https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FVector_database",{"name":487,"url":488},"Apache Arrow","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FApache_Arrow",[490,493,496,499,502,505,508,511],{"title":491,"url":492},"LanceDB quickstart","https:\u002F\u002Fdocs.lancedb.com\u002Fquickstart",{"title":494,"url":495},"LanceDB vector indexes","https:\u002F\u002Fdocs.lancedb.com\u002Findexing\u002Fvector-index",{"title":497,"url":498},"LanceDB indexing guide","https:\u002F\u002Fdocs.lancedb.com\u002Findexing\u002Findex",{"title":500,"url":501},"LanceDB hybrid search","https:\u002F\u002Fdocs.lancedb.com\u002Fsearch\u002Fhybrid-search",{"title":503,"url":504},"LanceDB Enterprise","https:\u002F\u002Fdocs.lancedb.com\u002Fenterprise",{"title":506,"url":507},"LanceDB frequently asked questions","https:\u002F\u002Fdocs.lancedb.com\u002Ffaq\u002Ffaq-oss",{"title":509,"url":510},"LanceDB pricing","https:\u002F\u002Flancedb.com\u002Fpricing",{"title":512,"url":513},"LanceDB on PyPI","https:\u002F\u002Fpypi.org\u002Fproject\u002Flancedb\u002F","\u002Fimages\u002Fblog\u002Flancedb\u002Fcover.webp","\u002Fimages\u002Fblog\u002Flancedb\u002Fog.jpg",[62,63,64],"LanceDB: Vektorsuche, die als Bibliothek beginnt","Ein Test von LanceDB: eine Apache-2.0-Bibliothek statt Server, die IVF- und HNSW-Indexwahl, Hybridsuche mit Rangfusion und was Enterprise zusätzlich bringt.","Coverbild zum LanceDB-Test: eine Lance-Tabelle speist einen Vektorindex und einen Volltextindex in eine verschmolzene Rangliste","https:\u002F\u002Flancedb.com","Apache-2.0 · Cloud paid",{"slug":310,"published":471,"minutes":6,"category":7,"tags":523,"keywords":526,"about":533,"sources":539,"cover":554,"og":555,"expertise":60,"locales":556,"lang":63,"title":557,"description":558,"coverAlt":559,"url":535,"pricing":560,"kind":561},[9,524,11,428,525],"Postgres","Quantisation",[310,527,528,529,530,531,532],"pgvector vs qdrant","postgres vector search","hnsw index postgres","iterative index scans","binary quantization postgres","vector database postgres",[534,536],{"name":310,"url":535},"https:\u002F\u002Fgithub.com\u002Fpgvector\u002Fpgvector",{"name":537,"url":538},"PostgreSQL","https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FPostgreSQL",[540,542,545,548,551],{"title":541,"url":535},"pgvector README",{"title":543,"url":544},"pgvector changelog","https:\u002F\u002Fgithub.com\u002Fpgvector\u002Fpgvector\u002Fblob\u002Fmaster\u002FCHANGELOG.md",{"title":546,"url":547},"PostgreSQL news: pgvector 0.8.2 released","https:\u002F\u002Fwww.postgresql.org\u002Fabout\u002Fnews\u002Fpgvector-082-released-3245\u002F",{"title":549,"url":550},"AWS: Scale pgvector with binary quantization","https:\u002F\u002Faws.amazon.com\u002Fblogs\u002Fdatabase\u002Fscale-pgvector-with-binary-quantization-on-amazon-aurora-postgresql\u002F",{"title":552,"url":553},"pgvector licence","https:\u002F\u002Fgithub.com\u002Fpgvector\u002Fpgvector\u002Fblob\u002Fmaster\u002FLICENSE","\u002Fimages\u002Fblog\u002Fpgvector\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fpgvector\u002Fog.jpg",[62,63,64],"pgvector im Review: die Vektordatenbank, die du nicht betreiben musst","Ein Review von pgvector 0.8.7: iterative Index-Scans für gefilterte Suche, HNSW und IVFFlat, Binärquantisierung bei 100 Millionen Vektoren und das CVE im Indexaufbau.","Eine Anfrage teilt sich oben in einen exakten Sequenzscan, einen HNSW-Graphlauf und eine IVFFlat-Sonde; ein Band unten zeigt einen iterativen Scan, der weiterläuft, bis die LIMIT-Zahl erreicht ist.","PostgreSQL licence","Vector database extension",{"slug":563,"published":564,"minutes":6,"category":7,"tags":565,"keywords":567,"about":573,"sources":577,"cover":605,"og":606,"expertise":60,"locales":607,"lang":63,"title":608,"description":609,"coverAlt":610,"url":576,"pricing":611,"kind":424},"mem0","2026-09-17",[424,566,428,9],"Long-term memory",[563,568,569,570,571,435,572],"mem0 review","agent memory layer","mem0 self-hosted","mem0 pricing","mem0 alternatives",[574],{"name":575,"url":576},"Mem0","https:\u002F\u002Fmem0.ai",[578,581,584,587,590,593,596,599,602],{"title":579,"url":580},"Mem0 documentation","https:\u002F\u002Fdocs.mem0.ai\u002Fintroduction",{"title":582,"url":583},"Mem0 quickstart","https:\u002F\u002Fdocs.mem0.ai\u002Fquickstart",{"title":585,"url":586},"How Mem0 works","https:\u002F\u002Fdocs.mem0.ai\u002Fcore-concepts\u002Fhow-it-works",{"title":588,"url":589},"Mem0 pricing","https:\u002F\u002Fmem0.ai\u002Fpricing",{"title":591,"url":592},"Mem0 on GitHub","https:\u002F\u002Fgithub.com\u002Fmem0ai\u002Fmem0",{"title":594,"url":595},"mem0ai on PyPI","https:\u002F\u002Fpypi.org\u002Fproject\u002Fmem0ai\u002F",{"title":597,"url":598},"Mem0 research and benchmarks","https:\u002F\u002Fmem0.ai\u002Fresearch",{"title":600,"url":601},"Mem0 MCP server","https:\u002F\u002Fdocs.mem0.ai\u002Fplatform\u002Fmem0-mcp",{"title":603,"url":604},"Mem0 paper on arXiv","https:\u002F\u002Farxiv.org\u002Fabs\u002F2504.19413","\u002Fimages\u002Fblog\u002Fmem0\u002Fcover.webp","\u002Fimages\u002Fblog\u002Fmem0\u002Fog.jpg",[62,63,64],"Mem0: was eine Agent-Speicherschicht pro Runde kostet","Ein Review von Mem0: extrahierte Fakten pro Runde, die Benchmark-Tabelle vom April 2026 mit Plattform-Vorbehalt, vier Cloud-Stufen und die Lücken beim Self-Hosting.","Eine Schleife, die aus Gespräch gespeicherte Fakten macht und sie zurück in den Prompt liest","Free tier · from $19 per month",1791383550825]