پیش‌نویس:ClickHouse

از ویکی‌پدیا، دانشنامهٔ آزاد
کلیک هاوس
توسعه‌دهنده(ها)ClickHouse, Inc.
مخزنgithub.com/ClickHouse/ClickHouse/
نوشته‌شده باC++
مجوزApache License 2.0
وبگاهclickhouse.com


کلیک هاوس یک دیتابیس ستونی است(columnar database management system) که برای تحلیل داده‌های آنالیزی بوجود آمده است(که به دیتابیس ها OLAP معروف هستند) که برای کاربران این امکان را فراهم می‌کند تا بصورت در لحظه از طریق پرسش هایی به زبان اس کیو ال(SQL queries) بتوانند گزارش های آماری خود را از کلیک هوس بگیرند.

دفتر مرکزی این سازمان(ClickHouse Inc.) در سانفرانسیسکو واقع شده است. همچنین یک شرکت فرعی در آمستردام، هلند. نیز وجود دارد.

در سپتامبر ۲۰۲۱ در سان فرانسیسکو، کالیفرنیا، شرکت کلیک‌هاوس به منظور میزبانی فناوری منبع باز با یک سرمایه‌گذاری اولیه بالغ بر ۵۰ میلیون دلار از سوی شرکت‌های Index Ventures و Benchmark Capital با مشارکت یاندکس[۲] و سایران تأسیس شد. در ۲۸ اکتبر ۲۰۲۱، این شرکت با دریافت سری بی سرمایه‌گذاری به مبلغ ۲۵۰ میلیون دلار با ارزش ۲ میلیارد دلار از طرف Coatue Managementو Altimeter Capital و سایر سرمایه‌گذاران تأسیساتی شد. این شرکت همچنان در حال ساخت پروژه منبع باز و فناوری ابری مهندسی است.

تاریخچه[ویرایش]

تکنولوژی کلیک‌هاوس برای اولین بار بیش از ۱۰ سال پیش در یاندکس، بزرگترین شرکت فناوری روسیه، توسعه یافت[۳]. در سال ۲۰۰۹، الکسی میلوویدوف و توسعه‌دهندگان یک پروژه تجربی را آغاز کردند تا فرضیه اینکه آیا امکان تولید گزارش‌های تحلیلی به صورت زمان واقعی از داده‌های غیرمجموعه شده که به صورت زمان واقعی همچنان اضافه می‌شوند، وجود دارد، را بررسی کنند. توسعه‌دهندگان سه سال را صرف اثبات این فرضیه کردند و در سال ۲۰۱۲ کلیک‌هاوس برای اولین بار به منظور انجام کارهای تولیدی راه‌اندازی شد تا به Yandex.Metrica، دومین پلتفرم آنالیز وب بزرگتر در جهان پس از گوگل آنالیتیکس، قدرت بدهد.

برخلاف ساختارهای داده سفارشی که قبلاً استفاده می‌شدند، کلیک‌هاوس به طور کلی قابل استفاده بود تا به عنوان یک سیستم مدیریت پایگاه داده عمل کند. قدرت و کاربرد کلیک‌هاوس یک سامانه مدیریت پایگاه داده متمرکز بر ستون را ارائه می‌داد، این اجازه را می‌داد که سیستم‌ها گزارش‌ها را از پتابایت‌ها از داده‌های خام با تأخیرهای زیرثانیه‌ای تولید کنند. کلیک‌هاوس به طور گسترده در یاندکس مورد استفاده قرار گرفت، از جمله برای ابزار آزمایش بار Yandex.Tank و Yandex.Market برای نظارت بر دسترسی به سایت و KPI‌ها (key performance indicator).

در سال ۲۰۱۶، پروژه کلیک‌هاوس در ماه ژوئن به عنوان یک نرم‌افزار منبع باز تحت مجوز Apache 2 منتشر شد تا مورد استفاده در موارد تحلیلی در سراسر جهان قرار گیرد. سیستم‌های آن زمان یک ظرفیت تردد سرور حدود صد هزار ردیف در ثانیه را ارائه می‌دادند، اما کلیک‌هاوس با ظرفیت تردد صدها میلیون ردیف در ثانیه، این سرعت را فراتر از آن ارائه می‌کند.

از زمانی که کلیک‌هاوس در سال ۲۰۱۶ به عنوان منبع باز در دسترس قرار گرفت، شهرت آن به صورت نمایی افزایش یافته است، که از طریق پذیرش آن توسط شرکت‌های پیشرو صنعتی مانند اوبر، کامکست، ای‌بی، و سیسکو[۴] نشان داده شده است. کلیک‌هاوس همچنین آزمایش LHCb در CERN برای ذخیره و پردازش متاداده‌ها در ۱۰ میلیارد رویداد با بیش از ۱۰۰۰ ویژگی برای هر رویداد پیاده‌سازی شد.

ویژگی ها[ویرایش]

اصلی‌ترین ویژگی های کلیک هاوس عبارتند از:[۵]

  • یک سامانه مدیریت پایگاه داده متمرکز بر ستون واقعی. هیچ چیز با مقادیر ذخیره نمی‌شود. به عنوان مثال، مقادیر با طول ثابت پشتیبانی می‌شوند تا از ذخیره طول "عدد" کنار مقادیر جلوگیری شود.
  • مقیاس‌پذیری خطی. امکان توسعه یک خوشه با اضافه کردن سرورها وجود دارد.
  • مقاومت در برابر خطا. سیستم یک خوشه از شاردها است، جایی که هر شارد یک گروه از رپلیکاهاست. کلیک‌هاوس از روش کپی‌برداری چند مستر ناهمگام استفاده می‌کند. داده به هر رپلیکای موجود نوشته می‌شود، سپس به تمام رپلیکاهای باقیمانده توزیع می‌شود. ZooKeeper برای هماهنگی فرآیندها استفاده می‌شود، اما در پردازش و اجرای پرس و جوها شرکت ندارد.
  • توانایی در ذخیره و پردازش داده در مقیاس پتابایت.
  • پشتیبانی از SQL. کلیک‌هاوس از یک زبان مشابه SQL گسترده پشتیبانی می‌کند که شامل آرایه‌ها و ساختارهای داده تو در تو، توابع تقریبی و URI، و امکان اتصال به یک فروشگاه کلید-مقدار خارجی می‌باشد.[۶]
  • پرفورمنس بالا
    • محاسبات برداری استفاده می‌شود. داده‌ها نه تنها بر اساس ستون‌ها ذخیره می‌شوند، بلکه توسط بردارها (قسمت‌هایی از ستون‌ها) پردازش می‌شوند. این رویکرد امکان دستیابی به عملکرد بالای CPU را فراهم می‌کند.
    • نمونه‌برداری و محاسبات تقریبی پشتیبانی می‌شوند.
    • پردازش پرس و جوها به صورت موازی و توزیع شده موجود است (شامل JOIN ها).
  • فشرده سازی داده
  • بهینه‌سازی برای درایو سخت (HDD). سیستم قادر به پردازش داده‌هایی است که در حافظه دسترسی تصادفی(RAM) جای نمی‌گیرد
  • کلاینت‌های برای اتصال به پایگاه داده. گزینه‌های اتصال به پایگاه داده شامل کلاینت کنسول، رابط برنامه نویسی اپلیکیشن وب (HTTP API)، یا یکی از بسته‌بندی‌ها (بسته‌بندی‌ها برای Python و PHP[۷] و NodeJS[۸] و Perl[۹]و Ruby[۱۰] و R[۱۱] موجود است). در کلیک‌هاوس همچنین درایورهای ODBC و JDBC نیز موجود است.

محدودیت‌ها[ویرایش]

برخی ویژگی‌های کلیک هاوس را می‌توان نقض در نظر گرفت مانند

  • هیچ پشتیبانی برای تراکنش ها وجود ندارد.
  • کمبود پیاده سازی تمام عیار اعمال UPDATE/DELETE.

موارد استفاده[ویرایش]

کلیک هاوس برای پرسش های آنالیزی طراحی شده است.

  • دارای تعداد کمی جدول بهمراه تعداد زیادی ستون است.
  • پرسش ها می‌توانند تعداد بسیار زیادی از سطرها را از پایگاه داده استخراج کنند اما تنها می‌توانند زیر مجموعه کمی از ستون‌ها را استخراج کنند.
  • پرسش ها
  • برای پرسش های ساده، تاخیر تا حد ۵۰ میلی ثانیه مجاز است.
  • مقادیر ستون به طور کلی کوچک هستند، معمولاً شامل اعداد و رشته‌های کوتاه می‌شوند (به عنوان مثال، ۶۰ بایت برای هر URL).
  • زمانی که یک پرس‌وجو تکی پردازش می‌شود، نیاز به تردد بالا است (تا بیش از میلیاردها ردیف در ثانیه برای هر سرور).
  • نتیجه یک پرس و جو در اغلب موارد فیلتر شده یا جمع‌آوری شده است.
  • به‌روزرسانی داده از یک سناریو ساده استفاده می‌کند (معمولاً فقط دسته‌بندی، بدون تراکنش‌های پیچیده).


یکی از موارد رایج استفاده از کلیک‌هاوس، تجزیه و تحلیل لاگ‌های سرور است. پس از تنظیم بارگذاری داده‌ها به طور منظم به کلیک‌هاوس (توصیه می‌شود داده‌ها را به دسته‌های نسبتاً بزرگ با بیش از ۱۰۰۰ ردیف وارد کنید)، امکان تحلیل حوادث با پرس‌وجوهای لحظه‌ای یا نظارت بر معیارهای خدمات، مانند نرخ خطاها، زمان‌های پاسخ و غیره وجود دارد.

کلیک‌هاوس همچنین می‌تواند به عنوان یک انبار داده داخلی برای تحلیل‌گران داخلی استفاده شود. کلیک‌هاوس قادر است داده‌ها را از سیستم‌های مختلف (مانند Hadoop یا برخی از لاگ‌ها) ذخیره کند و تحلیل‌گران می‌توانند با داده‌ها داشبوردهای داخلی را ایجاد یا برای اهداف تجاری تحلیل لحظه‌ای انجام دهند.

نتایج ارزیابی‌ها[ویرایش]

با توجه به ارزیایی‌هایی که توسط توسعه دهنده‌ها روی پرسش های آنالیزی(OLAP queries) انجام شده است نشان می‌دهد که کلیک هاوس بیش از ۱۰۰ برابر سریعتر از Hive( دیتابیسی مبتنی بر پشته فناوری Hadoop ) یا MySQL(یک نمونه از دیتابیس‌های رابطه‌ای) عمل می‌کند.

همچنین ببینید[ویرایش]

منابع[ویرایش]

  1. ClickHouse Raises $250M Series B to Scale Groundbreaking OLAP Database Management System Globally
  2. Yandex, Russia's biggest technology company, celebrates 20 years

لینک های بیرونی[ویرایش]

  1. "v24.3.2.23-lts". Github. Retrieved 15 April 2024.
  2. "ClickHouse Raises $250M Series B to Scale Groundbreaking OLAP Database Management System Globally". 28 October 2021.
  3. "Yandex, Russia's biggest technology company, celebrates 20 years". The Economist. 30 September 2017.
  4. Lardinois, Frederic (2022-12-06). "ClickHouse launches ClickHouse Cloud, extends its Series B". TechCrunch (به انگلیسی). Retrieved 2023-07-24.
  5. "ClickHouse Guide". clickhouse.yandex. Retrieved 2016-11-10.
  6. "Performance comparison of analytical DBMS". clickhouse.yandex. Retrieved 2016-11-10.
  7. "smi2/phpClickHouse". GitHub. Retrieved 2016-11-10.
  8. "smi2/phpClickHouse". GitHub. Retrieved 2016-11-10.
  9. "elcamlost/perl-DBD-ClickHouse". GitHub. Retrieved 2016-11-10.
  10. "archan937/clickhouse". GitHub. Retrieved 2016-11-10.
  11. "hannesmuehleisen/clickhouse-r". GitHub. Retrieved 2016-11-10.