ช่วยให้นักพัฒนาทุกคนสามารถสร้างแอปพลิเคชัน GenAI ระดับการผลิตด้วย SQL ที่ทรงพลังและคุ้นเคย
MyScaleDB คือฐานข้อมูลเวกเตอร์ SQL ที่ช่วยให้นักพัฒนาสามารถสร้างแอปพลิเคชัน AI ที่พร้อมใช้งานจริงและปรับขนาดได้โดยใช้ SQL ที่คุ้นเคย มันถูกสร้างขึ้นบน ClickHouse และปรับให้เหมาะสมสำหรับแอปพลิเคชันและโซลูชัน AI ช่วยให้นักพัฒนาสามารถจัดการและประมวลผลข้อมูลปริมาณมหาศาลได้อย่างมีประสิทธิภาพ
ประโยชน์หลักของการใช้ MyScaleDB ได้แก่:
เข้ากันได้กับ SQL อย่างสมบูรณ์
การค้นหาเวกเตอร์ที่รวดเร็ว ทรงพลัง และมีประสิทธิภาพ การค้นหาแบบกรอง และแบบสอบถามการรวมเวกเตอร์ SQL
ใช้ SQL กับฟังก์ชันที่เกี่ยวข้องกับเวกเตอร์เพื่อโต้ตอบกับ MyScaleDB ไม่จำเป็นต้องเรียนรู้เครื่องมือหรือเฟรมเวิร์กใหม่ๆ ที่ซับซ้อน – ยึดติดกับสิ่งที่คุณรู้จักและชื่นชอบ
พร้อมการผลิตสำหรับแอปพลิเคชัน AI
แพลตฟอร์มแบบครบวงจรและผ่านการทดสอบตามเวลาเพื่อจัดการและประมวลผลข้อมูลที่มีโครงสร้าง ข้อความ เวกเตอร์ JSON ข้อมูลเชิงพื้นที่ ข้อมูลอนุกรมเวลา และอื่นๆ ดูประเภทข้อมูลและฟังก์ชันที่รองรับ
ปรับปรุงความแม่นยำของ RAG ด้วยการรวมเวกเตอร์เข้ากับข้อมูลเมตาที่หลากหลาย การค้นหาข้อความแบบเต็ม และดำเนินการค้นหาแบบกรองที่มีความแม่นยำสูงและมีประสิทธิภาพสูงในทุกอัตราส่วน 1
ประสิทธิภาพและความสามารถในการปรับขนาดที่ไม่มีใครเทียบได้
MyScaleDB ใช้ประโยชน์จากสถาปัตยกรรมฐานข้อมูล OLAP ที่ล้ำสมัยและอัลกอริธึมเวกเตอร์ขั้นสูงสำหรับการดำเนินการเวกเตอร์ที่รวดเร็วปานสายฟ้า
ปรับขนาดแอปพลิเคชันของคุณได้อย่างง่ายดายและคุ้มค่าเมื่อข้อมูลของคุณเติบโตขึ้น
MyScale Cloud มอบ MyScaleDB ที่มีการจัดการเต็มรูปแบบพร้อมคุณสมบัติระดับพรีเมียมบนข้อมูลขนาดพันล้าน 2 เมื่อเปรียบเทียบกับฐานข้อมูลเวกเตอร์เฉพาะทางที่ใช้ API แบบกำหนดเอง MyScale มีประสิทธิภาพ มีประสิทธิภาพ และคุ้มต้นทุนมากกว่า ในขณะที่ยังคงใช้งานง่ายกว่า ทำให้เหมาะสำหรับชุมชนโปรแกรมเมอร์ขนาดใหญ่ นอกจากนี้ เมื่อเปรียบเทียบกับฐานข้อมูลเวกเตอร์ที่ผสานรวม เช่น PostgreSQL กับ pgvector หรือ ElasticSearch ที่มีส่วนขยายเวกเตอร์ MyScale ใช้ทรัพยากรน้อยลง และได้ความแม่นยำและความเร็วที่ดีกว่าสำหรับการสืบค้นร่วมที่มีโครงสร้างและเวกเตอร์ เช่น การค้นหาแบบกรอง
รองรับ SQL อย่างสมบูรณ์
การจัดการข้อมูลที่มีโครงสร้างและเวกเตอร์แบบครบวงจร
ค้นหามิลลิวินาทีบนเวกเตอร์ขนาดพันล้าน
มีความน่าเชื่อถือสูงและปรับขนาดได้เชิงเส้น
ฟังก์ชันการค้นหาข้อความและข้อความ/เวกเตอร์ไฮบริดที่มีประสิทธิภาพ
แบบสอบถามเวกเตอร์ SQL ที่ซับซ้อน
ความสามารถในการสังเกต LLM ด้วย MyScale Telemetry
MyScale รวมสามระบบเข้าด้วยกัน: ฐานข้อมูล SQL/คลังข้อมูล ฐานข้อมูลเวกเตอร์ และเครื่องมือค้นหาข้อความแบบเต็มมาไว้ในระบบเดียวในลักษณะที่มีประสิทธิภาพสูง ไม่เพียงช่วยประหยัดโครงสร้างพื้นฐานและค่าบำรุงรักษาเท่านั้น แต่ยังช่วยให้สามารถสืบค้นและวิเคราะห์ข้อมูลร่วมกันได้เช่นกัน
ดูเอกสารและบล็อกของเราสำหรับข้อมูลเพิ่มเติมเกี่ยวกับคุณลักษณะและข้อดีเฉพาะตัวของ MyScale เกณฑ์มาตรฐานโอเพ่นซอร์สของเราให้การเปรียบเทียบโดยละเอียดกับผลิตภัณฑ์ฐานข้อมูลเวกเตอร์อื่นๆ
ClickHouse เป็นฐานข้อมูลการวิเคราะห์โอเพ่นซอร์สยอดนิยมที่มีความเป็นเลิศในการประมวลผลและการวิเคราะห์ข้อมูลขนาดใหญ่ เนื่องจากมีการจัดเก็บแบบเรียงเป็นแนวพร้อมการบีบอัดขั้นสูง การข้ามการทำดัชนี และการประมวลผล SIMD ต่างจากฐานข้อมูลธุรกรรมเช่น PostgreSQL และ MySQL ซึ่งใช้พื้นที่จัดเก็บแถวและการเพิ่มประสิทธิภาพหลักสำหรับการประมวลผลธุรกรรม ClickHouse มีความเร็วในการวิเคราะห์และการสแกนข้อมูลที่เร็วกว่ามาก
การดำเนินการหลักอย่างหนึ่งในการรวมการค้นหาแบบมีโครงสร้างและเวกเตอร์คือการค้นหาแบบกรอง ซึ่งเกี่ยวข้องกับการกรองตามคุณลักษณะอื่น ๆ ก่อน จากนั้นจึงทำการค้นหาแบบเวกเตอร์กับข้อมูลที่เหลือ การจัดเก็บแบบเรียงเป็นแนวและการกรองล่วงหน้ามีความสำคัญอย่างยิ่งต่อการรับรองความถูกต้องแม่นยำสูงและประสิทธิภาพสูงในการค้นหาแบบกรอง ซึ่งเป็นเหตุผลที่เราเลือกสร้าง MyScaleDB ที่ด้านบนของ ClickHouse
ในขณะที่เราได้แก้ไขการดำเนินการและกลไกการจัดเก็บของ ClickHouse ในหลาย ๆ ด้านเพื่อให้แน่ใจว่าการสืบค้นเวกเตอร์ SQL รวดเร็วและคุ้มค่า แต่คุณสมบัติหลายอย่าง (#37893, #38048, #37859, #56728, #58223) ที่เกี่ยวข้องกับการประมวลผล SQL ทั่วไป สนับสนุนกลับไปยังชุมชนโอเพ่นซอร์ส ClickHouse
วิธีที่ง่ายที่สุดในการใช้ MyScaleDB คือการสร้างอินสแตนซ์บนบริการ MyScale Cloud คุณสามารถเริ่มจากพ็อดฟรีที่รองรับเวกเตอร์ 5M 768D ลงทะเบียนที่นี่และชำระเงิน MyScaleDB QuickStart เพื่อดูคำแนะนำเพิ่มเติม
หากต้องการให้อินสแตนซ์ MyScaleDB ทำงานได้อย่างรวดเร็ว เพียงดึงและเรียกใช้อิมเมจ Docker ล่าสุด:
นักเทียบท่าทำงาน --name myscaledb --net=host myscale/myscaledb:1.8.0
หมายเหตุ: การกำหนดค่าเริ่มต้นของ Myscale อนุญาตเฉพาะการเข้าถึง IP ของโฮสต์ท้องถิ่นเท่านั้น สำหรับวิธีการเริ่มต้นใช้งานนักเทียบท่า คุณต้องระบุ
--net=host
เพื่อเข้าถึงบริการที่ใช้งานในโหมดนักเทียบท่าบนโหนดปัจจุบัน
สิ่งนี้จะเริ่มต้นอินสแตนซ์ MyScaleDB ด้วย default
ต้นของผู้ใช้และไม่มีรหัสผ่าน จากนั้นคุณสามารถเชื่อมต่อกับฐานข้อมูลโดยใช้ clickhouse-client
:
นักเทียบท่า exec -it myscaledb clickhouse-client
ใช้โครงสร้างไดเร็กทอรีที่แนะนำต่อไปนี้และตำแหน่งของไฟล์ docker-compose.yaml
:
> ต้นไม้ myscaledb myscaledb ├── นักเทียบท่า-compose.yaml └── เล่ม └── กำหนดค่า └── ผู้ใช้.d └── custom_users_config.xml 3 ไดเร็กทอรี 2 ไฟล์
กำหนดการกำหนดค่าสำหรับการปรับใช้ของคุณ เราขอแนะนำให้เริ่มต้นด้วยการกำหนดค่าต่อไปนี้ในไฟล์ docker-compose.yaml
ซึ่งคุณสามารถปรับเปลี่ยนได้ตามความต้องการเฉพาะของคุณ:
เวอร์ชัน: '3.7' บริการ: myscaledb:image: 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: resources:limits: cpus: หน่วยความจำ "16.00": 32Gbnetworks: myscaledb_network: ไดรเวอร์: bridgeipam: ไดรเวอร์: การกำหนดค่าเริ่มต้น: - ซับเน็ต: 10.0.0.0/24
custom_users_config.xml
:
<คลิกเฮาส์> <ผู้ใช้> <ค่าเริ่มต้น> <รหัสผ่าน></รหัสผ่าน> <เครือข่าย> <ไอพี>::1</ไอพี> <ip>127.0.0.1</ip> <ip>10.0.0.0/24</ip> </เครือข่าย> <โปรไฟล์>ค่าเริ่มต้น</โปรไฟล์> <โควต้า>ค่าเริ่มต้น</โควต้า> <การเข้าถึง_การจัดการ>1</การเข้าถึง_การจัดการ> </ค่าเริ่มต้น> </ผู้ใช้> </คลิกเฮาส์>
หมายเหตุ: การกำหนดค่า custom_users_config อนุญาตให้คุณใช้ผู้ใช้เริ่มต้นในการเข้าถึงฐานข้อมูลบนโหนดที่มีการปรับใช้บริการฐานข้อมูลโดยใช้การเขียนนักเทียบท่า หากคุณต้องการเข้าถึงบริการฐานข้อมูลบนโหนดอื่น ขอแนะนำให้สร้างผู้ใช้ที่สามารถเข้าถึงได้ผ่าน IP อื่น สำหรับการตั้งค่าโดยละเอียด โปรดดูที่ MyScaleDB สร้างผู้ใช้ คุณยังสามารถปรับแต่งไฟล์การกำหนดค่าของ MyScaleDB ได้อีกด้วย คัดลอกไดเร็กทอรี
/etc/clickhouse-server
จากคอนเทนเนอร์myscaledb
ไปยังไดรฟ์ในเครื่องของคุณ แก้ไขการกำหนดค่า และเพิ่มการแมปไดเร็กทอรีลงในไฟล์docker-compose.yaml
เพื่อให้การกำหนดค่ามีผล:- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/config:/etc/clickhouse-server
ใช้คำสั่งต่อไปนี้เพื่อให้มันทำงาน:
ซีดี myscaledb.cd นักเทียบท่าเขียน -d
เข้าถึงอินเทอร์เฟซบรรทัดคำสั่ง MyScaleDB โดยใช้คำสั่งต่อไปนี้
นักเทียบท่า exec -it myscaledb-myscaledb-1 clickhouse-client
ตอนนี้คุณสามารถรันคำสั่ง SQL ได้แล้ว โปรดดูที่การดำเนินการสืบค้น SQL
สภาพแวดล้อมบิลด์ที่รองรับคือ Ubuntu 22.04 พร้อม LLVM 15.0.7
โปรดดูโฟลเดอร์สคริปต์
ตัวอย่างการใช้งาน:
LLVM_VERSION=15 sudo -E สคริปต์ทุบตี/install_deps.sh sudo apt-get -y ติดตั้ง yasm สินค้าสนิม สคริปต์ทุบตี / config_on_linux.sh สคริปต์ทุบตี / build_on_linux.sh
ผลการดำเนินการที่ได้จะอยู่ใน MyScaleDB/build/programs/*
ดูเอกสารประกอบการค้นหาเวกเตอร์สำหรับวิธีสร้างตาราง SQL ด้วยดัชนีเวกเตอร์และดำเนินการค้นหาเวกเตอร์ ขอแนะนำให้ระบุ TYPE SCANN
เมื่อสร้างดัชนีเวกเตอร์ใน MyScaleDB แบบโอเพ่นซอร์ส
-- สร้างตารางด้วย body_vector ที่มีความยาว 384CREATE TABLE default.wiki_abstract (`id` UInt64,`body` String,`title` String,`url` String,`body_vector` Array(Float32),CONSTRAINT check_length CHECK length(body_vector) = 384) ENGINE = MergeTreeORDER ตามรหัส;
-- แทรกข้อมูลจากไฟล์ปาร์เก้บน S3INSERT INTO default.wiki_abstract SELECT * FROM s3('https://myscale-datasets.s3.ap-southeast-1.amazonaws.com/wiki_abstract_with_vector.parquet','Parquet');
-- สร้างดัชนีเวกเตอร์ SCANN ด้วยตัวชี้วัดโคไซน์บน body_vectorALTER TABLE default.wiki_abstract ADD VECTOR INDEX vec_idx body_vector TYPE SCANN('metric_type=Cosine');-- ค้นหาความคืบหน้าในการสร้างดัชนีจากตาราง `vector_indices`-- รอจนกระทั่ง ความคืบหน้าของดัชนีกลายเป็น `Built`SELECT * FROM system.vector_indices;
-- ทำการค้นหาเวกเตอร์เพื่อส่งคืนผลลัพธ์ 5 อันดับแรก SELECT รหัส, ชื่อ, ระยะทาง (body_vector, [-0.052, -0.0146, -0.0677, -0.0256, -0.0395, -0.0381, -0.025, 0.0911, -0.0429, -0.0592, 0.0017, -0.0358, -0.0464, -0.0189, -0.0192, 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.0139, 0.0445, -0.0262, -0.0049, 0.0506, 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.0258, -0.0205, 0.0008, -0.0547, 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.0192, -0.0169, -0.0017, -0.0304, 0.0427, -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, 0.0478, -0.0451, -0.0332, 0.0799, 0.0001, -0.0737, 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, 0.0038, -0.0491, 0.0352, 0.0027, -0.056, -0.1044, 0.123, -0.0184, 0.1148, -0.0189, 0.0412, -0.0347, -0.0569, -0.0119, 0.0098, -0.0016, 0.0451, 0.0273, 0.0436, 0.0082, 0.0166, -0.0989, 0.0747, -0.0, 0.0306, -0.0717, -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, -0.0286, 0.0132, 0.003, 0.0433, 0.0102, -0.0209, -0.0459, -0.0312, -0.0387, 0.0201, -0.027, 0.0243, 0.0713, 0.0359, -0.0674, -0.0747, -0.0147, 0.0489, -0.0092, -0.018, 0.0236, 0.0372, -0.0071, -0.0513, -0.0396, -0.0316, -0.0297, -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.0157, 0.0266, 0.0124, 0.1382, -0.0107, 0.0835, -0.1057, -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, -0.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, 0.0549, -0.0315, 0.1012, 0.0459, -0.0628, 0.0417, -0.0153, 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.0557, -0.0579, 0.0883, 0.0719, 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.0325, 0.0782, -0.0403, 0.0108, -0.0068, -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.0357, 0.0156, -0.0406, -0.0308, 0.0013, 0.0458, 0.0231, 0.0207, -0.0828, -0.0573, 0.0298, -0.0381, 0.0935, -0.0498, -0.0979, -0.1452, 0.0835, -0.0973, -0.0172, 0.0003, 0.09, -0.0931, -0.0252, 0.008, -0.0441, -0.0938, -0.0021, 0.0885, 0.0088, 0.0034, -0.0049, 0.0217, 0.0584, -0.012, 0.059, 0.0146, -0.0, -0.0045, 0.0663, 0.0017, 0.0015, 0.0569, -0.0089, -0.0232, 0.0065, 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.0149, 0.003, -0.1009, -0.0281, 0.0311, -0.0088, 0.0441, -0.0056, 0.0715, 0.051, 0.0219, -0.0028, 0.0294, -0.0969, -0.0852, 0.0304, 0.0374, 0.1078, -0.0559, 0.0805, -0.0464, 0.0369, 0.0874, -0.0251, 0.0075, -0.0502, -0.0181, -0.1059, 0.0111, 0.0894, 0.0021, 0.0838, 0.0497, -0.0183, 0.0246, -0.004, -0.0828, 0.06, -0.1161, -0.0367, 0.0475, 0.0317]) AS DistanceFROM default.wiki_abstractORDER BY Distance ASCLIMIT 5;
เรามุ่งมั่นที่จะปรับปรุงและพัฒนา MyScaleDB อย่างต่อเนื่องเพื่อตอบสนองความต้องการที่เปลี่ยนแปลงตลอดเวลาของอุตสาหกรรม AI เข้าร่วมกับเราในการเดินทางที่น่าตื่นเต้นนี้และเป็นส่วนหนึ่งของการปฏิวัติในการจัดการข้อมูล AI!
ความไม่ลงรอยกัน
สนับสนุน
รับข่าวสารหรืออัปเดตล่าสุดของ MyScaleDB
ติดตาม @MyScaleDB บน Twitter
ติดตาม @MyScale บน LinkedIn
อ่านบล็อก MyScale
ดัชนีกลับด้านและการค้นหาคำหลัก/เวกเตอร์ที่มีประสิทธิภาพ (รองรับตั้งแต่ 1.5)
รองรับเอ็นจิ้นการจัดเก็บข้อมูลเพิ่มเติม เช่น ReplacingMergeTree
(รองรับตั้งแต่ 1.6)
ความสามารถในการสังเกต LLM ด้วย MyScaleDB และ MyScale Telemetry
LLM ที่เน้นข้อมูลเป็นศูนย์กลาง
วิทยาศาสตร์ข้อมูลอัตโนมัติด้วย MyScaleDB
MyScaleDB ได้รับอนุญาตภายใต้ Apache License เวอร์ชัน 2.0 ดูสำเนาของไฟล์ใบอนุญาต
เราขอขอบคุณเป็นพิเศษสำหรับโครงการโอเพ่นซอร์สเหล่านี้ ซึ่งเราได้พัฒนา MyScaleDB:
ClickHouse - DBMS การวิเคราะห์ฟรีสำหรับข้อมูลขนาดใหญ่
Faiss - ไลบรารีสำหรับการค้นหาความคล้ายคลึงกันที่มีประสิทธิภาพและการจัดกลุ่มเวกเตอร์หนาแน่นโดย Meta's Fundamental AI Research
hnswlib - ไลบรารี C++/python แบบส่วนหัวเท่านั้นสำหรับเพื่อนบ้านที่ใกล้ที่สุดอย่างรวดเร็ว
ScanNN - ห้องสมุดเพื่อนบ้านที่ใกล้ที่สุดที่ปรับขนาดได้โดย Google Research
Tantivy - ไลบรารีเครื่องมือค้นหาข้อความแบบเต็มที่ได้รับแรงบันดาลใจจาก Apache Lucene และเขียนด้วยภาษา Rust
ดูว่าทำไมการกรองข้อมูลเมตาจึงมีความสำคัญต่อการเพิ่มความแม่นยำของ RAG ที่นี่
อัลกอริธึม MSTG (กราฟต้นไม้หลายสเกล) จัดทำผ่าน MyScale Cloud ทำให้ได้รับความหนาแน่นของข้อมูลสูงพร้อมพื้นที่จัดเก็บบนดิสก์ และประสิทธิภาพการจัดทำดัชนีและการค้นหาที่ดีขึ้นในข้อมูลเวกเตอร์พันล้านสเกล