> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8c05c8a2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> مجموعة بيانات معيار الأداء TPC-DS والاستعلامات.

# TPC-DS (2012)

على غرار [Star Schema Benchmark (SSB)](/ar/get-started/sample-datasets/star-schema)، يستند TPC-DS إلى [TPC-H](/ar/get-started/sample-datasets/tpch)، لكنه اتخذ المسار المعاكس، أي زاد عدد عمليات الربط المطلوبة عبر تخزين البيانات في مخطط ندفة ثلجية معقد (24 جدولًا بدلًا من 8).
توزيع البيانات غير متوازن (على سبيل المثال، التوزيع الطبيعي وتوزيع بواسون).
ويتضمن 99 استعلامًا للتقارير واستعلامات مخصّصة مع استبدالات عشوائية.

**المراجع**

* [The Making of TPC-DS](https://dl.acm.org/doi/10.5555/1182635.1164217) (Nambiar)، 2006

<div id="data-generation-and-import">
  ## توليد البيانات واستيرادها
</div>

أولاً، استنسخ مستودع TPC-DS ثم قم بتجميع مولِّد البيانات:

```bash theme={null}
git clone https://github.com/gregrahn/tpcds-kit.git
cd tpcds-kit/tools
make
```

بعد ذلك، أنشئ البيانات. تُحدِّد المَعلمة `-scale` معامل القياس.

```bash theme={null}
./dsdgen -scale 1
```

الآن أنشئ الجداول في ClickHouse. تتوفر تعريفات الجداول في [`init.sql`](https://github.com/ClickHouse/ClickHouse/blob/master/tests/benchmarks/tpc-ds/init.sql) في مستودع ClickHouse.

يمكن استيراد البيانات كما يلي:

```bash theme={null}
clickhouse-client --format_csv_delimiter '|' --query "INSERT INTO call_center FORMAT CSV" < call_center.dat
clickhouse-client --format_csv_delimiter '|' --query "INSERT INTO catalog_page FORMAT CSV" < catalog_page.dat
clickhouse-client --format_csv_delimiter '|' --query "INSERT INTO catalog_returns FORMAT CSV" < catalog_returns.dat
clickhouse-client --format_csv_delimiter '|' --query "INSERT INTO catalog_sales FORMAT CSV" < catalog_sales.dat
clickhouse-client --format_csv_delimiter '|' --query "INSERT INTO customer FORMAT CSV" < customer.dat
clickhouse-client --format_csv_delimiter '|' --query "INSERT INTO customer_address FORMAT CSV" < customer_address.dat
clickhouse-client --format_csv_delimiter '|' --query "INSERT INTO customer_demographics FORMAT CSV" < customer_demographics.dat
clickhouse-client --format_csv_delimiter '|' --query "INSERT INTO date_dim FORMAT CSV" < date_dim.dat
clickhouse-client --format_csv_delimiter '|' --query "INSERT INTO household_demographics FORMAT CSV" < household_demographics.dat
clickhouse-client --format_csv_delimiter '|' --query "INSERT INTO income_band FORMAT CSV" < income_band.dat
clickhouse-client --format_csv_delimiter '|' --query "INSERT INTO inventory FORMAT CSV" < inventory.dat
clickhouse-client --format_csv_delimiter '|' --query "INSERT INTO item FORMAT CSV" < item.dat
clickhouse-client --format_csv_delimiter '|' --query "INSERT INTO promotion FORMAT CSV" < promotion.dat
clickhouse-client --format_csv_delimiter '|' --query "INSERT INTO reason FORMAT CSV" < reason.dat
clickhouse-client --format_csv_delimiter '|' --query "INSERT INTO ship_mode FORMAT CSV" < ship_mode.dat
clickhouse-client --format_csv_delimiter '|' --query "INSERT INTO store FORMAT CSV" < store.dat
clickhouse-client --format_csv_delimiter '|' --query "INSERT INTO store_returns FORMAT CSV" < store_returns.dat
clickhouse-client --format_csv_delimiter '|' --query "INSERT INTO store_sales FORMAT CSV" < store_sales.dat
clickhouse-client --format_csv_delimiter '|' --query "INSERT INTO time_dim FORMAT CSV" < time_dim.dat
clickhouse-client --format_csv_delimiter '|' --query "INSERT INTO warehouse FORMAT CSV" < warehouse.dat
clickhouse-client --format_csv_delimiter '|' --query "INSERT INTO web_page FORMAT CSV" < web_page.dat
clickhouse-client --format_csv_delimiter '|' --query "INSERT INTO web_returns FORMAT CSV" < web_returns.dat
clickhouse-client --format_csv_delimiter '|' --query "INSERT INTO web_sales FORMAT CSV" < web_sales.dat
clickhouse-client --format_csv_delimiter '|' --query "INSERT INTO web_site FORMAT CSV" < web_site.dat
```

ثم نفّذ الاستعلامات المُنشأة.

<div id="queries">
  ## الاستعلامات
</div>

يمكن العثور على استعلامات TPC-DS التسعة والتسعين [هنا](https://github.com/ClickHouse/ClickHouse/tree/master/tests/benchmarks/tpc-ds/queries) ضمن مستودع ClickHouse.

للحصول على سلوك متوافق مع معيار SQL والنتائج المتوقعة، طبّق الإعدادات الواردة في [`settings.json`](https://github.com/ClickHouse/ClickHouse/blob/master/tests/benchmarks/tpc-ds/settings.json).
راجع ملف [README](https://github.com/ClickHouse/ClickHouse/blob/master/tests/benchmarks/tpc-ds/README.md) للاطلاع على المشكلات المعروفة والملاحظات المتعلقة ببعض الاستعلامات.

**صحة النتائج**

تتوافق نتائج الاستعلامات مع النتائج الرسمية ما لم يُذكر خلاف ذلك. وقد توجد فروق طفيفة في الدقة، وهو ما تسمح به مواصفة TPC-DS.
