کسی بھی بیک اینڈ ٹیم کے لیے قابل اعتماد، مستقل اور کم لیٹنسی ڈیٹا کے ساتھ ایک بڑے صارف کی خدمت کرنا ایک بہت مشکل چیلنج ہے۔ لیجر میں، ہم نے اپنی بلاکچین کور ڈیٹا سروسز کی میزبانی کے لیے اسٹریٹجک انتخاب کیا۔ فریقین ثالث پر بھروسہ نہ کرکے، ہم اپنے کلائنٹس کے ڈیٹا کا خود انتظام کر سکتے ہیں، اس بات کو یقینی بناتے ہوئے کہ بنیادی عمل ہماری حفاظتی رہنما خطوط اور کارکردگی پر مبنی سروس لیول کے مقاصد (SLO) پر عمل پیرا ہوں۔
لیکن یہ حکمت عملی اپنے چیلنجوں کا ایک مجموعہ بھی لاتی ہے۔
ہمارا پہلا چیلنج ان بنیادی ڈیٹا فراہم کرنے والی خدمات کو ٹھنڈے اور چمکدار noSQL ٹولز سے دور منتقل کرنا ہے۔ اس مضمون میں، میں اس بات پر غور کروں گا کہ ہم نے یہ مشکل فیصلہ کیوں کیا، ہم نے جن پیچیدگیوں کا سامنا کیا اور جو فوائد ہم نے حاصل کئے۔
اس آرٹیکل کا مقصد ان تکنیکی پہلوؤں کو دکھانا ہے جس کی وجہ سے ہم نے PostgreSQL کو بلاکچین ڈیٹا کے لیے اپنی نئی بیس لائن اسٹوریج لیئر کے طور پر منتخب کیا۔
بلاکچین ڈیٹا میں گہرا غوطہ لگائیں۔
بلاکچین ڈیٹا میں کئی اہم خصوصیات ہیں۔
سب سے پہلے، یہ ہمیشہ بڑھ رہا ہے، اور اس سے کبھی بھی کچھ بھی حذف نہیں ہوتا ہے۔ تاہم عملی طور پر، اگرچہ زیادہ تر بلاکچین ناقابل تغیر ہے، لیکن بلاکچین کا سب سے کم عمر حصہ تنازعات کی وجہ سے تبدیل ہو سکتا ہے جنہیں حل کرنے کی ضرورت ہے۔ درحقیقت، چونکہ سلسلہ ایک ہم مرتبہ نیٹ ورک ہے، کئی جائز بلاکس عارضی طور پر ایک ساتھ رہ سکتے ہیں۔ عام طور پر، پرانے کو حذف کر دیا جاتا ہے، جس کے نتیجے میں ہم تنظیم نو کہتے ہیں۔ طویل کہانی مختصر، ڈیٹا کو ایک ناقابل تغیر سرد دم اور شاذ و نادر ہی تبدیل ہونے والی سر کی حالت کے درمیان تقسیم کیا گیا ہے۔
ہم جس مسئلے کو حل کرنے کی کوشش کر رہے ہیں وہ یہ ہے کہ جب کہ بلاک چینز بازنطینی فالٹ ٹولرنٹ ڈیٹا رکھنے کے لیے بہترین ہیں، لیکن وہ اسے کئی محوروں پر کاٹنے اور کاٹنے کے لیے کم موثر ہیں۔ یعنی، اکاؤنٹ کو متاثر کرنے والے آپریشنز کی فہرست حاصل کرنا بہت مشکل ہے۔ یہاں تک کہ بٹ کوائن جیسے بلاکچین پر اکاؤنٹ کا بیلنس حاصل کرنا بھی ایک چیلنج ہے جب آپ کے پاس پہلے سے لین دین کی فہرست نہیں ہے۔
ان چیلنجوں پر قابو پانے کے لیے، لیجر ایکسپلورر سروسز پورے بلاک چین کو انڈیکس کرتی ہے۔ بلیوں کا اثر اعلی کارکردگی رن ٹائم. ہم بٹ کوائن پر 10k rps سے زیادہ ہیں، جبکہ 95ms سے کم p100 لیٹنسی کو برقرار رکھتے ہیں۔ ہم بھی بھرتی کر رہے ہیں۔ 😊.
تھوڑی بہت تاریخ
ہماری کہانی کے آغاز میں، کمپنی میں شامل ہونے سے پہلے، لیجر ڈیٹا سروس لیئر کو ایمبیڈڈ Neo4j ڈیٹا بیس کے ذریعے ہینڈل کیا گیا تھا۔ ہر سرونگ باکس اپنے ڈیٹا کو انڈیکس کر رہا تھا اور اسے مقامی طور پر پیش کر رہا تھا، جس کی وجہ سے بہت سارے مسائل تھے۔
مثالوں کے درمیان ڈیٹا کی مستقل مزاجی کی گارنٹی نہیں دی گئی تھی، اور ریاست کا سراسر سائز جس کو انڈیکس کرنے کی ضرورت تھی، neo4j ڈسک اور رام کے استعمال کے ساتھ مل کر، توسیع پذیر نہیں تھی۔ کمپنی کے بڑھنے کے ساتھ ہی یہ مسئلہ مزید بڑھتا گیا، جس سے نئی مثالیں پیدا کرنا مشکل ہوتا گیا۔
Cassandra اس کے بعد اس نئے سیٹ اپ کے مرکزی ڈرائیور کے طور پر منتخب کیا گیا: یہ ایک کلسٹرڈ، افقی طور پر توسیع پذیر ڈیٹا بیس ہے جو CAP تھیوریم کے AP طرف ہے۔ یہ ڈیٹا شیئرنگ سے متعلق مسائل کو حل کرتا ہے اور انڈیکسنگ، بلاکچین آگاہی جزو اور ہیڈ لیس API سرورز کے درمیان واضح علیحدگی کی اجازت دیتا ہے۔
لیکن اگر ہم اس سے حقیقت میں کبھی نہیں پڑھیں گے تو پوری تاریخی حالت دستیاب ہونے کا کیا فائدہ؟
ہمارے استعمال کے معاملے کے بارے میں، خام تاریخی ڈیٹا کی ضرورت کم ہی ہوتی ہے کیونکہ ہمارے صارف کے اکاؤنٹ کی حالت اس سے جمع کی جا سکتی ہے۔ اس کی وجہ سے ہمیں موجودہ ڈیٹا سٹوریج حل کو چیلنج کرنا پڑا جو کیسینڈرا تقسیم شدہ ڈیٹا بیس پر مبنی ہے۔
ڈیٹا کا حجم ہمیں فی بلاکچین ذخیرہ کرنے کے لیے درکار ہے، حالانکہ ٹیرا بائٹ رینج میں ہے، جسے کوئی "بڑا ڈیٹا" کہہ سکتا ہے۔ مزید یہ کہ اگر اس کا حصہ زیادہ تر سوالات کے جوابات کے لیے استعمال کیا جائے گا (عرف دی ہاٹ پاتھ) اس سے بھی چھوٹا ہے۔ آج کل 16TB سے زیادہ NVMe SSD سٹوریج والے کموڈٹی ہارڈویئر سرورز آسانی سے تلاش کر سکتے ہیں۔ عمودی اسکیلنگ ایک بہت طاقتور ٹول ہے، اور ایک رشتہ دار ڈیٹا بیس بھی ہے۔
آخر کار، ہمارے پاس موجودہ کیسینڈرا سیٹ اپ کے ساتھ جو اہم مسئلہ تھا وہ نہ تو فضول اسٹوریج ماڈل تھا اور نہ ہی ناقص فٹ شدہ ڈیٹا استعمال کیس، بلکہ ڈویلپر دوستی کی کمی تھی۔ کیسینڈرا پر ڈیٹا پر مبنی ایک نئی خصوصیت تیار کرنا غیر ضروری طور پر وقت طلب ثابت ہوا ہے۔ ہم نے ہر اس نئے محور کو نافذ کرنے کی کوشش کی جس پر ہمیں ڈیٹا فراہم کرنے کی ضرورت ہے۔
ڈیٹا ماڈلنگ کی مہارت اور SQL کی مہارت میں ہماری ٹیم کی مہارت کو دیکھتے ہوئے، PostgreSQL کی کامل امیدوار تھا. یہ حل جنگ میں آزمایا گیا، مضبوط، توسیع کرنے میں آسان ہے، یہ ایک مثالی انتخاب ہے۔
ہم نے NoSQL پر SQL کا انتخاب کیوں کیا:
- بیلنس پڑھتا / لکھتا ہے۔: بلاکچین ڈیٹا کے استعمال کے معاملے کو لکھنے کے بجائے پڑھنے پر سختی سے ترچھا کیا گیا ہے (بلاکچین بہت کم ڈیٹا بہت مناسب شرح پر لکھتا ہے، یہاں تک کہ پولی گون جیسے بلاک چین کے لیے بھی)۔ کیسینڈرا میں تحریروں کی بہت زیادہ مقدار کو جذب کرنے کی صلاحیت ہے – پڑھنے کا راستہ دراصل ہے۔ اب لکھنے کے راستے سے زیادہ۔
- انڈیکسنگ سپورٹ: اشاریے سوالات اور نئے کاروباری معاملات یا مواقع کے جواب دینے کے لیے DBMS کا کلیدی جز ہیں۔ کیسینڈرا کو اشاریہ سازی کے لیے محدود حمایت حاصل ہے۔ اشاریہ جات صرف اس صورت میں موثر ہیں جب استفسار پہلے ہی اس تقسیم کو روکنے کا طریقہ بتاتا ہے جس پر استفسار چلے گا۔ ہم یہاں ایک کی قیمت ادا کرتے ہیں۔ من مانی تقسیم ڈیٹا بیس اشاریہ جات کے لیے PostgreSQL سپورٹ موثر، قابل توسیع اور کنارے پر ہے۔
- جمع کی حمایت: جمع کے لیے ایک ہی صورت؛ چونکہ کیسینڈرا ملٹی پارٹیشن ایگریگیشن کی اجازت نہیں دیتی ہے اور اپنی استفسار کی زبان میں کسی گروپ BY شق کو برداشت نہیں کرتی ہے، اس لیے اس کی حمایت کی کمی ہے۔ PostgreSQL ایک وسیع ایگریگیشن سپورٹ کی تجویز پیش کرتا ہے، یہاں تک کہ رینجز اور jsonb blobs جیسے غیر ملکی ڈیٹا کی اقسام پر بھی۔
- ڈیٹا ماڈلنگ: کیسینڈرا جس طرح سے ڈیٹا ماڈلنگ ممکن ہے اس میں بہت محدود ہے۔ تقریباً ہر درخواست کے لیے ایک ٹیبل بنایا جانا چاہیے جس کا آپ جواب دینا چاہتے ہیں، اور ڈیٹا کو بڑی قطاروں میں غیر معمولی بنانا ہوگا (مکمل طور پر استعمال کرتے ہوئے وسیع کالم اسٹور C* کا پہلو اور یہ حقیقت بھی کہ مصنفین سستے ہیں)۔ PostgreSQL ہمیں بلاکچین کے متعلقہ پہلو سے فائدہ اٹھانے کی اجازت دیتا ہے (کالز، لین دین، بلاکس) اور اضافی ڈسک کی جگہ، ڈیٹا کے دوبارہ استعمال کی حوصلہ افزائی کرتا ہے۔
- ایڈہاک سوالات اور آڈیٹنگ: SQL کے مکمل معیار کو استعمال کرنے اور صوابدیدی سوالات کرنے کے قابل ہونے کا مطلب ہے کہ ہم ممکنہ بگ کی وجہ کو تلاش اور تلاش کر سکتے ہیں یا مستقبل کے استعمال کے معاملات کے لیے تحقیقی ڈیٹا حاصل کر سکتے ہیں۔ ہم واقعی ڈیٹا بیس کو گونگے اسٹوریج کے بجائے ایک انٹرایکٹو اور سمارٹ ٹول کے طور پر استعمال کر سکتے ہیں۔ پریسٹو، اسپارک وغیرہ جیسے وسیع اور مہنگے تجزیاتی کمپیوٹ کلسٹر کے بغیر کیسنڈرا پر ایسا کرنا (اور چونکہ ہم ننگے میٹل سرورز پر چل رہے ہیں، ہمارے پاس آسانی سے پیدا ہونے والے ڈیٹا کے تجزیہ کے ٹولز جیسے EMR تک رسائی نہیں ہے)۔
- اسٹوریج استعمال: کیسینڈرا کا مفروضہ یہ ہے کہ اسٹوریج بہت سستا ہے اور یہ کہ کلسٹر کو نئی مشینوں کے ساتھ آسانی سے بڑھایا جا سکتا ہے۔ اس کا مطلب یہ ہے۔ اشاریہ جات اور جمع دونوں پر تمام حدود کی ادائیگی سٹوریج کے ساتھ ہونی چاہیے۔. عالمی سطح پر کوئی موثر اشاریے نہیں ہیں اور تعاون میں شامل ہونے کا مطلب یہ ہے کہ ہمیں ہر اس محور کے لیے پورے ٹیبل کی ایک کاپی کو غیر معمولی بنانا اور ذخیرہ کرنا ہوگا جس سے ہم استفسار کرنا چاہتے ہیں۔ PostgreSQL ہمیں ٹیرا بائٹس کا ذخیرہ بچاتا ہے۔
- مستقل مزاجی: چونکہ کیسینڈرا ایک تقسیم شدہ، اے پی پر مبنی ڈیٹا بیس ہے (مواصلات نوڈس کے درمیان گپ شپ کے ساتھ کی جاتی ہے)، مستقل مزاجی صرف تحریروں کے معاملے میں حتمی ہے۔ آپ پڑھنے اور لکھنے دونوں کے لیے ہر بیان کی مستقل مزاجی کی پالیسی کو ٹیون کر سکتے ہیں، لیکن اس ڈیٹا بیس کا مقصد کبھی بھی مضبوط مستقل مزاجی نہیں تھا۔ PostgreSQL میں اہم مشنوں کے لیے استعمال ہونے کی ایک مضبوط کہانی ہے اور یہ انتہائی لچکدار ہے۔ مرکزی ہونے کا مطلب یہ بھی ہے کہ لکھنے کے راستے میں کوئی نیٹ ورک شامل نہیں ہے۔
- لین دین اور MVCC:
- لین دین: کیسینڈرا سپورٹ کرتا ہے۔ صرف ہلکا پھلکا لین دین DML سوالات پر۔ کچھ بیچنگ لاگو کی جا سکتی ہے (DOC) لیکن متعدد انتباہات ہیں، یعنی یہ کہ قطاریں ایک ہی سرور (= پارٹیشن) میں ہونی چاہئیں تاکہ خوفناک کارکردگی نہ ہو۔
- MVCC: کیسینڈرا قطار کے وقت کی مہر لگانے کی حمایت کرتی ہے لیکن مکمل MVCC کی ضمانت نہیں ہے۔ ایک کمپیکشن باسی ڈیٹا کو مٹا سکتا ہے اور C* کو یہ بتانے کا کوئی طریقہ نہیں ہے کہ اسے نہیں ہونا چاہئے (جیسے جیسے PG میں ٹرانزیکشن)۔
- PostgreSQL ایک مضبوط MVCC ماڈل کو سپورٹ کرتا ہے جو ہمارے صارفین کے لیے مستقل پڑھنے کا راستہ یقینی بناتا ہے۔
- Tooling: PostgreSQL میں اور بھی بہت سے ٹولز ہیں جو ڈیٹا بیس کو آسانی سے چلانے کے لیے بڑے پیمانے پر استعمال ہوتے ہیں۔ اس کے علاوہ، ایک آلہ کی طرح فلائی وے اس بات کو یقینی بناتا ہے کہ ہم ڈیٹا بیس اسکیما کی مضبوط ورژننگ کو برقرار رکھتے ہیں۔ ہم نے پہلے ہی اسے اپنے کوڈ بیس کے ساتھ کامیابی کے ساتھ مربوط کر لیا ہے۔ کیسینڈرا پر پختگی کی اس سطح کے ساتھ کوئی مساوی نہیں ہے۔
- افقی اسکیل ایبلٹی: یہ کیسنڈرا کا کلیدی سیلنگ پوائنٹ ہے۔ آپ کے ڈیٹا کے پھیلنے کے ساتھ ہی مزید مشینیں شامل کریں۔ PostgreSQL کے لیے کوئی مساوی نہیں ہے کیونکہ شارڈنگ اور پارٹیشننگ کو دستی طور پر کرنا پڑتا ہے۔
ہم کس طرح پیمانے پر منصوبہ بندی کرتے ہیں
جیسا کہ ہم نے دیکھا ہے، پوسٹگریس سیٹ اپ کو استعمال کرنے کا واحد منفی پہلو پڑھنے اور اسٹوریج دونوں پر اسکیل کرنا ہے۔ اس حد کو دور کرنے کے لیے ہم کیا کر سکتے ہیں؟
ہمارے پاس پہلا موثر ٹول ہر پروٹوکول یا بلاک چین کو الگ کرنا ہے جس کی ہم حمایت کرتے ہیں اس کے اپنے ڈیٹا بیس میں، اس طرح حجم اور ٹریفک کو دیکھتے ہوئے مناسب طریقے سے پیمانہ کیا جا سکتا ہے۔ کاروباری ڈومین کے لحاظ سے تقسیم اسکیلنگ کی پہلی پرت کو یقینی بناتی ہے۔
اس تصور کو مزید آگے لے کر، ہم سرد، تاریخی ڈیٹا کو عارضی تقسیم میں بھی تقسیم کر سکتے ہیں۔ پوسٹگریس کے تازہ ترین ورژنز نے تقسیم شدہ میزوں کے استعمال میں بہت بہتری لائی ہے، جو مشینوں کے کلسٹر میں بغیر کسی رکاوٹ کے ڈیٹا کو منتقل کرنے کے قابل ہو سکتی ہے۔ مثال کے طور پر، ہم تاریخی ڈیٹا کی اکثریت کی میزبانی کے لیے کم کمپیوٹ پاور والی سستی مشینیں استعمال کر سکتے ہیں، جبکہ مجموعی میزوں اور صارف کے تازہ ترین آپریشنز کی میزبانی کے لیے بیفی صارف کی خدمت کرنے والے RAM کے ڈھیر والے بیہومتھس کو برقرار رکھتے ہوئے۔
یہ نقطہ نظر ہمارے استعمال کے معاملے میں بہت اچھی طرح سے کام کرتا ہے کیونکہ تاریخی اسٹوریج میں کوئی کراس پارٹیشن غیر ملکی چابیاں نہیں ہیں (ہر چیز بالآخر بلاک کے ساتھ منسلک ہے)۔ مرکزی سرور کے نقطہ نظر سے، تاریخی ڈیٹا تک تقسیم اور postgres_fdw توسیع کا استعمال کرتے ہوئے شفاف طریقے سے رسائی حاصل کی جا سکتی ہے۔
ان سب کو جگہ پر رکھنے میں مدد کے لیے، ہم نے TimescaleDB ایکسٹینشن کو بھی دیکھا ہے۔ یہ ایکسٹینشن بیس لائن پوسٹگریس میں بہت ساری خصوصیات کا اضافہ کرتی ہے، اور ان میں سے اکثر ہمارے استعمال کے معاملات کے لیے موزوں ہیں:
- کالم جیسے وقت کی بنیاد پر میزوں کی خودکار تقسیم (ہمارے معاملے میں، ہم بلاکچین کی اونچائی کو اپنے حوالہ کے طور پر لے کر اسے ڈھال لیتے ہیں)۔
- خودکار، ڈیٹا کی قسم سے آگاہی اور پرانے حصوں کی کالم پر مبنی کمپریشن۔ یہ ڈیٹا پر اسٹیٹ آف دی آرٹ الگورتھم استعمال کرکے تقریباً کامل کمپریشن تناسب کو یقینی بناتا ہے جو کہ بہت مماثل ہے۔
- تاریخی بیلنس اور مارکیٹ ڈیٹا گراف کی آسانی سے گنتی کرنے کے لیے موثر ٹائم بالٹی پر مبنی جمع۔
ہم ابھی سٹوریج کے حوالے سے تجربے کے آغاز پر ہیں، اور اس سے استعمال کے بہت سے معاملات کھل جاتے ہیں۔ تھوڑی مقدار میں ڈیٹا کا استعمال کرتے ہوئے تصورات کا ثبوت (ایتھیریم مین نیٹ پر 10k بلاکس، اس طرح تقریباً 2 دن کا ڈیٹا) ڈسک کی جگہ میں 40 فیصد تک کمی دکھائی گئی.
جیسا کہ ہم نے دیکھا ہے، ڈیٹا کا حجم، بشرطیکہ ہم صحیح حکمت عملی کا استعمال کریں، کوئی مسئلہ نہیں ہے۔ لیکن ہمارے صارف کی بنیاد کے سائز کے ساتھ پیمانہ کیسے کریں؟
ہمارے یہاں پہلے سے ہی ایک اچھا فائدہ ہے: ہم پورے بلاکچین ڈیٹا کو انڈیکس کرتے ہیں۔ اس طرح، ذخیرہ کرنے کی ضرورت صارفین کی تعداد کی طرح نہیں بڑھے گی، بلکہ بلاک چین کے کل سائز کی طرح ہوگی۔ سٹوریج اور ریڈز آپٹیمائزیشن اپنی ریزولوشن میں مکمل طور پر آرتھوگونل ہیں۔
یہ سیٹ اپ، پڑھنے والے حجم کے تناسب سے بہت کم لکھنے کی ضرورت کے ساتھ مل کر جسے پیش کرنے کی ضرورت ہے، کلاسنگ لیڈر-فالوور ریپلیکا پیٹرن کے لیے خوابوں کا سیٹ اپ ہے۔ مزید کارکردگی اور تھرو پٹ کو بڑھانے کے لیے، ہم پوسٹگریس ریڈ ریپلیکا بھی انہی مشینوں پر رکھ سکتے ہیں جیسے API سرورز اور نیٹ ورک راؤنڈ ٹرپس کو چھوڑنے کے لیے UNIX ڈومین ساکٹ کا فائدہ اٹھا سکتے ہیں۔
یہاں ڈیٹا کی نقل تیار کرنے کی حکمت عملی کی ایک مثال ہے جسے ہم اپنے پڑھنے کی پیمائش کے لیے استعمال کر سکتے ہیں۔ ہلکے بھوری رنگ کے خانے سنگل سرورز کی نمائندگی کرتے ہیں۔ ہم یہاں دیکھ سکتے ہیں کہ API پوڈز براہ راست گرم ترین ڈیٹا کی نقلوں کے ساتھ مل کر موجود ہیں تاکہ اسٹوریج اور صارفین کے درمیان کم سے کم منتقلی کا وقت یقینی بنایا جا سکے۔ پہلے سے بیان کردہ آرکائیو مثالوں کی نمائندگی نہیں کی جاتی ہے تاکہ اسکیما کو زیادہ پیچیدہ نہ بنایا جائے۔
ریمارکس اختتامی
ایک طویل مدتی کیسینڈرا صارف کے طور پر، میں اس بات پر زور دینا چاہتا ہوں کہ یہ اپنے ڈیزائن میں ایک بہترین ڈیٹا بیس ہے، جو کہ مختلف قسم کی ایپلی کیشنز کے مطابق ہے۔ بدقسمتی سے، اسے استعمال کرنے کے لیے لیجر میں جو انتخاب کیا گیا تھا وہ ڈیٹا کے استعمال کے معاملے پر کیا گیا تھا جو کبھی پورا نہیں ہوا۔
ہماری ٹیم کی پیداواری صلاحیت متاثر ہوئی، اور ان چیلنجوں کا انتظار کرتے ہوئے جو ہمیں حل کرنے ہیں ہم نے گولی کاٹنے اور لاگت کی دھنسی ہوئی غلطی کا شکار نہ ہونے کا انتخاب کیا۔
بہت سے معاملات میں، آپ کا ڈیٹا بڑا ڈیٹا نہیں ہے۔ زیادہ تر معاملات میں ڈیٹا کی تقسیم کا انتظام کرنا کوئی مشکل کام نہیں ہے، اور ایک مکمل تقسیم شدہ ڈیٹا بیس کے ٹریڈ آفس کو واقعی احتیاط سے غور کرنے کی ضرورت ہے۔ کلیدی غور ڈویلپر کا تجربہ ہے کیونکہ یہ کسی اور چیز کو بنانے کے لیے قیمتی وقت نکالتا ہے۔ یہ حقیقی استعمال کا معاملہ ہے جس میں ہمیں بہت زیادہ سرمایہ کاری کرنے کی ضرورت ہے۔
- SEO سے چلنے والا مواد اور PR کی تقسیم۔ آج ہی بڑھا دیں۔
- پلیٹوآئ اسٹریم۔ ویب 3 ڈیٹا انٹیلی جنس۔ علم میں اضافہ۔ یہاں تک رسائی حاصل کریں۔
- ایڈریین ایشلے کے ساتھ مستقبل کا نقشہ بنانا۔ یہاں تک رسائی حاصل کریں۔
- PREIPO® کے ساتھ PRE-IPO کمپنیوں میں حصص خریدیں اور بیچیں۔ یہاں تک رسائی حاصل کریں۔
- ماخذ: https://www.ledger.com/blog/serving-web3-at-web2-scale
- : ہے
- : ہے
- : نہیں
- $UP
- 10
- 10K
- 20
- a
- کی صلاحیت
- قابلیت
- تک رسائی حاصل
- رسائی
- اکاؤنٹ
- کے پار
- اصل میں
- اپنانے
- شامل کریں
- جوڑتا ہے
- مان لیا
- فائدہ
- مجموعی
- یلگوردمز
- تمام
- کی اجازت
- کی اجازت دیتا ہے
- پہلے ہی
- بھی
- اگرچہ
- رقم
- an
- تجزیہ
- تجزیاتی
- اور
- جواب
- کوئی بھی
- کچھ
- اے پی آئی
- ایپلی کیشنز
- اطلاقی
- نقطہ نظر
- مناسب طریقے سے
- محفوظ شدہ دستاویزات
- کیا
- ارد گرد
- فن
- مضمون
- AS
- پہلو
- پہلوؤں
- مفروضہ
- At
- دستیاب
- آگاہ
- دور
- ایکسس
- محور
- پسدید
- متوازن
- توازن
- بیس
- کی بنیاد پر
- بیس لائن
- BE
- کیونکہ
- رہا
- اس سے پہلے
- شروع
- behemoths
- کیا جا رہا ہے
- فوائد
- کے درمیان
- بگ
- بگ ڈیٹا
- بٹ
- بٹ کوائن
- بلاک
- blockchain
- بلاکچین ڈیٹا
- بلاکس
- بلاکس
- دونوں
- باکس
- باکس
- لاتا ہے
- بگ کی اطلاع دیں
- تعمیر
- کاروبار
- لیکن
- by
- فون
- کالز
- کر سکتے ہیں
- امیدوار
- ٹوپی
- احتیاط سے
- کیس
- مقدمات
- کیونکہ
- وجہ
- مرکزی
- چین
- چیلنج
- چیلنجوں
- چیلنج
- تبدیل
- تبدیل کرنے
- سستے
- سستی
- سستی مشینیں
- انتخاب
- میں سے انتخاب کریں
- کا انتخاب کیا
- منتخب کیا
- واضح
- کلسٹر
- کوڈ
- کوڈ بیس
- سردی
- کالم
- مل کر
- شے
- مواصلات
- کمپنی کے
- پیچیدگیاں
- جزو
- کمپیوٹنگ
- تصور
- تصورات
- غور
- سمجھا
- متواتر
- ٹھنڈی
- کور
- قیمت
- سکتا ہے
- بنائی
- اہم
- موجودہ
- اعداد و شمار
- ڈیٹا تجزیہ
- ڈیٹا شیئرنگ
- ڈیٹا اسٹوریج
- ڈیٹا بیس
- دن
- فیصلہ
- بیان کیا
- ڈیزائن
- ڈیولپر
- ترقی
- مشکل
- براہ راست
- مٹی
- تقسیم کئے
- تقسیم
- تقسیم
- do
- کرتا
- کر
- ڈومین
- نہیں
- نیچے کی طرف
- خواب
- ڈرائیور
- دو
- e
- ہر ایک
- آسانی سے
- آسان
- ایج
- موثر
- ہنر
- اور
- ایمبیڈڈ
- پر زور
- کو چالو کرنے کے
- حوصلہ افزا
- بڑھانے کے
- کو یقینی بنانے کے
- یقینی بناتا ہے
- کو یقینی بنانے ہے
- مساوی
- وغیرہ
- ethereum
- ایتھیریم مینیٹ
- بھی
- حتمی
- کبھی نہیں
- ہر کوئی
- سب کچھ
- مثال کے طور پر
- موجودہ
- غیر ملکی
- توسیع
- تجربہ
- مہارت
- تلاش
- ایکسپلورر
- توسیع
- مدت ملازمت میں توسیع
- وسیع
- حقیقت یہ ہے
- گر
- نمایاں کریں
- خصوصیات
- چند
- مل
- پہلا
- فٹ
- کے لئے
- غیر ملکی
- آگے
- دوستی
- سے
- مکمل
- مکمل
- مکمل طور پر
- افعال
- مزید
- مستقبل
- حاصل کرنے
- دی
- عالمی سطح پر
- مقصد
- جا
- گرافکس
- بھوری رنگ
- عظیم
- گروپ
- بڑھائیں
- بڑھتے ہوئے
- بات کی ضمانت
- ہدایات
- تھا
- ہارڈ
- ہارڈ ویئر
- ہے
- ہونے
- سر
- بھاری
- اونچائی
- مدد
- یہاں
- ہائی
- انتہائی
- تاریخی
- افقی طور پر
- میزبان
- HOT
- سب سے زیادہ
- کس طرح
- کیسے
- تاہم
- HTML
- HTTPS
- i
- مثالی
- if
- غیر معقول
- متاثر
- پر عمل درآمد
- بہتر
- in
- دن بدن
- انڈکس
- Indices
- مثال کے طور پر
- ضم
- انٹرایکٹو
- میں
- سرمایہ کاری
- ملوث
- مسئلہ
- مسائل
- IT
- میں
- میں شامل
- شامل ہو گئے
- فوٹو
- صرف
- رکھتے ہوئے
- کلیدی
- چابیاں
- بچے
- نہیں
- زبان
- بڑے
- تاخیر
- تازہ ترین
- پرت
- قیادت
- لیجر
- جائز
- کم
- سطح
- لیوریج
- روشنی
- ہلکا پھلکا
- کی طرح
- حد کے
- حدود
- لمیٹڈ
- لسٹ
- تھوڑا
- مقامی طور پر
- لانگ
- دیکھا
- تلاش
- بہت
- لو
- مشینیں
- بنا
- مین
- mainnet
- برقرار رکھنے کے
- برقرار رکھنے
- اکثریت
- بنانا
- انتظام
- مینیجنگ
- دستی طور پر
- بہت سے
- مارکیٹ
- مارکیٹ ڈیٹا
- پختگی
- زیادہ سے زیادہ چوڑائی
- مئی..
- کا مطلب ہے کہ
- دھات
- منتقلی
- کم سے کم
- مشن
- ماڈل
- زیادہ
- اس کے علاوہ
- سب سے زیادہ
- منتقل
- بہت
- ضروری
- یعنی
- تقریبا
- ضرورت ہے
- ضرورت
- ضروریات
- نہ ہی
- نیٹ ورک
- کبھی نہیں
- نئی
- اچھا
- نہیں
- نوڈس
- کچھ بھی نہیں
- تعداد
- متعدد
- مقاصد
- of
- on
- ایک
- صرف
- کام
- آپریشنز
- مواقع
- or
- حکم
- ہمارے
- خود
- پر
- پر قابو پانے
- خود
- ادا
- حصہ
- جماعتوں
- راستہ
- پاٹرن
- ادا
- ساتھی
- ہم مرتبہ ہم مرتبہ
- کامل
- کارکردگی
- نقطہ نظر
- مقام
- منصوبہ
- پلاٹا
- افلاطون ڈیٹا انٹیلی جنس
- پلیٹو ڈیٹا
- پوائنٹ
- پالیسی
- کثیرالاضلاع
- ممکن
- پوسٹگریسقیل
- ممکنہ
- طاقت
- طاقتور
- پریکٹس
- مسئلہ
- عمل
- پیداوری
- ثبوت
- تناسب
- تجویز کرتا ہے
- پروٹوکول
- ثابت
- فراہم
- فراہم
- ڈال
- سوالات
- RAM
- رینج
- شرح
- بلکہ
- تناسب
- خام
- پڑھیں
- اصلی
- واقعی
- مناسب
- کمی
- کے بارے میں
- متعلقہ
- قابل اعتماد
- بحالی
- جواب
- نقل
- کی نمائندگی
- نمائندگی
- درخواست
- لچکدار
- قرارداد
- حل کیا
- نتیجے
- دوبارہ استعمال
- ٹھیک ہے
- مضبوط
- جڑ
- منہاج القرآن
- ROW
- رن
- چل رہا ہے
- اسی
- توسیع پذیر
- پیمانے
- سکیلنگ
- بغیر کسی رکاوٹ کے
- تلاش کریں
- سیکورٹی
- دیکھنا
- دیکھا
- حصے
- انقطاع
- فروخت
- فروخت کا مرکز
- سرورز
- سروس
- سروسز
- خدمت
- مقرر
- سیٹ اپ
- کئی
- شارڈنگ
- اشتراک
- مختصر
- دکھائیں
- کی طرف
- اسی طرح
- بعد
- ایک
- سائز
- مہارت
- چھوٹے
- چھوٹے
- ہوشیار
- So
- حل
- حل
- حل کرتا ہے
- کچھ
- خلا
- چنگاری
- معیار
- حالت
- بیان
- ذخیرہ
- ذخیرہ
- کہانی
- حکمت عملی
- حکمت عملی
- مضبوط
- سختی
- کامیابی کے ساتھ
- حمایت
- کی حمایت کرتا ہے
- ٹیبل
- لے لو
- لینے
- ٹاسک
- ٹیم
- ٹیکنیکل
- بتا
- شرائط
- سے
- کہ
- ۔
- بلاک
- ریاست
- ان
- تو
- وہاں.
- یہ
- وہ
- تھرڈ
- تیسرے فریقوں
- اس
- تھرو پٹ
- وقت
- کرنے کے لئے
- بھی
- کے آلے
- اوزار
- کل
- مکمل طور پر
- ٹریفک
- ٹرانزیکشن
- معاملات
- منتقل
- شفاف طریقے سے
- قسم
- اقسام
- آخر میں
- کے تحت
- بنیادی
- بدقسمتی سے
- یونیکس
- غیر مقفل ہے
- غیر ضروری طور پر
- us
- استعمالی
- استعمال
- استعمال کی شرائط
- استعمال کیس
- استعمال کیا جاتا ہے
- رکن کا
- صارفین
- کا استعمال کرتے ہوئے
- عام طور پر
- قیمتی
- مختلف اقسام کے
- عمودی
- بہت
- حجم
- چاہتے ہیں
- تھا
- راستہ..
- we
- Web2
- Web3
- اچھا ہے
- کیا
- کیا ہے
- جب
- جس
- جبکہ
- حالت
- پوری
- کیوں
- وسیع
- بڑے پیمانے پر
- گے
- ساتھ
- بغیر
- کام کرتا ہے
- لکھنا
- لکھا
- تم
- سب سے کم عمر
- اور
- زیفیرنیٹ