منصوبے کے بارے میں
Turso Database ایک in-process SQL ڈیٹا بیس ہے جو Rust میں لکھا گیا ہے اور SQLite کے ساتھ مطابقت رکھتا ہے، جسے Turso ٹیم نے MIT لائسنس کے تحت تیار کیا ہے۔ README میں اسے ایک پروڈکشن میں استعمال ہونے والا انجن کہا گیا ہے جو ایک ورچوئل مشین کے طور پر بھی کام کرتا ہے: SQLite کی طرح، یہ SQL کو VDBE نامی VM کے لیے بائٹ کوڈ میں کمپائل کرتا ہے اور اس بائٹ کوڈ کو چلاتا ہے۔ یہ ڈیزائن ایک مرکزی انجن کو متعدد SQL ڈائیلیکٹس کی میزبانی کی اجازت دیتا ہے، جس میں SQLite بنیادی فرنٹ اینڈ ہے اور PostgreSQL ایک تجرباتی فرنٹ اینڈ کے طور پر شامل کیا گیا ہے، جس کا اپنا ڈائیلیکٹ اور وائر پروٹوکول ہے۔ پروجیکٹ اپنے مقصد کو "ڈیٹا بیسز کا LLVM" کے طور پر بیان کرتا ہے — ایک جدید مرکزی حصہ جس پر متعدد فرنٹ اینڈز کمپائل کیے گئے ہیں۔
مرکزی صلاحیتوں میں شامل ہیں:
- SQL ڈائیلیکٹ، فائل فارمیٹ اور C API کی سطح پر SQLite کے ساتھ مطابقت، SQLite ورژن 3.50.4 کو ٹریک کرتے ہوئے، ایک COMPAT دستاویز کے ساتھ جو باقی اختلافات کو ٹریک کرتی ہے۔ موجودہ SQLite ڈیٹا بیس فائلیں جیسا کہ ہیں کام کرتی ہیں۔
- بہتر لکھائی کی تھروپٹ کے لیے BEGIN CONCURRENT، جو کہ multi-version concurrency control (MVCC) کا استعمال کرتی ہے۔
- چینج ڈیٹا کیپچر (CDC) تاکہ ڈیٹا بیس میں ہونے والی تبدیلیوں کو حقیقی وقت میں ٹریک کیا جا سکے۔
- Go، JavaScript، Java، .NET، Python، Rust، اور WebAssembly کے لیے زبان کے بائنڈنگز، جنہیں crates.io، npm، PyPI، Maven Central اور Go modules کے ذریعے انسٹال کیا جا سکتا ہے۔
- Linux پر io_uring کے ذریعے asynchronous I/O۔
- Linux، macOS، Windows اور browsers (WebAssembly کے ذریعے) کے لیے کراس پلیٹ فارم سپورٹ۔
- ویکٹر سپورٹ، جس میں exact search اور vector manipulation شامل ہیں۔
- بہتر schema management، جس میں extended ALTER سپورٹ اور تیز تر schema changes شامل ہیں۔
تجرباتی خصوصیات میں PostgreSQL کے ساتھ SQL ڈائیلیکٹ اور وائر پروٹوکول کی مطابقت، encryption at rest، DBSP کا استعمال کرتے ہوئے incremental computation for view maintenance اور query subscriptions، tantivy لائبریری کے ذریعے full-text search، اور ایک .tshm sidecar کے ذریعے multi-process WAL coordination شامل ہیں۔ approximate search کے لیے vector indexing روڈ میپ پر ہے۔
شروع کرنے کے لیے مواد میں ایک command line shell (tursodb) شامل ہے جو ایک shell installer script کے ذریعے انسٹال ہوتا ہے، cargo کے ساتھ source سے build کرنا، اور make کے ذریعے Docker targets۔ یہ Rust، JavaScript، Python، Go، .NET اور Java کے لیے مختصر مثالیں دکھاتا ہے، جن میں Java کے لیے JDBC انٹیگریشن بھی شامل ہے۔
CLI میں ایک Model Context Protocol (MCP) سرور بھی ایمبیڈڈ ہے، جسے --mcp flag کے ساتھ شروع کیا جاتا ہے، جو AI اسسٹنٹس کو ڈیٹا بیسز کے ساتھ بات چیت کرنے کی اجازت دیتا ہے۔ README میں نو ٹولز کی دستاویزات ہیں: open_database، current_database، list_tables، describe_table، execute_query، insert_data، update_data، delete_data اور schema_change۔ Claude Code، Claude Desktop اور Cursor کے لیے کنفیگریشن کی مثالیں فراہم کی گئی ہیں، ساتھ ہی stdin/stdout پر براہ راست JSON-RPC استعمال بھی۔
اعتماد اور حیثیت: README میں کہا گیا ہے کہ Turso متعدد تنظیموں میں پروڈکشن ایپلی کیشنز کو پاور کرتا ہے اور اسے ٹولز کے ساتھ ٹیسٹ کیا گیا ہے، جن میں ایک native deterministic simulation testing suite اور Antithesis شامل ہیں، جبکہ یہ نوٹ کیا گیا ہے کہ پروجیکٹ 1.0 تک نہیں پہنچا ہے اور کچھ خصوصیات واضح طور پر تجرباتی ہیں، جس کی وجہ سے اس وقت تک آزادانہ بیک اپ کی سفارش کی جاتی ہے۔ یہ Turso Database کو پہلے کے libSQL fork سے ممتاز کرتا ہے، Rust rewrite کو مطلوبہ سمت کے طور پر بیان کرتا ہے جبکہ دونوں پروڈکشن میں چل رہے ہیں۔ repository میں تعلیمی اشاعتیں اور پروجیکٹ پارٹنرز بھی درج ہیں، اور یہ MIT لائسنس کے تحت شراکتیں قبول کرتا ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.