展會信息港展會大全

一文了解托管在亞馬遜云科技的向量數(shù)據(jù)庫MyScale
來源:互聯(lián)網   發(fā)布日期:2023-12-28 11:23:04   瀏覽:11859次  

導讀:MyScale是一款完全托管于亞馬遜云科技,支持SQL的高效向量數(shù)據(jù)庫。MyScale的優(yōu)勢在于,它在提供與專用向量數(shù)據(jù)庫相匹敵甚至優(yōu)于的性能的同時,還支持完整的SQL語法。以下內容,將闡述MyScale是如何借助亞馬遜云科技的基礎設施,構建出一個穩(wěn)定且高效的云數(shù)據(jù)...

MyScale是一款完全托管于亞馬遜云科技,支持SQL的高效向量數(shù)據(jù)庫。MyScale的優(yōu)勢在于,它在提供與專用向量數(shù)據(jù)庫相匹敵甚至優(yōu)于的性能的同時,還支持完整的SQL語法。以下內容,將闡述MyScale是如何借助亞馬遜云科技的基礎設施,構建出一個穩(wěn)定且高效的云數(shù)據(jù)庫。

什么是向量數(shù)據(jù)庫

或許你尚未察覺,然而向量嵌入(vector embedding)實際上無處不在。它們構成了眾多機器學習和深度學習算法的根基,被廣泛運用于從搜索引擎到智能助手等各式各樣的應用。機器學習與深度學習通常會把文本、圖像、音頻、視頻等非結構化數(shù)據(jù)轉化為向量嵌入的形式進行儲存,并借由向量相似性搜索技術進行語義相關性搜索。基于向量的相似性搜索現(xiàn)如今已被大量應用于各類人工智能驅動的應用場景,包括圖像檢索、視頻分析、自然語言理解、推薦系統(tǒng)、定向廣告、個性化搜索、智能客服以及欺詐檢測等。在這樣的背景下,對向量數(shù)據(jù)的管理顯得尤為重要,我們需要能夠快速地儲存、索引和搜索這些向量化的數(shù)據(jù)。

現(xiàn)存的向量數(shù)據(jù)庫大體上可以分為兩大類別。一類是專為向量設計的專有向量數(shù)據(jù)庫產品,例如Pinecone、Weaviate、Qdrant、Chroma、Milvus等。另一類則是在通用的SQL或NoSQL數(shù)據(jù)庫產品上進行擴展,其中最為人熟知的SQL數(shù)據(jù)庫之一Postgres通過插件pgvector支持了向量索引和搜索;而包括ClickHouse、Redis、Elasticsearch和Cassandra在內的許多開源數(shù)據(jù)庫近期都增加了對向量索引的原生支持。

人們通常認為,專有的向量數(shù)據(jù)庫專門為向量檢索設計,能夠提供較佳的搜索性能。而支持向量搜索的通用數(shù)據(jù)庫產品則依賴于原有的通用數(shù)據(jù)庫,能夠提供更為完善的數(shù)據(jù)管理和結構化數(shù)據(jù)查詢能力,向量檢索性能則有所損失。MyScale基于開源的在線分析處理(OLAP)數(shù)據(jù)庫ClickHouse開發(fā),集成了自主研發(fā)的多尺度樹圖(英文:multi-scale tree graph,縮寫MSTG)向量索引算法。它不僅繼承了ClickHouse卓越的結構化數(shù)據(jù)分析和查詢能力,同時也提供了數(shù)倍于專有向量數(shù)據(jù)庫的性價比,從而將兩者的優(yōu)勢集于一身,給企業(yè)提供了統(tǒng)一的結構化和非結構化數(shù)據(jù)管理方案。

整體架構

MyScale是一款完全依托于亞馬遜云科技云平臺的數(shù)據(jù)庫服務,其架構深度結合了亞馬遜云科技的多元化產品線,包含了AWS EC2云端虛擬服務器、AWS EKS集群管理、AWS S3對象存儲、AWS NLB負載均衡等。有賴于亞馬遜云科技提供的強大底層設施,可迅速地構建出MyScale的云端服務產品。

如下圖所示,MyScale云服務的架構設計包括全局控制平面(global control plane)、區(qū)域控制平面(regional control plane)以及區(qū)域數(shù)據(jù)平面(regional data plane)三個層次,每個層次對應一個Kubernetes集群。全局控制平面中部署了云服務的業(yè)務系統(tǒng),負責組織、用戶的管理以及整體的使用量統(tǒng)計等。每個區(qū)域對應一個云服務供應商的一個可用區(qū),如AWS US-EAST-1。每個區(qū)域獨立部署一個控制平面和多個數(shù)據(jù)平面?刂破矫嫣峁┰搮^(qū)域內的集群管理(創(chuàng)建、停止、銷毀)API以及計費系統(tǒng),數(shù)據(jù)平面則運行用戶啟動的MyScale數(shù)據(jù)庫集群,它們運行在同一個數(shù)據(jù)平面中的多個可用區(qū)。

MyScale的所有服務都部署在亞馬遜云科技的托管Kubernetes服務EKS上。EKS提供了高度可用、安全及可擴展的Kubernetes環(huán)境,這使得MyScale可以充分利用Kubernetes的強大功能,如服務發(fā)現(xiàn)、負載均衡、自動擴縮容、安全隔離等。借助AWS EKS上的Cluster Autoscaler,MyScale可以根據(jù)用戶工作負載的需求,快速地啟動、停止和擴展實例,對EKS的節(jié)點池進行擴縮容。

為了保證用戶集群之間的隔離,MyScale利用了Kubernetes的命名空間(namespace)特性。在數(shù)據(jù)平面中,用戶創(chuàng)建的每個MyScale數(shù)據(jù)庫集群對應Kubernetes中的一個命名空間,這樣就可以最小化集群之間的相互影響。每個集群對應的命名空間中包含數(shù)據(jù)庫節(jié)點、負載均衡服務和元數(shù)據(jù)存儲服務。

用戶在使用MyScale云服務時,可以通過運行在全局控制平面上的Web UI來創(chuàng)建和管理MyScale集群。用戶在Web UI創(chuàng)建MyScale集群后,云服務的后端會調用相應區(qū)域控制平面中的接口,將MyScale數(shù)據(jù)庫集群的具體參數(shù)和配置轉成一個Kubernetes中的CRD資源配置文件,保存在該區(qū)域的控制平面中。對應的區(qū)域數(shù)據(jù)平面中運行的Cluster Manager會監(jiān)聽到區(qū)域控制平面中數(shù)據(jù)庫集群CRD資源的變化情況,并做出相應的操作,在數(shù)據(jù)平面中創(chuàng)建或修改實際的MyScale數(shù)據(jù)庫集群。在MyScale數(shù)據(jù)庫集群啟動后,用戶可以通過Web UI、Python/Java/NodeJS客戶端、HTTP接口以及包括Langchain和LlamaIndex在內的LLM應用框架來訪問MyScale數(shù)據(jù)庫。

選擇配備基于NVMe的本地SSD盤的EC2實例來部署MyScale數(shù)據(jù)庫。和大部分選擇純內存HNSW向量索引算法的向量數(shù)據(jù)庫不同,MyScale自研的MSTG算法允許將向量數(shù)據(jù)緩存在本地NVMe SSD盤中,因此MyScale在為用戶提供高性能的向量搜索的同時,大大節(jié)約了內存的使用。在亞馬遜云科技的公開測試中,MyScale超過了Pinecone、Weaviate、Qdrant、Zilliz等專有向量數(shù)據(jù)庫,提供了最佳的性價比(QPS per dollar)。

在部署MyScale云服務時,可以使用Crossplane來實現(xiàn)對亞馬遜云科技上的EC2和EKS服務的部署和管理。首先,通過Crossplane的AWS Provider配置了對應的亞馬遜云科技賬戶信息,使得Crossplane能夠訪問和操作亞馬遜云科技資源。然后,定義EC2和EKS的YAML配置文件,通過這些文件,可以定義需要的服務器和Kubernetes集群的參數(shù),如實例類型、集群大小等。通過應用這些配置文件,Crossplane的AWS Provider會調用AWS API來創(chuàng)建和配置這些資源。

不僅如此,Crossplane還能夠定期同步這些資源的狀態(tài),可以通過Kubernetes的接口來監(jiān)控和管理這些資源。當需要修改或刪除這些資源時,只需要修改對應的YAML文件并重新應用,Crossplane就會自動完成對應的操作。通過使用Crossplane,能夠以一種聲明式、統(tǒng)一和自動化的方式來管理云資源,大大提升工作效率和準確性。

在數(shù)據(jù)安全方面,MyScale采用了Teleport,一種先進的遠程訪問管理系統(tǒng)。Teleport能夠為開發(fā)者和運維人員提供通過密文連接安全地訪問Kubernetes集群的能力。這不僅提升了系統(tǒng)的安全性,也提升了操作的便捷性。更重要的是,Teleport具有全面的審計功能,能夠詳細記錄所有會話和事件,這對于進行安全分析和滿足合規(guī)性要求非常有幫助。這就意味著可以對任何操作有完全的可視化,從而更好地控制和保護MyScale云服務系統(tǒng),為用戶提供安全可靠的服務。

小結

這篇文章介紹了MyScale,一個在亞馬遜云科技上托管的向量數(shù)據(jù)庫。MyScale基于開源的在線分析處理(OLAP)數(shù)據(jù)庫ClickHouse開發(fā),集成了自主研發(fā)的多尺度樹圖(MSTG)向量索引算法,可以提供優(yōu)秀的數(shù)據(jù)管理和結構化數(shù)據(jù)查詢能力,同時也提供了性價比突出的向量搜索功能,以及結構化和非結構化聯(lián)合分析、處理的功能,可以被廣泛應用于圖像檢索、視頻分析、自然語言理解等AI驅動的場景。

 

 

贊助本站

人工智能實驗室
相關內容
AiLab云推薦
推薦內容
展開

熱門欄目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能實驗室 版權所有    關于我們 | 聯(lián)系我們 | 廣告服務 | 公司動態(tài) | 免責聲明 | 隱私條款 | 工作機會 | 展會港