TiDB vs MyScale: scegliere il database vettoriale giusto per le tue app di IA
Che cos'è un database vettoriale?
Prima di confrontare TiDB e MyScale, esploriamo innanzitutto il concetto di database vettoriali.
Un database vettoriale è progettato specificamente per archiviare e interrogare vettori ad alta dimensionalità, che sono rappresentazioni numeriche di dati non strutturati. Questi vettori codificano informazioni complesse, come il significato semantico del testo, le caratteristiche visive delle immagini o gli attributi dei prodotti. Consentendo ricerche di similarità efficienti, i database vettoriali svolgono un ruolo fondamentale nelle applicazioni di IA, permettendo analisi e recupero dei dati più avanzati.
I casi d'uso comuni per i database vettoriali includono raccomandazioni di prodotti per l'e-commerce, piattaforme di scoperta dei contenuti, rilevamento di anomalie nella cybersecurity, analisi di immagini mediche e attività di elaborazione del linguaggio naturale (NLP). Svolgono inoltre un ruolo cruciale nella Retrieval Augmented Generation (RAG), una tecnica che migliora le prestazioni dei modelli linguistici di grandi dimensioni (LLM) fornendo conoscenza esterna per ridurre problemi come le allucinazioni dell'IA.
Esistono molti tipi di database vettoriali disponibili sul mercato, tra cui:
- Database vettoriali appositamente progettati come Milvus, Zilliz Cloud (Milvus completamente gestito)
- Librerie di ricerca vettoriale come Faiss e Annoy.
- Database vettoriali leggeri come Chroma e Milvus Lite.
- Database tradizionali con componenti aggiuntivi di ricerca vettoriale in grado di eseguire ricerche vettoriali su piccola scala.
TiDB è un database tradizionale e MyScale è un database basato su ClickHouse che combina ricerca vettoriale e analisi SQL. Entrambi con ricerca vettoriale come componente aggiuntivo. Questo post confronta le loro capacità di ricerca vettoriale.
TiDB: panoramica e tecnologia di base
TiDB, sviluppato da PingCAP, è un database SQL distribuito open-source che offre capacità di elaborazione ibrida transazionale e analitica (HTAP). È compatibile con MySQL, il che lo rende facile da adottare per i team che hanno già familiarità con l'ecosistema MySQL. L'architettura SQL distribuita di TiDB offre scalabilità orizzontale come i database NoSQL, mantenendo al contempo il modello relazionale dei database SQL, rendendolo estremamente flessibile per gestire sia carichi di lavoro transazionali sia analitici.
Uno dei punti di forza principali di TiDB è la sua architettura HTAP, che gli consente di elaborare carichi di lavoro transazionali (OLTP) e analitici (OLAP) in un unico database, riducendo la necessità di sistemi separati. Inoltre, la compatibilità di TiDB con MySQL lo rende facile da integrare in ambienti esistenti che si basano su MySQL senza modifiche significative al codice dell'applicazione. Il database include anche l'auto-sharding, distribuendo automaticamente i dati tra i nodi per migliorare le prestazioni di lettura e scrittura mantenendo una forte coerenza.
TiDB supporta la ricerca vettoriale tramite l'integrazione con librerie e plugin esterni, consentendo una gestione e interrogazione efficienti dei dati vettorializzati. Questa funzionalità, combinata con l'architettura HTAP di TiDB, lo rende un'opzione versatile per le aziende che necessitano di capacità di ricerca vettoriale insieme a carichi di lavoro transazionali e analitici. L'architettura distribuita di TiDB gli consente di gestire query vettoriali su larga scala una volta configurate le impostazioni necessarie.
Sebbene l'inclusione di funzionalità di ricerca vettoriale in TiDB richieda una configurazione aggiuntiva, la compatibilità SQL del sistema consente agli sviluppatori di combinare la ricerca vettoriale con query relazionali tradizionali. Questa flessibilità rende TiDB adatto ad applicazioni complesse che richiedono sia funzionalità di ricerca vettoriale sia capacità di database relazionale, offrendo una soluzione completa per diverse esigenze di gestione dei dati.
Cos'è MyScale? Panoramica e tecnologia principale
MyScale è un database basato su cloud costruito sopra il database open source ClickHouse, progettato per carichi di lavoro di AI e machine learning. Può gestire dati strutturati e vettoriali, analisi in tempo reale e machine learning. MyScale è focalizzato su serie temporali, ricerca vettoriale e ricerca full text, quindi è adatto all'elaborazione in tempo reale e a insight guidati dall'AI. Utilizzando l'architettura ClickHouse, MyScale è ad alte prestazioni e scalabile per l'AI.
Una delle caratteristiche chiave di MyScale è il supporto SQL nativo, che semplifica le query guidate dall'AI integrando ricerca vettoriale, ricerca full text e query SQL tradizionali in un unico sistema. Questo riduce la necessità di più strumenti e lo rende scalabile per l'AI. MyScale supporta e gestisce l'elaborazione analitica sia di dati strutturati sia di dati vettorializzati su un'unica piattaforma utilizzando un'architettura di database OLAP per operare su dati vettorializzati. Gli sviluppatori possono interagire con MyScale usando SQL, quindi è accessibile a tutti i programmatori che hanno familiarità con i database relazionali.
MyScale dispone di molteplici tipi di indici vettoriali e metriche di similarità per supportare diversi casi d'uso. Supporta metriche di distanza comuni come distanza euclidea (L2), prodotto interno (IP) e similarità del coseno. Il database dispone di molteplici algoritmi di indicizzazione: MSTG (Multi-Scale Tree Graph), ScaNN, IVFFLAT, IVFPQ, IVFSQ e HNSW, ciascuno con il proprio insieme di parametri da ottimizzare. Il motore vettoriale proprietario MSTG di MyScale utilizza SSD NVMe per aumentare la densità dei dati, quindi supera i database vettoriali specializzati sia in termini di prestazioni sia di costi.
Combinando la funzionalità di un database SQL, di un database vettoriale e di un motore di ricerca full text in un unico sistema, MyScale riduce i costi di infrastruttura e manutenzione. Questa unificazione consente query e analisi congiunte sui dati e una base dati unica per le applicazioni AI. MyScale dispone anche di MyScale Telemetry per la piena osservabilità dei sistemi LLM, così puoi monitorare ed eseguire il debug in modo efficiente. Man mano che i dati diventano più complessi, MyScale è una soluzione a prova di futuro in grado di gestire nuove modalità di dati e dimensioni di database maggiori, mantenendo al contempo le prestazioni di calcolo e l'integrazione tra diversi tipi di dati.
Differenze principali
Implementazione della ricerca vettoriale
TiDB integra la ricerca vettoriale tramite librerie esterne, mentre MyScale dispone di funzionalità native di ricerca vettoriale con molteplici tipi di indici (MSTG, ScaNN, IVFFLAT, IVFPQ, IVFSQ, HNSW). Il motore vettoriale proprietario MSTG di MyScale utilizza SSD NVMe per migliorare la densità dei dati e le prestazioni.
Architettura e gestione dei dati
TiDB utilizza un'architettura di elaborazione ibrida transazionale/analitica (HTAP), gestendo sia carichi di lavoro OLTP sia OLAP. È compatibile con MySQL e include l'auto-sharding per la distribuzione dei dati.
MyScale si basa sull'architettura OLAP di ClickHouse, concentrandosi su serie temporali, ricerca vettoriale e ricerca full-text. Elabora dati strutturati e vettoriali in un sistema unificato.
Prestazioni e scalabilità
TiDB scala orizzontalmente mantenendo una forte coerenza, distribuendo i dati tra i nodi tramite auto-sharding.
MyScale sfrutta l'architettura ad alte prestazioni di ClickHouse e rivendica prestazioni superiori e maggiore convenienza rispetto ai database vettoriali specializzati attraverso il suo motore vettoriale MSTG.
Integrazione
TiDB offre compatibilità con MySQL, rendendolo adatto agli ambienti MySQL esistenti con modifiche minime al codice.
MyScale combina funzionalità di database SQL, database vettoriale e ricerca full-text in un'unica piattaforma. Include MyScale Telemetry per il monitoraggio dei sistemi LLM.
Costi e manutenzione
TiDB potrebbe richiedere configurazione e risorse aggiuntive per l'implementazione della ricerca vettoriale.
La piattaforma unificata di MyScale può potenzialmente ridurre i costi di infrastruttura e manutenzione eliminando la necessità di sistemi separati.
Scegli TiDB
Quando hai bisogno della compatibilità con MySQL e puoi gestire carichi di lavoro sia transazionali sia analitici. Soprattutto quando hai bisogno di una forte coerenza in configurazioni distribuite, auto-sharding e prevedi di integrare la ricerca vettoriale in un ecosistema MySQL esistente senza importanti modifiche al codice.
Scegli MyScale
Quando hai applicazioni basate sull'IA che necessitano di una stretta integrazione tra ricerca vettoriale, analisi delle serie temporali e ricerca full text. Quando hai bisogno di ricerca vettoriale nativa con molteplici opzioni di indicizzazione, MyScale Telemetry per monitorare il tuo sistema LLM e una piattaforma unificata per ridurre la complessità dell'infrastruttura.
Conclusione
TiDB è eccellente nel fornire SQL distribuito compatibile con MySQL con funzionalità HTAP, rendendolo ideale per le organizzazioni che danno priorità alla coerenza dei dati e a flussi di lavoro MySQL familiari. MyScale si distingue per la sua implementazione nativa della ricerca vettoriale e per il suo approccio unificato alla gestione di dati strutturati e vettoriali. La tua scelta dovrebbe essere allineata ai tuoi requisiti specifici: scegli TiDB per SQL distribuito di livello enterprise con funzionalità di ricerca vettoriale, oppure MyScale per ricerca vettoriale e analytics dedicati con monitoraggio completo del sistema LLM.
Leggi questo per ottenere una panoramica di TiDB e MyScale, ma per valutarli devi farlo in base al tuo caso d'uso. Uno strumento che può aiutare in questo è VectorDBBench, uno strumento di benchmarking open-source per il confronto dei database vettoriali. Alla fine, un benchmarking approfondito con i tuoi dataset e pattern di query sarà fondamentale per prendere una decisione tra questi due approcci potenti ma diversi alla ricerca vettoriale nei sistemi di database distribuiti.
Usare VectorDBBench open-source per valutare e confrontare i database vettoriali autonomamente
VectorDBBench è uno strumento di benchmarking open-source per utenti che necessitano di sistemi di archiviazione e recupero dati ad alte prestazioni, in particolare database vettoriali. Questo strumento consente agli utenti di testare e confrontare diversi sistemi di database vettoriali come Milvus e Zilliz Cloud (il Milvus gestito) usando i propri dataset e trovare quello più adatto ai loro casi d'uso. Con VectorDBBench, gli utenti possono prendere decisioni basate sulle effettive prestazioni dei database vettoriali anziché su affermazioni di marketing o dicerie.
VectorDBBench è scritto in Python e concesso in licenza con la licenza open-source MIT, il che significa che chiunque può usarlo, modificarlo e distribuirlo liberamente. Lo strumento è mantenuto attivamente da una community di sviluppatori impegnati a migliorarne funzionalità e prestazioni.
Scarica VectorDBBench dal suo repository GitHub per riprodurre i nostri risultati di benchmark o ottenere risultati di prestazioni sui tuoi dataset.
Dai una rapida occhiata alle prestazioni dei database vettoriali mainstream nella Leaderboard di VectorDBBench.
Leggi i seguenti blog per saperne di più sulla valutazione dei database vettoriali.
Ulteriori risorse su VectorDB, GenAI e ML
Continua a leggere

Introducing Customer-Managed Encryption Keys (CMEK) on Zilliz Cloud
We're announcing the general availability of Customer-Managed Encryption Keys (CMEK) on Zilliz Cloud.

Why AI Databases Don't Need SQL
Whether you like it or not, here's the truth: SQL is destined for decline in the era of AI.

Vector Databases vs. Time Series Databases
Use a vector database for similarity search and semantic relationships; use a time series database for tracking value changes over time.
The Definitive Guide to Choosing a Vector Database
Overwhelmed by all the options? Learn key features to look for & how to evaluate with your own data. Choose with confidence.


