> ## Documentation Index
> Fetch the complete documentation index at: https://clickhouse.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

> توثيق خاص بمحرك الجدول StripeLog

# محرك الجدول StripeLog

export const CloudNotSupportedBadge = () => {
  return <div className="cloudNotSupportedBadge">
            <div className="cloudNotSupportedIcon">
            <svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg">
                <path strokeWidth="1.5" d="M6.33366 12.6666L12.3739 12.6667C13.6593 12.6667 14.7073 11.6187 14.7073 10.3334C14.7073 9.04804 13.6593 8.00003 12.3739 8.00003C12.3739 8.00003 12.3337 7.66659 12.0003 7.33325M10.667 5.33322C8.00033 2.33325 4.45395 4.78537 4.14195 6.68203C2.55728 6.7627 1.29395 8.06203 1.29395 9.6667C1.29395 11.3234 2.66699 12.6666 4.00033 12.6666" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
                <path strokeWidth="1.5" d="M2.66699 14L12.0003 4.66663" stroke="currentColor" strokeLinecap="round" strokeLinejoin="round" />
            </svg>

        </div>
            غير مدعوم في ClickHouse Cloud
        </div>;
};

<CloudNotSupportedBadge />

ينتمي هذا المحرك إلى عائلة محركات Log. اطّلع على الخصائص المشتركة لمحركات Log والفروق بينها في مقال [عائلة محركات Log](/docs/ar/reference/engines/table-engines/log-family/index).

استخدم هذا المحرك عندما تحتاج إلى الكتابة إلى عدد كبير من الجداول مع كمية صغيرة من البيانات (أقل من مليون صف). على سبيل المثال، يمكن استخدام هذا الجدول لتخزين دفعات البيانات الواردة تمهيدًا لتحويلها عندما تكون معالجتها بشكل ذري مطلوبة. ويمكن لخادم ClickHouse التعامل عمليًا مع 100 ألف مثيل من هذا النوع من الجداول. يُفضَّل استخدام محرك الجدول هذا بدلًا من [Log](/docs/ar/reference/engines/table-engines/log-family/log) عند الحاجة إلى عدد كبير من الجداول، وإن كان ذلك على حساب كفاءة القراءة.

<div id="table_engines-stripelog-creating-a-table">
  ## إنشاء جدول
</div>

```sql theme={null}
CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
(
    column1_name [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],
    column2_name [type2] [DEFAULT|MATERIALIZED|ALIAS expr2],
    ...
) ENGINE = StripeLog
```

اطّلع على الوصف المفصّل لعبارة [CREATE TABLE](/docs/ar/reference/statements/create/table).

<div id="table_engines-stripelog-writing-the-data">
  ## كتابة البيانات
</div>

يخزّن المحرّك `StripeLog` جميع الأعمدة في ملف واحد. ولكل استعلام `INSERT`، يُلحِق ClickHouse كتلة البيانات بنهاية ملف الجدول، ويكتب الأعمدة واحدًا تلو الآخر.

لكل جدول، يكتب ClickHouse الملفات التالية:

* `data.bin` — ملف البيانات.
* `index.mrk` — ملف العلامات. تحتوي العلامات على إزاحات لكل عمود في كل كتلة بيانات تم إدراجها.

لا يدعم المحرّك `StripeLog` العمليتين `ALTER UPDATE` و`ALTER DELETE`.

<div id="table_engines-stripelog-reading-the-data">
  ## قراءة البيانات
</div>

يتيح الملف الذي يحتوي على العلامات لـ ClickHouse قراءة البيانات بالتوازي. وهذا يعني أن استعلام `SELECT` يعرض الصفوف بترتيب غير متوقع. استخدم عبارة `ORDER BY` لفرز الصفوف.

<div id="table_engines-stripelog-example-of-use">
  ## مثال للاستخدام
</div>

إنشاء جدول:

```sql theme={null}
CREATE TABLE stripe_log_table
(
    timestamp DateTime,
    message_type String,
    message String
)
ENGINE = StripeLog
```

إدراج البيانات:

```sql theme={null}
INSERT INTO stripe_log_table VALUES (now(),'REGULAR','The first regular message')
INSERT INTO stripe_log_table VALUES (now(),'REGULAR','The second regular message'),(now(),'WARNING','The first warning message')
```

استخدمنا استعلامَي `INSERT` لإنشاء كتلتَي بيانات داخل الملف `data.bin`.

يستخدم ClickHouse عدة خيوط تنفيذ عند استعلام البيانات. يقرأ كل خيط تنفيذ كتلة بيانات منفصلة ويُرجع الصفوف الناتجة بشكل مستقل فور انتهائه. ونتيجةً لذلك، لا يتطابق ترتيب كتل الصفوف في المخرجات، في معظم الحالات، مع ترتيب الكتل نفسها في المدخلات. على سبيل المثال:

```sql theme={null}
SELECT * FROM stripe_log_table
```

```text theme={null}
┌───────────timestamp─┬─message_type─┬─message────────────────────┐
│ 2019-01-18 14:27:32 │ REGULAR      │ The second regular message │
│ 2019-01-18 14:34:53 │ WARNING      │ The first warning message  │
└─────────────────────┴──────────────┴────────────────────────────┘
┌───────────timestamp─┬─message_type─┬─message───────────────────┐
│ 2019-01-18 14:23:43 │ REGULAR      │ The first regular message │
└─────────────────────┴──────────────┴───────────────────────────┘
```

فرز النتائج (ترتيب تصاعدي افتراضيًا):

```sql theme={null}
SELECT * FROM stripe_log_table ORDER BY timestamp
```

```text theme={null}
┌───────────timestamp─┬─message_type─┬─message────────────────────┐
│ 2019-01-18 14:23:43 │ REGULAR      │ The first regular message  │
│ 2019-01-18 14:27:32 │ REGULAR      │ The second regular message │
│ 2019-01-18 14:34:53 │ WARNING      │ The first warning message  │
└─────────────────────┴──────────────┴────────────────────────────┘
```
