التثبيت
dbc:
dbc لـ chDB هو 26.7.0. للتحقق من الإصدارات المتاحة، شغّل:
chdb من خلال مدير برامج تشغيل ADBC.
يتوفر الدعم لنظامَي Linux وmacOS على معماريتَي x86-64 وarm64.
الاتصال من بايثون
dbc بالاسم:
دورة حياة الاتصال
- يجب أن تشير جميع اتصالات ADBC المفتوحة في الوقت نفسه ضمن العملية نفسها إلى مسار التخزين نفسه.
- يدعم النظام اتصالات متعددة بهذا المسار، بما في ذلك الاتصالات المستخدمة بالتزامن من سلاسل تنفيذ مختلفة. للاستعلامات المتزامنة، خصص لكل عامل اتصالًا خاصًا به بدلًا من تنفيذ عمليات متزامنة على اتصال واحد.
- يؤدي إغلاق آخر اتصال إلى إيقاف المحرك المضمن. ويمكن لاتصال لاحق تشغيله مجددًا، بما في ذلك باستخدام مسار تخزين مختلف، لكن تكرار الإيقاف والتشغيل يستهلك الوقت والذاكرة. أبقِ اتصالًا واحدًا على الأقل مفتوحًا للأعمال المتكررة.
- لا يمكن إلا لعملية واحدة في نظام التشغيل فتح دليل معيّن على القرص في الوقت نفسه. خصص لكل عملية دليلًا خاصًا بها، أو استخدم قاعدة بيانات داخل الذاكرة.
استخدام ADBC مع حزمة chDB لبايثون
dbc برنامج تشغيل ADBC أصليًا مستقلاً. وهو منفصل عن المكتبة الأصلية التي تحمّلها حزمة chdb لبايثون.
ضمن عملية بايثون واحدة، لا تتوقع أن تشترك وصلة ADBC التي حمّلها dbc ووصلة chdb العادية في الجداول الموجودة في الذاكرة أو حالة المحرك. بالنسبة إلى مسار قاعدة بيانات معيّن، استخدم إما برنامج تشغيل ADBC أو واجهة برمجة تطبيقات chdb لبايثون في الوقت نفسه؛ ولا تُبقِ كليهما مفتوحين على المسار نفسه على القرص. لنقل البيانات بين واجهتي برمجة التطبيقات، أغلق جميع الوصلات من أحد الجانبين قبل فتح الجانب الآخر، أو مرّر البيانات صراحةً عبر Arrow أو الملفات.
الوظائف المُنفَّذة
ليس بعد إلى قدرة في برنامج تشغيل ADBC يمكن إضافتها لاحقًا. وتشير غير منطبق إلى ميزة لا تتوافق مع نموذج التنفيذ الحالي في chDB أو ClickHouse.
قاعدة البيانات
الاتصال
عبارة SQL
يدعم الاستيعاب المجمّع للبيانات أوضاع
create وappend وcreate_append وreplace، في قاعدة البيانات الافتراضية أو قاعدة بيانات مُسمّاة.
ClickHouse SQL وسلوك الأنواع
- لا تقبل الأعمدة القيمة NULL ما لم يُصرَّح عنها باستخدام
Nullable(...). وتُخزَّن قيمة NULL محددة النوع والمربوطة بعمودStringعادي كسلسلة فارغة، وليس كـ NULL. - استخدم اقتباس المعرّفات في ClickHouse؛ وتستخدم الأمثلة علامات الاقتباس الخلفية.
- تقابل قواعد بيانات ClickHouse
db_schemaفي ADBC. ولا توجد طبقة catalog فوقها، لذا لا تنطبق العمليات ضمن نطاق catalog. - لا يقبل
Decimalمقاييس سالبة، ويغطيDate32الفترة من 1900-01-01 إلى 2299-12-31. - يُفسَّر
DateTime64الذي لا يتضمن منطقة زمنية وفق المنطقة الزمنية للمحرك. - لا يمثّل إخراج Arrow الحالي من ClickHouse النوع
Time، لذا لا يمكن قراءته مجددًا عبر ADBC.
تُخزَّن البيانات الثنائية كـ
String وتُقرأ مجددًا بصيغة UTF-8. لذلك، لا تُدعم الحمولات غير الصالحة بترميز UTF-8 كقيم binary يمكن استرجاعها دون فقدان بيانات.
أمثلة
الاستيعاب المجمّع من Arrow
المَعلمات
C
dbc install chdb، يستطيع مدير برامج التشغيل في C العثور على برنامج التشغيل بالاسم:
كيفية التحقق من برنامج التشغيل
- مجموعة اختبار التوافق Apache Arrow ADBC، التي تتحقق من عقد C
- مجموعة التحقق ADBC Driver Foundry، التي تتحقق من السلوك على مستوى SQL، وتحويلات الأنواع ذهابًا وإيابًا، والبيانات الوصفية، والاستيعاب المجمّع