HeadlinesBriefing favicon HeadlinesBriefing.com

dbt Charts: চ্যাটের জন্য ওপেন-সোর্স ড্যাশবোর্ড

Hacker News •
×

আমরা dbt Charts ওপেন সোর্স করছি, যা ড্যাশবোর্ডের জন্য একটি ডিক্লারেটিভ ভাষা, যাতে এজেন্টের সাথে চ্যাট করে আপনি যে ড্যাশবোর্ডই তৈরি করুন তা গভর্ন করা যায়। ডেটার জন্য AI এসে গেছে, এবং দীর্ঘদিনের প্রতিশ্রুত সেলফ-সার্ভ অ্যানালিটিক্স অবশেষে ঘটছে। ডেটা কানেকশন থাকা যে কেউ এক বিকেলে চ্যাট করে একটি রিপোর্ট বানিয়ে ফেলতে পারে, এবং প্রথম ফলাফলগুলো চমকপ্রদ। তবে বাধাগুলো দ্রুত দেখা দেয়। ডিফল্টভাবে একটি এজেন্ট একটি সাধারণ রিপোর্টকে একগাদা ফাইলে পরিণত করে: HTML, CSS এবং Java Script, কয়েকটি চার্ট লাইব্রেরি, এবং লাইভ হতে হলে একটি React বা Streamlit অ্যাপ। একটি ফলাফলকে তার উৎস পর্যন্ত ট্রেস করা মানে তাকে কয়েকটি ভাষা ও ফাইলের মধ্য দিয়ে অনুসরণ করা, যা মানুষের জন্য অডিট করা ধীরগতির এবং প্রতিটি পরিবর্তনে এজেন্টের সময় ও টোকেন খরচ করে। BI টুলগুলো উল্টো পথে গেছে এবং তাদের UI-ফার্স্ট অ্যাপে copilot জুড়ে দিয়েছে। এটি AI-কে গভর্ন করা রেলের উপর রাখে, কিন্তু সংকীর্ণ রেলের উপর: এজেন্ট কেবল তাই করতে পারে যা UI প্রকাশ করে। তাই আজ আপনাকে কোডের অগোছালো স্বাধীনতা আর BI টুলের সংকীর্ণ নিয়ন্ত্রণের মধ্যে বেছে নিতে হয়। আমরা তৃতীয় একটি বিকল্প বানিয়েছি: এগিয়ে যান, বা BI কীভাবে এখানে এলো তা পড়তে থাকুন। BI আনবান্ডল করা dbt Labs-এর প্রতিষ্ঠাতা Tristan Handy সম্প্রতি BI's Second Unbundling-এ লিখেছেন: আমি যখন ডেটায় শুরু করি, BI টুলগুলো ছিল ফুল-স্ট্যাক। সবকিছু একটি পণ্যের ভিতরেই ঘটত: ডেটা ইনজেশন, ট্রান্সফরমেশন, কম্পিউট, ক্যাশিং, সিম্যান্টিক্স, ভিজ্যুয়ালাইজেশন, আইডেন্টিটি। BI টুলটাই ছিল ডেটা স্ট্যাক। Micro Strategy, Cognos ইত্যাদি: এগুলো কেবল ভিজ্যুয়ালাইজেশন টুল নয়, এগুলো ইন্টিগ্রেটেড ডেটা প্ল্যাটফর্ম। তারপর মডার্ন ডেটা স্ট্যাক এলো। প্রায় ২০১৫ থেকে ২০২২ পর্যন্ত, সেই BI বান্ডলের ইনফ্রাস্ট্রাকচার স্তরগুলো টেনে বের করে উদ্দেশ্য-নির্মিত ইনফ্রাস্ট্রাকচারে পরিণত করা হলো। কম্পিউট গেল Big 5-এ। ইনজেশন গেল Fivetran-এ। ট্রান্সফরমেশন গেল dbt-এ। BI টুলের সাথে রইল: ভিজ্যুয়ালাইজেশন, ইন্টারঅ্যাকটিভ অ্যানালিটিক্যাল ইন্টারফেস, সিম্যান্টিক সংজ্ঞা (কখনও!), আইডেন্টিটি ও অ্যাক্সেস ম্যানেজমেন্ট, এবং ওয়েব হোস্টিং। ওয়্যারহাউজিং Big 5 ELT এক্সট্র্যাক্ট লোড ট্রান্সফরম BI বাকি সবকিছু সেই আনবান্ডলিং যা পিছনে রেখে গেল তা হলো আজকের চেনা BI টুল, আর চার্ট তার সবচেয়ে বড় অংশ। তারা ভালো কারণেই UI-তে রয়ে গেছে: বেশিরভাগ মানুষের জন্য, ক্লিক করা YAML লেখার চেয়ে দ্রুত। কিন্তু 점점 더 많은 চার্ট মানুষ তৈরি করবে না। যেহেতু সবকিছুর ফ্রন্ট এন্ড ও ব্যবহারকারী ক্রমশ একটি চ্যাট এজেন্ট হয়ে উঠছে, এই পছন্দ উল্টে যায়। এজেন্টরা কোড, SQL এবং Git-এ সাবলীল, আর অন্যের UI-তে আনাড়ি। তাই চার্টকে যেতে হবে সেখানে যেখানে এজেন্টরা কাজ করে: কোডে। আজ আমরা BI আনবান্ডল করার পরবর্তী ধাপ নিচ্ছি: আমরা dbt Charts ওপেন সোর্স করছি, যা চার্টকে BI টুল থেকে বের করে কোডে রাখে, বিশেষত একটি নতুন স্ট্রাকচার্ড YAML ভাষা যা একটি সম্পূর্ণ ইন্টারঅ্যাকটিভ ড্যাশবোর্ডকে একটি অডিটযোগ্য YAML ফাইলে ঘোষণা করতে পারে। এজেন্টের সাথে অবাধে চ্যাট করুন, আর যা তৈরি হয় তা কোডের স্বাধীনতা রাখে এবং একইসাথে পড়া সহজ থাকে। ওয়্যারহাউজিং Big 5 ELT এক্সট্র্যাক্ট লোড ট্রান্সফরম নতুন C চার্ট BI কয়েকটি অংশ dbt Charts-এ, SQL-ই থাকে সেই ভাষা যা ঘোষণা করে আপনি কোন ডেটা দেখতে চান, আর আমরা তা YAML-এ মুড়ে দিই যাতে ঘোষণা করা যায় আপনি তা কীভাবে দেখতে চান। ভাষাটিকে কয়েকটি মূল, সম্প্রসারণযোগ্য উপাদানে নিঃসৃত করতে আমরা অনেক সময় দিয়েছি: যা প্রকাশ করতে পারে তাতে গভীর, সংগঠিত ও পড়তে সহজ। YAML কেবল SQL-ই মুড়ে না। Markdown গদ্য বহন করে, আর Jinja, dbt-এর মতোই, ভেরিয়েবল ও ম্যাক্রো বহন করে। এখানে একটি ছোট উদাহরণ: একটি ভেরিয়েবল (একটি UI ফিল্টার), একটি কোয়েরি এবং একটি চার্ট। 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 সেই ফাইলটাই পুরো বোর্ড। CLI যেকোনো বোর্ড ফাইলকে স্ট্যাটিক SVG-তে, বা HTML, PNG, PDF, এমনকি টার্মিনালে রেন্ডার করে, আপনার ল্যাপটপে বা CI-তে, এবং সেগুলোর একটি ফোল্ডারকে একটি সাইট হিসেবে সার্ভ করে: dct render charts/documents.yml --format svg # বা html, png, pdf, terminal dct serve সেই কয়েকটি উপাদান গভীরে যায়: আজ ১,১০০-এরও বেশি কনফিগ অপশন...