Perspective؛ موتور تحلیل داده که تو مرورگر میچرخه
خلاصهٔ کاملتر
تو صفحهٔ معرفی پروژه اومده که Perspective یه کامپوننت تحلیل و مصورسازی دادهٔ تعاملی ــه که مخصوص دیتاستهای بزرگ یا استریمی ساخته شده. باهاش میشه گزارش، داشبورد، نوتبوک و اپلیکیشنی درست کرد که خود کاربر پیکربندیش میکنه، و بعد یا مستقل تو مرورگر اجراش کرد یا کنار پایتون و JupyterLab.
قلب ماجرا یه موتور کوئری استریمی و کممصرفه که با C++ نوشته شده و برای دو هدف کامپایل میشه: WebAssembly و پایتون. خوندن، نوشتن و استریم Apache Arrow رو پشتیبانی میکنه و یه زبان عبارتنویسی ستونی و پرسرعت هم داره که روی ExprTK بنا شده.
سمت جاوااسکریپت، رابط کاربری به شکل Custom Element عرضه میشه، پس عملاً فریمورکآگنوستیکه و به هر اپ وبی میچسبه. المنتی مثل رو هم میشه با API تنظیم کرد هم کاربر با کلیک همون کارو میکنه، و همین وضعیت قابل سریالایز شدن و بازسازیه؛ ویوهای مستقل هم میتونن کراسفیلتر، کپی، خروجیگیری یا ذخیره بشن.
سمت پایتون، perspective-python روی همون هستهٔ C++ سواره و دو حالت داره: سرور مجازیشده برای پروداکشن، یا ویجت داخل JupyterLab برای پژوهش. تو حالت مجازیشده فقط همون دادهای که برای رندر صفحهٔ فعلی لازمه منتقل میشه، برای همین دیتاستهای خیلی بزرگ تقریباً آنی بالا میان؛ یا میشه کل داده رو با Arrow به رانتایم WebAssembly استریم کرد تا بار از دوش سرور برداشته شه.
نکات کلیدی:
- موتور کوئری ستونی با C++، کامپایلشده برای WebAssembly و پایتون
- پشتیبانی کامل از Apache Arrow برای خوندن، نوشتن و استریم
- زبان عبارتنویسی ستونی مبتنی بر ExprTK
- رابط کاربری به شکل Custom Element و مستقل از فریمورک
- حالت سرور مجازیشده فقط دادهٔ صفحهٔ جاری رو منتقل میکنه
- ویجت JupyterLab برای کار تعاملی با Pandas و Arrow و اپهای Voila




