چطور تسلا با ClickHouse یک پلتفرم مشاهده‌پذیری در مقیاس نجومی ساخت؟

در این مقاله نگاهی گذرا داریم به پروژه Comet در تسلا که برای مهاجرت سیستم نظارتی و مشاهده‌پذیری تسلا از پرومتئوس به کلیک هوس طراحی و پیاده سازی شده است.

How Tesla built a quadrillion-scale observability platform on ClickHouse

How Tesla built a quadrillion-scale observability platform on ClickHouse

“Data in ClickHouse is better than data anywhere else. No other system lets you slice and dice your data, ask interesting questions, and get answers in an acceptable amount of time. There’s nothing out there that competes with ClickHouse.” Alon Tal, Senio

داستان تغییر زیرساخت observability تسلا از کجا شروع شد ؟

🔧 چند میلیون خودرو متصل، هزاران زیرسیستم توزیع‌شده، و گیگافکتوری‌هایی که شبانه‌روز داده می‌فرستند. تسلا در چنین مقیاسی نمی‌توانست روی Prometheus حساب باز کند…

👨‍💻 مهندس ارشد تسلا Alon Tal، می‌گوید:

«ما به سیستمی نیاز داشتیم که بتونه ده‌ها میلیون ردیف در ثانیه را ingest کنه، سال‌ها داده رو نگه داره، و همچنان real-time پاسخ بده.»

چرا Prometheus کافی نبود؟

🔸 مقیاس‌پذیری افقی محدود

🔸 وابستگی به یک سرور واحد (ریسک از دست دادن کل متریک‌ها)

🔸 مشکلات نگهداری بلندمدت و زبان کوئری محدود

✅ راه‌حل: ساخت یک سیستم جدید به نام Comet

💡 با استفاده از ClickHouse به عنوان هسته‌ی اصلی، تسلا یک پلتفرم metrics محور ساخت که:

📥 داده‌ها را از طریق OTLP و Kafka ingest می‌کند

⚙ با ETLهای سفارشی داده‌ها را به شکل ساخت‌یافته وارد ClickHouse می‌کند

🔄 و مهم‌تر از همه:

کوئری‌های PromQL را به SQL معادل در ClickHouse ترجمه می‌کند بدون اینکه مهندسان متوجه تفاوت شوند!

🧠 یعنی داشبوردهای موجود (Grafana، Alertmanager، و…) بدون تغییر کار می‌کنند!

💥 مقیاس واقعی؟

یک میلیارد ردیف در ثانیه! به مدت ۱۱ روز پیاپی!

نتیجه؟

🔹 بدون یک خطا

🔹 مصرف ثابت RAM و CPU

🔹 بیش از ۱ کوادریلیون رکورد با موفقیت ingest شده!

📊 سیستم هنوز هم در حال scale شدن برای تیم‌های داخلی تسلاست!

✨ چرا ClickHouse؟

🔹 سرعت بی‌رقیب در پاسخ به کوئری‌های پیچیده

🔹 UDFهای اجرایی برای کوئری‌های غیر trivial

🔹 پشتیبانی از PromQL و TraceQL

🔹 نگهداری بلندمدت داده‌ها با حجم بالا

🔹 و مهم‌تر از همه: قابلیت اطمینان بالا در مقیاس تسلا!

🔭 آینده‌ی Comet؟

🔧 پشتیبانی از distributed tracing

🌍 احتمال open-source شدن

🎯 گسترش به دیگر واحدهای عملیاتی در تسلا

📎 جمع‌بندی

تسلا با پروژه‌ی Comet ثابت کرد که observability در مقیاس سیاره‌ای ممکن است—اگر ابزار مناسب انتخاب شود!

✅ حالا واقعا پرومتئوس حذف شد؟

تسلا Prometheus رو به‌طور مستقیم حذف نکرد، ولی:

🌟دیگه از خود Prometheus برای ذخیره‌سازی و کوئری استفاده نمی‌کنه.

tesla3 645ba8ac56

🌟 به‌جاش، پلتفرمی به نام Comet ساخت که خودش می‌تونه PromQL (زبان کوئری Prometheus) رو اجرا کنه و پشت صحنه با کلیک‌هوس ارتباط بگیره و خروجی بده بدون اینکه واقعاً Prometheus وجود داشته باشه!

این ارائه ۱۱ دقیقه ای تسلا در این مورد را هم از دست ندهید :‌ https://www.youtube.com/embed/z5t3b3EAc84?si=yycyL6UBUQ-ztMLA

نوشته های مشابه