Sign In
Free Sign Up
  • English
  • Español
  • 简体中文
  • Deutsch
  • 日本語
Sign In
Free Sign Up
  • English
  • Español
  • 简体中文
  • Deutsch
  • 日本語

Entschlüsselung von MyScale: Die AWS-betriebene SQL-Vektor-Datenbank

MyScale ist eine leistungsstarke, SQL-fähige Vektor-Datenbank, die vollständig auf AWS gehostet wird. Die Stärke von MyScale liegt in der vollständigen Unterstützung der Standard-SQL-Syntax und der Leistung, die mit oder sogar über die von spezialisierten Vektor-Datenbanken hinausgeht.

Der Zweck dieses Artikels besteht darin, zu erforschen, wie MyScale die AWS-Infrastruktur nutzt, um eine robuste, stabile und effiziente Cloud-Datenbank aufzubauen.

# Vektor-Datenbanken und Einbettungen

Aber zuerst wollen wir uns mit Vektor-Datenbanken, Vektor-Einbettungen und der Art und Weise beschäftigen, wie spezialisierte Vektor-Datenbanken Vektor-Einbettungen oder mathematische Darstellungen von Objekten wie Dokumenten speichern, um ihre semantischen Beziehungen und Kontextinformationen zu erfassen.

# Vektor-Datenbanken

Vektor-Datenbanken können grob in zwei Haupttypen unterteilt werden:

  • Spezialisierte Vektor-Datenbanken wie Pinecone, Weaviate und Qdrant, die speziell für die Speicherung von Vektoren entwickelt wurden.
  • Allgemeine SQL- oder NoSQL-Datenbankprodukte, wobei beliebte SQL-Datenbanken wie PostgreSQL die Vektor-Indizierung und -Suche durch Plugins wie pgvector unterstützen.

Hinweis:

Mehrere Open-Source-Datenbanken wie ClickHouse, Redis, Elasticsearch und Cassandra haben kürzlich native Unterstützung für die Vektor-Indizierung hinzugefügt.

Während spezialisierte Vektor-Datenbanken oft eine bessere Suchleistung bieten, bieten allgemeine Datenbanken, die die Vektor-Suche unterstützen, eine umfassendere Datenverwaltung und die Möglichkeit zur Abfrage strukturierter Daten. MyScale, basierend auf der Open-Source-OLAP-Datenbank ClickHouse, vereint jedoch sowohl die Vektor-Suche als auch die Abfrage strukturierter Daten in einer Lösung.

Das MyScale-Team hat einen fortschrittlichen Vektor-Indizierungsalgorithmus namens Multi-Scale Tree Graph (MSTG) entwickelt. Dieser Algorithmus ermöglicht eine schnelle Suchleistung, hohe Datendichte und schnelle Einfügegeschwindigkeit. In Kombination mit der spaltenorientierten Speicherung und der schnellen Analyse strukturierter Daten, die ClickHouse bietet, bietet MyScale eine deutlich höhere Kosteneffizienz im Vergleich zu spezialisierten Vektor-Datenbanken. Diese Vorteile werden in der folgenden Grafik deutlich dargestellt.

Monatliche Kosten pro 100 QPS bei 5M Daten

Quelle: Überlegenheit gegenüber spezialisierten Vektor-Datenbanken mit MyScale

# Vektor-Einbettungen

Vektor-Einbettungen sind allgegenwärtig und bilden das Rückgrat zahlreicher maschineller Lern- und Deep-Learning-Algorithmen. Sie finden Anwendung in einer Vielzahl von Bereichen, von Suchmaschinen bis hin zu intelligenten Assistenten. Maschinelles Lernen und Deep Learning transformieren typischerweise unstrukturierte Daten wie Texte, Bilder, Audio und Video in Vektor-Einbettungen. Diese Einbettungen können dann mithilfe von Vektor-Ähnlichkeitssuchtechniken auf semantische Relevanz durchsucht werden.

Boost Your AI App Efficiency now
Sign up for free to benefit from 150+ QPS with 5,000,000 vectors
Free Trial
Explore our product

# Architekturübersicht von MyScale

MyScale ist ein Datenbankdienst, der die gesamte AWS-Cloud-Plattform vollständig nutzt, einschließlich folgender AWS-Produkte, unter anderem:

  • EC2 - Cloud-Virtualisierungsserver
  • EKS - Container-Orchestrierung
  • S3 - Objektspeicherung
  • NLB - Lastenausgleich

Durch die Nutzung der robusten zugrunde liegenden Infrastruktur von AWS haben wir schnell MyScale-Cloud-Serviceangebote entwickelt.

Von MyScale verwendete AWS-Services

Die Cloud-Service-Architektur von MyScale ist in drei Schichten aufgebaut, von denen jede ein Kubernetes-Cluster ist:

  • Die globale Kontrollebene
  • Die regionale Kontrollebene
  • Die regionale Datenebene

Wie das folgende Diagramm beschreibt, beherbergt die globale Kontrollebene die Geschäftssysteme des Cloud-Dienstes, die für die Organisation, die Benutzerverwaltung und die Gesamt-Nutzungsstatistiken verantwortlich sind.

MyScale Cloud-Architektur

Alle Server von MyScale werden auf dem von AWS verwalteten Kubernetes-Service EKS bereitgestellt, der eine sichere, hochverfügbare und skalierbare Kubernetes-Umgebung bietet. Dadurch kann MyScale die Funktionen von Kubernetes vollständig nutzen, wie z.B. Service Discovery, Lastenausgleich, automatische Skalierung und Sicherheitsisolierung.

Darüber hinaus nutzt MyScale die Namespace-Funktionen von Kubernetes in der Datenebene, um die Isolierung von Benutzerclustern sicherzustellen. Jeder MyScale-Datenbankcluster entspricht einem eindeutigen Kubernetes-Namespace, wodurch die Auswirkungen von Clustern aufeinander minimiert werden und jeder Cluster seinen eigenen dedizierten Namespace mit Datenbankknoten, Lastenausgleichsdiensten und Metadatenspeicherdiensten hat.

# Nutzung von AWS-Services

Wir verwenden eine EC2-Instanz mit lokalen NVMe-basierten SSD-Festplatten, um die MyScale-Datenbank bereitzustellen. Im Gegensatz zu den meisten Vektor-Datenbanken, die sich für einen reinen In-Memory-HNSW-Vektor-Indizierungsalgorithmus entscheiden, ermöglicht der MSTG-Algorithmus von MyScale das Zwischenspeichern von Vektordaten auf lokalen NVMe-SSD-Festplatten. Dadurch erhalten die Benutzer eine leistungsstarke Vektorsuche und sparen gleichzeitig erheblich beim Speicherverbrauch.

Darüber hinaus nutzen wir Crossplane, um MyScale-Cloud-Services auf AWS EC2 und EKS bereitzustellen und zu verwalten. Unsere Cloud-Ressourcen werden mit Crossplane auf deklarative, einheitliche und automatisierte Weise konfiguriert, was die Genauigkeit und Produktivität erheblich verbessert.

# Datensicherheit mit Teleport

MyScale verwendet Teleport, ein fortschrittliches System zur Verwaltung des Remote-Zugriffs für die Datensicherheit. Teleport stellt eine sichere Verbindung zu unserem Kubernetes-Cluster her, erleichtert die Systemsicherheit und den Betrieb. Es bietet auch umfassende Überwachungsfunktionen mit detaillierter Protokollierung aller Sitzungen und Ereignisse, die für die Sicherheitsanalyse und die Einhaltung von Vorschriften nützlich sind.

# Abschließend

MyScale, eine auf AWS gehostete Vektor-Datenbank, ist ein leistungsstolles Werkzeug zur Verarbeitung strukturierter und unstrukturierter Daten. Basierend auf ClickHouse und der Integration des proprietären Multi-Scale Tree Graph (MSTG) Vektor-Indizierungsalgorithmus bietet MyScale robuste Datenverwaltung und strukturierte Datenabfragefähigkeiten. Es ist kosteneffektiv und besonders gut geeignet für KI-gesteuerte Szenarien wie Bildrückgewinnung, Videoanalyse und das Verständnis natürlicher Sprache.

Keep Reading

Start building your Al projects with MyScale today

Free Trial
Contact Us