MessagePack
میسج پیک ایک کمپیوٹر ڈیٹا انٹرچینج فارمیٹ ہے۔ یہ سادہ ڈیٹا ڈھانچے جیسے صفوں اور ملحقہ صفوں کی نمائندگی کرنے کے لیے ایک بائنری شکل ہے۔ میسج پیک کا مقصد ہر ممکن حد تک کمپیکٹ اور آسان ہونا ہے۔ سرکاری نفاذ مختلف زبانوں جیسے سی، سی + +، سی #، ڈی، ایرلانگ، گو، ہاسکل، جاوا، جاوا اسکرپٹ (نوڈ جے ایس)، لوا، اوکیمل، پرل، پی ایچ پی، ازگر، روبی، رسٹ، اسکالا، سمال ٹاک، اور سوئفٹ میں دستیاب ہے۔ ڈیٹا کی اقسام اور نحو ڈیٹا ڈھانچے جو میسج پیک کے ذریعے پروسیس کیے جاتے ہیں، JSON فارمیٹ میں استعمال ہونے والے ڈھانچوں سے مطابقت رکھتے ہیں۔ وہ مندرجہ ذیل عنصر کی اقسام پر مشتمل ہیں: نیل بول، بولین (درست اور غلط) انٹیجر، انٹیجر (64 بٹس تک دستخط شدہ یا غیر دستخط شدہ) فلوٹ، فلوٹنگ پوائنٹ نمبرز (آئی ای ای ای سنگل/ڈبل صحت سے متعلق) ایس ٹی آر، یو ٹی ایف-8 سٹرنگ بن، بائنری ڈیٹا (232−1 بائٹس تک) ایرے میپ، ایک ایسوسی ایٹیو ایرے ایکسٹ (ایپلی کیشن سے متعین فارمیٹ کا من مانی ڈیٹا، 232−1 بائٹس تک) ٹائم اسٹیمپ (ایکسٹ ٹائپ = −1) (64 بٹ سیکنڈ اور 32 بٹ نینو سیکنڈ تک) دیگر فارمیٹس سے موازنہ میسج پیک جے ایس او این سے زیادہ کمپیکٹ ہے، لیکن ایرے اور انٹیجر سائز پر حدود عائد کرتا ہے۔ دوسری طرف، یہ بائنری ڈیٹا اور غیر یو ٹی ایف-8 انکوڈڈ تاروں کی اجازت دیتا ہے۔ جے ایس او این میں، نقشہ کی چابیاں سٹرنگز ہونی چاہئیں، لیکن میسج پیک میں ایسی کوئی حد نہیں ہے اور کسی بھی قسم کی نقشہ کی کلید ہو سکتی ہے، بشمول نقشے اور صفوں جیسی اقسام، اور، جیسے وائی اے ایم ایل، نمبر۔ بی ایس او این کے مقابلے میں، میسج پیک زیادہ جگہ کے لحاظ سے موثر ہے۔ بی ایس او این کو تیز ان میموری ہیرا پھیری کے لیے ڈیزائن کیا گیا ہے، جبکہ میسج پیک کو تار پر موثر ترسیل کے لیے ڈیزائن کیا گیا ہے۔ مثال کے طور پر، بی ایس او این کو تمام تاروں کے آخر میں نل ٹرمینیٹرز کی ضرورت ہوتی ہے اور فہرست عناصر کے لیے سٹرنگ انڈیکس داخل کرتا ہے، جبکہ میسج پیک ایسا نہیں کرتا ہے۔ بی ایس او این صفوں اور نقشوں دونوں کو داخلی طور پر دستاویزات کے طور پر پیش کرتا ہے، جو نقشے ہیں، جہاں ایک صف ایک نقشہ ہے جس میں چابیاں اعشاریہ تار کے طور پر 0 سے گنتی کی جاتی ہیں۔ دوسری طرف میسج پیک نقشوں اور صفوں دونوں کو صفوں کے طور پر پیش کرتا ہے، جہاں ہر نقشہ کلیدی قیمت کا جوڑا متصل ہوتا ہے، جس سے عجیب آئٹم کیز اور آئٹم کی اقدار بھی بنتی ہیں۔ پروٹوکول بفرز فارمیٹ میسج پیک کے مقابلے میں نمایاں طور پر زیادہ کمپیکٹ ٹرانسمیشن فارمیٹ فراہم کرتا ہے کیونکہ یہ فیلڈ کے ناموں کو منتقل نہیں کرتا ہے۔ تاہم، جب کہ جے ایس او این اور میسج پیک کا مقصد ٹائپ ٹیگز کے ساتھ صوابدیدی ڈیٹا ڈھانچے کو سیریلائز کرنا ہے، پروٹوکول بفرز کو ڈیٹا کی اقسام کی وضاحت کے لیے اسکیما کی ضرورت ہوتی ہے۔ پروٹوکول بفرز مرتب کرنے والا ہدف کی زبان میں بوائیلر پلیٹ کوڈ بناتا ہے تاکہ ایپلی کیشن کوڈ میں سیریلائزیشن کے انضمام کو آسان بنایا جا سکے۔ میسج پیک صرف ایک متحرک ٹائپ شدہ ڈیٹا ڈھانچہ فراہم کرتا ہے اور کوئی خودکار ڈھانچہ چیک فراہم نہیں کرتا ہے۔ میسج پیک کا حوالہ سی بی او آر میں دیا گیا ہے۔ اپاچی تھرفٹ اپاچی ایورو بی ایس او این سی بی او آر جے ایس او این بی جے ایس او این پروٹوکول بفرز مسکراہٹ یو بی جے ایس او این ڈیٹا سیریلائزیشن فارمیٹس کا موازنہ وائی اے ایم ایل ایکس ڈی آر حوالہ جات بیرونی لنکس میسج پیک فارمیٹ کی تفصیلات ڈیٹا سیریلائزیشن فارمیٹس دیکھیں۔