تمكين كل مطور من إنشاء تطبيقات GenAI على مستوى الإنتاج باستخدام لغة SQL القوية والمألوفة.
MyScaleDB هي قاعدة بيانات SQL Vector التي تمكن المطورين من إنشاء تطبيقات ذكاء اصطناعي جاهزة للإنتاج وقابلة للتطوير باستخدام لغة SQL المألوفة. إنه مبني على ClickHouse ومُحسّن لتطبيقات وحلول الذكاء الاصطناعي، مما يسمح للمطورين بإدارة ومعالجة كميات هائلة من البيانات بشكل فعال.
تشمل المزايا الرئيسية لاستخدام MyScaleDB ما يلي:
متوافق تمامًا مع SQL
بحث متجه سريع وقوي وفعال، وبحث مفلتر، واستعلامات ربط ناقلات SQL.
استخدم SQL مع الوظائف المتعلقة بالمتجهات للتفاعل مع MyScaleDB. لا حاجة لتعلم أدوات أو أطر عمل جديدة معقدة - التزم بما تعرفه وتحبه.
جاهز للإنتاج لتطبيقات الذكاء الاصطناعي
نظام أساسي موحد تم اختباره عبر الزمن لإدارة ومعالجة البيانات المنظمة والنصوص والمتجهات وJSON والبيانات الجغرافية المكانية والسلاسل الزمنية والمزيد. راجع أنواع البيانات والوظائف المدعومة
تم تحسين دقة RAG من خلال الجمع بين المتجهات وبيانات التعريف الغنية والبحث عن النص الكامل وإجراء بحث مفلتر عالي الدقة وعالي الكفاءة بأي نسبة 1 .
أداء لا مثيل له وقابلية للتوسع
يستفيد MyScaleDB من بنية قاعدة بيانات OLAP المتطورة وخوارزميات المتجهات المتقدمة لعمليات المتجهات فائقة السرعة.
يمكنك توسيع نطاق تطبيقاتك بسهولة وبتكلفة معقولة مع نمو بياناتك.
توفر MyScale Cloud خدمة MyScaleDB مُدارة بالكامل مع ميزات متميزة على بيانات مليارية النطاق 2 . بالمقارنة مع قواعد بيانات المتجهات المتخصصة التي تستخدم واجهات برمجة التطبيقات المخصصة، يعد MyScale أكثر قوة وأداء وفعالية من حيث التكلفة مع الحفاظ على سهولة الاستخدام. وهذا يجعلها مناسبة لمجتمع كبير من المبرمجين. بالإضافة إلى ذلك، عند مقارنتها بقواعد بيانات المتجهات المتكاملة مثل PostgreSQL مع pgvector أو ElasticSearch مع امتدادات المتجهات، يستهلك MyScale موارد أقل ويحقق دقة وسرعة أفضل للاستعلامات المشتركة المنظمة والمتجهة، مثل عمليات البحث المفلترة.
متوافق تمامًا مع SQL
إدارة البيانات المنظمة والموجهة الموحدة
بحث ميلي ثانية على ناقلات مليار النطاق
موثوقة للغاية وقابلة للتطوير خطيًا
وظائف قوية للبحث عن النص والبحث المختلط عن النص/المتجه
استعلامات ناقلات SQL المعقدة
إمكانية ملاحظة LLM باستخدام القياس عن بعد من MyScale
يقوم 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
:
docker exec -it myscaledb clickhouse-client
استخدم بنية الدليل الموصى بها التالية وموقع ملف docker-compose.yaml
:
> شجرة myscaledb myscaledb ├── docker-compose.yaml └── مجلدات └── التكوين └── المستخدمين.د └── custom_users_config.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: Resources:limits: cpus: "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> </الشبكات> <الملف الشخصي>الافتراضي</الملف الشخصي> <quota>الافتراضي</quota> <access_management>1</access_management> </افتراضي> </المستخدمين> </كليك هاوس>
ملاحظة: يتيح لك تكوين custom_users_config استخدام المستخدم الافتراضي للوصول إلى قاعدة البيانات على العقدة حيث يتم نشر خدمة قاعدة البيانات باستخدام عامل الإرساء. إذا كنت ترغب في الوصول إلى خدمة قاعدة البيانات على العقد الأخرى، فمن المستحسن إنشاء مستخدم يمكن الوصول إليه من خلال عناوين IP أخرى. للحصول على الإعدادات التفصيلية، راجع: إنشاء مستخدم MyScaleDB. يمكنك أيضًا تخصيص ملف التكوين الخاص بـ MyScaleDB. انسخ الدليل
/etc/clickhouse-server
من حاويةmyscaledb
إلى محرك الأقراص المحلي، وقم بتعديل التكوين، وأضف تعيين دليل إلى ملفdocker-compose.yaml
لجعل التكوين ساري المفعول:- ${DOCKER_VOLUME_DIRECTORY:-.}/volumes/config:/etc/clickhouse-server
استخدم الأمر التالي لتشغيله:
مؤتمر نزع السلاح myscaledb عامل ميناء يؤلف -d
قم بالوصول إلى واجهة سطر الأوامر MyScaleDB باستخدام الأمر التالي.
docker exec -it myscaledb-myscaledb-1 clickhouse-client
يمكنك الآن تشغيل عبارات SQL. راجع تنفيذ استعلامات SQL.
بيئة البناء المدعومة هي Ubuntu 22.04 مع LLVM 15.0.7.
يرجى الاطلاع على مجلد البرامج النصية.
مثال على الاستخدام:
LLVM_VERSION=15 sudo -E bash scripts/install_deps.sh Sudo apt-get -y install Rustc Cargo 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) المحرك = 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 بطاقة تعريف، عنوان، المسافة (ناقل_الجسم، [-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 بشكل مستمر لتلبية الاحتياجات المتغيرة باستمرار لصناعة الذكاء الاصطناعي. انضم إلينا في هذه الرحلة المثيرة وكن جزءًا من ثورة إدارة بيانات الذكاء الاصطناعي!
الفتنة
يدعم
احصل على آخر أخبار أو تحديثات MyScaleDB
اتبعMyScaleDB على تويتر
اتبعMyScale على LinkedIn
اقرأ مدونة ماي سكيل
الفهرس المقلوب والبحث المختلط للكلمات الرئيسية/المتجهات (مدعوم منذ 1.5)
دعم المزيد من محركات التخزين، على سبيل المثال ReplacingMergeTree
(مدعوم منذ 1.6)
إمكانية ملاحظة LLM باستخدام MyScaleDB وMyScale Telemetry
LLM تتمحور حول البيانات
علم البيانات التلقائي مع MyScaleDB
تم ترخيص MyScaleDB بموجب ترخيص Apache، الإصدار 2.0. عرض نسخة من ملف الترخيص.
نتقدم بشكر خاص لهذه المشاريع مفتوحة المصدر، والتي قمنا بتطوير MyScaleDB عليها:
ClickHouse - نظام إدارة قواعد البيانات التحليلي المجاني للبيانات الضخمة.
Faiss - مكتبة للبحث الفعال عن التشابه وتجميع المتجهات الكثيفة، بواسطة Meta's Fundamental AI Research.
hnswlib - مكتبة C++/python للرأس فقط من أجل التقريب السريع لأقرب الجيران.
ScaNN - مكتبة الجيران الأقرب القابلة للتطوير بواسطة Google Research.
Tantivy - مكتبة محرك بحث للنص الكامل مستوحاة من Apache Lucene ومكتوبة بلغة Rust.
تعرف على سبب أهمية تصفية البيانات التعريفية لتحسين دقة RAG هنا. ↩
يتم توفير خوارزمية MSTG (الرسم البياني الشجري متعدد المقاييس) من خلال MyScale Cloud، مما يحقق كثافة بيانات عالية مع تخزين قائم على القرص وأداء أفضل للفهرسة والبحث على بيانات متجهة بمليارات النطاق. ↩