databow؛ یه شل SQL سبک برای هر دیتابیسی که درایور ADBC داره
خلاصهٔ کاملتر
databow یه ابزار خط فرمان از تیم Columnarه برای کوئری زدن به دیتابیسها از طریق ADBC (یعنی Arrow Database Connectivity، یه API استاندارد از پروژهی Apache Arrow که داده رو ستونی و سریع جابهجا میکنه). ایده اینه که یه کلاینت واحد داشته باشی که با هر دیتابیسی که درایور ADBC داره کار کنه، به جای اینکه برای هرکدوم یه ابزار جدا یاد بگیری.
حالت اصلیش یه شل SQL تعاملیه: تاریخچهی دستورها رو نگه میداره، کوئریها رو هایلایت میکنه و نتیجه رو توی جدولهایی با عرض ستون خودکار نشون میده. توی README یه نمونه هست که با درایور DuckDB یه فایل CSV رو مستقیم از اینترنت به جدول تبدیل میکنه و بعد ازش SELECT میزنه. درایورها هم با ابزار جداگونهای به اسم dbc نصب میشن.
غیر از حالت تعاملی، میشه یه کوئری رو مستقیم با --query، از یه فایل با --file یا از stdin اجرا کرد و بیرون اومد. این برای اسکریپتها و CI بهدردبخوره. با --output هم نتیجه بسته به پسوند فایل به JSON، CSV یا Arrow IPC ذخیره میشه:
databow --driver duckdb --query "SELECT 42 AS the_answer" --output result.csvبرای اتصال هم گزینههایی مثل --uri، --username، --password و --option برای تنظیمات مخصوص هر درایور هست. اگه --driver رو ندی، از scheme آدرس --uri یا از پروفایل حدس زده میشه. با --profile هم میشه تنظیمات اتصال رو یه جا ذخیره کرد. نصبش با uv، Cargo یا Homebrew ممکنه و لایسنسش Apache-2.0ه.
نکات کلیدی:
- با هر دیتابیسی که درایور ADBC داره کار میکنه، مثلاً DuckDB
- با Rust نوشته شده و سبک و سریعه
- خروجی رو به JSON، CSV یا Arrow IPC میده
- حالت غیرتعاملی با --query، --file یا stdin داره
- با uv، Cargo یا Homebrew نصب میشه و لایسنسش Apache-2.0ه




