boolean | UInt8 أو Bool | يدعم ClickHouse النوع Boolean كاسم مستعار لـ UInt8 في الإصدارات الأحدث. |
keyword | String | يُستخدم للتصفية بالمطابقة التامة، والتجميع، والفرز. |
text | String | إمكانات full-text search محدودة في ClickHouse؛ وتتطلب tokenization منطقًا مخصصًا باستخدام دوال مثل tokens مع array functions. |
long | Int64 | عدد صحيح موقّع 64-بت. |
integer | Int32 | عدد صحيح موقّع 32-بت. |
short | Int16 | عدد صحيح موقّع 16-بت. |
byte | Int8 | عدد صحيح موقّع 8-بت. |
unsigned_long | UInt64 | عدد صحيح غير موقّع 64-بت. |
double | Float64 | عدد عشري عائم 64-بت. |
float | Float32 | عدد عشري عائم 32-بت. |
half_float | Float32 أو BFloat16 | أقرب مكافئ. لا يحتوي ClickHouse على نوع float بحجم 16-بت. يتوفر في ClickHouse النوع BFloat16، لكنه يختلف عن Half-float IEE-754: إذ يوفّر half-float دقة أعلى مع نطاق أصغر، بينما يضحّي bfloat16 بالدقة مقابل نطاق أوسع، مما يجعله أنسب لأحمال تعلّم الآلة. |
scaled_float | Decimal(x, y) | لتخزين numeric values ذات الفاصلة الثابتة. |
date | DateTime | أنواع تاريخ مكافئة بدقة الثواني. |
date_nanos | DateTime64 | يدعم ClickHouse دقة النانوثانية باستخدام DateTime64(9). |
binary | String, FixedString(N) | يتطلب فك ترميز base64 للحقول الثنائية. |
ip | IPv4, IPv6 | تتوفر أنواع IPv4 وIPv6 الأصلية. |
object | Nested, Map, Tuple, JSON | يمكن لـ ClickHouse تمثيل الكائنات الشبيهة بـ JSON باستخدام Nested أو JSON. |
flattened | String | يخزّن النوع flattened في Elasticsearch كائنات JSON كاملةً كحقول مفردة، ما يتيح وصولًا مرنًا ومن دون schema ثابتة إلى المفاتيح المتداخلة من دون تعيين كامل. وفي ClickHouse، يمكن تحقيق وظيفة مشابهة باستخدام النوع String، لكن ذلك يتطلب تنفيذ المعالجة في materialized views. |
nested | Nested | توفّر أعمدة ClickHouse Nested دلالات مشابهة للحقول الفرعية المجمّعة، بافتراض استخدام flatten_nested=0. |
join | NA | لا يوجد مفهوم مباشر لعلاقات الأصل-الفرع. ولا حاجة إليه في ClickHouse لأن joins عبر الجداول مدعومة. |
alias | Alias modifier للعمود | الأسماء المستعارة مدعومة من خلال modifier للحقل. ويمكن تطبيق الدوال على هذا alias، مثل size String ALIAS formatReadableSize(size_bytes) |
range types (*_range) | Tuple(start, end) أو Array(T) | لا يحتوي ClickHouse على نوع range أصلي، لكن يمكن تمثيل النطاقات الرقمية ونطاقات التاريخ باستخدام البنى Tuple(start, end) أو Array. وبالنسبة إلى نطاقات IP (ip_range)، خزّن قيم CIDR كـ String وقيّمها باستخدام دوال مثل isIPAddressInRange(). وبدلًا من ذلك، يمكن استخدام قواميس lookup المعتمدة على ip_trie للحصول على تصفية فعّالة. |
aggregate_metric_double | AggregateFunction(...) وSimpleAggregateFunction(...) | استخدم aggregate function states وmaterialized views لنمذجة المقاييس المجمّعة مسبقًا. تدعم جميع دوال aggregation aggregate states. |
histogram | Tuple(Array(Float64), Array(UInt64)) | مثّل الحاويات والعدّادات يدويًا باستخدام arrays أو schema مخصصة. |
annotated-text | String | لا يوجد دعم مدمج للبحث المدرك للكيانات أو annotations. |
completion, search_as_you_type | NA | لا يوجد محرّك autocomplete أو suggester أصلي. يمكن محاكاة ذلك باستخدام String وsearch functions. |
semantic_text | NA | لا يوجد semantic search أصلي — أنشئ embeddings واستخدم vector search. |
token_count | Int32 | استخدمه أثناء ingestion لحساب عدد الـ token يدويًا، مثلًا عبر الدالة length(tokens())، على سبيل المثال مع عمود Materialized |
dense_vector | Array(Float32) | استخدم arrays لتخزين embeddings. |
sparse_vector | Map(UInt32, Float32) | حاكِ المتجهات sparse باستخدام الخرائط. لا يوجد دعم أصلي للمتجهات sparse. |
rank_feature / rank_features | Float32, Array(Float32) | لا يوجد تعزيز أصلي أثناء الاستعلام، لكن يمكن تمثيله يدويًا ضمن منطق التقييم. |
geo_point | Tuple(Float64, Float64) أو Point | استخدم Tuple من (خط العرض، خط الطول). ويتوفر Point أيضًا كنوع في ClickHouse. |
geo_shape, shape | Ring, LineString, MultiLineString, Polygon, MultiPolygon | دعم أصلي للأشكال الجغرافية والفهرسة المكانية. |
percolator | NA | لا يوجد مفهوم لفهرسة الاستعلامات. استخدم SQL القياسي + العروض المادية التزايدية بدلًا من ذلك. |
version | String | لا يوفّر ClickHouse نوعًا أصليًا للإصدارات. خزّن الإصدارات كسلاسل نصية، واستخدم دوال UDFs مخصصة لإجراء المقارنات الدلالية عند الحاجة. وفكّر في تطبيعها إلى تنسيقات رقمية إذا كانت استعلامات النطاق مطلوبة. |