使每個開發人員都能使用強大且熟悉的 SQL 建立生產級 GenAI 應用程式。
MyScaleDB 是 SQL 向量資料庫,使開發人員能夠使用熟悉的 SQL 建立生產就緒且可擴展的 AI 應用程式。它建構在ClickHouse之上,並針對 AI 應用和解決方案進行了最佳化,使開發人員能夠有效管理和處理大量資料。
使用 MyScaleDB 的主要優點包括:
完全相容 SQL
快速、強大且高效的向量搜尋、過濾搜尋和 SQL 向量連接查詢。
使用 SQL 和向量相關函數與 MyScaleDB 互動。無需學習複雜的新工具或框架 - 堅持您所知道和喜愛的內容。
AI 應用的生產就緒
一個經過時間考驗的統一平台,用於管理和處理結構化資料、文字、向量、JSON、地理空間、時間序列資料等。查看支援的資料類型和函數
透過將向量與豐富的元資料結合,進行全文搜索,並進行高精度、高效率的任意比例過濾搜索,提高了 RAG 精度1 。
無與倫比的性能和可擴展性
MyScaleDB 利用尖端的 OLAP 資料庫架構和先進的向量演算法來實現閃電般的向量操作。
隨著數據的成長,輕鬆且經濟高效地擴展您的應用程式。
MyScale Cloud 為完全託管的 MyScaleDB 提供十億級資料的高級功能2 。與使用自訂 API 的專用向量資料庫相比,MyScale 功能更強大、效能更佳且更具成本效益,同時更易於使用。這使得它適合大型程式設計師社群。此外,與具有pgvector 的PostgreSQL 或帶有向量擴展的ElasticSearch 等整合向量資料庫相比,MyScale 消耗的資源更少,並且在結構化和向量聯合查詢(例如過濾搜尋)方面實現了更高的準確性和速度。
完全相容 SQL
統一的結構化和向量化資料管理
十億向量的毫秒搜尋
高度可靠且可線性擴展
強大的文字搜尋和文字/向量混合搜尋功能
複雜的 SQL 向量查詢
透過 MyScale Telemetry 實現 LLM 可觀察性
MyScale將SQL資料庫/資料倉儲、向量資料庫、全文搜尋引擎三個系統有效率地統一到一個系統中。它不僅節省基礎設施和維護成本,還可以實現聯合資料查詢和分析。
請參閱我們的文件和博客,以了解有關 MyScale 獨特功能和優勢的更多資訊。我們的開源基準測試提供了與其他向量資料庫產品的詳細比較。
ClickHouse 是一種流行的開源分析資料庫,由於其列式儲存具有高級壓縮、跳過索引和 SIMD 處理功能,因此在大數據處理和分析方面表現出色。與 PostgreSQL 和 MySQL 等使用行儲存和主要最佳化進行事務處理的事務資料庫不同,ClickHouse 具有更快的分析和資料掃描速度。
結構化搜尋和向量搜尋相結合的關鍵操作之一是過濾搜索,即首先按其他屬性進行過濾,然後對剩餘資料執行向量搜尋。列式儲存和預先過濾對於確保過濾搜尋的高精度和高效能至關重要,這就是我們選擇在 ClickHouse 之上建立 MyScaleDB 的原因。
雖然我們在許多方面修改了ClickHouse 的執行和儲存引擎,以確保快速且經濟高效的SQL 向量查詢,但與通用SQL 處理相關的許多功能(#37893、#38048、#37859、#56728、#58223)已被修改。
使用 MyScaleDB 最簡單的方法是在 MyScale Cloud 服務上建立實例。您可以從支援 5M 768D 向量的免費 Pod 開始。在此註冊並查看 MyScaleDB QuickStart 以取得更多說明。
要快速啟動並運行 MyScaleDB 實例,只需提取並運行最新的 Docker 映像:
docker run --name myscaledb --net=主機 myscale/myscaledb:1.8.0
注意:Myscale 的預設設定僅允許 localhost ip 存取。對於docker run啟動方式,需要指定
--net=host
來存取目前節點上以docker方式部署的服務。
這將使用預設使用者default
且無密碼啟動 MyScaleDB 實例。然後,您可以使用clickhouse-client
連接到資料庫:
docker exec -it myscaledb clickhouse-client
使用以下推薦的目錄結構和docker-compose.yaml
檔案的位置:
> 樹 myscaledb myscaledb ├── docker-compose.yaml └── 卷 └── 配置 └── 用戶.d └── 自訂使用者配置.xml 3個目錄,2個文件
定義您的部署的配置。我們建議從docker-compose.yaml
檔案中的以下配置開始,您可以根據您的特定要求進行調整:
版本:'3.7'服務:myscaledb:圖像:myscale / myscaledb:1.8.0tty:trueports: - '8123:8123' - '9000:9000' - '8998:8998' - '9363:9363' - '9116:9116'網路:myscaledb_network:ipv4_address:10.0.0.2卷: - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/data:/var/lib/clickhouse - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/log:/var/log/clickhouse-server - ${DOCKER_VOLUME_DIRECTORY:-.}/volumes:-. /config/users.d/custom_users_config.xml:/etc/clickhouse-server/users.d/custom_users_config.xmldeploy:資源:限制:CPU:「16.00」記憶體:32Gbnetworks:myscaledb_network:驅動程式:bridgeipam:驅動程式預設:配置: - 子網路:10.0.0.0/24
custom_users_config.xml
:
<點擊屋> <使用者> <預設> <密碼></密碼> <網路> <ip>::1</ip> <ip>127.0.0.1</ip> <ip>10.0.0.0/24</ip> </網路> <設定檔>預設</設定檔> <配額>預設</配額> <存取管理>1</存取管理> </預設> </用戶> </點擊屋>
注意:custom_users_config配置可讓您使用預設使用者透過docker compose存取部署資料庫服務的節點上的資料庫。如果要存取其他節點上的資料庫服務,建議建立一個可以透過其他IP存取的使用者。詳細設定請參閱:MyScaleDB 建立使用者。您也可以自訂MyScaleDB的設定檔。將
myscaledb
容器中的/etc/clickhouse-server
目錄複製到本機驅動器,修改配置,並將目錄映射新增至docker-compose.yaml
檔案以使配置生效:- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/config:/etc/clickhouse-server
使用以下命令使其運行:
cd myscaledb docker 組成-d
使用以下命令存取 MyScaleDB 命令列介面。
docker exec -it myscaledb-myscaledb-1 clickhouse-client
現在您可以執行 SQL 語句。請參閱執行 SQL 查詢。
支援的建置環境是帶有 LLVM 15.0.7 的 Ubuntu 22.04。
請參閱腳本資料夾。
用法範例:
LLVM_VERSION=15 sudo -E bash 腳本/install_deps.sh sudo apt-get -y 安裝 rustc 貨物 yasm bash 腳本/config_on_linux.sh bash 腳本/build_on_linux.sh
產生的可執行檔將位於MyScaleDB/build/programs/*
中。
有關如何建立帶有向量索引的 SQL 表並執行向量搜尋的信息,請參閱向量搜尋文件。建議在開源MyScaleDB中建立向量索引時指定TYPE SCANN
。
-- 建立一個body_vector長度為384的表CREATE TABLE default.wiki_abstract (`id` UInt64、`body` 字串、`title` 字串、`url` 字串、`body_vector` 陣列(Float32)、約束 check_length 檢查長度(body_vector) = 384) 引擎 = MergeTreeORDER BY id;
-- 從S3 上的parquet 檔案插入資料INSERT INTO default.wiki_abstract SELECT * FROM s3('https://myscale-datasets.s3.ap-southeast-1.amazonaws.com/wiki_abstract_with_vector.parquet','Parquet') ;
-- 在 body_vector 上建立帶有 Cosine 指標的 SCANN 向量索引ALTER TABLE default.wiki_abstract ADD VECTOR INDEX vec_idx body_vector TYPE SCANN('metric_type=Cosine');-- 從 `vector 等待建立索引 資料表中索引進度變成`Built` SELECT * FROM system.vector_indices;
-- 執行向量搜尋返回前 5 個結果SELECT ID, 標題, 距離(body_vector,[-0.052,-0.0146,-0.0677,-0.0256,-0.0395,-0.0381,-0.025,0.0911,-0.0429,-0.0592,0.017,0.017,80.195-0. 2, 0.0544 , -0.0022、-0.0292、-0.0474、-0.0286、0.0746、-0.013、-0.0217、-0.0246、-0.0169、0.0495、-0.0947、0.013. 6、0.004、0.0276、0.0063 、- 0.0643、0.0059、-0.0229、-0.0315、0.0549、0.1427、0.0079、0.011、-0.0036、-0.0617、0.0155、-0.0607、0. 0.0329、-0.0522、-0.0347、 0.0921、0.0139 , -0.013, 0.0716, -0.0165, 0.0257, -0.0071, 0.0084, -0.0653, 0.0091, 0.0544, -0. 427, -0.0389, 0 .0921、-0.0622、 -0.0196、0.0025、0.0214、0.0259、-0.0493、-0.0211、-0.119、-0.0736、-0.1545、-0.0578、-0.0145、0.0138. .0001、-0.0 737、0.0427、 0.0517、0.0102、0.0386、 0.0233、0.0425、-0.0279、-0.0529、0.0744、-0.0305、-0.026、0.1229、-0.002、0305、-0.026、0.1229、-0.002、0. 6、-0.1044、0.123 、-0.0184、0.1148 、-0.0189、0.0412、 17、-0.007 , 0.0665, 0.0452, 0.0123, -0.0238, 0.0512 、-0.0116、0.0517、0.0288、-0.0013、0.0176、0.0762、0.1284、-0.031、0.0891、0762、0.1284、-0.031、0.0891、0.30.0. 2、-0.0209、-0。 -0.0387、0.0201、-0.027、 0.0243、0.0713、0.0359、-0.0674、-0.0747、-0.0147、0.0489、-0.0092、-0.01、0. 0396、-0.0316、-0.0 297 、-0.0385、-0.062、0.0465、 0.0539、-0.033、0.0643、0.061、0.0062、0.0245、0.0868、0.0523、-0.0253、0.0. 、0.0835、-0.10 57、-0.0188、- 0.0786、0.057、0.0707、-0.0185、0.0708 , 0.0189, -0.0374, -0.0484, 0.0089, 0.0247, 0.0255, -0.0118, 0.0739, 0.0114, -0.0448, -0.016, -0.0836, 0.0107, 0.0067, -0.0535, .0186 , -0.0042, 0.0582, -0.0731, - 0.0593、0.0299、0.0004、-0.0299、0.0128、-0.0549、0.0493、0.0、-0.0419. 0628、0.0417、-0.015 3、0.0471 、-0.0301、-0.0615、0.0137、-0.0219 , 0.0735, 0.083, 0.0114, -0.0326, -0.0272, 0.0642, -0.0203, 0. .0007, 0.0598, -0.0431, -0.0189, -0 .0593、-0.0334、0.02、-0.0371、-0.0441 , 0.0407, -0.0805, 0.0058, 0.1039, 0.0534, 0.0495, -0.032,0. 8, -0.0525, 0.0801, 0.0256, -0.0183, - 0.0619、-0.0063、-0.0605、0.0377、-0.0281 、-0.0097、-0.0029、-0.106、0.0465、-0.0033、-0.0308、0.03. 、0.0458、0.0231、0.0207、- 0.0828、 .0573, 0.0298, -0.0381, 0.0935, - 0.0498、-0.0979、-0.1452、0.0835、-0.0973、-0.0172、0.0. .0441、-0.0938、-0.0021、 0.0885、 8、0.0034、-0.0049、0.0217、0.0584、 、0.0204、-0.0253、0.1119、- 0.036、 0.0125、0.0531、0.0584、-0.0101、-0.0593 , -0.0577, -0.0656, -0.0396, 0.0525, -0.006, -0.019,0. , -0.0088, 0.0441, -0.0056, 0.0715 , 0.051, 219、-0.0028、0.0294、-0.0969、 -0.0852、0.0304、0.0374、0.1078、-0.0559、0.0805、-0.0464、0. 02、-0.0181、-0.1059、0.0111、 0。 IMIT 5;
我們致力於不斷改進和發展 MyScaleDB,以滿足人工智慧產業不斷變化的需求。加入我們這個令人興奮的旅程,成為人工智慧資料管理革命的一部分!
不和諧
支援
獲取最新的 MyScaleDB 新聞或更新
在 Twitter 上關注@MyScaleDB
在 LinkedIn 上關注@MyScale
閱讀 MyScale 博客
倒排索引和高效能關鍵字/向量混合搜尋(從 1.5 開始支援)
支援更多儲存引擎,例如ReplacingMergeTree
(從1.6開始支援)
使用 MyScaleDB 和 MyScale Telemetry 實現 LLM 可觀察性
以數據為中心的法學碩士
使用 MyScaleDB 進行自動化資料科學
MyScaleDB 根據 Apache 授權版本 2.0 授權。查看許可證文件的副本。
我們特別感謝這些開源項目,我們在此基礎上開發了 MyScaleDB:
ClickHouse - 用於大數據的免費分析 DBMS。
Faiss - 由 Meta 的基礎人工智慧研究中心提供的高效相似性搜尋和密集向量聚類的程式庫。
hnswlib - 僅標頭 C++/python 函式庫,用於快速近似最近鄰居。
ScaNN - Google Research 的可擴展最近鄰居庫。
Tantivy - 受 Apache Lucene 啟發並以 Rust 編寫的全文搜尋引擎庫。
請在此處了解為什麼元資料過濾對於提高 RAG 準確性至關重要。 ↩
透過MyScale Cloud提供MSTG(多尺度樹圖)演算法,透過基於磁碟的儲存實現高資料密度,並在十億級向量資料上實現更好的索引和搜尋效能。 ↩