> ## 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.

# ترحيل إلى ClickHouse باستخدام clickhouse-local

> دليل يوضح كيفية ترحيل إلى ClickHouse باستخدام clickhouse-local

export const Image = ({img, alt, size = "lg"}) => {
  const normalizedSize = ["sm", "md", "lg"].includes(size) ? size : "lg";
  return <div className={`ch-image-${normalizedSize}`}>
      <Frame>
        <img src={img} alt={alt} />
      </Frame>
    </div>;
};

<Image img="https://mintcdn.com/private-7c7dfe99/B2SPNiDHMxYV1gTC/images/integrations/migration/ch-local-01.webp?fit=max&auto=format&n=B2SPNiDHMxYV1gTC&q=85&s=2901f6230caf3638502a3ca4835ae0ac" size="lg" alt="ترحيل ClickHouse مُدار ذاتيًا" width="2048" height="1208" data-path="images/integrations/migration/ch-local-01.webp" />

يمكنك استخدام ClickHouse، أو بشكل أكثر تحديدًا، [`clickhouse-local`](/docs/ar/concepts/features/tools-and-utilities/clickhouse-local)
كأداة ETL لترحيل البيانات من نظام قاعدة البيانات الحالي لديك إلى ClickHouse Cloud، ما دام يتوفر لنظام قاعدة البيانات الحالي لديك إما
[محرك تكامل](/docs/ar/reference/engines/table-engines/index#integration-engines) توفّره ClickHouse أو [دالة جدول](/docs/ar/reference/functions/table-functions/index)، بحسب الحالة،
أو JDBC driver أو ODBC driver يوفّره مورّد النظام.

نُطلق أحيانًا على طريقة الترحيل هذه اسم طريقة "pivot"، لأنها تستخدم نقطة ارتكاز أو محطة وسيطة لنقل البيانات من قاعدة البيانات المصدر إلى قاعدة البيانات الهدف. على سبيل المثال، قد تكون هذه الطريقة مطلوبة إذا كانت الاتصالات الصادرة فقط مسموحًا بها من داخل شبكة خاصة أو داخلية بسبب متطلبات الأمان، وبالتالي تحتاج إلى سحب البيانات من قاعدة البيانات المصدر باستخدام clickhouse-local، ثم دفع البيانات إلى قاعدة بيانات ClickHouse الهدف، بحيث يعمل clickhouse-local كنقطة ارتكاز.

يوفّر ClickHouse محركات تكامل ودوال جداول (تنشئ محركات تكامل ديناميكيًا) لـ [MySQL](/docs/ar/reference/engines/table-engines/integrations/mysql)، و[PostgreSQL](/docs/ar/reference/engines/table-engines/integrations/postgresql)، و[MongoDB](/docs/ar/reference/engines/table-engines/integrations/mongodb)، و[SQLite](/docs/ar/reference/engines/table-engines/integrations/sqlite).
أما بالنسبة إلى جميع أنظمة قواعد البيانات الشائعة الأخرى، فتتوفّر JDBC driver أو ODBC driver من مورّد النظام.

<div id="what-is-clickhouse-local">
  ## ما هو clickhouse-local؟
</div>

<Image img="https://mintcdn.com/private-7c7dfe99/B2SPNiDHMxYV1gTC/images/integrations/migration/ch-local-02.webp?fit=max&auto=format&n=B2SPNiDHMxYV1gTC&q=85&s=a9897ab67501ac2c5311d35234bb6a3c" size="lg" alt="ترحيل ClickHouse المُدار ذاتيًا" width="2048" height="1160" data-path="images/integrations/migration/ch-local-02.webp" />

عادةً ما يُشغَّل ClickHouse على شكل عنقود، حيث تعمل عدة مثيلات من محرك قاعدة بيانات ClickHouse بصورة موزعة عبر خوادم مختلفة.

على خادم واحد، يُشغَّل محرك قاعدة بيانات ClickHouse كجزء من برنامج `clickhouse-server`. ويُضبط الوصول إلى قاعدة البيانات (paths وusers وsecurity و...) باستخدام ملف إعدادات الخادم.

تتيح لك أداة `clickhouse-local` استخدام محرك قاعدة بيانات ClickHouse بصورة معزولة كأداة لسطر الأوامر، لتنفيذ معالجة سريعة جدًا لبيانات SQL على قدر كبير من المدخلات والمخرجات، من دون الحاجة إلى إعداد خادم ClickHouse وتشغيله.

<div id="installing-clickhouse-local">
  ## تثبيت clickhouse-local
</div>

تحتاج إلى جهاز مضيف لـ `clickhouse-local` لديه وصول شبكي إلى كلٍّ من نظام قاعدة البيانات المصدر الحالي لديك وخدمة ClickHouse Cloud المستهدفة.

على هذا الجهاز المضيف، نزّل الإصدار المناسب من `clickhouse-local` وفقًا لنظام التشغيل على جهازك:

<Tabs>
  <Tab title="Linux">
    1. أبسط طريقة لتنزيل `clickhouse-local` محليًا هي تشغيل الأمر التالي:

    ```bash theme={null}
    curl https://clickhouse.com/ | sh
    ```

    1. شغّل `clickhouse-local` (سيطبع رقم إصداره فقط):

    ```bash theme={null}
    ./clickhouse-local
    ```
  </Tab>

  <Tab title="macOS">
    1. أبسط طريقة لتنزيل `clickhouse-local` محليًا هي تشغيل الأمر التالي:

    ```bash theme={null}
    curl https://clickhouse.com/ | sh
    ```

    1. شغّل `clickhouse-local` (سيطبع رقم إصداره فقط):

    ```bash theme={null}
    ./clickhouse local
    ```
  </Tab>
</Tabs>

<Info>
  **مهم**

  تستخدم الأمثلة الواردة في هذا الدليل أوامر Linux لتشغيل `clickhouse-local` (`./clickhouse-local`).
  لتشغيل `clickhouse-local` على macOS، استخدم `./clickhouse local`.
</Info>

<Tip>
  **أضف النظام البعيد إلى IP Access List الخاصة بخدمة ClickHouse Cloud لديك**

  لكي تتمكن الدالة `remoteSecure` من الاتصال بخدمة ClickHouse Cloud لديك، يجب السماح بعنوان IP الخاص بالنظام البعيد ضمن IP Access List. وسّع **إدارة IP Access List الخاصة بك** أسفل هذه النصيحة لمزيد من المعلومات.
</Tip>

<Accordion title="إدارة قائمة الوصول إلى IP">
  من قائمة خدمات ClickHouse Cloud، اختر الخدمة التي ستعمل عليها ثم انتقل إلى **Settings**. إذا كانت قائمة الوصول إلى IP لا تتضمن عنوان IP أو نطاق العناوين الخاص بالنظام البعيد الذي يحتاج إلى الاتصال بخدمة ClickHouse Cloud، يمكنك حل المشكلة باستخدام **Add IPs**:

  <div className="ch-image-md">
    <Frame>
      <img src="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/ip-allow-list-check-list.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=14fc8b7b7a3e42ebdd45507e630d4702" alt="تحقق مما إذا كانت الخدمة تسمح بمرور الزيارات من عنوان IP الخاص بك ضمن قائمة الوصول إلى IP" width="3840" height="2042" data-path="images/_snippets/ip-allow-list-check-list.webp" />
    </Frame>
  </div>

  أضف عنوان IP الفردي أو نطاق العناوين الذي يحتاج إلى الاتصال بخدمة ClickHouse Cloud. عدّل النموذج بما يناسبك ثم انقر على **Save**.

  <div className="ch-image-md">
    <Frame>
      <img src="https://mintcdn.com/private-7c7dfe99/CFFsa2agBPbviR4r/images/_snippets/ip-allow-list-add-current-ip.webp?fit=max&auto=format&n=CFFsa2agBPbviR4r&q=85&s=cab1bb3c9ae950e59acdb2cd5daeaea4" alt="أضف عنوان IP الحالي إلى قائمة الوصول إلى IP في ClickHouse Cloud" width="1188" height="796" data-path="images/_snippets/ip-allow-list-add-current-ip.webp" />
    </Frame>
  </div>
</Accordion>

<div id="example-1-migrating-from-mysql-to-clickhouse-cloud-with-an-integration-engine">
  ## مثال: الترحيل من MySQL إلى ClickHouse Cloud باستخدام محرك Integration
</div>

سنستخدم [محرك جدول Integration](/docs/ar/reference/engines/table-engines/integrations/mysql) (الذي يُنشأ لحظيًا بواسطة [دالة الجدول mysql](/docs/ar/reference/functions/table-functions/mysql)) لقراءة البيانات من قاعدة بيانات MySQL المصدر، وسنستخدم [دالة الجدول remoteSecure](/docs/ar/reference/functions/table-functions/remote)
لكتابة البيانات في جدول وجهة على خدمة ClickHouse Cloud الخاصة بك.

<Image img="https://mintcdn.com/private-7c7dfe99/B2SPNiDHMxYV1gTC/images/integrations/migration/ch-local-03.webp?fit=max&auto=format&n=B2SPNiDHMxYV1gTC&q=85&s=c4a36de8d8f1c27b2a3ebbec453ef9b3" size="lg" alt="ترحيل ClickHouse المُدار ذاتيًا" width="2048" height="1160" data-path="images/integrations/migration/ch-local-03.webp" />

<div id="on-the-destination-clickhouse-cloud-service">
  ### في خدمة ClickHouse Cloud الوجهة:
</div>

<div id="create-the-destination-database">
  #### أنشئ قاعدة البيانات الهدف:
</div>

```sql theme={null}
  CREATE DATABASE db
```

<div id="create-a-destination-table-that-has-a-schema-equivalent-to-the-mysql-table">
  #### أنشئ جدول الوجهة ببنية مكافئة لجدول MySQL:
</div>

```sql theme={null}
  CREATE TABLE db.table ...
```

<Note>
  يجب أن يكون مخطط جدول الوجهة في ClickHouse Cloud ومخطط جدول MySQL المصدر متطابقين (يجب أن تكون أسماء الأعمدة وترتيبها متماثلة، وأن تكون أنواع بيانات الأعمدة متوافقة).
</Note>

<div id="on-the-clickhouse-local-host-machine">
  ### على الجهاز المضيف الذي يعمل عليه clickhouse-local:
</div>

<div id="run-clickhouse-local-with-the-migration-query">
  #### شغِّل `clickhouse-local` باستخدام استعلام الترحيل:
</div>

```sql theme={null}
  ./clickhouse-local --query "
INSERT INTO FUNCTION
remoteSecure('HOSTNAME.clickhouse.cloud:9440', 'db.table', 'default', 'PASS')
SELECT * FROM mysql('host:port', 'database', 'table', 'user', 'password');"
```

<Note>
  لا تُخزَّن أي بيانات محليًا على الجهاز المضيف `clickhouse-local`. بدلًا من ذلك، تُقرأ البيانات من جدول MySQL المصدر
  ثم تُكتَب مباشرةً إلى الجدول الوجهة في خدمة ClickHouse Cloud.
</Note>
