Skip to main content
هذه الصفحة لا تنطبق على ClickHouse Cloud. الميزة الموثقة هنا غير متاحة في خدمات ClickHouse Cloud. راجع دليل التوافق مع Cloud الخاص بـ ClickHouse لمزيد من المعلومات.
تتوافق دالة الجدول s3 ونوع القرص S3 في ClickHouse مع SeaweedFS، وهو مخزن كائنات موزّع مفتوح المصدر مزوّد ببوابة متوافقة مع S3. يدعم SeaweedFS طلبات نمط المسار مباشرةً، لذا يعمل المخزن المستضاف ذاتيًا دون الحاجة إلى DNS بأحرف بديلة. كما يدعم SeaweedFS جداول Iceberg: إذ تخزّن حاويات التخزين للجداول بياناتها كملفات Parquet، بينما يوفّر كتالوج Iceberg REST المدمج البيانات الوصفية للجداول. راجع دليل كتالوج SeaweedFS للاستعلام عنها عبر نقطة النهاية نفسها. استخدم SeaweedFS 4.42 أو إصدارًا أحدث. قد تحذف الإصدارات الأقدم كائنًا تُثبَّت عملية كتابته في الوقت الذي يُزال فيه مجلده الأب لكونه فارغًا، فتظهر الرسالة Object ... suddenly disappeared مباشرةً بعد نجاح الكتابة.

تشغيل SeaweedFS محليًا

لإعداد بيئة اختبار محلية، أنشئ ملفًا باسم s3config.json يحتوي على بيانات اعتماد S3:
ثم شغّل حزمة SeaweedFS بالكامل في حاوية واحدة — تنشئ العلامة -bucket حاوية التخزين عند بدء التشغيل:
تعمل نقطة نهاية S3 على المنفذ 8333؛ انتظر حتى تستجيب قبل المتابعة:
يمكن إنشاء المزيد من حاويات التخزين في أي وقت باستخدام echo "s3.bucket.create -name mybucket" | docker exec -i seaweedfs weed shell. بشكل افتراضي، يُؤكَّد إجراء الكتابة بمجرد تسليمه إلى نظام التشغيل. لضمان مزامنة كل عملية كتابة مع القرص باستخدام fsync قبل تأكيدها، فعّل fsync على حاوية التخزين:

‏MergeTree المستند إلى S3

يتوافق إعداد MergeTree المستند إلى S3 مع بعض التعديلات الطفيفة:
تحتوي نقطة النهاية على اسم حاوية التخزين (clickhouse) متبوعًا ببادئة المسار (tables/) لبيانات الجدول. لا يتطلب SeaweedFS منطقة، لذا يمكن ترك الوسم فارغًا. استبدل seaweedfs بالمضيف الذي يشغّل بوابة S3.
تضع الجداول بياناتها بعد ذلك على SeaweedFS عبر سياسة التخزين:
للاحتفاظ بنسخة مخبأة محليًا من البيانات كثيرة القراءة، أنشئ الجدول باستخدام SETTINGS disk = 's3_cache' بدلًا من ذلك، إذ إن قرص التخزين المؤقت المعرّف أعلاه يغلّف قرص S3.

دالة الجدول s3

تقرأ دالة الجدول s3 الكائنات وتكتبها باستخدام نقطة النهاية نفسها:
تُستخدم أنماط glob لقراءة عدة كائنات.

النسخ الاحتياطي والاستعادة

يقبل الأمران BACKUP وRESTORE نقطة نهاية SeaweedFS كوجهة S3:
آخر تعديل في ١٨ أغسطس ٢٠٢٦