HeadlinesBriefing favicon HeadlinesBriefing.com

dbt Charts: لوحات معلومات تصريحية مفتوحة المصدر

Hacker News •
×

نحن نفتح المصدر لـ dbt Charts، وهي لغة تصريحية للوحات المعلومات، حتى تكون حتى اللوحات التي تبنيها بالمحادثة مع وكيل قابلة للحوكمة. الذكاء الاصطناعي للبيانات هنا، والتحليلات الذاتية التي طالما وُعدنا بها تحدث أخيرًا. أي شخص لديه اتصال بيانات يمكنه أن يصنع تقريرًا بالمحادثة في فترة بعد الظهر، والنتائج الأولى مبهرة. لكن الاحتكاكات تظهر بسرعة. بشكل افتراضي، يحوّل الوكيل تقريرًا بسيطًا واحدًا إلى كومة من الملفات: HTML وCSS وJava Script، ومكتبتي رسوم بيانية، وتطبيق React أو Streamlit بمجرد أن يحتاج إلى أن يكون حيًّا. تتبّع نتيجة ما إلى مصدرها يعني متابعتها عبر عدة لغات وملفات، وهو أمر بطيء على البشر لتدقيقه ويكلّف الوكيل وقتًا ورموزًا في كل تغيير. ذهبت أدوات BI في الاتجاه الآخر وربطت مساعدين مشاركين (copilots) بتطبيقاتها التي تضع الواجهة أولًا. هذا يُبقي الذكاء الاصطناعي على قضبان محوكمة، لكنها ضيقة: لا يستطيع الوكيل فعل إلا ما تكشفه الواجهة. لذا اليوم تختار بين الحرية الفوضوية للكود والتحكم الضيق لأداة BI. بنينا خيارًا ثالثًا: تخطَّ إلى الأمام، أو تابع القراءة لتعرف كيف وصل BI إلى هنا. تفكيك BI كما كتب مؤسس dbt Labs، Tristan Handy، مؤخرًا في «التفكيك الثاني لـ BI»: عندما بدأت في مجال البيانات، كانت أدوات BI كاملة الحزمة. كان كل شيء يحدث داخل منتج واحد: إدخال البيانات، والتحويل، والحوسبة، والتخزين المؤقت، والدلالات، والتصور، والهوية. كانت أداة BI هي حزمة البيانات نفسها. Micro Strategy وCognos وغيرها: ليست مجرد أدوات تصور، بل منصات بيانات متكاملة. ثم جاءت حزمة البيانات الحديثة. من نحو 2015 إلى 2022، سُحبت طبقات البنية التحتية من تلك الحزمة وحُوّلت إلى بنية تحتية مبنية لغرض محدد. ذهبت الحوسبة إلى Big 5. وذهب الإدخال إلى Fivetran. وذهب التحويل إلى dbt. وبقيت أداة BI مع: التصور، والواجهات التحليلية التفاعلية، والتعريفات الدلالية (أحيانًا!)، وإدارة الهوية والوصول، والاستضافة على الويب. التخزين Big 5 ELT استخراج تحميل تحويل BI كل شيء آخر ما خلّفه ذلك التفكيك هو أداة BI التي نعرفها اليوم، والرسوم البيانية هي أكبر قطعة فيها. بقيت في الواجهة لسبب وجيه: بالنسبة لمعظم الناس، النقر أسرع من كتابة YAML. لكن المزيد والمزيد من الرسوم البيانية لن يصنعها البشر. ومع تحوّل الواجهة الأمامية والمستخدم لكل شيء بشكل متزايد إلى وكيل محادثة، ينقلب هذا التفضيل. الوكلاء طلقاء في الكود وSQL وGit، وأخرقون في واجهة شخص آخر. لذا تحتاج الرسوم البيانية إلى الانتقال إلى حيث يعمل الوكلاء: إلى الكود. اليوم نخطو الخطوة التالية في تفكيك BI: نفتح المصدر لـ dbt Charts، الذي يُخرج الرسوم البيانية من أداة BI ويضعها في الكود، وتحديدًا لغة YAML منظمة جديدة يمكنها التصريح بلوحة معلومات تفاعلية كاملة في ملف YAML واحد قابل للتدقيق. تحدّث بحرية مع وكيل، وما يصنعه يحمل حرية الكود مع بقائه سهل القراءة. التخزين Big 5 ELT استخراج تحميل تحويل C جديد رسم بياني BI بعض الأجزاء في dbt Charts، تبقى SQL هي اللغة للتصريح عن أي بيانات تريد رؤيتها، ونغلّفها بـ YAML للتصريح عن كيف تريد رؤيتها. لقد أمضينا وقتًا طويلًا في تقطير اللغة إلى بضعة عناصر أساسية قابلة للتوسيع: عميقة فيما يمكنها التعبير عنه، سهلة التنظيم والقراءة. لا يغلّف YAML SQL فقط. Markdown يحمل النثر، وJinja، كما في dbt، يحمل المتغيرات والماكرو. إليك مثالًا صغيرًا: متغير واحد (مرشّح واجهة)، واستعلام واحد، ورسم بياني واحد. variables: status: column: main.documents.status queries: doc_growth: | SELECT DATE_TRUNC('month', created_at) AS month, SUM(COUNT(*)) OVER (ORDER BY month) AS num_docs FROM main.documents WHERE {{ filter('status', status) }} GROUP BY 1 charts: growth: title: Documents created, all time type: area query: doc_growth x: month y: num_docs rows: - growth ذلك الملف هو اللوحة بأكملها. تُصيّر واجهة سطر الأوامر أي ملف لوحة إلى SVG ثابت، أو إلى HTML وPNG وPDF وحتى الطرفية، على حاسوبك المحمول أو في CI، وتقدّم مجلدًا منها كموقع: dct render charts/documents.yml --format svg # أو html، png، pdf، terminal dct serve تلك العناصر القليلة تتعمق: أكثر من 1,100 خيار إعداد اليوم...