عن المشروع
Spectrum هو مستودع تحليلات منتجات قابل للاستضافة الذاتية ويُطرح كبديل مفتوح المصدر لمنصات تجارية مثل Amplitude وMixpanel. يُظهر المشروع كيف يمكن لهندسة معمارية تعتمد على PostgreSQL فقط معالجة استيعاب الأحداث، وتحديد الجلسات، وتحليل القواعد، والاحتفاظ بالمجموعات التقاعدية، وعزو الإيرادات، واختبارات A/B دون الحاجة إلى وسطاء رسائل خارجية أو أطر عمل البيانات الضخمة.
يستقبل النظام أحداث تدفق النقر الخام عبر نقطة FastAPI، ويعالجها من خلال خط أنابيب ELT تكراري باستخدام `FOR UPDATE SKIP LOCKED` للمطالبات الدفعية، ويحسب الهياكل التحليلية حصراً في SQL—بما في ذلك حدود الجلسات البالغة 30 دقيقة عبر الدوال النافذة والقواعد الأسبوعية عبر أبعاد مستوى الحساب. تخدم المشاهد المموّنة مقاييس مُسبقة التجميع لوحات Grafana بينما تعزل حماية البيانات على مستوى الصفوف بيانات المستأجرين.
تتضمن أنماط الهندسة المعمارية الرئيسية تصميمًا بثلاث مخططات يفصل طبقات staging ومستودع البيانات والتحليلات؛ وجداول حقائق تُقسّم مداوى شهرياً مع استبعاد الأقسام؛ وفهارس BRIN على الطوابع الزمنية للأحداث؛ وطابور رسائل ميتة للرسائل غير الصالحة؛ وتنفيذ متزامن وآمن لخطوط الأنابيب يتحمل تشغيل أمثلة متعددة دون معالجة مكررة. يأتي المشروع مع هجرات Alembic، واستعراص مقاييس Prometheus، واختبارات تكامل تؤكد معدلات القواعد بدقة وعزل الاحتفاظ، وسكربت benchmark يوضح سرعات استبعاد الأقسام.
يعتمد النشر حاويات Podman لإدارة PostgreSQL وخادم API وGrafana، مع أمر `make demo` واحد يقوم بإعداد كل شيء وتوليد نشاط مستخدم محاكي وتشغيل خط تحويل البيانات وتشغيل طبقة التصور.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.