[موسیقی بجانے] RICK HOULIHAN: ٹھیک. ہیلو، سب لوگ. میرا نام رک Houlihan ہے. میں نے ایک سینئر پرنسپل ہوں اوس میں حل معمار. میں NoSQL پر توجہ مرکوز اور DynamoDB ٹیکنالوجی. میں بات کرنے کے لئے آج یہاں ہوں آپ کو ان کے بارے میں ایک تھوڑا سا. میرا پس منظر ہے بنیادی طور پر اعداد و شمار کے پرت میں. میں نصف میری ترقی خرچ کیریئر، ڈیٹا بیس لکھنے ڈیٹا تک رسائی، حل مختلف ایپلی کیشنز کے لیے. میں نے بادل ورچوئلائزیشن میں رہا ہوں کے بارے میں 20 سال کے لئے. بادل بادل ہونے سے پہلے، ہم افادیت کمپیوٹنگ اسے فون کرنے کے لئے استعمال. اور خیال، اس طرح کیا گیا تھا PG & E، آپ کو استعمال کیا کے لئے ادائیگی. آج ہم بادل کہتے ہیں. لیکن سال کے دوران، میں نے کام کیا ہے کمپنیوں کے ایک جوڑے کے لئے آپ کو شاید کبھی نہیں سنا ہے. لیکن میں تکنیکی کی ایک فہرست مرتب کی ہے کامیابیوں، میں تمہیں کہونگا لگتا. میں بادل نظام میں آٹھ پیٹنٹ ہے ورچوئلائزیشن، مائکروپروسیسر ڈیزائن، پیچیدہ تقریب پروسیسنگ، اور دیگر علاقوں کے ساتھ ساتھ. ان دنوں لہذا، میں NoSQL پر زیادہ تر توجہ مرکوز ٹیکنالوجی اور اگلی نسل ڈیٹا بیس. اور یہ کہ میں جا رہا ہوں کیا عام طور پر ہے کے بارے میں آج بات یہاں ہونا. تو آپ توقع کر سکتے ہیں اس سیشن سے، ہم نے ایک مختصر کے ذریعے جائیں گے ڈیٹا پروسیسنگ کی تاریخ. یہ کرنے کے لئے ہمیشہ مددگار ہے ہم کہاں سے آیا سمجھ ہم ہیں اور یہی وجہ ہے ہم کہاں ہیں. اور ہم نے ایک چھوٹی سی بات کریں گے NoSQL ٹیکنالوجی کے بارے میں تھوڑا سا ایک بنیادی نقطہ نظر سے. ہم میں سے کچھ میں مل جائے گا DynamoDB internals کے. DynamoDB اوس کی کوئی ذائقہ ہے. یہ ایک مکمل طور پر منظم ہے اور میزبانی NoSQL حل. اور ہم میز کے بارے میں تھوڑا سا میں بات کریں گے ساخت، APIs کا، اعداد و شمار اقسام، اشاریہ جات، اور internals کے کچھ کہ DynamoDB ٹیکنالوجی کے. ہم نے ڈیزائن میں سے کچھ میں مل جائے گا پیٹرن اور بہترین طریقوں. ہم آپ کو کس طرح کے بارے میں بات کریں گے کچھ کے لئے اس ٹیکنالوجی کا استعمال آج کی ایپلی کیشنز کی. اور پھر ہم ایک تھوڑا سا میں بات کریں گے ارتقاء یا خروج کے بارے میں پروگرامنگ میں ایک نئی مثال کے کہا جاتا واقعہ پر مبنی ایپلی کیشنز اور DynamoDB کے ساتھ ساتھ اس میں ادا کرتا ہے کہ کس طرح. اور ہم آپ کا ایک تھوڑا سا چھوڑ دیں گے ایک حوالہ فن بحث تو ہم میں سے کچھ کے بارے میں بات کر سکتے ہیں طریقوں سے آپ DynamoDB استعمال کر سکتے ہیں. تو سب سے پہلے یہ ایک سوال ہے off-- میں نے ایک بہت ایک ڈیٹا بیس کیا ہے، ہے سن. لوگوں کی ایک بہت لگتا ہے کہ وہ ایک ڈیٹا بیس ہے جو جانتے ہیں. گوگل آپ کو تو، آپ یہ دیکھ لیں گے. یہ ایک منعقد ڈیٹا کا ایک ڈھانچہ سیٹ ہے ایک کمپیوٹر، خاص طور پر ایک میں مختلف طریقوں سے قابل رسائی ہے. مجھے لگتا ہے کہ ایک اچھی بات ہے لگتا ہے ایک جدید ڈیٹا بیس کی تعریف. لیکن میں، اس کی وجہ سے پسند نہیں کرتے یہ چیزوں کی ایک جوڑے کا مطلب. اس کی ساخت کا مطلب. اور یہ ایک کمپیوٹر پر ہے کہ اس کا مطلب. اور ڈیٹا بیس نہیں کیا کمپیوٹرز پر ہمیشہ موجود ہیں. ڈیٹا بیس اصل میں بہت سے طریقوں سے موجود. ایک کی تو ایک بہتر تعریف ڈیٹا بیس کچھ اس طرح ہے. ایک ڈیٹا بیس ایک منظم کیا جاتا ہے ذخیرہ، انتظام کے لئے طریقہ کار، اور معلومات بازیافت. یہ About.com کی طرف سے ہے. تو میں واقعی بات چیت اس کی وجہ سے یہ پسند ہے کے بارے میں ایک ڈیٹا بیس ایک مخزن ہونے، کا ذخیرہ معلومات، ضروری نہیں ایک کمپیوٹر پر بیٹھتا ہے کہ کچھ. اور پوری تاریخ میں، ہم ہمیشہ کمپیوٹر نہیں ہے. اب، میں اوسط سے پوچھیں تو کیا ڈویلپر آج ایک ڈیٹا بیس، کہ میں حاصل جواب ہے. کہیں میں چیزیں رہنا کر سکتے ہیں. ٹھیک ہے؟ اور یہ سچ ہے. لیکن یہ بدقسمتی کی بات ہے. ڈیٹا بیس واقعی ہے جدید اپلی کیشن کی بنیاد. یہ بنیاد ہے کی ہر درخواست. اور تم اس کی تعمیر کے لئے کس طرح ڈیٹا بیس، آپ کو کس طرح تشکیل کہ اعداد و شمار ہے کہ کس طرح کا تعین کرنے کی جا رہی ہے آپ پیمانے کے طور پر درخواست کی کارکردگی. تو میرا کام آج کی ایک بہت کے ساتھ نمٹنے ہے جب ڈویلپرز ہوتا اس نقطہ نظر لے اور بعد کے ساتھ نمٹنے ایک درخواست کی ہے کہ اب اصل سے باہر سکیلنگ ہے برا ڈیزائن کی طرف سے ارادے اور مصائب. تو امید ہے کہ جب آپ آج دور چل، تمہیں ٹولز کا ایک جوڑے میں ہے آپ کو رکھیں گے کہ آپ کی پٹی وہی غلطی کرنے سے. بالکل ٹھیک. تو کا ایک تھوڑا سا کے بارے میں بات ڈیٹا بیس کی ٹیکنالوجی کے ٹائم لائن. میں ایک پڑھنے لگتا ہے مضمون نہیں ہے کہ طویل عرصے سے پہلے اور یہ لائنیں پر کچھ کہا یہ ایک بہت ہی شاعرانہ بیان ہے. اس نے کہا کہ تاریخ ڈیٹا کی پروسیسنگ ہے اعلی کے watermarks کی مکمل ڈیٹا کثرت کی. ٹھیک ہے. اب، میں اس قسم کے حقیقی لگتا ہے. لیکن میں واقعی میں ہے کے طور پر نظر آتے ہیں تاریخ اصل میں بھری ہوئی ہے ڈیٹا دباؤ کی تیز آبی نشان کے ساتھ. کے اعداد و شمار کی شرح کی وجہ سے ادخال نیچے جاتا ہے کبھی نہیں. یہ صرف جاتا ہے. اور جدت وقت ہوتی ہے جب ہم اعداد و شمار دباؤ، دیکھتے ہیں جس میں ہے کہ اعداد و شمار کی رقم ہے اب نظام میں آنے میں. اور اس پر عملدرآمد نہیں کیا جا سکتا مؤثر طریقے سے وقت میں یا سرمایہ کاری میں یا تو. ہم شروع اور جب کہ ڈیٹا دباؤ کو دیکھنے کے لئے. تو ہم پر نظر آتے ہیں پہلے ڈیٹا بیس، اس ہمارے کانوں کے درمیان تھا کہ ایک ہے. ہم سب اس کے ساتھ پیدا کر رہے ہیں. یہ ایک اچھا ڈیٹا بیس ہے. یہ ایک اعلی دستیابی ہے. یہ ہمیشہ پر ہے. تم نے ہمیشہ حاصل کر سکتے ہیں. لیکن یہ ایک صارف ہے. میں آپ کے ساتھ اپنے خیالات کا اشتراک نہیں کر سکتے ہیں. تم نے میرے خیالات کو حاصل نہیں کر سکتے ہیں آپ کو ان کے لئے چاہتے ہیں جب. اور ان abilitiy اتنا اچھا نہیں ہے. ہم چیزوں کو بھول جاؤ. ہر اب اور تو، ہم میں سے ایک پتے اور ایک دوسرے کے وجود پر منتقل اور ہم سب کچھ کھو کہ ڈیٹا بیس میں تھا. تو ہے کہ تمام ہے کہ اچھا نہیں ہے. اور اس وقت زیادہ اچھی طرح سے کام کیا ہم دن میں واپس تھے جب جب ہم سچ میں پتہ کرنے کی ضرورت ہے جہاں ہم کل پر جانے کے لئے جا رہے ہیں یا ہم سب سے بہترین کھانے جمع جہاں. لیکن ہم نے شروع کے طور پر ایک کے طور پر اضافہ کرنے کے لئے تہذیب اور حکومت شروع وجود میں آتے ہیں، اور کاروبار، تیار کرنے کے لئے شروع کر دیا ہم احساس کرنے کے لئے شروع کر دیا مقابلے میں تھوڑا زیادہ کی ضرورت ہے ہم نے اپنے سر میں ڈال کر سکتے ہیں. بالکل ٹھیک؟ ہم ریکارڈ کے نظام کی ضرورت ہے. ہم قابل سٹور کے اعداد و شمار کرنے کے لئے مقامات کی ضرورت ہے. تو ہم، تحریری دستاویزات شروع لائبریریوں اور تاریخی دستاویز پیدا. ہم ایک ترقی پذیر شروع نظام ایک اکاؤنٹ اکاؤنٹنگ. اور اکاؤنٹ گنتی کے اس نظام ، کئی صدیوں کے لئے دنیا بھاگ گیا اور شاید بھی صدیوں کے طور پر ہم اس قسم کے نقطہ نظر کے لئے اضافہ ہوا جہاں کہ اعداد و شمار کو پار کر بوجھ ان کے نظام کی صلاحیت اس پر مشتمل کرنے کے قابل ہو. اور یہ اصل میں 1880s میں ہوا. ٹھیک ہے؟ 1880 امریکی مردم شماری میں. یہ کہاں موڑ واقعی ہے جدید ڈیٹا پروسیسنگ کی طرف اشارہ. اس مقام پر ہے اعداد و شمار کے جو رقم کہ کی طرف سے جمع کیا جا رہا ہے امریکی حکومت نقطہ ہے جہاں اس پر عملدرآمد کرنے آٹھ سال لگ گئے. اب، آٹھ years-- طور پر آپ، مردم شماری جانتے رنز ہر 10 years-- یہ ہے تو بہت واضح ہے کہ اس وقت کی طرف سے ہم ، 1890 کی مردم شماری ہے ڈیٹا کی رقم ہے کہ عملدرآمد کیا جا رہا تھا حکومت کی طرف سے تھا 10 سال سے زیادہ کے لئے جا رہا ہے کہ نئی مردم شماری کا آغاز کرنے کے لئے لے جائے گا. یہ ایک مسئلہ تھا. تو ایک آدمی ہرمن نام Hollerith ساتھ آئے اور وہ یونٹ ریکارڈ کارٹون ایجاد کارڈ، کارٹون کارڈ ریڈر، کارٹون کارڈ ٹیبولیٹرز، اور کولیشن کی اس ٹیکنالوجی کے لئے میکانزم. اور وہ قائم ہے کہ اس کمپنی وقت، دوسروں کے ایک جوڑے کے ساتھ ساتھ، اصل میں بن گیا ایک کا ایک ستون آج ہم جانتے ہیں چھوٹی سی کمپنی آئی بی ایم سے ملاقات کی. تو IBM اصل میں تھا ڈیٹا بیس کاروبار. اور یہ کہ انہوں نے کیا واقعی ہے. انہوں نے ڈیٹا پروسیسنگ کیا. کارٹون کے پھیلاؤ تاکہ کارڈ، ایک ہوشیار میکانزم کی کہ بیعانہ کرنے کے قابل کیا جا رہا ہے ٹیکنالوجی مطابق نتیجہ سیٹ سروے کے. آپ اس تصویر میں دیکھ سکتے ہیں وہاں ہم نے ایک چھوٹی سی ہے یہ ایک چھوٹا سا small-- ہے لیکن آپ کو دیکھ سکتے ہیں ایک بہت ہی ہوشیار میکانی میکانزم ہم نے ایک کارٹون کارڈ ڈیک ہے جہاں. اور کسی کی لینے ایک چھوٹا سا سکریو ڈرایور اور اس کے ذریعے سے چپکی ہوئی سلاٹ اور اسے اٹھانے ، اس میچ حاصل ہے کہ کرنے کے لئے حل نتائج مقرر. یہ ایک جمع ہے. اس کوڈ سے ہم وقت کرتے ہیں کمپیوٹر میں آج، آپ کو ڈیٹا بیس میں کرتے ہیں جہاں. ہم صحیح، دستی طور پر ایسا کیا ہے؟ لوگ ایک دوسرے کے ساتھ ان چیزوں کو ڈال دیا. یہ پھیلاؤ تھا ان کارٹون کارڈ کی ہم کیا کہتے ڈیٹا ڈرم میں اور اعداد و شمار ریلیں، کاغذ ٹیپ. ڈیٹا پراسیسنگ کی صنعت لیا کھلاڑی پیانو سے سبق. پلیئر میں واپس پیانو صدی کے موڑ سلاٹ کے ساتھ کاغذ ریلیں استعمال کرنے کے لئے استعمال کیا جاتا ہے پر کھیلنے کے لئے جس کی چابیاں بتانا. کہ ٹیکنالوجی کے مطابق ڈھال لیا گیا تھا آخر میں، ڈیجیٹل ڈیٹا ذخیرہ کرنے کے لئے وہ ڈیٹا ڈال سکتا ہے کیونکہ ان کاغذ ٹیپ ریلیں پر. اب، اس کے نتیجے کے طور پر، کے اعداد و شمار کس طرح واقعی میں تھا آپ کو اس کے اعداد و شمار تک رسائی حاصل تھی آپ اسے ذخیرہ کس طرح پر منحصر. تو میں نے ایک ٹیپ پر اعداد و شمار ڈال دیا تو، میں خطی ڈیٹا تک رسائی حاصل تھی. میں پورے رول کرنا پڑا ٹیپ تمام اعداد و شمار تک رسائی حاصل کرنے. میں کارٹون میں ڈیٹا ڈال دیا تو کارڈ، میں اس تک رسائی حاصل کر سکتے ہیں ایک چھوٹا سا زیادہ بے ترتیب میں فیشن، شاید نہیں کے طور پر فوری طور پر. لیکن کس طرح میں حدود وہاں تھے ہم محفوظ کیا گیا تھا کہ کس طرح کی بنیاد پر ڈیٹا تک رسائی. اور اس طرح یہ ایک مسئلہ تھا '50s میں میں جانے. ایک بار پھر، ہم کے طور پر اس کو دیکھنے کے لئے شروع کر سکتے ہیں پر عملدرآمد کرنے میں نئی ​​ٹیکنالوجی کی ترقی ڈیٹا، صحیح، اس کو کھولتا ہے نئے حل کے لئے دروازہ، نئے پروگرام کے لئے، نئی کہ اعداد و شمار کے لئے ایپلی کیشنز. اور واقعی، گورننس وجہ ہو سکتا ہے ہم کیوں ان کے نظام میں سے کچھ تیار. لیکن کاروبار تیزی سے بن گیا ارتقاء کے پیچھے ڈرائیور جدید ڈیٹا بیس اور جدید فائل سسٹم. اگلی بات تاکہ '50s میں آیا تھا فائل سسٹم اور تھا رینڈم ایکسیس سٹوریج کی ترقی. یہ خوبصورت تھا. اب، اچانک، ہم ڈال کر سکتے ہیں ہماری ان کی ہارڈ ڈرائیو پر کہیں بھی فائلوں اور ہم تصادفی یہ اعداد و شمار تک رسائی حاصل کر سکتے ہیں. ہم نے اس کا تجزیہ کر سکتے ہیں فائلوں کی معلومات. اور ہم نے دنیا کی تمام حل ڈیٹا پروسیسنگ کے ساتھ مسائل. اور یہ کہ جاری رہی کے بارے میں 20 یا ارتقاء تک 30 سال سنبندپرک ڈیٹا بیس، میں سے جو دنیا اب ہم نے فیصلہ کیا ہے جب شکست ہے کہ ایک ذخیرہ کرنے کی ضرورت ہے فائل بھر میں ڈیٹا کا لوٹنا ہم نے بنایا ہے کہ نظام. ٹھیک ہے؟ بہت میں تقسیم بہت زیادہ ڈیٹا مقامات، اعداد و شمار کے ڈی تخلپی، اور محفوظ کرنے کی لاگت بہت بڑا تھا. '70s میں، سب سے زیادہ مہنگی وسائل ایک کمپیوٹر تھا کہ ذخیرہ تھا. پروسیسر تھا ایک مقررہ قیمت کے طور پر دیکھا. میں نے باکس خریدنے جب، CPU کچھ کام کرتا ہے. چاہے کتائی کیا جا رہا ہے یہ اصل میں کام کر رہے ہیں یا نہیں. یہ واقعی ایک ڈوب قیمت ہے. لیکن کیا ایک کے طور پر مجھے لاگت کاروبار سٹوریج ہے. میں اگلے زیادہ ڈسک خریدنے کے لئے ہے، تو ماہ، کہ میں ادا کرتے ہیں کہ ایک حقیقی قیمت ہے. اور کہ ذخیرہ مہنگی ہے. اب ہم تیزی سے آگے 40 سال اور ہم نے ایک مختلف مسئلہ ہے. کمپیوٹ ہے سب سے زیادہ مہنگی وسائل. سٹوریج سستا ہے. میرے خیال میں ہمیں پر کہیں بھی جا سکتے ہیں، کا مطلب بادل اور ہم سستے اسٹوریج تلاش کر سکتے ہیں. لیکن جو میں نہیں مل سکتے ہیں سستے کمپیوٹ ہے. آج کے ارتقاء تو ٹیکنالوجی، ڈیٹا بیس کی ٹیکنالوجی کی، واقعی ارد گرد مرکوز ہے تقسیم ڈیٹا بیس اس سے شکار نہیں کرتے پیمانے کی ایک ہی قسم سنبندپرک ڈیٹا بیس کی حدود. ہم کے بارے میں تھوڑا سا میں بات کریں گے کہ اصل میں کیا مطلب ہے. لیکن وجوہات میں سے ایک اور this-- ہم پیچھے ڈرائیور ڈیٹا دباؤ کے بارے میں بات. ڈیٹا دباؤ کچھ ہے کہ جدت طرازی چلاتے ہیں. اور تم میں سے زیادہ نظر آتے ہیں تو گزشتہ پانچ سالوں کے، یہ کیا اعداد و شمار کے ایک چارٹ ہے جنرل انٹرپرائز بھر بوجھ گزشتہ پانچ سالوں میں کی طرح لگتا. اور انگوٹھے کا عام اصول ان days-- آپ Google-- جاؤ تو اعداد و شمار کے 90٪ ہے آج ہم محفوظ، اور یہ تھا گزشتہ دو سال کے اندر اندر پیدا. ٹھیک ہے. اب، اس نئے ہے کہ ایک رجحان نہیں ہے. یہ ہو گیا ہے کہ ایک رجحان ہے 100 سال کے لئے باہر جا. کبھی ہرمن Hollerith بعد کارٹون کارڈ تیار، ہم اعداد و شمار ذخیرہ تعمیر کیا گیا ہے اور غیر معمولی شرح پر اعداد و شمار جمع. تو گزشتہ 100 سالوں کے دوران، ہم اس رجحان کو دیکھا ہے. اس کو تبدیل کرنے نہیں جا رہا ہے. آگے بڑھتے ہوئے، ہم کو دیکھنے کے لئے جا رہے ہیں اس، اگر نہیں ایک تیز رجحان. اور تم اس کی طرح لگتا ہے دیکھ سکتے ہیں. 2010 ء میں ایک کاروبار سے ایک تھا تو انتظام کے تحت ڈیٹا کی ٹیرا بائٹ، وہ کر رہے ہیں کا مطلب ہے کہ آج اعداد و شمار کے 6.5 petabytes انتظام. یہ 6،500 گنا زیادہ ڈیٹا کی. اور مجھے یہ معلوم. میں ہر دن ان کے کاروبار کے ساتھ کام کرتے ہیں. پانچ سال پہلے، میں کمپنیوں سے بات کریں گے کیا ایک درد کے بارے میں مجھ سے جو بات کریں گے یہ اعداد و شمار کے terabytes منظم کرنے کی ہے. اور وہ بات کریں گے ہم دیکھتے ہیں کہ کس طرح کے بارے میں مجھ سے یہ ہے کہ شاید جا رہا ہے ایک petabyte یا دو ہونا سال کے ایک جوڑے کے اندر اندر. یہ وہی کمپنیوں میں اس کے ساتھ ملاقات کر رہا ہوں آج، اور وہ مجھ سے بات کر رہے ہیں مسئلہ منیجنگ وہاں ہو رہی ہے دسیوں، اعداد و شمار کے 20 petabytes. کے دھماکے تو صنعت میں اعداد و شمار بہت ڈرائیونگ کر رہا ہے بہتر حل کے لئے کی ضرورت. اور سنبندپرک ڈیٹا بیس ہے صرف مطالبہ تک رہ نہیں. اور اس طرح ایک لکیری ہے ڈیٹا دباؤ کے درمیان ارتباط اور تکنیکی جدت طرازی. تاریخ ہمیں دکھایا گیا ہے یہ اس وقت کے دوران، جب ڈیٹا کا حجم کہ عملدرآمد کرنے کی ضرورت نظام کی صلاحیت سے تجاوز ایک مناسب وقت میں اس پر عملدرآمد کرنے یا ایک معقول قیمت پر، تو نئی ٹیکنالوجی ان مسائل کو حل کرنے کے لئے ایجاد کر رہے ہیں. لوگ نئی ٹیکنالوجی، کے نتیجے میں، دروازہ کھولنے مسائل کا ایک سیٹ، جس سے اس سے بھی زیادہ ڈیٹا جمع ہے. اب، ہم اس کو روکنے کے لئے نہیں جا رہے ہیں. ٹھیک ہے؟ ہم اس کو روکنے کے لئے نہیں جا رہے ہیں. کیوں؟ آپ کو سب کچھ معلوم نہیں کر سکتے کیونکہ کائنات میں جاننا ہے. اور جب تک ہم زندہ رہا ہے کے طور پر انسان کی تاریخ میں، ہم نے ہمیشہ مزید جاننے کے لئے حوصلہ افزائی ہے. تو یہ ہم منتقل ہر انچ کی طرح لگتا ہے سائنسی دریافت کی راہ نیچے، ہم اعداد و شمار کی رقم ضرب کر رہے ہیں ہم تیزی سے عمل کرنے کی ضرورت ہے ہم زیادہ سے زیادہ اور زیادہ سے زیادہ کے طور پر بے نقاب زندگی کے اندرونی کام کاج کے بارے میں، ، کائنات کیسے کام کرتا ہے کے بارے میں سائنسی دریافت ڈرائیونگ، اور ایجاد ہے کہ آج ہم کیا کر رہے ہیں. ڈیٹا کا حجم صرف مسلسل بڑھاتا ہے. تو ساتھ نمٹنے کے قابل کیا جا رہا ہے اس مسئلہ بہت زیادہ ہے. چیزوں میں سے ایک تو ہم NoSQL کیوں نظر آتے ہیں؟ کس طرح NoSQL اس مسئلہ کو حل کرتا ہے؟ ویسے، سنبندپرک ڈیٹا بیس، ساخت طلب زبان، SQL-- کہ واقعی کی تعمیر ہے سنبندپرک ان چیزوں ہیں ڈیٹا بیس ذخیرہ کرنے کے لیے مرضی. واپس '70s میں، ایک بار پھر، ڈسک مہنگی ہے. اسٹوریج کی فراہمی ورزش انٹرپرائز میں کبھی نہ ختم ہونے ہے. میں جانتا ہوں. میں رہتے تھے. میں ایک کے لئے ذخیرہ ڈرائیوروں لکھا enterprised superserver کمپنی واپس '90s میں. اور نیچے لائن ایک racking کے ہے سٹوریج سرنی صرف کچھ تھا کہ انٹرپرائز میں ہر دن ہوا. اور یہ کبھی نہیں روکا. اعلی کثافت سٹوریج، مطالبہ اعلی کثافت ذخیرہ کرنے کے لیے، اور زیادہ موثر ذخیرہ کرنے کے لیے یہ کبھی نہیں روکا ہے devices--. اور NoSQL ایک عظیم ٹیکنالوجی ہے یہ اعداد و شمار normalizes ہے کیونکہ. یہ اعداد و شمار ڈی نقلیں. یہ ایک ڈھانچہ میں ڈیٹا رکھتا ہے ہر رسائی پیٹرن کے مادیت پرست ہے. ایک سے زیادہ ایپلی کیشنز کہ مار سکتا ہے SQL ڈیٹا بیس، ایڈہاک کے سوالات کو چلانے کے، اور شکل میں اعداد و شمار حاصل ہے کہ وہ ان استعداد کے لئے عمل کرنے کی ضرورت ہے. یہ بہت اچھا لگتا ہے. لیکن نیچے کی لکیر سے کسی کے ساتھ ہے نظام، یہ سب کچھ کرنے کے لئے agnostic کے ہے تو، یہ کچھ بھی نہیں کے لئے مرضی کے ہے. ٹھیک ہے؟ اور یہ کہ ہم ساتھ حاصل کیا ہے سنبندپرک ڈیٹا بیس. یہ ذخیرہ کرنے کے لیے بہتر ہے. یہ معمول ہے. یہ سنبندپرک ہے. یہ ایڈہاک سوالات کی حمایت کرتا ہے. اور یہ اور یہ عمودی طور پر ترازو. میں نے ایک بڑی SQL ڈیٹا بیس حاصل کرنے کی ضرورت ہے یا ایک سے زیادہ طاقتور ایس کیو ایل ڈیٹا بیس، میں لوہے کا ایک بڑا ٹکڑا خریدنے کے لئے جانے. ٹھیک ہے؟ میں گاہکوں کی ایک بہت کچھ کے ساتھ کام کیا ہے اہم اپ گریڈ کے ذریعے کیا گیا ہے کہ ان SQL بنیادی ڈھانچے میں صرف چھ ماہ بعد باہر تلاش کرنے کے لئے، وہ ایک بار پھر دیوار مار رہے ہیں. اور اوریکل یا MSSQL سے جواب یا کسی ایک بڑا باکس حاصل ہے. ویسے جلد یا بعد میں، آپ کو ایک نہیں خرید سکتے باکس بڑا، اور اس حقیقی مسئلہ ہے. ہم اصل میں چیزوں کو تبدیل کرنے کی ضرورت ہے. تو جہاں اس کام کرتا ہے؟ یہ آف لائن کے لئے اچھی طرح کام کرتا ہے تجزیاتی، OLAP قسم استعداد. ایس کیو ایل سے تعلق رکھتا ہے اور یہ کہ جہاں واقعی ہے. اب، یہ بہت سی آن لائن میں آج استعمال کیا جاتا ہے ٹرانزیکشنل پروسیسنگ کی قسم ایپلی کیشنز. اور اس میں صرف ٹھیک کام کرتا ہے استعمال کی کسی نہ کسی سطح، لیکن یہ صرف پیمانے نہیں ہے NoSQL کرتا ہے راستہ. اور ہم نے ایک چھوٹی سی بات کریں گے یہی وجہ ہے کہ کے بارے میں تھوڑا سا. اب، NoSQL، دوسرے ہاتھ پر، زیادہ کمپیوٹ لئے مرضی کے ہے. ٹھیک ہے؟ یہ مادیت پرست نہیں ہے رسائی پیٹرن. ہم ڈی معمول کہتے ہیں ساخت یا ایک پدانکردوست ساخت. ایک سنبندپرک ڈیٹا بیس میں اعداد و شمار ہے ایک سے زیادہ ٹیبل سے ایک دوسرے کے ساتھ شمولیت اختیار کی آپ کی ضرورت ہے نقطہ نظر پیدا کرنے کے لئے. ایک NoSQL ڈیٹا بیس میں اعداد و شمار ایک دستاویز میں محفوظ کیا جاتا ہے پدانکردوست ساخت پر مشتمل ہے. عام طور پر ہو جائے گا کہ تمام اعداد و شمار کہ نقطہ نظر پیدا کرنے کے لئے ایک دوسرے کے ساتھ شمولیت اختیار کی ایک دستاویز میں محفوظ کیا جاتا ہے. اور ہم بارے میں تھوڑا سا میں بات کریں گے کس طرح چارٹس کے ایک جوڑے میں کام کرتا ہے. لیکن یہاں آپ کو محفوظ تصور ہے ان مثال خیالات کے طور پر آپ کے ڈیٹا. ٹھیک ہے؟ آپ کو افقی پیمانے. ٹھیک ہے؟ میں اضافہ کرنے کی ضرورت ہے میرے NoSQL کلسٹر کا سائز، میں ایک بڑا باکس حاصل کرنے کی ضرورت نہیں ہے. میں ایک باکس حاصل. اور میں، ایک ساتھ مل کر ان کلسٹر اور میں اس کے اعداد و شمار کر سکتے ہیں شارڈ. ہم کے بارے میں تھوڑا سا میں بات کریں گے sharding ہے، ہونا ڈیٹا بیس ہے کہ بڑے پیمانے پر کرنے کے قابل ایک سے زیادہ جسمانی آلات بھر میں اور رکاوٹ کو ہٹانے ہے کہ عمودی طور پر بڑے پیمانے پر کرنے کی ضرورت ہے مجھے. تو یہ واقعی آن لائن کے لئے بنایا گیا ہے ٹرانزیکشن پراسیسنگ اور بڑے پیمانے پر. ایک بڑا فرق ہے یہاں رپورٹنگ کے درمیان، ٹھیک ہے؟ رپورٹنگ، مجھے پتہ نہیں ہے سوالات میں کہنے جا رہا ہوں. ٹھیک ہے؟ Reporting-- کسی سے تو میرے مارکیٹنگ ڈیپارٹمنٹ اپنے گاہکوں کے کتنے just-- کرنا چاہتا ہے یہ خاص طور پر خصوصیت ہے جو مجھے نہیں معلوم اس day-- پر خریدا کیا وہ پوچھنا جا رہے ہیں سوال. تو میں مادیت پرست ہونے کی ضرورت ہے. اب، ایک آن لائن ٹرانزیکشنل درخواست، میں پوچھ رہا ہوں کیا سوالات جانتے. میں کے لئے درخواست کی تعمیر ایک بہت ہی خاص کام کے فلو کو. ٹھیک ہے؟ میں اعداد و شمار کی اصلاح تو کہ کام کے فلو کو حمایت کرنے کے لئے محفوظ، یہ تیزی سے ہو رہا ہے. اور یہی وجہ ہے NoSQL کر سکتے ہیں ہے واقعی کی ترسیل کو تیز خدمات کی ان اقسام کے. بالکل ٹھیک. تو ہم میں حاصل کرنے کے لئے جا رہے ہیں یہاں اصول کا ایک تھوڑا سا. اور تم میں سے بعض، آپ کی آنکھوں تھوڑا سا واپس رول سکتا ہے. لیکن میں اسے رکھنے کے لئے کوشش کریں گے میں کر سکتا ہوں کے طور پر اعلی سطح. آپ کو اس منصوبے میں ہو تو انتظام، وہاں ہے ایک تعمیر بلایا رکاوٹوں کی مثلث. ٹھیک ہے. مجبور اشاروں کی مثلث آپ کو سب کچھ ہر وقت نہیں کر سکتے ہیں. آپ کے پائی ہے اور یہ بھی نہیں کھا سکتا. تاکہ اس منصوبے کے انتظام میں، کہ مثلث رکاوٹوں، آپ یہ سستا ہو سکتا ہے آپ، اس سے روزہ کر سکتے ہیں یا آپ کو یہ اچھا ہو سکتا ہے. دو اٹھاو. آپ تینوں نہیں کر سکتے ہیں کی وجہ سے. ٹھیک ہے؟ ٹھیک ہے. تو آپ کو یہ ایک بہت کے بارے میں سنا. یہ، ایک ٹرپل رکاوٹ ہے ٹرپل رکاوٹ کی مثلث، یا لوہے کی مثلث oftentimes-- ہے آپ مینیجرز منصوبے سے بات جب، وہ اس کے بارے میں بات کریں گے. اب، ڈیٹا بیس ہے اپنے لوہے کی مثلث. اور ڈیٹا کی لوہے کی مثلث ہم CAP اثباتی کہتے ہیں. ٹھیک ہے؟ CAP قضیہ اشاروں کس طرح ڈیٹا بیس کام ایک بہت ہی خاص شرط کے تحت. اور ہم کے بارے میں بات کریں گے شرط یہ ہے کہ کیا ہے. لیکن مثلث کے تین پوائنٹس، تو، سی، مستقل مزاجی بات کرنے. ٹھیک ہے؟ تو ٹوپی میں، مستقل مزاجی تمام کا مطلب ہے کہ ڈیٹا بیس تک رسائی کر سکتے ہیں جو گاہکوں ہمیشہ ایک بہت پڑے گا اعداد و شمار کے مطابق نقطہ نظر. کوئی والا دو مختلف چیزوں کو دیکھنے کے. ٹھیک ہے؟ میں ڈیٹا بیس کو دیکھتے ہیں، میں ایک ہی نقطہ نظر دیکھ رہا ہوں میرے ساتھی کے طور پر جو دیکھتا ہے ایک ہی ڈیٹا بیس. یہ مستقل مزاجی ہے. دستیابی کا مطلب ہے کہ اگر ڈیٹا بیس آن لائن، اس تک پہنچ جا سکتا ہے، تمام گاہکوں ہمیشہ کہ پڑھنے اور لکھنے کے قابل ہو جائے. ٹھیک ہے؟ تو ہر کلائنٹ ہے کہ ڈیٹا بیس کو پڑھ سکتے ہیں ہمیشہ قابل پڑھا جائے گا اعداد و شمار اور لکھنے کے اعداد و شمار. اور اس صورت ہے تو، یہ ایک دستیاب نظام ہے. اور تیسرا پوائنٹ ہے ہم تقسیم رواداری کال. ٹھیک ہے؟ تقسیم رواداری ذرائع نظام اچھی طرح کام کرتا ہے جسمانی نیٹ ورک کے باوجود مراکز کے درمیان پارٹیشنز. ٹھیک ہے؟ تو کلسٹر میں نوڈس نہیں کر سکتے ہیں ایک دوسرے سے بات، کیا ہوتا ہے؟ بالکل ٹھیک. تو سنبندپرک ڈیٹا بیس choose-- آپ ان میں سے دو منتخب کر سکتے ہیں. ٹھیک ہے. تو سنبندپرک ڈیٹا بیس منتخب کریں مسلسل اور دستیاب ہونا. تقسیم کے درمیان ہوتا ہے تو ڈیٹا سٹور میں DataNodes، ڈیٹا بیس کریش. ٹھیک ہے؟ یہ صرف نیچے جاتا ہے. ٹھیک ہے. اور یہ وہ ہے یہی وجہ ہے بڑا باکس کے ساتھ بڑھنے کے لئے. ٹھیک ہے؟ no-- عام طور پر، ایک کلسٹر ہے کیونکہ ڈیٹا بیس، ان میں سے بہت سے نہیں ہے کہ اس طرح کام کرتے ہیں. لیکن سب سے زیادہ ڈیٹا بیس پیمانے عمودی طور پر ایک باکس کے اندر اندر. وہ ہونا کرنے کی ضرورت ہے مسلسل اور دستیاب. ایک تقسیم انجکشن کیا جا کرنے کے لئے تھے، تو آپ کسی ایک کا انتخاب کرنا پڑے گا. تم درمیان کسی ایک کا انتخاب کرنے کے لئے ہے مسلسل اور دستیاب ہونے. اس NoSQL ڈیٹا بیس کیا ہے. بالکل ٹھیک. تو ایک NoSQL ڈیٹا بیس کی، یہ دو ذائقوں میں آتا ہے. ہم اچھی طرح سے have-- بہت سے ذائقوں میں آتا ہے، لیکن یہ دو بنیادی کے ساتھ آتا ہے کیا characteristics-- ہم CP ڈیٹا بیس، یا ایک فون کرے گا مسلسل اور تقسیم رواداری نظام. یہ لوگ پسند ہے جب کہ نوڈس، ایک دوسرے کے ساتھ رابطہ کھو ہم اجازت دینے کے لئے نہیں جا رہے ہیں لوگوں کو کسی بھی مزید لکھنے کے لئے. ٹھیک ہے؟ کہ تقسیم ہٹا دیا جاتا ہے جب تک، لکھنے تک رسائی کو بلاک ہے. وہ دستیاب نہیں ہیں کا مطلب ہے. وہ مسلسل ہو. ہم اس کو دیکھتے ہیں تو تقسیم خود انجیکشن، اب ہم مسلسل ہیں ہم نہیں جا رہے ہیں کیونکہ دو پر اعداد و شمار کی تبدیلی کی اجازت کرنے کے لئے آزادانہ طور پر تقسیم کے اطراف ایک دوسرے کے. ہم کرنا پڑے گا مواصلات کو reestablish کے لئے کسی بھی اپ ڈیٹ سے پہلے ڈیٹا کی اجازت ہے. ٹھیک ہے؟ اگلے ذائقہ، ایک AP نظام ہو جائے گا یا ایک دستیاب اور تقسیم رواداری نظام. یہ لوگ پرواہ نہیں کرتے. ٹھیک ہے؟ ایک ہو جاتا ہے کہ کسی بھی نوڈ ہم لے لیں گے، لکھنا. تو میں نے اپنے ڈیٹا نقل کر رہا ہوں ایک سے زیادہ نوڈس بھر. ان مراکز ایک کلائنٹ، کلائنٹ آتا حاصل ، کا کہنا ہے کہ، میں کچھ اعداد و شمار لکھنے کے لئے جا رہا ہوں. گھنڈی کوئی مسئلہ نہیں، کا کہنا ہے کہ. نوڈ اسے ملتا کرنے کے لئے اگلے اسی ریکارڈ پر لکھنے، وہ کوئی مسئلہ نہیں کہا جا رہا ہے. کہیں واپس اختتام پر، کہ اعداد و شمار نقل تیار کرنے کے لئے جا رہا ہے. اور پھر کسی، احساس کرنے کے لئے جا رہا ہے اہ اوہ، احساس کریں گے وہ نظام، اہ اوہ، دونوں اطراف پر ایک اپ ڈیٹ ہو گیا ہے. ہم کیا کریں؟ اور کیا وہ پھر ایسا ہے وہ کچھ ہے جس ان اعداد و شمار ریاست کو حل کرنے کی اجازت دیتا ہے. اور ہم کے بارے میں بات کریں گے اگلے چارٹ میں. بات یہاں باہر کی طرف اشارہ کرنے کے لئے. اور میں بھی حاصل کرنے کے لئے نہیں جا رہا ہوں زیادہ سے زیادہ اس میں، اس کی وجہ سے گہری کے اعداد و شمار کے اصول میں ہو جاتا ہے. لیکن ایک ٹرانزیکشنل ہے فریم ورک ہے کہ ایک سنبندپرک نظام میں چلتا ہے مجھے محفوظ طریقے سے اپ ڈیٹ کرنے کی اجازت دیتا ڈیٹا بیس میں ایک سے زیادہ اداروں کو. اور ان لوگوں کو بھی اپ ڈیٹ ہو جائے گا تمام ایک بار میں یا بالکل نہیں. اور یہ ایسڈ لین دین کہا جاتا ہے. ٹھیک ہے؟ ایسڈ، ہمیں مستقل مزاجی atomicity دیتا، تنہائی، اور استحکام. ٹھیک ہے؟ یہ سب، جوہری، لین دین کا مطلب میری اپ ہو یا وہ ایسا نہیں کرتے. مستقل مزاجی کا مطلب ہے کہ ڈیٹا بیس ہمیشہ ایک مسلسل میں لایا جائے ایک اپ ڈیٹ کے بعد ریاست. میں نے ایک ڈیٹا بیس کو چھوڑ کر کبھی نہیں کرے گا ایک اپ ڈیٹ کا اطلاق کے بعد بری حالت. ٹھیک ہے؟ تو یہ ایک تھوڑا مختلف ہے CAP مستقل مزاجی سے. CAP مستقل مزاجی کا مطلب ہے اپنے تمام کلائنٹس کو ہمیشہ کے اعداد و شمار دیکھ سکتے ہیں. ایسڈ مستقل مزاجی کا مطلب ہے کہ ایک ٹرانزیکشن ڈیٹا کے اچھے، کیا ہے. اپنے تعلقات سب اچھا ہے. میں والدین قطار کو حذف کرنے نہیں جا رہا ہوں اور یتیم بچوں کے ایک گروپ کو چھوڑ کر کسی دوسرے ٹیبل میں. میں مسلسل ہوں تو یہ نہیں ہو سکتا ایک ایسڈ ٹرانزیکشن میں. تنہائی لین دین کا مطلب ہے کہ ہمیشہ کے بعد واقع ہو گا. اعداد و شمار کے آخر نتیجہ اسی حالت ہو جائے گا ان کے لین دین کے طور پر اگر کہ جما جاری کئے گئے serially پھانسی دے دی گئی. تو یہ concurrency کے ہے ڈیٹا بیس میں کنٹرول. تو بنیادی طور پر، میں اضافہ نہیں کر سکتے ہیں دو بار دو آپریشن کے ساتھ ایک ہی قیمت. لیکن میں اس قدر میں 1 کا اضافہ کہنا ہے کہ، اور دو لین دین میں آتے ہیں اور ایک، ایسا کرنے کی کوشش سب سے پہلے وہاں حاصل کرنے کے لئے جا رہا اور ایک دوسرے کی بعد وہاں حاصل کرنے کے لئے جا. لہذا آخر میں، میں نے دو شامل. میرا مطلب ہے تمہیں دیکھ رہے ہو؟ ٹھیک ہے. استحکام بہت سیدھا ہے. جب ٹرانزیکشن تسلیم کیا جاتا ہے، یہ ہے وہاں بھی ہونے جا رہا نظام گر کر تباہ تو. کہ نظام ٹھیک ہے جب، کہ کا ارتکاب کیا گیا ہے کہ ٹرانزیکشن اصل میں وہاں جا رہا ہے. تو اس کی ضمانت دیتا ہے ایسڈ لین دین کی. ان خوبصورت اچھا ضمانت ہیں ایک ڈیٹا بیس پر ہے، لیکن وہ اس کی قیمت میں آتے ہیں. ٹھیک ہے؟ مسئلہ کی وجہ سے اس فریم ورک کے ساتھ اعداد و شمار میں تقسیم نہیں ہے تو سیٹ، میں نے ایک فیصلہ کرنے کے لئے ہے. میں اجازت دینے کے لئے حاصل کرنے کے لئے جا رہا ہوں ایک طرف یا دوسرے پر اپ ڈیٹس. اور اگر ایسا ہوتا ہے، تو میں اب جا رہا ہوں برقرار رکھنے کے لئے کے قابل ہو جائے ان کی خصوصیات. وہ مسلسل نہیں ہو گا. وہ الگ تھلگ نہیں کیا جائے گا. یہ نیچے ٹوٹ جاتا ہے جہاں یہ ہے سنبندپرک ڈیٹا بیس کے لئے. یہی وجہ ہے سنبندپرک ڈیٹا بیس عمودی پیمانے. دوسری جانب، ہم نے کیا بیس ٹیکنالوجی کہا جاتا ہے. اور یہ آپ کے NoSQL ڈیٹا بیس ہیں. بالکل ٹھیک. تو ہم ہمارے CP، اے پی ڈیٹا بیس ہے. اور یہ آپ کو بنیادی طور پر کہتے ہیں دستیاب، نرم ریاست، بالآخر مسلسل. ٹھیک ہے؟ بنیادی طور پر دستیاب، کیونکہ وہ تقسیم روادار ہیں. وہ ہمیشہ رہے گا وہاں، وہاں ہے یہاں تک کہ اگر مراکز کے درمیان ایک نیٹ ورک تقسیم. میں ایک نوڈ سے بات کر سکتے ہیں، میں ہوں ڈیٹا کو پڑھنے کے قابل ہونے جا رہا. ٹھیک ہے؟ میں نے ہمیشہ لکھنے کے قابل نہیں ہو سکتا ہے اعداد و شمار میں ایک مسلسل پلیٹ فارم ہوں تو. لیکن میں ڈیٹا کو پڑھنے کے قابل ہو جائے گا. نرم ریاست کی طرف اشارہ کرتا مجھے لگتا ہے کہ اعداد و شمار پڑھ جب کہ، یہ دوسرے نوڈس طور پر ایک ہی نہیں ہو سکتا ہے. حق ایک نوڈ پر جاری کیا گیا تھا تو کلسٹر میں کسی کہیں اور اس پار نہیں دوہرایا کلسٹر میں نے، کہ اعداد و شمار پڑھ جب اس حالت مسلسل نہیں ہو سکتا ہے. تاہم، یہ ہو جائے گا آخر میں مسلسل، کا مطلب ہے جب ایک لکھنا ہے کہ کے نظام کے لئے بنایا گیا ہے، یہ نوڈس بھر دہرانے گا. اور آخر میں، اس ریاست حکم میں لایا جائے گا، اور یہ ایک مسلسل ریاست ہو جائے گا. اب، CAP قضیہ واقعی صرف ایک شرط میں ادا کرتا ہے. جب یہ ہوتا ہے کہ شرط ہے. جب بھی اس میں کام کرنے کی وجہ نارمل موڈ، کوئی تقسیم ہے، سب کچھ مسلسل اور دستیاب. تم صرف ٹوپی کے بارے میں فکر ہم اس تقسیم ہے جب. لہذا ان کم ہوتے ہیں. لیکن نظام جب ان رائے کس طرح نظام کی کس قسم کا تعین ہوتے ہم کے ساتھ کام کر رہے ہو. تو میں ایک نظر ڈالیں جو کہ اے پی کے نظام کے لئے کی طرح لگتا ہے. ٹھیک ہے؟ اے پی کے نظام دو ذائقوں میں آتے. وہ ایک ہے کہ ذائقہ میں آئے ماسٹر، ہمیشہ دستیاب 100٪،. اور وہ میں آتے ہیں کا کہنا ہے کہ دیگر ذائقہ،، آپ، میں فکر کرنے کے لئے جا رہا ہوں پتہ اس علیحدگی چیز کے بارے میں جب ایک اصل تقسیم اس وقت ہوتی ہے. دوسری صورت میں، بنیادی ہونے جا رہا ہے حقوق لینے کے لئے جا رہا ہے جو نوڈس. ٹھیک ہے؟ Cassandra رکھ کی طرح ہم کچھ تو. Cassandra ایک ماسٹر ہو گا ماسٹر، مجھے کسی بھی نوڈ لکھنا ہے دو. تو کیا ہوتا ہے؟ تو میں ایک چیز ہے دو مراکز پر موجود ہے کہ ڈیٹا بیس. کی ہے کہ اعتراض ایس کہتے ہیں تو ہم ایس کے لئے ریاست ہے ہم نے کچھ آپریشن ہے S پر جاری ہیں. Cassandra رکھ مجھ سے کی اجازت دیتا ہے ایک سے زیادہ نوڈس لکھنا. تو میں نے ایک حاصل کا کہنا ہے کہ دو نوڈس ے کے لئے لکھتے ہیں. ٹھیک ہے، کیا ہے ہو ختم ہو جاتی ہے ہم نے ایک واقعہ ہے کہ partitioning کے کال. نہیں ہو سکتا ہے ایک جسمانی نیٹ ورک تقسیم. لیکن ڈیزائن کی وجہ نظام کی، یہ ہے اصل کے طور پر جلد ہی علیحدگی میں دو مراکز پر لکھنے کے طور پر. یہ کرنے کے لئے مجھے مجبور نہیں ہے ایک نوڈ کے ذریعے تمام لکھنا. میں نے دو نوڈس پر لکھ رہا ہوں. ٹھیک ہے؟ تو اب میں دو ریاستوں ہے. ٹھیک ہے؟ کیا ہونے جا رہا ہے ، جلد یا بعد میں ہے ایک نقل واقعہ ہو جائے کرنے کے لئے وہاں جا رہا ہے. ہونے جا رہا ہے ہم ایک تقسیم کی وصولی، کہا جاتا ہے جس جہاں ان دونوں ہے امریکہ کے ساتھ مل کر واپس آ اور ایک الگورتھم ہونے جا رہا ہے کہ، ڈیٹا بیس کے اندر چلتا ہے کیا کرنا ہے فیصلہ کرتا ہے. ٹھیک ہے؟ ڈیفالٹ کی طرف سے، آخری اپ ڈیٹ سب سے زیادہ اے پی پی کے نظام میں جیت. تو عام طور پر وہاں ایک پہلے سے طے شدہ الگورتھم، کیا وہ ایک کال بیک کال تقریب، کہ کچھ جب یہ حالت کہلائے گا کچھ منطق پر عمل کرنے کا پتہ چلا ہے اس تنازعہ کو حل کرنے کے. ٹھیک ہے؟ پہلے سے طے شدہ واپسی کال اور پہلے سے طے شدہ سب سے زیادہ اے پی ڈیٹا بیس میں resolver ہے، ٹائمسٹیمپ جیت کیا لگتا ہے. یہ آخری اپ ڈیٹ تھا. میں وہاں ہے کہ اپ ڈیٹ ڈال کرنے کے لئے جا رہا ہوں. میں اس ریکارڈ کو پھینک کر سکتے ہیں کہ میں ایک بازیابی لاگ ان میں دور پھینک دیا صارف بعد میں واپس آ سکتے ہیں تاکہ اور کہتے ہیں، ارے، ایک تصادم وہاں تھا. کیا ہوا؟ اور آپ اصل کا ریکارڈ پھینک کر سکتے ہیں تمام collisions اور rollbacks اور دیکھتے ہیں کیا. اب، ایک صارف کے طور پر، آپ کو بھی کر سکتے ہیں کہ کال بیک میں منطق شامل. تو آپ اس کو تبدیل کر سکتے ہیں کال بیک آپریشن. ارے، میں چاہتا ہوں کہہ سکتے ہیں، یہ اعداد و شمار درست کرنے کے لئے. اور میں کرنے کی کوشش کرنا چاہتے ہیں اور ان دو ریکارڈز ضم. لیکن اس سے آپ پر منحصر ہے. ڈیٹا بیس معلوم نہیں ہے کہ کس طرح ڈیفالٹ کی طرف سے ایسا. وقت سب سے زیادہ، صرف ایک ہی چیز ڈیٹا بیس کس طرح کا کہنا ہے کہ جانتا ہے، اس ایک آخری ریکارڈ تھا. یہ، حاصل کرنے کے لئے جا رہا ہے کہ ایک ہے اور یہ کہ میں ڈال کرنے کے لئے جا رہا ہوں قیمت ہے. کہ تقسیم کی وصولی کے بعد اور نقل، اس وقت ہوتی ہے ہم ہماری ریاست، ہے جس اب ہے، جس میں وزیر S ان تمام اشیاء کی ضم ریاست. تو اے پی نظام یہ ہے. CP نظام کی ضرورت نہیں ہے اس کے بارے میں فکر کرنے کی. کے طور پر جلد ہی ایک تقسیم آتا ہے کیونکہ کھیل میں، وہ صرف لینے بند لکھتے ہیں. ٹھیک ہے؟ تو اس کے لئے بہت آسان ہے مسلسل ہونے سے نمٹنے جب آپ کوئی بھی اپ کو قبول نہیں کرتے. CP نظام کرتے ہیں ہے. بالکل ٹھیک. تو ایک چھوٹی سی بات رسائی نمونوں کے بارے میں تھوڑا سا. ہم NoSQL بارے میں بات کرتے، یہ ہے تمام رسائی پیٹرن کے بارے میں. اب، ایس کیو ایل ایڈہاک، سوالات ہے. یہ سنبندپرک سٹور کی. ہم میں فکر کرنے کی ضرورت نہیں ہے رسائی پیٹرن کے بارے میں. میں نے ایک بہت پیچیدہ سوال لکھ. یہ جاتا ہے اور اعداد و شمار ہو جاتا ہے. کہ اس لگتا ہے کی طرح، معمول پر لانے. ، یہ خاص طور پر ساخت میں تو ہم ایک مصنوعات کیٹلوگ دیکھ رہے ہیں. میں نے مصنوعات کی مختلف اقسام ہیں. میں کتابیں ہیں. میں البم ہے. میں ویڈیوز. مصنوعات کے درمیان تعلقات اور ان کتابوں، یلبموں میں سے کسی ایک، اور ویڈیوز میزیں 1 ہے: 1. بالکل ٹھیک؟ میں نے ایک مصنوعات کی شناخت ہے، اور اس کی شناخت مساوی ایک کتاب، ایک البم، یا ایک ویڈیو کے لئے. ٹھیک ہے؟ 1 تعلقات: یہ ایک 1 ان میزیں بھر. اب، وہ books-- ہے جڑ خصوصیات ہے. کوئی مسئلہ نہیں. یہ بہت اچھا ہے. ون ٹو ایک رشتہ، میں تمام حاصل اعداد و شمار میں اس کتاب کی وضاحت کرنے کی ضرورت ہے. Albums-- البم پٹریوں ہے. یہ ہم بہت سے لوگوں کو ایک فون کیا ہے. ہر البم بہت سے پٹریوں کر سکتے ہیں. ہر ٹریک کے لئے تو البم، میں کر سکتے ہیں یہ بچہ ٹیبل میں ایک اور ریکارڈ. تو میں ایک ریکارڈ بنانے میری البمز ٹیبل میں. میں ایک سے زیادہ ریکارڈ تخلیق پٹریوں ٹیبل میں. ون ٹو بہت تعلقات. یہ رشتہ کیا ہے ہم نے بہت سے بہت سے فون. ٹھیک ہے؟ تم اداکار ہو سکتا ہے کو دیکھنے کے کئی فلموں، کئی ویڈیوز میں. تو ہم کیا کرتے ہیں ہم اس تعریفیں ڈال دیا ہے ان کے درمیان ٹیبل، جس میں یہ صرف ویڈیو ID کرنے کے لیے اداکار کی شناخت نقشے. اب میں شامل ہو جاتا ہے ایک سوال تشکیل دے سکتے ہیں اداکار اداکار ویڈیو کے ذریعے ویڈیوز، اور اس نے مجھے کی ایک اچھی فہرست ہے تمام فلموں اور تمام اداکاروں جو فلم میں تھے. ٹھیک ہے. تو ہم یہاں جانا. ون ٹو ایک سب سے اوپر کی سطح پر ہے تعلقات؛ ون ٹو بہت، پٹریوں پر یلبموں، بہت سے بہت سے. ان تین اعلی سطحی ہیں کسی بھی ڈیٹا بیس میں تعلقات. آپ کو کس طرح لوگ جانتے ہیں تعلقات مل کر کام کریں، تو آپ کو ایک بہت کچھ جانتے ہیں پہلے سے ہی ڈیٹا بیس کے بارے. تو NoSQL تھوڑا سا مختلف طریقے سے کام کرتا ہے. ایک سیکنڈ کے لئے کے بارے میں سوچتے ہیں کیا یہ لگتا ہے میرے تمام مصنوعات حاصل کرنے کے جانا پسند. ایک سنبندپرک سٹور میں، میں اپنے تمام مصنوعات حاصل کرنا چاہتے ہیں اپنے تمام مصنوعات کی فہرست. ہے کہ سوالات کی ایک بہت ہے. میں اپنے تمام کتابوں کے لئے ایک سوال ہے. میں اپنے البمز سے ایک سوال ہے. اور میں اپنے تمام ویڈیوز کے لیے ایک سوال ہے. اور میں ڈال کرنے کے لئے ہے سب کو ایک ساتھ ایک فہرست میں اور واپس اس کی خدمت درخواست ہے کہ درخواست. میری کتابیں حاصل کرنے کے لئے، میں شامل ہونے مصنوعات اور کتابیں. میری البمز حاصل کرنے کے لئے، میں شامل ہونے کے لئے مل گیا مصنوعات، البمز، اور پر نظر رکھتا ہے. اور میں نے، میری ویڈیوز حاصل کرنے کے لئے ویڈیو کی مصنوعات شامل کرنے کے لئے، اداکار ویڈیوز کے ذریعے شامل ہونے، اور اداکار میں لانے. تو ہے کہ تین سوالات ہے. کرنے کے لئے بہت پیچیدہ سوالات ایک نتیجہ سیٹ جمع. کہ زیادہ سے زیادہ سے بھی کم ہے. یہ ہم بات کیوں ہے جب ہے کہ ایک ڈیٹا ڈھانچے کے بارے میں تک رسائی حاصل کرنے مادیت پرست ہونا بنایا pattern-- ساتھ یہ بہت اچھا ہے. اور تم یہ واقعی ہے دیکھ سکتے ہیں ہم اعداد و شمار کا اعلان کیا ہے کہ کس طرح اچھا. اور تم کیا جانتے ہو؟ میں نے صرف ایک اداکار کے لئے ایک ریکارڈ ہے. اچھا ہے. میں اپنے تمام اداکاروں deduplicated ہے، اور میں نے اپنی ایسوسی ایشن کو برقرار رکھا اس میپنگ ٹیبل میں. تاہم، کے اعداد و شمار حاصل کرنے باہر مہنگی ہو جاتا ہے. میں تمام نظام کے دوران سی پی یو بھیج رہا ہوں ایک دوسرے کے ساتھ ان اعداد و شمار کے ڈھانچے میں شمولیت کہ اعداد و شمار واپس ھیںچو کرنے کے قابل ہو. تو کس طرح میں اس کے ارد گرد حاصل کرتے ہیں؟ NoSQL میں اس کے بارے میں جمع، نہ معمول. تو ہم چاہتے ہیں کرنا چاہتے ہیں رسائی پیٹرن کی حمایت. رسائی پیٹرن تو ایپلی کیشنز کے لیے، میں اپنے تمام مصنوعات حاصل کرنے کی ضرورت. کی ایک ٹیبل میں تمام مصنوعات کے لئے پیش کرتے ہیں. میں ایک ٹیبل میں تمام مصنوعات ڈال دیا تو، میں صرف تمام مصنوعات کو منتخب کر سکتے ہیں اس کی میز سے اور میں یہ سب حاصل. ویسے مجھے لگتا ہے کہ کس طرح کروں؟ ویسے NoSQL میں کوئی نہیں ہے ٹیبل کی ساخت. ہم کے بارے میں تھوڑا سا میں بات کریں گے یہ کیسے ڈائنےمو DB میں کام کرتا ہے. لیکن آپ ایک ہی نہیں ہے صفات اور ایک ہی خصوصیات ہر ایک میں ہر ایک قطار میں شے، آپ کو ایک ایس کیو ایل ٹیبل میں کی طرح. اور کیا یہ میرے کی اجازت دیتا ہے ایسا کرنے کے لئے چیزوں کی ایک بہت کچھ ہے اور میرے لچک کا ایک بہت کچھ دے. اس خاص معاملے میں، میں اپنی مصنوعات دستاویزات ہیں. اور یہ خاص طور میں مثال کے طور پر، سب کچھ مصنوعات کی میز میں ایک دستاویز ہے. اور ایک کتاب کے لئے مصنوعات کی طاقت ایک کتاب کی وضاحت کرتا ہے کہ ایک قسم کی شناخت ہے. اور درخواست کہ آئی ڈی پر سوئچ گے. درخواست درجے میں، میں جا رہا ہوں اوہ، یہ کیا ریکارڈ کی قسم کا کہنا ہے کہ کرنے کے لئے؟ اوہ، یہ ایک کتاب ریکارڈ ہے. کتاب کے ریکارڈ ان کی خصوصیات ہے. مجھے ایک کتاب اعتراض تخلیق کرتے ہیں. تو میں بھرنے کے لئے جا رہا ہوں اس شے کے ساتھ کتاب اعتراض. اگلے آئٹم آتا ہے اور اس شے کیا ہے، کا کہنا ہے کہ؟ اس شے کے ایک البم ہے. اوہ، میں نے ایک پوری مختلف ہے اس کے لئے پروسیسنگ معمول، یہ ایک البم ہے کیونکہ. میرا مطلب ہے تمہیں دیکھ رہے ہو؟ لہذا درخواست tier-- میں صرف ان تمام ریکارڈز کو منتخب کریں. وہ سب میں آنے شروع. وہ تمام مختلف اقسام ہو سکتی ہے. اور اس کی درخواست کی منطق ہے کہ ان اقسام بھر میں سوئچ اور ان پر عملدرآمد کرنے کے لئے کس طرح کا فیصلہ. ایک بار پھر، اس لیے ہم نے اصلاح کر رہے ہیں رسائی پیٹرن سکیما. ہم کی طرف سے کر رہے ہیں ان میزیں ٹوٹ. ہم بنیادی طور پر لے جا رہے ہیں ان معمول ڈھانچے، اور ہم تعمیر کر رہے ہیں پدانکردوست ڈھانچے. ان ریکارڈز میں سے ہر ایک کے اندر میں صف خصوصیات کو دیکھنے کے لئے جا رہا ہوں. ایلبمز کے لئے اس دستاویز کے اندر، میں پٹریوں کی arrays دیکھ رہا ہوں. ان پٹریوں اب یہ ہے بن گیا بنیادی طور پر اس بچے ٹیبل کہ یہیں اس کی ساخت میں موجود ہے. تو آپ DynamoDB میں ایسا کر سکتے ہیں. تم MongoDB میں ایسا کر سکتے ہیں. آپ کسی بھی NoSQL ڈیٹا بیس میں ایسا کر سکتے ہیں. کی ان اقسام تخلیق پدانکردوست ڈیٹا ڈھانچے آپ اعداد و شمار بازیافت کی اجازت دیتے ہیں کہ بہت تیزی سے اب کیونکہ میں مطابق کرنے کے لئے ضرورت نہیں ہے. میں پٹریوں میں ایک قطار ڈالیں میز، یا یلبموں کے ٹیبل میں ایک قطار، مجھے لگتا ہے کہ سکیما کے مطابق ہے. میں وصف یا ہوگا اس میز پر بیان کیا جاتا ہے کہ جائیداد. ان میں سے ہر ایک، میں اس صف داخل جب. یہ NoSQL میں ایسا نہیں ہے. میں مکمل طور پر مختلف کر سکتے ہیں ہر دستاویز میں خصوصیات مجھے مجموعہ میں داخل ہے کہ. تو بہت طاقتور طریقہ کار. اور یہ واقعی میں آپ کو کس طرح ہے نظام کو بہتر بنانے. بجائے اب کہ سوال، کیونکہ ان تمام میزیں میں شامل ہونے کے اور ایک نصف درجن سوالات عمل مجھے اس کی ضرورت ڈیٹا واپس ھیںچو کرنے کے لئے، میں نے ایک سوال کے عمل کر رہا ہوں. اور میں iterating رہا ہوں مقرر نتائج پار. یہ آپ کو ایک خیال دیتا ہے NoSQL کی طاقت. میں اس قسم کی موقع پر یہاں جانے کے لئے جا رہا ہوں اور اس بارے میں تھوڑا سا بات. اس سے زیادہ مہربان ہے مارکیٹنگ یا technology-- ٹیکنالوجی کی مارکیٹنگ بحث کی قسم. لیکن یہ سمجھنا ضروری ہے ہم سب سے اوپر نظر آتے ہیں کیونکہ اگر یہاں اس چارٹ پر، جو ہم دیکھ رہے ہیں ہم کہتے ہیں ٹیکنالوجی hype کے وکر. اور کیا اس کا مطلب ہے کہ نئی چیزیں کھیل میں آتا ہے. لوگ یہ بہت اچھا لگتا ہے. میں اپنے تمام مسائل حل کر دیا ہے. یہ آخر ہو سکتا ہے تمام، سب کچھ کرنے کے لئے تمام ہو. اور انہوں نے اس کا استعمال شروع. اور وہ یہ چیزیں کام نہیں کرتا، کا کہنا ہے کہ. یہ درست نہیں ہے. پرانی چیزیں بہتر تھا. اور وہ ایسا کرنے کے لئے واپس جانا چیزیں وہ تھے راستہ. اور پھر آخر میں وہ آپ کو معلوم ہے، جانا؟ یہ چیزیں اتنا برا نہیں ہے. اوہ، کہ یہ کیسے کام کرتا ہے. اور انہوں نے یہ کس طرح پتہ بار کام، وہ بہتر ہو رہی شروع. اور اس کے بارے میں مضحکہ خیز بات یہ کرنے کے لئے، لائنوں کی طرح ہے کیا ہم ٹیکنالوجی اپنانے منحنی کال. تو ہم کیا ہوتا ہے کسی قسم ٹیکنالوجی ٹرگر. ڈیٹا بیس کی صورت میں، یہ اعداد و شمار دباؤ ہے. ہم اعلی پانی پوائنٹس کے بارے میں بات پورے وقت کے اعداد و شمار کے دباؤ کی. کہ اعداد و شمار دباؤ ایک خاص مار دیتی ہے نقطہ، کہ ایک ٹیکنالوجی ٹرگر ہے. یہ بہت مہنگا ہو رہا ہے. یہ اعداد و شمار پر عملدرآمد کرنے میں بہت طویل لگتے ہیں. ہم بہتر کسی چیز کی ضرورت. تم اختراع حاصل وہاں سے باہر کے ارد گرد چل رہا ہے، حل کیا ہے تلاش کرنے کی کوشش. نیا خیال ہے؟ بہترین اگلے کیا ہے اس بات کو ایسا کرنے کا طریقہ؟ اور انہوں نے کچھ کے ساتھ آئے. اور حقیقی درد رکهنے والے لوگوں، خون بہہ رہا ہے کنارے پر لوگوں کو، وہ تمام اس پر کود جائیں گے، انہوں نے ایک جواب کی ضرورت ہے کیونکہ. اب لامحالہ کیا ہوتا ہے اور یہ NoSQL میں ابھی کیا ہو رہا ہے. میں ہر وقت اسے دیکھ. کیا لامحالہ ہوتا ہے لوگوں کو نئے آلے کا استعمال شروع اسی طرح وہ پرانے آلہ استعمال کیا جاتا ہے. اور انہوں نے اسے باہر تلاش اتنی اچھی طرح سے کام نہیں کرتا. میں کون تھا یاد نہیں کر سکتے ہیں پہلے آج سے بات. لیکن یہ، جب کی طرح ہے jackhammer ایجاد کیا گیا، لوگ اسے سوئنگ نہیں کیا ان کے سر توڑ کرنے کے لئے ٹھوس. لیکن اس کیا ہے آج NoSQL ساتھ کیا ہو رہا. آپ سب سے زیادہ دکانوں میں چلے تو، وہ NoSQL دکانوں ہونے کی کوشش کر رہے ہیں. وہ کیا کر رہے ہیں وہ، NoSQL استعمال کر رہے ہیں اور وہ اس لوڈ کر رہے ہیں سنبندپرک سکیما سے بھرا ہوا. کہ کس طرح ہے کیونکہ وہ ڈیٹا بیس ڈیزائن. اور وہ یہی وجہ ہے، سوچ رہے ہیں یہ بہت اچھی کارکردگی کا مظاہرہ نہیں؟ لڑکے، اس بات بدبو آتی ہے. میں نے تمام برقرار رکھنے کے لئے تھا میری یہ کوئی، کوئی، کی طرح ہے in-- شامل ہو جاتا ہے. شامل ہو جاتا ہے کو برقرار رکھنے؟ کیوں آپ کو ڈیٹا شامل ہو رہے ہیں؟ تم NoSQL میں اعداد و شمار میں شامل نہیں ہے. تم نے اسے مجموعی. آپ کو اس سے بچنے کے لئے کرنا چاہتے ہیں تو، سیکھنے تو آلہ اصل میں آپ سے پہلے کیسے کام کرتا ہے اس کا استعمال شروع. کوشش اور نئے آلات استعمال نہ کریں اسی طرح آپ کو پرانے آلات کا استعمال کیا. آپ ایک برا تجربہ کے لئے جا رہے ہیں. اور ہر ایک وقت اس کے بارے میں کیا ہے. ہم نے یہاں آنے شروع جب، لوگوں نے سوچا اس کی وجہ سے ہے کس طرح کے اوزار استعمال کرنے. انہوں نے جب ایک ہی کام کیا ہے سنبندپرک ڈیٹا بیس ایجاد کیا گیا، اور وہ فائل سسٹم کی جگہ کیا گیا تھا. وہ فائل نظام کی تعمیر کرنے کی کوشش کی سنبندپرک ڈیٹا بیس کے ساتھ کہ لوگوں سمجھ ہے کیونکہ. یہ کام نہیں کیا. بہترین طریقوں کو سمجھنے تو ٹیکنالوجی کے آپ کے ساتھ کام کر رہے ہیں بہت بڑا ہے. بہت اہم. تو ہم DynamoDB میں حاصل کرنے کے لئے جا رہے ہیں. DynamoDB اوس کی ہے NoSQL پلیٹ فارم مکمل طور پر منظم کیا. کیا مطلب ہے مکمل طور پر کامیاب ہے؟ یہ آپ کو کرنے کی ضرورت نہیں ہے کا مطلب سچ میں کچھ کے بارے میں فکر. تم میں آتے ہیں، آپ کو بتا ہمیں، میں ایک میز کی ضرورت ہے. یہ زیادہ سے زیادہ صلاحیت کی ضرورت ہے. آپ کے بٹن کو مارا، اور ہم فراہمی پردے کے پیچھے تمام بنیادی ڈھانچے. اب جب کہ بہت زیادہ ہے. آپ بات کرتے ہیں کیونکہ ایک ڈیٹا بیس کے بارے میں پیمائی، NoSQL ڈیٹا کلسٹرز میں پیمانے، چلانے petabytes، لاکھوں چلانے فی سیکنڈ لین دین، ان چیزوں کو چھوٹے کلسٹر نہیں ہیں. ہم مثال کے طور پر ہزاروں کی تعداد میں بات کر رہے ہیں. مثال کے طور پر ہزاروں کی تعداد میں منیجنگ، بھی مجازی واقعات، بٹ میں ایک حقیقی درد ہے. میں ہر وقت ایک کے بارے میں سوچنے کا مطلب آپریٹنگ سسٹم پیچ باہر آتا ہے یا ڈیٹا بیس کا ایک نیا ورژن. اس کا کیا مطلب ہے آپ کو عملی؟ یہ ہے کہ آپ کا مطلب ہے 1،200 کی ضرورت ہے کہ سرورز کو اپ ڈیٹ کرنے. اب بھی آٹومیشن کے ساتھ، کہ ایک طویل وقت لگ سکتا ہے. اس کی ایک بہت کی وجہ سے کر سکتے ہیں آپریشنل سر درد، میں خدمات نیچے ہو سکتا ہے کیونکہ. میں ان کے ڈیٹا بیس کو اپ ڈیٹ کے طور پر، میں نیلے رنگ سبز تعیناتی کر سکتا ہے جہاں میں تعینات اور اپ گریڈ اپنی آدھی نوڈس، اور پھر دوسرے نصف کو اپ گریڈ. لوگ نیچے لے جاؤ. تو بنیادی ڈھانچے کو منظم کرنے پیمانے بہت تکلیف دہ ہے. اور اوس اس سے باہر ہے کہ درد لے. اور NoSQL ڈیٹا بیس کر سکتے ہیں غیر معمولی طور پر تکلیف دہ ہو وہ بڑے پیمانے پر راستے کی وجہ سے. افقی پیمانے پر. آپ کو ایک بڑا NoSQL حاصل کرنا چاہتے ہیں ڈیٹا بیس، آپ کو زیادہ نوڈس خریدنے. آپ کو خریدنے کے ہر نوڈ ہے ایک آپریشنل سردرد. تو کسی اور کہ آپ کے لئے کرتے ہیں. اوس یہ کر سکتے ہیں. ہم دستاویز بنیادی اقدار کی حمایت. اب ہم بہت زیادہ نہیں جانا تھا دیگر چارٹ پر میں. مختلف کی ایک بہت کچھ ہے NoSQL کے ذائقوں. وہ حاصل کرنے کے تمام قسم کے ہیں اس وقت ایک دوسرے کے ساتھ munged صرف. تم، DynamoDB دیکھو اور ہاں کہہ سکتے ہیں ہم نے ایک دستاویز اور ایک کلیدی قدر دونوں ہیں اس نقطہ ذخیرہ. اور آپ کی خصوصیات بحث کر سکتے ہیں ایک دوسرے پر کی. میرے لئے، اس کی ایک بہت واقعی چھ ہے ایک نصف دوسرے سے ایک درجن. ان ٹیکنالوجیز میں سے ہر ایک ایک ٹھیک ٹیکنالوجی اور جرمانہ حل. میں MongoDB بہتر یا کا کہنا ہے کہ نہیں کرے گا تو سوفی، Cassandra رکھ سے بھی بدتر، پھر ڈائنےمو، یا اس کے برعکس. میں یہ صرف اختیارات ہیں، مطلب. اس سے روزہ ہے اور یہ کسی بھی پیمانے پر مسلسل. تو اس کا سب سے بڑا میں سے ایک ہے بونس آپ AWS کے ساتھ حاصل. DynamoDB ساتھ کرنے کی صلاحیت ہے ایک کم سنگل عددی حاصل کرنے کے لئے کسی بھی پیمانے پر millisecond کی تاخیر. اس نظام کے ڈیزائن مقصد تھا. اور ہم کر رہے ہیں کہ گاہکوں فی سیکنڈ لین دین کے لاکھوں. اب میں ان میں سے کچھ کے ذریعے جائیں گے یہاں چند منٹ میں استعمال کے مقدمات. مربوط رسائی control-- ہم کہتے ہیں شناختی رسائی مینجمنٹ، یا اے ایم. یہ ہر نظام permeates کے، اوس پیش کرتا ہے کہ ہر خدمت. DynamoDB کوئی رعایت نہیں ہے. آپ تک رسائی کنٹرول کر سکتے ہیں DynamoDB میزیں. آپ AWS کی طرف سے اکاؤنٹس تمام بھر میں رسائی کردار اور اجازت کی وضاحت IAM بنیادی ڈھانچے میں. اور اس میں ایک اہم اور لازمی جزو ہے ہم کارفرما پروگرامنگ واقعہ کہتے ہیں. اب یہ ایک نئی مثال ہے. سامعین: کس طرح سچ کی شرح ہے جھوٹے منفی بمقابلہ مثبت آپ کی رسائی کنٹرول کے نظام پر؟ RICK HOULIHAN: یہ سچ ہے کہ مثبت جھوٹے منفی بمقابلہ؟ سامعین: کیا آرہے ہیں آپ کو واپس لوٹنے کیا ہونا چاہئے؟ ایک بار تھوڑی دیر میں ایک کی مخالفت کے طور پر یہ اس کو درست کرنا چاہئے جب واپس نہیں کرتا؟ RICK HOULIHAN: میں آپ کو بتا نہیں سکا. کسی بھی ناکامی ہے تو جو کچھ اس پر، مجھے پوچھنا شخص نہیں ہوں کہ خاص طور پر سوال. لیکن یہ ایک اچھا سوال ہے. جاننا میں جاننا چاہتا ہوں گے اپنے آپ کو اس، اصل میں. اور تو پھر، نئے پیرا میٹر واقعہ پر مبنی پروگرامنگ ہے. یہ ہے کہ آپ کر سکتے ہیں کا خیال ہے پیچیدہ ایپلی کیشنز تعینات ہیں ایک بہت، بہت اعلی پیمانے کام کر سکتے ہیں کسی بھی بنیادی ڈھانچے کے بغیر. کسی مقررہ بغیر جو بنیادی ڈھانچے. اور ہم تھوڑا سا میں بات کریں گے کے طور پر ہم مطلب کے بارے میں چارٹ کے اگلے دو پر حاصل. ہم کیا کریں گے پہلی بات ہم ٹیبل کے بارے میں بات کریں گے ہے. ڈائنےمو کے لئے API کا اعداد و شمار اقسام. سب سے پہلی چیز اور تمہیں آپ کو اس کی طرف دیکھو جب محسوس، آپ کو کسی بھی ڈیٹا بیس کے ساتھ واقف ہیں تو، ڈیٹا بیس APIs کا واقعی دو قسم کی ہے میں نے اسے فون کروں گا. یا API کے دو سیٹ. ان میں سے ایک ہو جائے گا انتظامی API. وہ کی دیکھ بھال چیزیں ڈیٹا بیس کے افعال. سٹوریج کے انجن کی تشکیل، قائم کرنے اور میزیں انہوں نے مزید کہا. پیدا کرنے کے ڈیٹا بیس کیٹلاگ اور واقعات. DynamoDB میں ان چیزوں، آپ بہت مختصر، مختصر فہرست ہے. تو دوسرے ڈیٹا بیس میں، آپ درجنوں دیکھ سکتا کے انتظامی کے، حکم دیتا ہے حکم دیتا ہے، کی تشکیل کے لئے ان اضافی اختیارات. DynamoDB میں آپ کی وجہ سے ان کی ضرورت نہیں ہے آپ کے نظام کی تشکیل نہیں کرتے، ہم کرتے ہیں. تو آپ کو ایسا کرنے کی ضرورت صرف ایک ہی چیز ہے مجھے اس کی ضرورت کیا سائز کی میز مجھے بتاو. تو آپ کو ایک بہت ملتا ہے حکم دیتا ہے کی محدود سیٹ. آپ کو ایک میز تازہ کاری بنائیں حاصل، ٹیبل، جدول حذف کریں، اور ٹیبل کی وضاحت. لوگ صرف باتیں ہیں آپ DynamoDB لئے کی ضرورت ہے. آپ کو ایک سٹوریج کی ضرورت نہیں ہے انجن کی ترتیب. میں نقل کے بارے میں فکر کرنے کی ضرورت نہیں. میں sharding بارے میں فکر کرنے کی ضرورت نہیں ہے. میں فکر کرنے کی ضرورت نہیں یہ چیزیں کسی کے بارے میں. ہم آپ کے لئے یہ سب کیا. تو ہے کہ ہیڈ کی ایک بڑی رقم ہے کہ صرف اپنے پلیٹ اٹھا ہے. پھر ہم CRUD آپریٹرز ہیں. CRUD کچھ جو ہم ہے ہے کہ ڈیٹا بیس میں فون ، اپ ڈیٹ، آپریٹرز حذف. یہ آپ کے عام ہیں ڈیٹا بیس کے آپریشن. ڈال شے کی طرح چیزیں، شے، اپ ڈیٹ حاصل اشیاء، آئٹمز کو حذف، بیچ استفسار، اسکین. آپ پوری ٹیبل اسکین کرنے کے لئے چاہتے ہیں تو. میز سے دور سب کچھ ھیںچو. DynamoDB بارے میں اچھی چیزیں میں سے ایک یہ متوازی سکیننگ کی اجازت دیتا ہے. تو آپ کو اصل کتنے مجھے بتائیں سکتا موضوعات آپ اس اسکین پر چلانا چاہتے ہیں. اور ہم نے ان موضوعات کو چلا سکتے ہیں. ہم نے اس کو اسکین گھماؤ کر سکتے ہیں ایک سے زیادہ موضوعات کے اس پار تو آپ پوری ٹیبل اسکین کر سکتے ہیں بہت، بہت جلد DynamoDB میں جگہ. ہم دیگر API ہے ہم اپنے اسٹریمز API کال کیا. ہم بھی بات کرنے کے لئے نہیں جا رہے ہیں اب اس کے بارے میں زیادہ سے زیادہ. میں کچھ مواد کے بعد مل گیا ہے اس کے بارے میں ڈیک پر. لیکن اسٹریمز واقعی ایک running-- ہے وقت کا حکم دیا کے طور پر اس کے بارے میں سوچنا اور تقسیم تبدیلی لاگ ان کریں. پر کیا ہو رہا ہے کہ سب کچھ ٹیبل ندی پر ظاہر کرتا ہے. ہر میز پر لکھنے ندی پر ظاہر کرتا ہے. تم نے اس ندی پڑھ، کر سکتے ہیں اور آپ اس کے ساتھ باتیں کر سکتے ہیں. ہم کے بارے میں بات کریں گے کیا چیزوں کی اقسام آپ نقل طرح چیزوں کے ساتھ کیا، ثانوی اشاریہ جات پیدا کرنے. بہت ٹھنڈا کے تمام قسم کے چیزیں آپ کو اس کے ساتھ کیا کر سکتے ہیں. اعداد و شمار اقسام. DynamoDB میں، ہم دونوں اہم حمایت قیمت اور دستاویز اعداد و شمار اقسام. سکرین کے بائیں ہاتھ کی طرف پر یہاں، ہم اپنے بنیادی اقسام مل گیا ہے. کلیدی قدر اقسام. ان ڈور ہیں، نمبر اور binaries کے. تو صرف تین بنیادی اقسام. اور پھر آپ ان کے سیٹ ہو سکتا ہے. اچھی چیزیں میں سے ایک NoSQL کے بارے میں آپ کی خصوصیات کے طور پر arrays پر مشتمل ہوسکتا ہے. اور DynamoDB ساتھ آپ arrays پر مشتمل ہوسکتا ہے ایک جڑ جائیداد کے طور پر بنیادی اقسام میں سے. اور پھر دستاویز کی قسم ہے. کتنے لوگ JSON کے ساتھ واقف ہیں؟ اتنا JSON کے ساتھ واقف تم لوگ؟ یہ بنیادی طور پر جاوا سکرپٹ کی آبجیکٹ، سنکیتن. یہ آپ کو بنیادی طور پر کی اجازت دیتا ہے ایک پدانکردوست ساخت کی وضاحت. تم پر ایک JSON دستاویز محفوظ کر سکتے ہیں DynamoDB عام اجزاء کا استعمال کرتے ہوئے یا اس کی عمارت کے بلاکس دستیاب ہیں سب سے زیادہ پروگرامنگ زبانوں میں. آپ کو جاوا ہیں تو، تم نقشے اور فہرستوں کو دیکھ کر. میں اس علاقے کا نقشہ اشیاء بنا سکتے ہیں. کلیدی اقدار کے طور پر ایک نقشہ خصوصیات کے طور پر ذخیرہ. اور یہ کی فہرست ہو سکتا ہے ان کی خصوصیات کے اندر اندر اقدار. آپ کو اس پیچیدہ محفوظ کر سکتے ہیں پدانکردوست ساخت ایک خصوصیت کے طور پر ایک DynamoDB آئٹم کے. DynamoDB میں ٹیبل تو، سب سے زیادہ پسند NoSQL ڈیٹا بیس، میزیں اشیاء ہیں. MongoDB میں آپ کو کرے گا ان دستاویزات کال. اور یہ سوفی بنیاد ہو گی. اس کے علاوہ ایک دستاویز ڈیٹا بیس. تم ان دستاویزات کال. دستاویزات یا اشیاء صفات ہے. صفات موجود کر سکتے ہیں یا شے پر موجود نہیں. DynamoDB میں، وہاں ہے ایک لازمی وصف. بس ایک سنبندپرک ڈیٹا بیس میں پسند، آپ کو میز پر ایک بنیادی کلید ہے. DynamoDB ہم ایک ہیش اہم کال کیا ہے. ہیش اہم منفرد ہونا ضروری ہے. تو میں نے ایک ہیش میز کی وضاحت جب، بنیادی طور پر میں کیا کہہ رہا ہوں ہر شے ایک ہیش کلید پڑے گا. اور ہر ہیش اہم منفرد ہونا ضروری ہے. ہر شے بیان کیا جاتا ہے کہ منفرد ہیش کلید کی طرف سے. اور صرف ایک ہی ہو سکتا ہے. یہ ٹھیک ہے، لیکن اکثر کیا لوگوں کی ضرورت ہے وہ چاہتے ہیں اس ہیش ہے تھوڑا سا کرنا اہم کے مقابلے میں صرف ایک منفرد شناخت ہونا. اکثر ہم اس ہیش کلید کا استعمال کرنا چاہتے ہیں اوپر کی سطح کے طور پر جمع کرنے بالٹی. اور ہم ایسا راہ کی طرف سے ہے ہم ایک رینج اہم کہتے ہیں انہوں نے مزید کہا. یہ صرف ایک ہیش ہے تو میز، اس منفرد ہونا ضروری ہے. یہ ایک ہیش میز اور رینج ہے تو، ہیش اور رینج کا مجموعہ منفرد ہونا ضروری ہے. تو اس طرح اس کے بارے میں سوچنا. میں نے ایک فورم ہے تو. اور فارم یہ ہے، موضوعات ہے خطوط، اور یہ ردعمل ہے. تو میں نے ایک ہیش ہو سکتا ہے موضوع کی شناخت ہے جس کی چابی،. اور میں ایک رینج اہم ہو سکتا ہے، جس کے جواب کی شناخت ہے. اس طرح میں حاصل کرنے کے لئے چاہتے ہیں تو خاص طور پر موضوع کے لئے ردعمل، میں صرف ہیش سوال کر سکتے ہیں. مجھے دے کہہ سکتے ہیں اس ہیش ہے کہ اشیاء. اور میں ہر سوال کا حاصل کرنے کے لئے جا رہا ہوں یا اس خاص موضوع کے لئے پوسٹ. یہ سب سے اوپر کی سطح کو منتخب aggregations بہت اہم ہیں. وہ بنیادی تک رسائی کی حمایت درخواست کے پیٹرن. عام طور پر، اس بات ہم کیا کرنا چاہتے ہے. ہم اس table-- چاہتے آپ کو میز بوجھ کے طور پر، ہم اعداد و شمار کی تشکیل کرنا چاہتے ہیں اس طرح میں ٹیبل کے اندر درخواست ہے کہ بہت کر سکتے ہیں فوری طور پر ان کے نتائج بازیافت. اور اکثر ایسا کرنے کے لئے طریقہ ہے ہم کے طور پر ان aggregations برقرار رکھنے کے لئے ڈیٹا داخل. بنیادی طور پر، ہم اعداد و شمار پھیلا رہے ہیں روشن بالٹی میں اس میں آتا ہے کے طور پر. رینج چابیاں me-- ہیش کی اجازت دیتے ہیں چابیاں مساوات ہونا پڑے گا. میں نے ایک ہیش سوال تو میں نے کا کہنا ہے کہ مجھے اس کے برابر ہے کہ ایک ہیش دے. میں ایک رینج سوال تو میں نے مجھے ایک رینج دے کہہ سکتے ہیں کہ کسی بھی قسم کی استعمال کر رہا ہے ہم حمایت کرتے ہیں کہ امیر آپریٹر. مجھے ایک ہیش کے لئے تمام اشیاء دینے کے. یہ، کے مقابلے میں زیادہ، برابر ہے اس کے ساتھ شروع ہوتا ہے، کے مقابلے میں کم، یہ ان دو اقدار کے درمیان موجود ہے؟ رینج کے سوالات میں سے تو ان اقسام ہم میں ہمیشہ دلچسپی رکھتے ہیں کہ. اب ڈیٹا کے بارے میں ایک بات، جب آپ، جب ڈیٹا تک رسائی حاصل کرنے کی طرف دیکھو آپ اعداد و شمار تک رسائی حاصل، یہ ہے ہمیشہ ایک جمع کے بارے میں. یہ ریکارڈز کے بارے میں ہمیشہ سے ہے کہ اس سے متعلق ہیں. مجھے یہاں سب کچھ دے تمام that's-- یہ کریڈٹ کارڈ پر لین دین گزشتہ ماہ کے لئے. یہ ایک جمع ہے. تقریبا سب کچھ آپ کو میں کیا ڈیٹا بیس جمع کے کچھ قسم ہے. کی وضاحت کرنے کے قابل ہو جائے کرنے کے لئے تو کیا جا رہا ہے کے قابل ان بالٹیاں اور تم ان رینج دے پر سوال کرنے کے قابل ہو جائے کرنے کے لئے صفات، لوگ امیر سوالات، بہت سے حمایت بہت سے، بہت سے درخواست رسائی پیٹرن. دوسری بات یہ ہے ہیش کلید تو کیا یہ ہمیں ایک طریقہ کار فراہم کرتا ہے ارد گرد کے اعداد و شمار کو پھیلانے کے لئے کے قابل ہو جائے. NoSQL ڈیٹا بیس بہترین کام جب ڈیٹا یکساں طور پر ہے کلسٹر بھر میں تقسیم کیا. کتنے لوگ واقف ہیں الگورتھم hashing کے ساتھ؟ میں ہیش اور ایک hashing-- کا کہنا ہے کہ ایک hashing کے الگورتھم کی وجہ سے پیدا کرنے کے قابل کیا جا رہا ہے کا ایک طریقہ ہے کسی بھی قدر کی طرف سے ایک بے ترتیب قیمت. یہ خاص طور پر صورت میں، ہم چلاتے ہیش الگورتھم کی بنیاد پر ND 5. پھر میں نے ایک شناخت ہے، اور یہ تو میری ہیش کی کلید ہے، میں 1، 2، 3 ہے. میں ہیش الگورتھم چلاتے ہیں تو، اسے واپس آئے اور کہا جا رہا ہے اچھی طرح 1، 2 7B برابر ، 48 کے برابر ہے 3 سی ڈی کے برابر ہے. انہوں نے تمام اہم خلائی میں پھیل رہے ہیں. اور تم نے ایسا کیوں کرتے ہیں؟ اس بات کو یقینی بناتا ہے کیونکہ کہ میں کر سکتا ہوں ایک سے زیادہ نوڈس میں ریکارڈ ڈال. میں یہ کر رہا ہوں تو نے incrementally، 1، 2، 3. اور میں نے ایک ہیش رینج ہے کہ اس خاص معاملے میں رنز، ایک چھوٹا سا ہیش جگہ، یہ، FF 00 سے چلتا ہے پھر ریکارڈ میں آنے کے لئے جا رہے ہیں اور وہ جانے کے لئے جا رہے ہیں 1، 2، 3، 4، 5، 6، 7، 8، 9، 10، 11، 12. کیا ہوتا ہے؟ ہر ڈالیں اور اسی نوڈ کی جا رہی ہے. میرا مطلب ہے تمہیں دیکھ رہے ہو؟ میں خلا تقسیم کیونکہ جب، اور میں، میں ان ریکارڈز کو پھیلانے اور میں تقسیم، میں کہنے جا رہا ہوں تقسیم 1 54 اہم خلائی 0 ہے. تقسیم 2 89 55. تقسیم 3 FF کرنے AA ہے. میں incrementing خطی استعمال کر رہا ہوں تو شناخت، آپ کو کیا ہو رہا ہے دیکھ کر سکتے ہیں. 1، 2، 3، 4، 5، 6، 54 کے لئے تمام طریقہ. میں پھیلا رہا ہوں تو نظام میں ریکارڈ، سب کچھ ایک نوڈ جا کر ختم ہوتا. یہ اچھا نہیں ہے. یہ ایک antipattern ہے. MongoDB میں وہ یہ مسئلہ ہے آپ کو ایک ہیش کلید کا استعمال نہیں کرتے ہیں تو. MongoDB آپ کا اختیار دیتا ہے کے کلیدی قدر hashing کے. تم ہمیشہ، کہ کیا کرنا چاہئے آپ کو ایک incrementing کی ہیش استعمال کر رہے ہیں MongoDB میں اہم، یا آپ کو ہو جائے گا ایک نوڈ کے لئے ہر لکھنے nailing کے، اور آپ کو محدود کیا جائے گا بری طرح سے آپ لکھنا throughput کے. سامعین: دشملو میں A9 169 ہے؟ RICK HOULIHAN: جی ہاں، یہ ہے وہاں کہیں کے ارد گرد. A9، مجھے پتہ نہیں ہے. تم نے میرے بائنری حاصل کرنا پڑے گا دشملو کیلکولیٹر. میرا دماغ اس طرح سے کام نہیں کرتا. سامعین: بس ایک فوری ایک آپ Mongo کی تبصرے کی. تو آتا ہے کہ اعتراض کی شناخت ہے natively کی Mongo کی ساتھ ایسا؟ RICK HOULIHAN: یہ ایسا ہے؟ آپ اس کی وضاحت تو. MongoDB ساتھ، آپ کو اختیار ہے. آپ ہر دستاویز وضاحت ہے کر سکتے ہیں MongoDB ایک کشید شناخت ہے. کہ منفرد قیمت ہے. MongoDB میں آپ وضاحت کر سکتے ہیں اس ہیش یا نہیں. وہ صرف آپ کا اختیار دیں. آپ یہ جانتے ہیں کہ اگر بے ترتیب، کوئی مسئلہ نہیں. آپ کو ایسا کرنے کی ضرورت نہیں ہے. اگر تم اس کو، بے ترتیب نہیں ہے کہ معلوم ہے تو یہ incrementing کی ہے، اس کے بعد ہیش کرتے. اب چیز کے بارے میں آپ ہیش بار، hashing کے ایک قدر اور یہ ہے کیوں ہیش چابیاں ہمیشہ منفرد سوالات، میں تبدیل کر دیا گیا ہے کیونکہ قیمت، اب میں ایک رینج استفسار نہیں کر سکتے ہیں. میں نے اس کا کہنا ہے کہ نہیں کر سکتے ہیں یہ یا اس کے درمیان، ہیش قدر جا رہا ہے کیونکہ اصل قیمت کے برابر ہونا. تو آپ کو اس ہیش جب اہم، یہ صرف مساوات ہے. یہی وجہ DynamoDB ہیش کلید میں ہے سوالات ہمیشہ صرف برابری ہیں. تو اب ایک رینج میں چابی میں اس کی حد اہم اضافہ کریں جب، ان کی حد اہم ریکارڈز میں آتے ہیں اور وہ ایک ہی پارٹیشن پر محفوظ ہو جاتے ہیں. تاکہ وہ آسانی سے، بہت تیزی سے ہو اس ہیش ہے کیونکہ بازیافت، اس کی حد ہے. اور آپ کو سب کچھ دیکھیں اسی ہیش کے ساتھ اسی تقسیم کی جگہ پر محفوظ ہو جاتا ہے. آپ کی مدد کرنے کے لئے اس کی حد کی چابی کا استعمال کر سکتے ہیں اس کے والدین کے قریب آپ کے ڈیٹا کو تلاش. تو مجھے سچ میں یہاں کیا کر رہا ہوں؟ یہ بہت سے تعلقات پر ایک ہے. ایک ہیش کلید کے درمیان تعلقات اور رینج اہم بہت سے ایک ہے. میں ایک سے زیادہ چابیاں ہیش کر سکتے ہیں. میں صرف ایک سے زیادہ رینج کر سکتے ہیں ہر ہیش کلید اندر چابیاں. ہیش والدین کی وضاحت کرتا ہے، رینج بچوں کی وضاحت کرتا ہے. تو آپ دیکھ سکتے ہیں کے مطابق یہاں سنبندپرک تعمیر کے درمیان اور اسی قسم NoSQL میں تعمیر. لوگوں کے بارے میں بات nonrelational طور NoSQL. یہ nonrelational نہیں ہے. اعداد و شمار ہمیشہ تعلقات رکھتا ہے. ان تعلقات کو صرف مختلف ماڈلنگ کر رہے ہیں. کی ایک چھوٹی سی بات کرتے ہیں استحکام کے بارے میں تھوڑا سا. آپ DynamoDB سے لکھتے ہیں تو، لکھتے ہیں ہمیشہ تین راستہ اپنایا ہے. ہم تین زیڈ کی ہے اس کے معنی. زیڈ کی دستیابی زون ہیں. آپ کو ایک کی دستیابی کے بارے میں سوچ کر سکتے ہیں ایک ڈیٹا سینٹر کے طور پر زون ڈیٹا سینٹرز یا ایک مجموعہ. یہ چیزیں جغرافیائی ہیں ایک دوسرے سے الگ تھلگ مختلف غلطی زون بھر میں، میں طاقت grids اور floodplains مختلف. ایک زیڈ میں ناکامی نہیں ہے ایک نیچے لے جا رہا. انہوں نے یہ بھی منسلک ہیں ایک دوسرے کے ساتھ سیاہ فائبر کے ساتھ. یہ ایک ذیلی کی حمایت کرتا ہے 1 AZs درمیان millisecond کی تاخیر. تو اصل وقت اعداد و شمار replications کثیر AZs میں قابل. اور اکثر کثیر زیڈ تعیناتی اعلی دستیابی کی ضروریات کو پورا سب سے زیادہ انٹرپرائز تنظیموں کی. تو DynamoDB پھیلا ہوا ہے پہلے سے طے شدہ کی طرف سے تین AZs بھر. ہم صرف علم لکھنے کے لئے جا رہے ہیں ان تین مراکز کی دو واپس آئے جب اور میں نے اسے مل گیا، جی ہاں، کا کہنا ہے کہ. ایسا کیوں ہے؟ پڑھنے طرف ہم ہیں کیونکہ صرف جب آپ اعداد و شمار دینے کے لئے جا ہم دو مراکز سے حاصل. مجھے اس پار نقل کر رہا ہوں تین، اور میں نے دو سے پڑھ رہا ہوں، میں نے ہمیشہ کی ضمانت ہوں کم از کم ایک ہے ان لوگوں کو ہو کو پڑھتا ہے کے اعداد و شمار کے سب سے زیادہ موجودہ کاپی. یہ DynamoDB مسلسل بناتا ہے کیا ہے. اب آپ کی باری ہے کرنے کا انتخاب کر سکتے ہیں ان مسلسل بند پڑھتا. جس میں کیس میں کہنے جا رہا ہوں، میں صرف ایک نوڈ سے پڑھیں گے. اور میں یہ جا رہا ہے اس بات کی ضمانت نہیں کر سکتے ہیں سب سے زیادہ موجودہ اعداد و شمار ہونے کے لئے. ایک تحریر میں آ رہا ہے اگر ایسا ہے تو، یہ ابھی تک نہیں دوہرایا آپ کو اس کی کاپی حاصل کرنے جا رہے ہیں. یہ ایک بالآخر مسلسل پڑھیں. اور کیا ہے کہ نصف قیمت ہے. تو اس کے بارے میں سوچنے کے لئے کچھ ہے. جب آپ DynamoDB باہر پڑھنے، اور کر رہے ہیں آپ کو آپ کے پڑھنے کی صلاحیت کو قائم کر رہے ہیں یونٹس، آپ کو آخر میں انتخاب کرتے ہیں تو مسلسل، یہ ایک بہت سستا ہے، پڑھتا ہے اس کے بارے میں نصف قیمت ہے. اور اس طرح یہ آپ کو پیسے بچاتا ہے. لیکن اس سے آپ کی پسند ہے. آپ کو ایک مسلسل پڑھنے کے لئے چاہتے ہیں یا ایک بالآخر مسلسل پڑھیں. کہ آپ کو منتخب کر سکتے ہیں کہ کچھ ہے. کی اشاریہ جات کے بارے میں بات کرتے ہیں. تو ہم نے اس کا ذکر کیا اوپر کی سطح جمع. ہم ہیش چابیاں ہے، اور ہے ہم رینج چابیاں مل گیا ہے. بہت اچھے. اور یہ کہ، بنیادی میز پر ہے میں ایک ہیش اہم ہے، میں نے ایک رینج اہم ہے. اس کا کیا مطلب ہے؟ میں ایک وصف مل گیا ہے کہ میں کے خلاف امیر سوالات چلا سکتے ہیں. یہ رینج کی کلید ہے. کہ item-- پر دیگر صفات میں ان صفات پر فلٹر کر سکتے ہیں. لیکن میں نے اسے چیزوں کی طرح نہیں کر سکتے ہیں کے ساتھ شروع ہوتا ہے، یا اس سے زیادہ ہے. مجھے لگتا ہے کہ کس طرح کروں؟ میں ایک انڈیکس تشکیل. کی دو قسمیں ہے DynamoDB میں اشاریہ جات. ایک انڈیکس واقعی ہے میز کا ایک اور منظر. اور مقامی ثانوی انڈیکس. ہم کے بارے میں بات کریں گے سب سے پہلے. تو مقامی secondaries مل جل رہے ہیں اعداد و شمار کے ایک ہی تقسیم پر. اور اس طرح کے طور پر، وہ ہیں اسی جسمانی نوڈ. وہ ہم مسلسل کہتے ہیں. مطلب، وہ تسلیم کرتے ہیں گا میز کے ساتھ لکھنا. لکھنے میں آتا ہے، ہم انڈیکس کے ذریعے لکھیں گے. ہم میز پر لکھیں گے اور پھر ہم تسلیم کرتے ہیں گا. تو ہے کہ مسلسل ہے. لکھنے گیا ہے ایک بار میز سے تسلیم کیا، اس بات کی ضمانت ہے مقامی ثانوی انڈیکس اعداد و شمار کے ایک ہی نقطہ نظر پڑے گا. لیکن کیا وہ اجازت دیتے ہیں آپ کو کیا کرنا ہے متبادل رینج چابیاں کی وضاحت. اسی ہیش کا استعمال کرنا پڑے بنیادی میز کے طور پر اہم، وہ کر رہے ہیں کیونکہ شریک واقع اسی تقسیم، اور وہ مسلسل ہو. لیکن میں ایک انڈیکس تشکیل دے سکتے ہیں مختلف رینج والے بٹنوں کے ساتھ. لہذا مثال کے طور پر، میں ایک کارخانہ دار تھا کہ ایک خام حصوں ٹیبل میں آ رہا تھا. اور خام حصے میں آتے ہیں، اور وہ اسمبلی کی طرف سے مجموعی کر رہے ہیں. اور شاید ایک یاد ہے. اس کی طرف سے بنایا گیا تھا کہ کسی بھی حصے اس تاریخ کے بعد کارخانہ دار، میں اپنے لائن سے ھیںچو کرنے کی ضرورت. میں ایک انڈیکس گھماؤ کر سکتے ہیں کہ، تلاش کیا جائے گا کی تاریخ مجموعوں اس مخصوص حصے کی تیاری. میری سب سے اوپر کی سطح میز تھا تو پہلے سے ہی کارخانہ دار کی طرف سے hashed، شاید اس میں، حصہ ID پر کا اہتمام کیا گیا اس کی میز سے دور ایک انڈیکس تشکیل دے سکتے ہیں کارخانہ دار کی طرف سے hashed اور تیاری کی تاریخ پر بچھے. اور میں کہہ سکتے ہیں اس طرح، کچھ بھی ہے کہ ان تاریخوں کے درمیان تیار کیا گیا تھا، میں لائن سے ھیںچو کرنے کی ضرورت. تو یہ ایک مقامی سیکنڈری انڈیکس ہے. ان کا اثر ہے آپ ہیش اہم خلائی محدود. کیونکہ وہ شریک موجود اسی اسٹوریج نوڈ پر، وہ ہیش کلید کو محدود 10 گیگا بائٹس کرنے کی جگہ. DynamoDB، کے تحت میزیں، تقسیم کرے گا آپ کی میز پر ہر 10 گیگا بائٹس. آپ اعداد و شمار کے 10 gigs کے میں ڈال دیا جب، ہم [PHH] جانا، اور ہم ایک نوڈ کو شامل. ہم لس تقسیم نہیں کریں گے ایک سے زیادہ پارٹیشنز بھر. ہم میز تقسیم کریں گے. لیکن ہم لس تقسیم نہیں کریں گے. کہ کچھ ہے تو سمجھنے کے لئے ضروری آپ کو بہت کر رہے ہیں ہے، بہت، بہت بڑی aggregations، تو آپ کو محدود کرنے کے لئے جا رہے ہیں آپ LSIs 10 گیگا بائٹس کے لئے. اگر ایسی بات ہے، ہم کر سکتے ہیں عالمی secondaries استعمال. گلوبل secondaries ہیں واقعی ایک اور میز. وہ بند مکمل طور پر موجود اپنے بنیادی ٹیبل کی طرف. اور انہوں نے مجھے ایک تلاش کرنے کے لئے کی اجازت دیتے ہیں مکمل طور پر مختلف ساخت. ڈیٹا ڈالا جا رہا ہے کے طور پر تو اس کا سوچ دو مختلف ٹیبل میں، ڈھانچہ دو مختلف طریقوں سے. میں ایک مکمل طور پر وضاحت کر سکتے ہیں مختلف ہیش کلید. میں ایک مکمل طور پر وضاحت کر سکتے ہیں مختلف رینج کی چابی. اور میں اس کو چلانے کے کر سکتے ہیں مکمل طور پر آزادانہ طور پر. حقیقت تو یہ بات کے طور پر، میں نے میرے پڑھنے صلاحیت تقسیم اور صلاحیت لکھنے میری عالمی ثانوی اشاریہ جات مکمل طور پر آزادانہ طور پر میرا بنیادی ٹیبل کے. مجھے لگتا ہے کہ انڈیکس کی وضاحت تو، مجھے بتا یہ کتنا پڑھنا اور لکھنا صلاحیت اس کا استعمال کیا جا رہا ہے. اور یہ کہ الگ الگ ہے، میرا بنیادی میز سے. اب اشاریہ جات دونوں کو ہمیں اجازت نہ صرف، ہیش اور رینج چابیاں کی وضاحت لیکن وہ ہمیں اجازت اضافی اقدار منصوبے. میں انڈیکس بند پڑھنے کے لئے چاہتے ہیں تو، اور میں ڈیٹا کی کچھ سیٹ حاصل کرنا چاہتے ہیں، میں اہم واپس جانے کے لئے کی ضرورت نہیں ہے میز اضافی خصوصیات حاصل کرنے کے لئے. میں ان اضافی منصوبے کر سکتے ہیں ٹیبل میں صفات رسائی پیٹرن کی حمایت کرنے کے. میرے خیال میں ہمیں شاید کچھ میں ہو رہے ہیں جانتے ہیں واقعی، ماتمی لباس میں ہو رہی really-- یہاں اس سامان میں سے کچھ پر. اب میں اس سے باہر آلگائے کے لئے مل گیا. سامعین: [اشراوی] --table اہم ایک ہیش مطلب تھا؟ اصل ہیش؟ کثیر کے slats؟ RICK HOULIHAN: جی ہاں. جی ہاں. میز کی چابی بنیادی طور پر واپس شے کی طرف اشارہ ہے. تو ایک انڈیکس ایک پوائنٹر واپس آ گیا ہے میز پر اصل اشیاء. اب آپ کو ایک کی تعمیر کے لئے منتخب کر سکتے ہیں صرف میز کی چابی ہے کہ انڈیکس، اور کوئی دیگر خصوصیات. اور مجھے ایسا کیوں کرتے ہو سکتا ہے؟ ٹھیک ہے، شاید میں بہت بڑے اشیاء ہیں. میں واقعی صرف جاننے کی ضرورت ہے which-- میرا رسائی پیٹرن، کا کہنا ہے کہ ہو سکتا ہے جن اشیاء اس کی خاصیت پر مشتمل؟ آئٹم کو واپس کرنے کی ضرورت نہیں ہے. میں صرف جاننے کی ضرورت ہے جن اشیاء پر مشتمل. تو آپ اشاریہ جات تعمیر کر سکتے ہیں کہ صرف میز کی چابی ہے. لیکن اس بنیادی طور پر کیا ہے ڈیٹا بیس میں ایک انڈیکس کے لئے ہے. یہ فوری طور پر کرنے کے قابل ہونے کے لئے ہے ، ریکارڈ ہے جس کی شناخت جس قطار، جس ٹیبل میں اشیاء ہیں میں نے کے لئے تلاش کر رہا ہوں کہ خصوصیات. GSIs، تو وہ کس طرح کام کرتے ہیں؟ GSIs بنیادی طور اتلیکالک ہیں. اپ ڈیٹ ٹیبل میں آتا ہے، میز پھر asynchronously اپ ڈیٹ کیا جاتا آپ GSIs کے تمام. GSIs ہیں یہی وجہ ہے آخر میں مسلسل. یہ نوٹ کرنا اہم ہے جب آپ GSIs تعمیر کر رہے ہیں، اور آپ کو پیدا کر رہے ہیں کو سمجھنے aggregation-- کا ایک اور طول و عرض اب ایک اچھی مثال کا کہنا ہے کہ یہاں ایک ادارہ ہے. میں نے کے بارے میں بات کی ہے ہو سکتا ہے ایک طبی آلہ ڈویلپر. طبی آلہ مینوفیکچررز اکثر سے serialized حصوں ہے. میں جانا ہے کہ حصوں ایک ہپ متبادل تمام ان پر تھوڑا سیریل نمبر ہے. اور وہ لاکھوں کر سکتے ہیں اور لاکھوں اور حصے اربوں وہ جہاز ہے کہ تمام آلات میں. ٹھیک ہے، وہ کے تحت مجموعی کرنے کی ضرورت ہے مختلف جہتوں، تمام حصوں ایک اسمبلی میں، تمام کی گئی ہے کہ حصوں ایک مخصوص لائن پر، تمام آیا ہے کہ حصوں ایک مخصوص کارخانہ دار سے ایک خاص تاریخ پر. کبھی کبھی یہ aggregations اربوں میں اٹھو. تو میں نے کچھ کے ساتھ کام کا شکار ہیں جو ان لوگوں وہ پیدا کر رہے ہیں کیونکہ ان ginormous aggregations ان ثانوی اشاریہ جات میں. وہ ایک خام حصوں ہو سکتا ہے صرف ہیش طور پر آتا ہے میز. ہر حصے ایک منفرد سیریل نمبر ہے. میں ہیش کے طور پر سیریل نمبر استعمال کریں. یہ خوبصورت ہے. میری خام ڈیٹا ٹیبل میں پھیلا ہوا ہے تمام اہم جگہ کے اس پار. میرا [؟ لکھنا؟] [؟ ادخال؟] بہت اچھا ہے. میں اعداد و شمار کے ایک بہت لے. پھر وہ کیا کرتے ہیں وہ ایک جی ایس آئی کی تخلیق ہے. اور مجھے دیکھنے کے لئے کی ضرورت ہے، آپ کو معلوم ہے، کا کہنا ہے کہ اس کارخانہ دار کے لئے تمام حصوں. ٹھیک ہے، ایک اچانک ہوں ایک ارب قطار لے، اور پر ان چیزیں ایک نوڈ، کیونکہ جب میں نے اس کے مجموعی ہیش کے طور پر ڈویلپر کی شناخت، اور رینج کے طور پر حصہ نمبر، تو میں ہوں اچانک میں ایک ارب حصوں لگا کیا اس صنعت نے مجھے جنم دیا ہے. یہ ایک بہت کا سبب بن سکتا جی ایس آئی پر دباؤ کی، ایک بار پھر، میں ایک نوڈ کرشنگ ہوں کیونکہ. میں نے ان تمام ڈال رہا ہوں ایک نوڈ میں داخل. اور یہ کہ ایک حقیقی مشکلات استعمال معاملہ ہے. اب، میں ایک اچھا ڈیزائن ہے اس سے بچنے کے لئے کس طرح کے لئے پیٹرن. اور یہ کہ مسائل میں سے ایک ہے میں نے ہمیشہ کے ساتھ کام کرتے ہیں کہ. کیا ہوتا ہے لیکن، جی ایس آئی سکتا ہے کافی لکھنے کی صلاحیت نہیں ان تمام لوگوں کو آگے بڑھانے کے لئے قابل ہو جائے کرنے کے لئے ایک نوڈ میں قطار. اور اس کے بعد کیا ہوتا ہے پرائمری، کلائنٹ کی میز، بنیادی میز جدوجہدکو کچلنے جائے گا جی ایس آئی کو برقرار رکھنے نہیں کر سکتے کیونکہ. تو میری ڈالیں درجہ بندی کریں گے بنیادی میز پر گر میرے جیایسآئ رکھنے کے لئے کی کوشش کرتا ہے کے طور پر. ٹھیک، لس کی، جی ایس آئی کی تو، میں جس میں سے ایک کا استعمال کرنا چاہئے؟ لس کی یکساں ہیں. جی ایس آئی کی آخر میں مسلسل ہیں. یہ ٹھیک ہے، میں نے ایک کا استعمال کرتے ہوئے مشورہ دیتے ہیں جی ایس آئی، وہ بہت زیادہ لچک دار ہو. لس ایک جیایسآئ کے طور پر ماڈلنگ جا سکتا ہے. اور اگر ہیش چابیاں فی ڈیٹا سائز میں آپ کے جمع 10 گیگا بائٹس سے تجاوز، تو آپ اس کا استعمال کرنا چاہتے ہیں جا رہے ہیں جیایسآئ یہ صرف ایک مشکل حد ہے کیونکہ. ٹھیک ہے، تو پیمائی. ڈائنےمو DB میں throughput کے، آپ کر سکتے ہیں کی فراہمی [اشراوی] ایک میز پر throughput کی. ہم ہے کہ گاہکوں کو تقسیم 60 billion-- باقاعدگی سے، 60 ارب کی درخواستوں کر رہے ہیں ایک ملین سے زائد درخواستوں پر چل رہا ہے ہمارے ٹیبل پر فی سیکنڈ. کوئی نہیں واقعی بات ہے نظریاتی حد کتنا اور کتنی تیزی سے میز ڈائنےمو DB میں چلا سکتے ہیں. کچھ نرم ہیں آپ کے اکاؤنٹ پر حدود ہم تو وہاں میں ڈال دیا کہ تم پاگل نہیں جاتے. تم سے زیادہ کرنا چاہتے ہیں تو کہ، کوئی مسئلہ نہیں. تم ہمیں بتاو آئے. ہم ڈائل تبدیل کر دونگا. ہر اکاؤنٹ کسی نہ کسی سطح تک محدود ہے ہر خدمت میں، صرف بیٹ سے دور تاکہ لوگوں کو پاگل نہیں جاتے مصیبت میں خود کو حاصل. سائز میں کوئی حد نہیں. آپ کسی بھی تعداد ڈال کر سکتے ہیں ایک میز پر اشیاء کی. ایک آئٹم کے سائز ہے 400 کلو بائٹ ہر ایک کے لئے محدود، کہ شے نہیں صفات ہو جائے گا. تمام صفات کی رقم تو 400 کلو بائٹ تک محدود ہے. اور پھر، ہم نے اس چھوٹی سی مسئلہ لس ہیش 10 فی گیگا بائٹ کی حد کے ساتھ. سامعین: چھوٹی سی تعداد، مجھے یاد کر رہی ہوں کیا آپ کو اس، مجھ سے کہہ رہے ہیں is-- سامعین: اوہ، 400 kilobyte آئٹم کے مطابق زیادہ سے زیادہ سائز ہے. تو ایک شے تمام صفات ہے. تو 400 K کل سائز ہے اس آئٹم کی، 400 کلو بائٹ. تمام صفات کی اتنی مل کر، تمام اعداد و شمار کہ ان تمام صفات میں ہے، کل سائز میں لپیٹ، فی الحال آج شے حد 400 K ہے. تو حاصل، پھر پیمائی partitioning کے ذریعے. throughput کے انتظام کیا جاتا ہے میز کی سطح پر. اور واقعی دو knobs ہے. ہم صلاحیت پڑھا ہے اور صلاحیت لکھنا. تو یہ ایڈجسٹ کر رہے ہیں آزادانہ طور پر ایک دوسرے کے. RCU کی پیمائش سختی سے مسلسل پڑھتا ہے. ٹھیک ہے، اگر ایسا ہے تو میں 1،000 چاہتے کہہ رہے RCU کی ان، سختی یکساں ہیں ان مسلسل پڑھتا ہے. میں چاہتے ہیں تو مسلسل ممکنہ، پڑھتا ہے رزق 1،000 کر سکتے ہیں RCU کی، تم جا رہے ہو آخر میں 2،000 حاصل کرنے کے لئے مسلسل پڑھتا ہے. اور ان لوگوں کے لئے نصف قیمت آخر میں پڑھتا ہے پر مشتمل ہوتے ہیں. ایک بار پھر، ایڈجسٹ آزادانہ طور پر ایک دوسرے کے. اور وہ throughput-- ہے آپ کو آپ کے RCU کے 100٪ بسم تو، آپ پر اثر انداز نہیں کر رہے ہیں آپ کے حقوق کی دستیابی. تو وہ مکمل طور پر ایک دوسرے سے آزاد. ٹھیک ہے، تو چیزوں میں سے ایک ہے میں مختصر طور پر گلا گھونٹنا تھا ذکر. تراٹلنگ برا ہے. تراٹلنگ کوئی SQL برا اشارہ. ہم مدد کرنے کے لئے کیا کر سکتے ہیں چیزیں ہیں آپ تراٹلنگ خاتمے کہ آپ سامنا کر رہے ہیں. لیکن سب سے بہترین حل اس کی لے ہے ایک وجہ سے، آپ کیا کر رہے ہیں کی طرف دیکھو یہاں کھیل میں انسداد پیٹرن ہے. یہ چیزیں، غیر وردی کی طرح چیزوں استعداد، شہوت انگیز چابیاں، گرم، شہوت انگیز پارٹیشنز. میں خاص طور پر اہم خلائی مار رہا ہوں بہت مشکل سے کچھ خاص وجہ کے لئے. کیوں میں یہ کر رہا ہوں؟ کی ہے کہ اعداد و شمار ہیں. مجھے سردی ڈیٹا کے ساتھ گرم، شہوت انگیز اعداد و شمار کے اختلاط رہا ہوں. میں نے اپنے ٹیبل حاصل دے رہا ہوں بہت بڑا، لیکن وہاں واقعی ہے اعداد و شمار کے صرف کچھ اپسمچی کہ مجھ سے واقعی دلچسپ ہے. تو کے لاگ ان اعداد و شمار کے، مثال کے طور پر، ایک بہت صارفین، وہ ہر دن کے اعداد و شمار لاگ ان حاصل. وہ لاگ ان اعداد و شمار کی ایک بڑی رقم ہے. آپ کو صرف تمام ہے کہ لاگ ان ڈمپنگ کر رہے ہیں وقت کے ساتھ ساتھ ایک بڑی ٹیبل میں ڈیٹا، اس کی میز بڑے پیمانے پر حاصل کرنے کے لئے جا رہا ہے. لیکن میں واقعی میں صرف دلچسپی رکھتے ہوں گزشتہ 24 گھنٹوں کے، گزشتہ سات دنوں، گزشتہ 30 دنوں. وقت کی جو ونڈو مجھے تلاش میں دلچسپی رکھتے ہوں مجھے پریشان کرتی ہے، یا اس ایونٹ کے لئے میرے لئے دلچسپ ہے کہ اس صورت، کہ مجھے اس کی ضرورت ہے کہ صرف ونڈو کا وقت ہے. تو کیوں میں نے 10 سال ڈال رہا ہوں ٹیبل میں لاگ ان اعداد و شمار کے قابل؟ کیا اس کا سبب بنتا ہے ٹیبل ٹکڑا. یہ بہت بڑا ہو جاتا ہے. یہ باہر پھیل شروع ہوتا ہے نوڈ کے ہزاروں کے پار. اور آپ کی صلاحیت کے بعد تم، اتنی کم ہے اصل میں ہر ایک پر محدود درجہ بندی لوگ انفرادی مراکز میں سے ایک. تو کس طرح دیکھ رہے شروع کر دیں ہم سے زیادہ ہے کہ ٹیبل رول کرتے. ہم اس ڈیٹا تھوڑا انتظام کیسے کروں بہتر ان مسائل سے بچنے کے لئے. اور کیا اس طرح نظر آئے ہے؟ یہ اس کی طرح لگتا ہے. یہ برا NoSQL کی طرح لگتا ہے. میں یہاں ایک گرم کلید ہے. آپ یہاں جانب نظر آتے ہیں، یہ سب میرے پارٹیشنز ہیں. میں یہاں 16 پارٹیشنز اٹھی یہ خاص طور پر ڈیٹا بیس پر. اس کوڈ سے ہم وقت کرتے ہیں. میں گاہکوں کے لئے ہر وقت اس کو چلانے کے. یہ گرمی نقشہ کہا جاتا ہے. حرارت کا نقشہ تم کس طرح مجھ سے کہتا ہے آپ کی چابی کی جگہ تک رسائی حاصل. اور کیا اس مجھ سے کہہ رہا ہے ایک خاص طور پر ہیش ہے کہ وہاں یہ آدمی ایک پسند کرتا ہے کہ خوفناک بہت، وہ ہے کیونکہ واقعی مشکل، واقعی اسے مارنے. تو نیلے رنگ اچھا ہے. ہم نیلے رنگ کی طرح. ہم سرخ پسند نہیں کرتے. ریڈ کی جہاں دباؤ 100٪ تک ہو جاتا ہے. 100٪، اب آپ جدوجہدکو کچلنے جا رہے ہیں. تو آپ کی طرح کسی بھی سرخ رنگ کی لائنز دیکھ جب this-- اور یہ صرف ڈائنےمو DB-- نہیں ہے ہر NoSQL ڈیٹا بیس اس مسئلہ ہے. مخالف پیٹرن کر سکتے ہیں کہ موجود ہیں حالات کی ان اقسام ڈرائیو. مجھے کیا کرنا میں گاہکوں کے ساتھ کام ہے ان حالات کے خاتمے کے لیے. اور کیا اس طرح نظر آئے ہے؟ اور یہ سب سے زیادہ ہو رہی ہے ڈائنےمو DB throughput کے باہر، لیکن یہ واقعی ہو رہی ہے NoSQL سے زیادہ سے زیادہ. یہ ڈائنےمو تک محدود نہیں ہے. یہ definitely-- ہوں Mongo کی میں کام کرنے کے لئے استعمال. میں نے بہت سے NoSQL پلیٹ فارم کے ساتھ واقف ہوں. ہر ایک ان اقسام گرم، شہوت انگیز اہم مسائل کے. کوئی NoSQL سے زیادہ سے زیادہ حاصل کرنے کے لئے ڈیٹا بیس، خاص طور پر ڈائنےمو DB، آپ کی میزیں پیدا کرنے کے لئے چاہتے ہیں جہاں ہیش اہم عنصر ہے الگ اقدار کی ایک بڑی تعداد، cardinality کی کی ایک اعلی ڈگری. کہ میں لکھ رہا ہوں کیونکہ اس کا مطلب مختلف بالٹیاں کے بہت سے. ہوں زیادہ بالٹیاں ، زیادہ امکان کو تحریری طور پر مجھے لگتا ہے کہ لکھنے بوجھ کو پھیلانے کے لیے ہوں یا ایک سے زیادہ نوڈس بھر میں لوڈ پڑھ، زیادہ امکان میں ایک حاصل کرنے ہوں میز پر اعلی throughput. اور پھر میں نے اقدار بننا چاہتا ہوں وقت کے ساتھ کافی یکساں طور پر درخواست اور یکساں طور پر تصادفی ہر ممکن حد تک. ٹھیک ہے، کہ، قسم کی دلچسپ ہے کیونکہ میں نہیں کر سکتے ہیں سچ میں کنٹرول صارفین آتے ہیں جب. ہم پھیل تو، کا کہنا ہے کہ کافی اہم خلائی بھر میں چیزوں کو باہر، ہم شاید بہتر شکل میں ہو جائے گا. ایک مخصوص نہیں ہے وقت کی ترسیل کی رقم تم جا نہیں کر رہے ہیں قابل کنٹرول ہونا. لیکن وہ واقعی ہیں ہم ہے کہ دو جہتوں، خلائی، یکساں طور پر رسائی پھیلاؤ، وقت، درخواستوں یکساں طور پر spaced وقت میں پہنچنے. اور ان دو تو شروط کیا جا رہا ہے، پھر یہ کہ یہ کیا ہے طرح نظر آتے جا. یہ بہت اچھا ہے. ہم یہاں بہت خوش ہیں. ہم نے ایک بہت تک رسائی حاصل پیٹرن ہے. جی ہاں، شاید آپ کو ہو رہی ہے ایک تھوڑا سا دباؤ اب اور تو ہر، لیکن کچھ بھی نہیں واقعی بہت وسیع. تو یہ، کتنی بار حیرت انگیز ہے میں گاہکوں کے ساتھ کام کرتے ہیں، بڑے سرخ رنگ کے ساتھ سب سے پہلے گراف بار اور جو اس کے پیلے رنگ ہے بدسورت سب جگہ، ہم ورزش کے ساتھ کیا ماہ کے ایک جوڑے کے بعد دوبارہ فن تعمیر کے، وہ بالکل وہی چلا رہے ہیں عین مطابق ایک ہی بوجھ میں کام کا بوجھ. اور اب یہ کی طرح لگ رہا ہے. تو کیا آپ NoSQL ساتھ ملتا ہے بالکل ہے کہ اعداد و شمار سکیما رسائی پیٹرن سے منسلک. اور آپ کو کہ ڈیٹا سکیما بہتر بنا سکتے ہیں رسائی پیٹرن کی حمایت کرنے کے. آپ ایسا نہیں کرتے، تو آپ جا رہے ہیں مسائل کی ان اقسام کو دیکھنے کے لئے ان گرم، شہوت انگیز چابیاں کے ساتھ. سامعین: ٹھیک ہے، لامحالہ کچھ مقامات دوسروں کے مقابلے میں hotter ہو جائے کرنے کے لئے جا رہے ہیں. RICK HOULIHAN: ہمیشہ. ہمیشہ. جی ہاں، میں نے ہمیشہ وہاں ہے مطلب a-- اور پھر، وہاں ہے کچھ ڈیزائن پیٹرن ہم کے ذریعے حاصل کریں گے کہ آپ کو نمٹنے کے لئے کس طرح کے بارے میں بات کریں گے ان سپر بڑے aggregations ساتھ. میرا مطلب ہے، میں نے ان کو مل گیا ہم ان کے ساتھ کس طرح نمٹنے کے ہیں؟ میں نے ایک خوبصورت اچھا استعمال کیس ملا ہم اس کے لئے کے بارے میں بات کریں گے کہ. ٹھیک ہے، تو چلو بات اب کے بارے میں کچھ صارفین کو. یہ لوگ AdRoll ہیں. تم تو مجھے نہیں معلوم AdRoll سے واقف. آپ نے شاید انہیں دیکھ براؤزر پر ایک بہت. وہ ہیں، اشتھار دوبارہ ہدف بنا رہے ہیں سب سے بڑا اشتھار دوبارہ ھدف بندی کاروبار وہاں سے باہر. وہ عام طور پر باقاعدگی سے زیادہ چلاتے ہیں فی دن 60 ارب لین دین. انہوں نے ایک ملین سے زائد کر رہے ہیں فی سیکنڈ لین دین. انہوں نے ایک خوبصورت سادہ ٹیبل مل گیا ہے ساخت، مصروف میز. یہ بنیادی طور پر صرف ایک ہیش کلید، کوکی ہے رینج آبادیاتی ہے قسم، اور اس کے بعد تیسری خصوصیت سکور ہے. تو ہم سب میں کوکیز ان لوگوں سے ہمارے براؤزر. اور آپ کو ایک کے لئے جانا جب مرچنٹ شرکت، وہ بنیادی طور پر پار اسکور مختلف اعداد و شمار اقسام. آپ کو ایک ویب سائٹ پر جانے کب اور میں اس ad-- دیکھنے کے لئے چاہتے ہیں یا بنیادی طور پر آپ that-- نہیں کہتے لیکن آپ کی ویب سائٹ پر جانے جب وہ آپ کو اس اشتھار کو دیکھنے کے لئے چاہتے ہیں. اور وہ AdRoll سے اشتھار جاؤ. AdRoll ان کی میز پر آپ کو لگتا ہے. انہوں نے اپنے کوکی جائے. کہہ مشتھرین ان میں کسی چاہتے ہیں جو، درمیانی عمر ہے کھیلوں میں 40 سالہ شخص،. اور وہ ان آبادی میں آپ سکور اور وہ یا نہ کرنے کا فیصلہ کہ آپ کے لئے ایک اچھا اشتہار ہے. اب وہ ایک SLA کے ساتھ ہے ان کے اشتہارات فراہم کرنے والے ذیلی 10 millisecond کی فراہم کرنے کے لئے ہر ایک کی درخواست پر جواب. تو وہ اس کے لئے ڈائنےمو DB استعمال کر رہے ہیں. انہوں نے ہمیں ایک مار رہے ہیں فی سیکنڈ ملین درخواستوں. وہ سب کرنے کے قابل ہو ان لک اپ، triage کی تمام اعداد و شمار، اور اس کے لئے واپس شامل لنک حاصل 10 milliseconds کے تحت میں مشتہر. یہ واقعی میں کافی غیر معمولی ہے نفاذ ہے کہ وہ ہے. یہ لوگ واقعی میں لوگ ان ہیں. میں یہ ان لوگوں کے ہے تو اس بات کا یقین نہیں ہوں. یہ لوگ ہو سکتا ہے. بنیادی طور پر میں، کوئی us-- بتایا یہ ان تھا نہیں لگتا. میں نے اسے کسی اور تھا. میں نے ایک ساتھ کام کر رہا تھا کسٹمر مجھے بتایا کہ کہ اب وہ ہے کہ ڈائنےمو DB پر چلا گیا، وہ کر رہے ہیں کے لئے نمکین پر زیادہ پیسہ خرچ ان کی ترقی کی ٹیم ہر مہینے وہ ان کے ڈیٹا بیس پر خرچ کے مقابلے میں. تو یہ آپ کو ایک دے دونگا لاگت کی بچت کا خیال آپ ڈائنےمو DB میں حاصل کر سکتے ہیں بہت بڑا ہے. ٹھیک، dropcam ایک کمپنی ہے. یہ آدمی قسم of-- اگر آپ کو لگتا ہے چیزوں کے انٹرنیٹ، dropcam کے بنیادی طور پر انٹرنیٹ سیکورٹی ویڈیو ہے. تم وہاں اپنے کیمرے باہر ڈال. کیمرے ایک تحریک پکڑنے والے ہے. کسی، کے ساتھ آتا ہے ایک کیو نقطہ تحریک. کیمرے تھوڑی دیر تک کے لئے ریکارڈنگ شروع ہوتا ہے یہ اب کسی بھی تحریک کا پتہ لگانے کے نہیں ہے. انٹرنیٹ پر ویڈیو اپ رکھتا ہے. Dropcam ہے کہ ایک کمپنی تھی بنیادی طور پر ڈائنےمو DB پر تبدیل وہ سامنا کر رہے تھے کیونکہ بہت زیادہ بڑھتے ہوئے درد. اور انہوں نے ہمیں بتایا ہے، اچانک اعداد و شمار کے petabytes. وہ کوئی اندازہ نہیں ان کی خدمت تھا تو کامیاب ہو جائے گا. یو ٹیوب سے زیادہ ان باؤنڈ ویڈیو یہ لوگ کر رہے ہو کیا ہے. وہ سب کو ٹریک کرنے DynamoDB استعمال ان کے تمام ویڈیو اہم نکات پر میٹا ڈیٹا. تو وہ دھکا S3 بالٹیاں ہے تمام بائنری نمونے میں. اور پھر وہ ڈائنےمو DB ریکارڈ ہے کہ ان S3 تین اشیاء پر لوگوں کی طرف اشارہ. انہوں نے ایک ویڈیو کو دیکھنے کے لئے کی ضرورت ہے، وہ ڈائنےمو DB میں ریکارڈ کو نظر آتے ہیں. وہ لنک پر کلک کریں. وہ S3 سے ویڈیو کے نیچے ھیںچو. تو ہے کہ اس کی طرح لگتا ہے کی طرح ہے. اور یہ ان کی ٹیم سے براہ راست ہے. ڈائنےمو DB ان کو کم کر دیتا ویڈیو واقعات کے لئے ترسیل کے وقت پانچ سے 10 سیکنڈ سے. اپنے پرانے سنبندپرک سٹور میں، وہ جانے اور پر عمل کرنے کے لئے استعمال کیا اعداد و شمار کے ایک سے زیادہ پیچیدہ سوالات جس ویڈیوز، نیچے ھیںچو کرنے کے لئے سے کم 50 milliseconds کے. تو یہ حیرت انگیز، حیرت انگیز ہے کتنا کارکردگی آپ کو بہتر بنانے کے جب آپ حاصل کر سکتے ہیں اور آپ کو ٹیون بنیادی ڈیٹا بیس رسائی پیٹرن کی حمایت کرنے کے. یہ کیا ہے Halfbrick، یہ لوگ،، مجھے لگتا ہے پھل ننجا ان کی بات ہے. ڈائنےمو DB تمام چلتا ہے کہ. اور ان لوگوں کو، وہ ایک عظیم ہیں ترقی کی ٹیم، عظیم ترقی دکان. ایک اچھا آپریشنز ٹیم. وہ ایک بہت کی ضرورت نہیں تھی آپریشن وسائل کی. وہ رکھنے کے لئے کی کوشش کر رہے جدوجہد کر رہے تھے ان کی درخواست بنیادی ڈھانچے کی اور چلانے. وہ ہمارے پاس آیا. انہوں نے کہا کہ ڈائنےمو DB میں دیکھا. انہوں نے کہا کہ ہمارے لئے ہے، نے کہا. انہوں نے ان کی پوری تعمیر اس پر درخواست فریم ورک. یہاں کچھ بہت اچھا تبصرے ان کی صلاحیت پر ٹیم کی طرف سے اب عمارت پر توجہ مرکوز کرنے کی کھیل اور نہ برقرار رکھنے کے لئے بنیادی ڈھانچے، جس ایک بہت بڑا رقم ہوتا جا رہا تھا ان کی ٹیم کے لئے ہیڈ. تو یہ کچھ ہے that-- آپ ڈائنےمو DB سے حاصل ہے کہ فائدہ. ٹھیک ہے، میں ہو رہی ہے یہاں ڈیٹا ماڈلنگ. اور ہم کے بارے میں تھوڑا بات ایک کے لئے اس سے ایک، بہت سے لوگوں کو ایک، اور کئی قسم کے تعلقات کی بہت. اور تم کس طرح ڈائنےمو میں ان کو برقرار رکھنے کرتے. ڈائنےمو DB میں ہم استعمال کرتے ہیں اشاریہ جات، عام طور پر بول، سے اعداد و شمار باری باری دکھائے گا ایک دوسرے کے ذائقہ. ہیش چابیاں، رینج چابیاں، اور اشاریہ جات. یہ خاص طور پر میں مثال کے طور پر، سب سے زیادہ امریکہ کے طور پر ایک لائسنسنگ کی ضروریات ہے کہ فی شخص صرف ایک ڈرائیور کا لائسنس. آپ کے پاس دو ڈرائیور کے حاصل کرنے کے لئے نہیں کر سکتے ہیں بوسٹن کی حالت میں لائسنس. میں ٹیکساس میں ایسا نہیں کر سکتا. یہ ہے جس طرح کی طرح ہے. اور اس طرح DMV میں، ہم لک اپ ہے، ہم ڈرائیور کا لائسنس کو دیکھنا چاہتا ہوں سوشل سیکورٹی نمبر کی طرف سے. میں صارف کی تفصیلات کو دیکھنا چاہتا ہوں ڈرائیور کا لائسنس نمبر کی طرف سے. تو ہم نے ایک صارف کی میز پر ہو سکتا ہے کہ سیریل نمبر پر ایک ہیش کلید ہے، یا سوشل سیکورٹی نمبر، اور مختلف صفات شے پر بیان کیا. اب اس کی میز پر میں ایک جیایسآئ کی وضاحت کر سکتا ہے کہ کا کہنا ہے کہ کے ارد گرد میں چاہتا ہوں کہ اتر پھر لائسنس اور ایک ہیش کلید تمام دیگر اشیاء. اب میں سوال اور تلاش کرنے کے لئے چاہتے ہیں تو کسی بھی سماجی لائسنس نمبر سیکورٹی نمبر، میں کر سکتا ہوں مرکزی میز سوال. میں استفسار کرنا چاہتا ہوں اور میں چاہتا ہوں تو سوشل سیکورٹی حاصل کرنے کے لئے نمبر یا کسی کی طرف سے دوسرے صفات لائسنس نمبر، میں جیایسآئ سوال کر سکتے ہیں. یہ ماڈل میں سے ایک ہے ایک رشتہ کرنے کے لئے. بس ایک بہت سادہ جیایسآئ، کے ارد گرد ان چیزوں پلٹائیں. اب، بہت سے لوگوں کو ایک کے بارے میں بات. بہت سے لوگوں کو ایک بنیادی طور پر ہے آپ ہیش رینج اہم. ہم اس کے ساتھ ایک بہت ملتا ہے کہاں استعمال کے کیس مانیٹر اعداد و شمار ہے. مانیٹر ڈیٹا باقاعدہ میں آتا ہے چیزوں کے انٹرنیٹ کی طرح وقفہ،. ہم نے ہمیشہ ان تمام حاصل ریکارڈز تمام وقت میں آ رہا. اور میں تمام ریڈنگ تلاش کرنا چاہتے ہیں ایک مخصوص وقت کی مدت کے درمیان. اس میں ایک بہت عام استفسار ہے نگرانی کے بنیادی ڈھانچے. اس کے بارے میں راستے پر چلنا ایک تلاش کرنے کے لئے ہے سادہ ٹیبل کی ساخت، ایک میز. میں نے ایک آلہ پیمائش ٹیبل مل گیا ہے ڈیوائس ID پر ایک ہیش کلید کے ساتھ. اور مجھے ایک رینج چابی ہے ٹائمسٹیمپ، یا اس کیس میں، مہاکاوی. اور یہ کہ میرے پیچیدہ پھانسی کی اجازت دیتا ہے اس کی حد اہم خلاف سوالات اور ان ریکارڈوں واپس نتیجہ کے رشتہ دار ہیں میں دیکھ رہا ہوں کہ مقرر. اور یہ کہ ایک بناتا ہے بہت سے تعلقات پر استعمال بنیادی ٹیبل میں ہیش کلید، رینج کلیدی ساخت. اس طرح اس طرح بنایا گیا ہے ڈائنےمو DB میں ٹیبل میں. میں نے ایک ہیش کی وضاحت جب اور رینج T ٹیبل، ہوں بہت سے تعلقات پر ایک وضاحت. یہ ایک والدین بچے کے تعلقات ہے. کے بہت سے کے بارے میں بات کرتے ہیں بہت سے تعلقات پر. اور یہ خاص طور مثال کے طور پر، ایک بار پھر، ہم نے جی ایس آئی کا استعمال کرنے جا رہے ہیں. اور کی گیمنگ کے بارے میں بات میں ایک دیئے گئے صارف ہے جہاں منظر نامے. میں تمام کھیل باہر تلاش کرنے کے لئے چاہتے ہیں کہ انہوں نے کے لئے یا میں کھیلنے رجسٹرڈ ہے. اور ایک دیئے گئے کھیل کے لئے، میں تمام صارفین تلاش کرنا چاہتے ہیں. تو کس طرح میں نے ایسا کرتے ہیں؟ اپنے صارف کھیل ٹیبل، میں جا رہا ہوں صارف ID کی ایک ہیش کلید حاصل کرنے اور کھیل کی ایک رینج کی چابی. ایک صارف ایک سے زیادہ کھیل ہو سکتا ہے. اس کے درمیان بہت سے تعلقات پر ایک ہے صارف اور وہ ادا کرتا ہے کھیل. اور پھر جی ایس آئی پر، میں اس کے ارد گرد پلٹائیں گے. میں کھیل پر ہیش گے اور میں صارف پر رینج گا. میں حاصل کرنے کے لئے چاہتے ہیں تو کھیل رکن کی، میں کھیلنے میں اہم میز سوال کریں گے. میں تمام صارفین کے حاصل کرنے کے لئے چاہتے ہیں، تو کہ ایک خاص طور پر کھیل کھیل رہے ہیں، میں جیایسآئ سوال. تو آپ کو ہم ایسا کس طرح دیکھ رہے ہو؟ تم ان جیایسآئ کی حمایت کرنے کے لئے تعمیر استعمال کے کیس، درخواست، رسائی پیٹرن، درخواست. میں نے سوال کرنے کی ضرورت ہے اس کے طول و عرض، دو مجھے اس کے طول و عرض پر انڈیکس تشکیل. میں ایسا نہیں کرتے تو، مجھے کوئی پرواہ نہیں. اور استعمال کے کیس پر منحصر ہے، میں انڈیکس کی ضرورت ہے یا مجھے نہ ہو سکتا ہے. یہ ایک سادہ ایک بہت سے لوگوں کو ہے تو، بنیادی میز ٹھیک ہے. میں ان سے اکثر کرتے ہیں کرنے کی ضرورت ہے بہت سے کی، یا میں، لوگوں کے لئے ایک کرنے کی ضرورت تو ہو سکتا ہے کی ضرورت ہے دوسری انڈیکس. تو یہ سب پر انحصار کرتا ہے مجھے کیا کرنے کی کوشش کر رہا ہوں اور میں ثابت کرنے کی کوشش کر رہا ہوں. شاید میں بھی خرچ کرنے کے لئے نہیں جا رہا ہوں زیادہ وقت دستاویزات کے بارے میں بات. یہ، شاید، ایک تھوڑا سا ہو جاتا ہے گہری ہم میں جانے کی ضرورت کے مقابلے میں. کی تھوڑا سا میں بات کرتے ہیں کے بارے میں امیر استفسار اظہار. تو ڈائنےمو DB میں ہم نے تخلیق کرنے کی صلاحیت ہم پروجیکشن اظہار کیا کہتے ہیں. پروجیکشن اظہار صرف کر رہے ہیں کھیتوں یا اقدار اٹھا آپ کو ظاہر کرنا چاہتے ہیں کہ. ٹھیک ہے، تو میں نے ایک کا انتخاب. میں ڈائنےمو DB کے خلاف ایک سوال بنانے. اور میں، شو آپ کو معلوم ہے، کا کہنا ہے کہ مجھے صرف پانچ ستارہ جائزے اس مخصوص مصنوعات کے لئے. تو اس میں دیکھنا چاہتی ہوں. میں سب کو دیکھنے کے لئے نہیں کرنا چاہتے صف کے دیگر صفات، میں نے صرف اس کو دیکھنے کے لئے چاہتے ہیں. یہ صرف جب SQL میں کی طرح ہے آپ منتخب ستارہ یا میز سے کہنا، آپ کو سب کچھ ملتا ہے. میں سے منتخب نام کا کہنا ہے کہ میز، میں صرف ایک وصف حاصل. یہ بات کے اسی قسم میں ہے ڈائنےمو DB یا دوسرے NoSQL ڈیٹا بیس. فلٹر اظہار کی مجھے اجازت بنیادی طور پر نیچے قائم نتیجہ کاٹ. تو میں نے ایک سوال بنانے. سوال 500 اشیاء کے ساتھ واپس آ سکتا ہے. لیکن میں صرف اشیاء چاہتے ہیں کہ اس کا کہنا ہے کہ ایک وصف ہے. ٹھیک ہے، تو ان اشیاء کو فلٹر دو کہ خاص سوال کے مطابق نہیں ہیں. تو ہم فلٹر اظہار ہے. فلٹر اظہار کر سکتے ہیں کسی بھی وصف پر چلایا جا. انہوں نے رینج سوالات کو پسند نہیں کر رہے ہیں. بلند سوالات زیادہ منتخب ہیں. فلٹر سوالات جانے کے لئے مجھ ضرورت پورے نتائج تو قائم کرنے اور حاصل میں نہیں چاہتا ڈیٹا بنانے. یہی وجہ ہے کہ ضروری ہے؟ میں نے یہ سب پڑھنے کی وجہ سے. ایک سوال میں، مجھے پڑھنے کے لئے جا رہا ہوں اور یہ اعداد و شمار کے بارے میں ایک وشال ہونے جا رہا ہے. اور پھر میں جا رہا ہوں مجھے اس کی ضرورت کیا بنانے. اور میں صرف باہر carving ہوں تو ایک قطار کے ایک جوڑے، تو یہ ٹھیک ہے. یہ تو غیر فعال نہیں ہے. لیکن میں نے ایک پوری ڈھیر پڑھ رہا ہوں تو اعداد و شمار، صرف، ایک شے کے باہر بنانے کے لئے تو میں بہتر جا رہا ہوں ایک رینج استفسار کا استعمال کرتے ہوئے، یہ بہت زیادہ ہے کیونکہ منتخب. یہ مجھ سے ایک بہت کو بچانے کے لئے جا رہا ہے پیسہ، میں نے پڑھا کی ادائیگی کے لئے کی وجہ سے. کہاں واپس آتا ہے کہ اس کے نتائج چھوٹے ہو سکتا ہے کہ تار کراس، لیکن میں پڑھنے کے لئے دے رہا ہوں. تو کس طرح سمجھنے آپ اعداد و شمار حاصل کر رہے ہیں. کہ ڈائنےمو DB میں بہت اہم ہے. مشروط اظہار، یہ کیا ہے آپ امید تالا فون کر سکتے ہیں. اپ ڈیٹ کریں اگر موجود ہے، یا اس کی قیمت تو میں وضاحت کیا کے برابر ہے. اور میں نے ایک پر ایک وقت سٹیمپ ہے تو ریکارڈ، میں اعداد و شمار پڑھ سکتا ہے. مجھے لگتا ہے کہ اعداد و شمار کو تبدیل کر سکتے ہیں. مجھے لکھنے جا سکتا ہے ڈیٹا بیس میں ڈیٹا واپس. کوئی ریکارڈ تبدیل کر دیا گیا تو، ٹائمسٹیمپ تبدیل کر دیا ہے ہو سکتا ہے. اور اس طرح میری مشروط اپ ڈیٹ اپ ڈیٹ کہہ سکتے ہیں ٹائمسٹیمپ یہ برابر ہے. یا اپ ڈیٹ کسی وجہ سے ناکام ہو جائے گی اس دوران میں ریکارڈ کو اپ ڈیٹ. یہی ہے جو ہم پر امید تالا کہتے ہیں. یہ کوئی مطلب میں آتے ہیں اور اسے تبدیل کر سکتے، اور میں اس کا پتہ لگانے کے لئے جا رہا ہوں میں واپس جانا جب لکھنا. اور پھر میں نے اصل میں اس کو پڑھ سکتے ہیں اعداد و شمار اور اوہ، وہ اس کو تبدیل کر دیا، کا کہنا ہے کہ. میں اس کے لئے اکاؤنٹ کرنے کی ضرورت ہے. اور میں اعداد و شمار تبدیل کر سکتے ہیں میرے ریکارڈ اور ایک اپ ڈیٹ کا اطلاق. تو آپ ان ورددشیل پکڑ کر سکتے ہیں وقت کے درمیان پائے جاتے ہیں کہ اپ آپ اعداد و شمار اور پڑھا ہے کہ وقت آپ کو ڈیٹا لکھ سکتا. سامعین: اور فلٹر اظہار اصل میں نہیں مطلب نمبر یا not-- میں [آوازیں interposing کی] RICK HOULIHAN: میں نہیں کروں گا اس میں بہت زیادہ ملتا ہے. یہ ایک مخصوص مطلوبہ الفاظ کی ہے. پونڈ نقطہ نظر ایک مخصوص ہے ڈائنےمو DB میں مطلوبہ الفاظ. ہر ڈیٹا بیس ہے اس کی اپنی مخصوص آپ استعمال نہیں کر سکتے ہیں کے مجموعے کے لئے نام. ڈائنےمو DB، آپ کی وضاحت تو اس کے سامنے میں ایک پونڈ، اگر آپ مندرجہ بالا ان لوگوں کے ناموں کی وضاحت کر سکتے ہیں. یہ ایک محولہ قیمت ہے. شاید یہ سب سے بہترین نحو نہیں ہے اس بحث کے لئے سائن اپ وہاں ہے، یہ کچھ real-- میں ہو جاتا ہے کیونکہ میں بات کر رہے ہیں کریں گے مزید ایک گہری سطح پر اس کے بارے میں. لیکن کا کہنا ہے کہ کافی، اس سکتا وہ views-- جہاں اسکین استفسار نہ پونڈ خیالات 10 سے بڑھ کر ہے. جی ہاں، ایک عددی قدر ہے. اگر آپ چاہتے ہیں، ہم کے بارے میں بات کر سکتے ہیں بحث کے بعد کہ. ٹھیک ہے، تو ہم میں حاصل کر رہے ہیں بہترین طریقوں میں کچھ منظرنامے جہاں ہم بات کرنے کے لئے جا رہے ہیں یہاں کچھ اطلاقات کے بارے میں. ڈائنےمو DB کے لئے استعمال کے مقدمات ہیں. ڈیزائن کیا ہیں ڈائنےمو DB میں پیٹرن. اور سب سے پہلے ہم جا رہے ہیں کے بارے میں بات چیزوں کے انٹرنیٹ ہے. مجھے لگتا ہے of-- تو ہم نے ایک بہت ملتا ہے، اندازہ لگانے والے 50 فیصد سے زائد ہے ان دنوں انٹرنیٹ پر ٹریفک کا اصل میں مشینوں کی طرف سے پیدا کیا جاتا ہے، نہ انسانوں کی طرف سے خود کار طریقے سے عمل،. میں نے یہ بات اس بات کا مطلب یہ ہے کہ آپ، اپنی جیب میں کے ارد گرد لے جانے کے کتنا اعداد و شمار اس بات ہے اصل میں آپ کو بغیر کے ارد گرد بھیج یہ جاننے کے بالکل حیرت انگیز ہے. اپنے محل وقوع، کے بارے میں معلومات روزہ کس طرح کے بارے میں جا رہے ہیں. آپ کو Google Maps کام کرتا ہے کس طرح کرتے ہیں وہ آپ کو بتا جب ٹریفک ہے. لاکھوں موجود ہیں کیونکہ یہ ہے اور کے ارد گرد ڈرائیونگ کے لوگوں کی لاکھوں بھیج رہے ہیں کہ فونز کے ساتھ تمام وقت جگہ پر اعداد و شمار. چیزوں میں سے ایک تو اعداد و شمار کے اس قسم کے بارے میں کہ میں آتا ہے، مانیٹر ڈیٹا، لاگ ان کریں ڈیٹا، وقت سیریز کے اعداد و شمار، یہ ہے عام طور پر صرف دلچسپ وقت کا ایک تھوڑا سا کے لئے. اس وقت کے بعد، یہ ہے اتنی دلچسپ نہیں. تو ہم اجازت نہیں ہے، کے بارے میں بات ان میزیں حد کے بغیر بڑھ. یہاں خیال شاید میں 24 مل گیا ہے ہے میری گرم ٹیبل میں ہونے والے واقعات کی مالیت گھنٹے. اور یہ کہ گرم، شہوت انگیز میز پر جا رہا ہے ایک بہت ہی اعلی کی شرح میں تقسیم، یہ اعداد و شمار کی ایک بہت لے جا رہا ہے کی وجہ سے. یہ اعداد و شمار کی ایک بہت لے جا رہا ہے اور میں یہ ایک بہت پڑھ رہا ہوں. میں آپریشن کے ایک بہت ہے کہ اعداد و شمار کے خلاف چل رہا ہے سوالات. 24 گھنٹے کے بعد، ارے، تم مجھے کوئی پرواہ نہیں ہے، جانتے ہیں. تو شاید ہر آدھی رات میں رول ایک نئی میز پر سے زیادہ میری میز اور میں نے اس کی میز deprovision. اور میں لے لیں گے اور RCU WCU کے نیچے کی وجہ سے 24 گھنٹے بعد میں کئی کے طور پر چل رہا ہے نہیں کر رہا ہوں کہ اعداد و شمار کے خلاف سوالات. لہذا میں نے پیسے کو بچانے کے لئے جا رہا ہوں. اور شاید 30 دنوں کے بعد مجھے نہیں پتہ یہاں تک کہ اس سب کے بارے میں دیکھ بھال کرنے کی ضرورت ہے. میں WCU کی لگ سکتا ہے ایک کے لئے تمام طریقے سے نیچے، آپ کو معلوم ہے، کیونکہ یہ ہے کبھی نہیں لکھا حاصل کرنے کے لئے جا رہا. ڈیٹا 30 دن پرانی ہے. یہ کبھی نہیں بدل. اور یہ، پڑھ حاصل کرنے کے لئے جا رہے تقریبا کبھی نہیں ہے تو صرف 10 نیچے RCU ڈالیں. اور میں نے اس پر پیسے کی ایک ٹن کی بچت کر رہا ہوں ڈیٹا، اور صرف اپنے گرم، شہوت انگیز اعداد و شمار کے لئے ادائیگی. تو اس کو دیکھنے کے لئے اہم بات یہ ہے آپ ایک وقت سیریز میں نظر آتے ہیں جب میں ڈیٹا حجم میں آنے والے. یہ حکمت عملی ہیں. اب، میں صرف یہ کر سکتا ہے سب ایک ہی میز پر جائیں اور صرف اس میز بڑھاؤ. آخر میں، میں جا رہا ہوں کارکردگی کے مسائل دیکھیں. میں ذخیرہ کرنے کے لئے شروع کرنے کے لئے جا رہا ہوں میز سے دور کہ اعداد و شمار میں سے کچھ، کیا نہیں. کی زیادہ بہتر ہیں آپ کی درخواست کے ڈیزائن تو آپ کو حق اس طرح کام کر سکتے ہیں. تو یہ صرف خود کار طریقے سے ہے درخواست کے کوڈ میں. آدھی رات کو ہر رات میں یہ میز فہرستوں. ہو سکتا ہے کہ جو میں نے کی ضرورت ہے ایک سلائڈنگ ہے اعداد و شمار کے 24 گھنٹے کی کھڑکی. اس کے بعد ایک باقاعدہ بنیاد پر ہوں میز سے دور ڈیٹا بلا. میں نے ایک ساتھ اس تراشنا ہوں کران کام اور میں نے اسے ڈال رہا ہوں ان دیگر میزیں پر، آپ کو ضرورت ہے جو کچھ بھی. ایک رول اوور کام تو، یہ بہت اچھا ہے. اگر نہیں، تو، یہ ٹرم. لیکن ہے کہ گرم ڈیٹا کو برقرار رکھنے کی اجازت دور اپنے سرد اعداد و شمار سے. یہ آپ کو پیسے کی ایک بہت بچا لے گا اور اپنے ٹیبلز زیادہ کارکردگی دکھانے بنانے. تو اگلی بات ہم بات کریں گے کے بارے میں مصنوعات کی کیٹلوگ ہے. مصنوعات کی کیٹلوگ ہے بہت عام استعمال کے کیس. یہ اصل میں ایک بہت عام پیٹرن ہے ہم چیزوں کی ایک قسم میں دیکھیں گے کہ. آپ کے لئے، ٹویٹر جانتے مثال کے طور پر، ایک گرم کریں. ہر کوئی آ رہا ہے اور کہ ٹویٹ پکڑ. مصنوعات کی کیٹلوگ، میں فروخت ہے. میں ایک گرم فروخت ہے. میں فی 70،000 درخواستوں ہے دوسرے کی مصنوعات کے لئے آنے والے میرے مصنوعات کی کیٹلوگ باہر وضاحت. ہم خوردہ یہ دیکھ آپریشن بہت تھوڑا سا. تو ہم کس طرح اس سے نمٹنے کے ہیں؟ اس کے ساتھ نمٹنے کے لئے کوئی راستہ نہیں ہے. تمام اپنے صارفین کو دیکھنے کے لئے چاہتے ہیں اعداد و شمار کے ایک ہی ٹکڑے. وہ جما، میں آ رہے ہیں کر رہے ہیں. اور وہ تمام درخواستوں کر رہے ہیں اعداد و شمار کے ایک ہی ٹکڑے کے لئے. یہ میرے دیتا ہے گرم کلید، کہ بڑے سرخ ہم پسند نہیں کرتے کہ اپنے چارٹ پر پٹی. اور یہ کہ اس طرح لگتا ہے. میری چابی خلائی بھر میں ہو رہی ہے تو فروخت اشیاء میں درج کیا. میں کہیں اور کچھ بھی نہیں ہو رہی ہے. میں کس طرح اس مسئلے کے خاتمے کے ہیں؟ ٹھیک ہے، ہم کیشے کے ساتھ اس کے خاتمے کے. کیشے، آپ میں میموری بنیادی طور پر ایک ڈال ڈیٹا بیس کے سامنے تقسیم. ہم کامیاب رہے ہیں [اشراوی] کیشے، آپ کو کس طرح اپنی خود کی کیشے قائم کر سکتے ہیں، [اشراوی] کیشے [؟ D،؟] جو تم چاہتے ہو. ڈیٹا بیس کے سامنے رکھو. اور اس طرح آپ کو کہ ڈیٹا محفوظ کر سکتے ہیں کہ کیشے میں ان گرم، شہوت انگیز چابیاں سے جگہ اور کیشے کے ذریعے پڑھنے کے. اور اس کے بعد سب سے زیادہ آپ پڑھتا اس طرح دیکھ کر شروع. میں ان کیشے یہاں سب کو مار دیتی ہے کر لی اور میں نے کچھ نہیں یہاں نیچے جا کر لی ڈیٹا بیس کے پیچھے بیٹھے ہوئے ہے کیونکہ کیشے کے ذریعے کبھی نہیں آئے پڑھتا. میں ڈیٹا کو تبدیل کرتے ہیں ڈیٹا بیس، میں کیش اپ ڈیٹ کرنا پڑے. ہمیں کچھ استعمال کر سکتے ہیں کی طرح ایسا کرنے کے لئے بھاپ. اور میں اس کام کے لئے کس طرح کی وضاحت کریں گے. ٹھیک ہے، پیغام رسانی. ای میل، ہم تمام ای میل کا استعمال کرتے ہیں. یہ ایک بہت اچھی مثال ہے. ہم پیغامات ٹیبل کے کسی قسم ہے. اور ہم ان باکس اور آؤٹ باکس مل گیا. یہ SQL گا ہے کہ ان باکس کی تعمیر کے لئے کی طرح نظر آتے. ہم اس قسم کی ایک ہی قسم کا استعمال کرتے ہیں جی ایس آئی کی جیایسآئ کی، استعمال کرنے کے لئے حکمت عملی کے میرے ان باکس آؤٹ باکس اور میرے لئے. تو میں خام پیغامات آ گیا میرے پیغامات کے ٹیبل میں. اور اس کے لئے سب سے پہلے نقطہ نظر ہو سکتا ہے، ٹھیک ہے، کوئی مسئلہ نہیں، کا کہنا ہے کہ. میں خام پیغامات مل گیا ہے. آنے والے پیغامات [اشراوی]، پیغام ID، یہ بہت اچھا ہے. وہ اپنے منفرد ہیش ہے. میں نے دو جیایسآئ کی تخلیق کرنے کے لئے جا رہا ہوں ایک میرے ان باکس، آؤٹ باکس میرے لئے ایک کے لئے. اور پہلی چیز میں کروں گا میں اپنے ہیش کلید ہے کہیں گے ہے وصول کنندہ جا رہا ہے اور میں نے تاریخ پر بندوبست کرنے جا رہا ہوں. یہ بہت اچھا ہے. میں یہاں اپنے اچھا نقطہ نظر ہے. لیکن ایک چھوٹی سی مسئلہ یہاں ہے. اور تم میں اس میں چلاتے ہیں سنبندپرک ڈیٹا بیس کے طور پر اچھی طرح سے. وہ عمودی طور پر علیحدگی بلایا. آپ اپنے بڑے ڈیٹا کو برقرار رکھنے کے لئے چاہتے ہیں دور اپنے چھوٹے اعداد و شمار سے. میں ہوگا کیونکہ وجہ ہے صفات حاصل کرنے کے لئے اشیاء کو پڑھنے جانا. اور میرے جسم یہاں تمام پر ہیں تو، اس کے بعد صرف چند اشیاء پڑھنے میرے جسم کی لمبائی ہے 256 کلو بائٹ ہر اوسط، ریاضی خوبصورت بدسورت ہو جاتا ہے. تو میں داؤد کے ان باکس کو پڑھنے کے لئے چاہتے ہیں. داؤد کے باکس 50 اشیاء ہے. اوسط اور سائز 256 کلو بائٹ ہے. یہاں میری تبادلوں کا تناسب ہے RCU کے لیے چار کلو بائٹ ہے. ٹھیک ہے، کے ساتھ جانے بالآخر مسلسل پڑھتا ہے. میں اب بھی 1600 RCU کی کھا رہا ہوں صرف داؤد کے ان باکس کو پڑھنے کے لئے. آاچ. ٹھیک ہے، اب اس کی سوچنے دو اپلی کیشن کام کرتا ہے کے بارے میں. مجھے ایک ای میل اپلی کیشن میں ہوں تو اور میں، میرے ان باکس میں دیکھ رہا ہوں اور میں ہر پیغام کی باڈی پر نظر، نہیں، میں خلاصے میں دیکھ رہا ہوں. میں صرف ہیڈر میں دیکھ رہا ہوں. تو ایک میز کی ساخت تعمیر کہ زیادہ اس طرح لگ رہا ہے. تو یہاں معلومات اپنے کام کے فلو کی ضرورت ہے. یہ میرے ان باکس جیایسآئ میں ہے. یہ تاریخ ہے، مرسل، موضوع، اور اس کے بعد بتاتے ہیں جو پیغام کی شناخت، واپس پیغامات کی میز پر جہاں میں نے جسم حاصل کر سکتے ہیں. ٹھیک ہے، یہ ریکارڈ کی شناخت ہو جائے گا. وہ واپس طرف اشارہ کریں گے ڈائنےمو DB میز پر شے کی شناخت. ہر انڈیکس ہمیشہ creates-- ہمیشہ شے ہے کہ of-- حصہ کے طور پر شناخت انڈیکس کے ساتھ آتا ہے. بالکل ٹھیک. سامعین: یہ بتاتا ہے یہ محفوظ ہے کہاں؟ RICK HOULIHAN: جی ہاں، یہ بتاتا ہے exactly-- کہ ہے بالکل وہی جو ہے. اسے یہاں کا کہنا میری دوبارہ ریکارڈ ہے. اور یہ میرے دوبارہ ریکارڈ کرنے کے لئے واپس کی طرف اشارہ کریں گے. بالکل. ٹھیک ہے، تو اب میرے ان باکس ہے اصل میں بہت چھوٹا. اور یہ اصل میں کی حمایت کرتا ہے ایک ای میل اپلی کیشن کے کام کے فلو کو. میرے ان باکس تو، میں پر کلک کریں. میں ساتھ جاؤ اور میں پیغام پر کلک کریں، میں جسم جاؤ کرنے کی ضرورت ہے کہ جب، ہے میں جا رہا ہوں کیونکہ ایک مختلف نقطہ نظر کے لئے جانا. آپ کے MVC قسم کے بارے میں سوچنا تو اگر فریم ورک، ماڈل نقطہ نظر کنٹرولر. ماڈل پر مشتمل ہے ڈیٹا لنک ضروریات کو اس اور کنٹرولر کے ساتھ انٹرایکٹ کر سکے. میں فریم تبدیل، جب میں نقطہ نظر تبدیل، اس کے پاس واپس جانے کے لئے ٹھیک ہے سرور اور ماڈل repopulate، اس صارف کی توقع رکھتا ہے کیا ہے کیونکہ. وہ خیالات کو تبدیل جب، کہ جب ہے ہم واپس ڈیٹا بیس پر جا سکتے ہیں. تو ای میل، پر کلک کریں. میں جسم کے لئے تلاش کر رہا ہوں. راؤنڈ ٹرپ. جسم جاؤ. میں نے بہت کم اعداد و شمار پڑھ. میں صرف لاشوں پڑھ رہا ہوں کہ وہ ان کی ضرورت ہے جب داؤد کی ضرورت ہے. اور میں 1600 میں جلا نہیں کر رہا ہوں RCU صرف اپنے ان باکس ظاہر کرنے کے لئے. تو اب یہ طریقہ ہے that-- LSI یا GSI-- میں معافی چاہتا ہوں کہ، جی ایس آئی، باہر کام کرے گا. ہم وصول کنندہ پر ہمارے ہیش مل گیا ہے. ہم تاریخ پر رینج کلید ہے. اور ہم پیش صفات مل گیا ہے ہم نقطہ نظر کی حمایت کرنے کے لئے صرف کی ضرورت ہے. ہم آؤٹ لئے اس کو باری باری دکھائے. مرسل پر ہیش. اور جوہر میں، ہم نے بہت اچھا، صاف نقطہ نظر. اور یہ بنیادی طور پر ہم نے یہ اچھا پیغامات اچھی طرح سے کی وجہ سے پھیل جا رہا ہے کہ میز اس ہیش صرف، سے hashed پیغام ID ہے. اور ہم دونوں کے اشاریہ جات ہے کہ اس کی میز سے دور گھومنے ہیں. ٹھیک ہے، تو یہاں خیال نہیں ہے بڑے اعداد و شمار اور اس چھوٹے سے ڈیٹا کو برقرار رکھنے ایک دوسرے کے ساتھ. عمودی طور پر تقسیم، ان میزیں تقسیم. اعداد و شمار پڑھ نہیں آپ کی ضرورت نہیں ہے. ٹھیک، گیمنگ. ہم سب کھیل پسند ہے. کم سے کم میں تو کھیل پسند ہے. چیزوں میں سے کچھ تو ہم جب سے نمٹنے ہم صحیح، گیمنگ کے بارے میں سوچ رہے ہیں؟ ان دنوں گیمنگ، خاص طور پر موبائل گیمنگ، تمام سوچ کے بارے میں ہے. اور میں یہاں ایک باری باری دکھائے گا کرنے کے لئے جا رہا ہوں دور DynamoDB سے تھوڑا سا. میں لانے کے لئے جا رہا ہوں بحث میں سے کچھ میں سے کچھ کے ارد گرد دیگر اوس ٹیکنالوجی. لیکن گیمنگ کے بارے میں خیال میں سوچنا ہے APIs کے شرائط میں، ہیں کہ APIs، عام طور پر، HTTP اور JSON بات. یہ ہے کہ کس طرح موبائل کھیل قسم کی اپنی پیٹھ سروں کے ساتھ بات چیت. وہ JSON پوسٹنگ کرتے. انہوں نے اعداد و شمار حاصل، اور یہ سب ہے، عام طور پر اچھا JSON APIs کے، بات. دوست مل کی طرح چیزیں، حاصل لیڈربورڈ، Exchange ڈیٹا، صارف پیدا مواد، نظام تک واپس دھکا، ان چیزوں کی اقسام ہیں ہم کیا کرنے جا رہے ہیں کہ. ثنائی کے اثاثہ اعداد و شمار، اس کے اعداد و شمار ڈیٹا بیس میں نہیں بیٹھ سکتا. یہ ایک میں بیٹھ سکتا ہے آبجیکٹ سٹور، ٹھیک ہے؟ لیکن ڈیٹا بیس کی جا رہی ہے نظام کہہ ختم، درخواست بتا یہ کہاں ملے گا. اور لامحالہ، پر multiplayer سرورز، واپس آخر بنیادی ڈھانچے، اور اعلی کے لئے ڈیزائن کیا دستیابی اور اسکیل ایبلٹی. تو یہ ہم سب چاہتے ہیں کہ چیزیں ہیں گیمنگ بنیادی ڈھانچے آج. تو میں ایک نظر ڈالیں کیا اس کی طرح لگتا ہے. ، ایک بنیادی پیچھے آخر ہے بہت سیدھا. ہم یہاں کے ساتھ ایک نظام ہے ایک سے زیادہ دستیابی زون. لگتا being-- کے طور پر ہم کے بارے میں بات AZs ان میں سے الگ الگ ڈیٹا مراکز کے طور پر. ایک سے زیادہ ڈیٹا سینٹر زیڈ کے مطابق، لیکن اس، ٹھیک ہے صرف الگ الگ ڈیٹا کے طور پر ان کے بارے میں سوچنا جغرافیائی ہیں کہ مراکز اور غلطی الگ تھلگ. ہم نے ایک حاصل کرنے کے لئے جا رہے ہیں جوڑے EC2 واقعات. ہم جا رہے ہیں کچھ واپس آخر سرور. آپ کو ایک میراث بھی ویسی ہی ہو سکتا ہے تو فن تعمیر، ہم ہیں ہم RDS کے فون کا استعمال کرتے ہوئے، سنبندپرک ڈیٹا بیس کی خدمات. MSSQL ڈیٹا، ایس کیو ایل ہو سکتا ہے، یا اس طرح کچھ. اس طرح ایک بہت ایپلی کیشنز ہے آج کیا گیا ہے. ویسے ہم ساتھ جانے کے لئے چاہتے ہو سکتا ہے ہم باہر پیمانے جب یہ ہے. ہم آگے بڑھیں اور ڈال دیں گے وہاں S3 بالٹی. اس S3 بالٹی، بجائے کی خدمت ہمارے servers-- سے ان اشیاء ہم ایسا کر سکتے ہیں. آپ نے اپنے تمام بائنری ڈال آپ کے سرور پر اشیاء اور آپ کو ان سرور استعمال کر سکتے ہیں واقعات کہ اعداد و شمار کی خدمت کرنے کے لئے. لیکن اس بہت مہنگی ہے. ایسا کرنے کے لئے بہتر طریقہ آگے بڑھو اور ہے ایک S3 بالٹی میں ان اشیاء ڈال دیا. S3 کسی چیز ذخیرہ ہے. اس کے لئے خاص طور پر بنایا گیا ہے چیزوں کی ان اقسام کی خدمت. اور ان کے گاہکوں کی درخواست دیں براہ راست ان اعتراض کی بالٹیوں سے، سرورز offload. تو ہم یہاں سے باہر پیمانے پر شروع کر رہے ہیں. اب ہم تمام دنیا بھر کے صارفین کو مل گیا. میں صارفین کو مل گیا. میں مقامی طور پر مواد حاصل کرنے کی ضرورت ہے صحیح، ان صارفین کے قریب واقع؟ میں ایک S3 بالٹی پیدا کیا ہے اپنے منبع مخزن کے طور پر. اور میں سامنے کروں گا کے ساتھ اس سے CloudFront تقسیم. سے CloudFront ایک سی ڈی اور ہے مواد کی ترسیل کے نیٹ ورک. بنیادی طور پر یہ آپ کی وضاحت کہ اعداد و شمار لیتا ہے اور انٹرنیٹ پر یہ سب کیش صارفین کو ہر جگہ کر سکتے ہیں تاکہ ایک بہت فوری ردعمل جب وہ ان اشیاء کی درخواست. تو آپ کو ایک خیال حاصل کرنے کے. آپ کی طرح کی کا فائدہ کر رہے ہیں تمام اوس کے پہلوؤں یہاں یہ کیا حاصل کرنے کے لئے. اور آخر میں، ہم پھینکیں ایک آٹو پیمائی گروپ میں. ہمارے AC2 واقعات تو ہمارے کھیل کے سرورز کی، وہ مصروف کرنے کے لئے شروع کے طور پر اور مصروف اور مصروف، وہ صرف ایک اور سپن گا مثال کے طور پر،، ایک اور مثال گھماؤ ایک اور مثال گھماؤ. اوس، یہ ہے ٹیکنالوجی اتنی آپ پیرامیٹرز کی وضاحت کی اجازت دیتا ہے جس کے ارد گرد آپ کے سرور ہو جائے گا. تو آپ کو سرور کی ن نمبر کر سکتے ہیں کسی بھی وقت وہاں سے باہر. آپ کی لوڈ دور ہو جاتا ہے اور اگر وہ گے سکڑ، تعداد مرجھا جائے گا. اور لوڈ واپس آتا ہے تو، یہ elastically، باہر واپس ہو جائے گا. تو یہ بہت اچھا لگتا ہے. ہم EC2 واقعات کی ایک بہت ہے. ہم میں کیشے ڈال کر سکتے ہیں ڈیٹا بیس کے سامنے، کوشش اور ڈیٹا بیس کو تیز. اگلے دباؤ نقطہ عام طور پر لوگوں کو دیکھا وہ ایک کا استعمال کرتے ہوئے کھیل پیمانے پر ہے سنبندپرک ڈیٹا بیس کے نظام. جیج، ڈیٹا بیس کارکردگی خوفناک ہے. ہم کس طرح بہتر بنانے کرتے ہیں؟ کی ڈال کرنے کی کوشش کرتے ہیں اس کے سامنے میں کیشے. ویسے، کیشے کام نہیں کرتا کھیل ہی کھیل میں بہت اچھا، ٹھیک ہے؟ کھیل کے لئے، تحریری طور پر تکلیف دہ ہے. کھیل بہت بھاری لکھ. تم جب کیشے کام نہیں کرتا آپ کو ہمیشہ ہے کیونکہ بھاری لکھنا کیشے کو اپ ڈیٹ کرنے کے لئے ہے. تم نے اسے ہے، کیشے کو اپ ڈیٹ غیر متعلقہ کیشنگ جائے گا. یہ اصل میں صرف اضافی کام ہے. تو ہم یہاں جانا کہاں ہے؟ تم نے ایک بڑا bottleneck کے مل گیا ہے وہاں ڈیٹا بیس میں. اور جگہ جانے کے لئے واضح طور پر علیحدگی ہے. علیحدگی نہیں ہے تم جب ایسا کرنے کے لئے آسان سنبندپرک ڈیٹا بیس کے ساتھ نمٹنے. سنبندپرک ڈیٹا بیس کے ساتھ، تم انتظام کے لئے ذمہ دار، مؤثر طریقے سے، اہم خلائی. آپ کو ایک اور ایم کے درمیان صارفین کہہ رہے ہیں (ن) اور Z وہاں جانے کے درمیان، یہاں جانا. اور آپ سوئچنگ کر رہے ہیں درخواست بھر میں. تو آپ کے ساتھ نمٹنے کر رہے ہیں اس تقسیم ڈیٹا کا ذریعہ. آپ ٹرانزیکشنل رکاوٹوں ہے کہ پارٹیشنز اسپین نہیں. آپ کے تمام قسم کے مل گیا ہے تم کہ messiness سے وہاں نیچے کی کوشش کر کے ساتھ نمٹنے باہر پیمائی کے ساتھ نمٹنے کے لئے اور ایک بڑے بنیادی ڈھانچے کی تعمیر. یہ صرف کوئی مزہ نہیں ہے. سامعین: تو آپ کہہ رہے ہیں کہ ذریعہ پوائنٹس میں اضافہ کی رفتار عمل؟ RICK HOULIHAN: بڑھتی ہوئی؟ سامعین: ماخذ پوائنٹس. RICK HOULIHAN: ماخذ پوائنٹس؟ سامعین: معلومات سے، جہاں معلومات سے آ رہا ہے؟ RICK HOULIHAN: نمبر میں کیا کہہ رہا ہے میں اضافہ ڈیٹا سٹور میں partitions کی تعداد throughput کو بہتر بناتا ہے. تو کیا یہاں کیا ہو رہا ہے صارفین کو ہے یہاں EC2 مثال میں آنے، اچھی طرح سے، میں نے ایک صارف کی ضرورت ہے تو کہ ایم ایک ہے، میں یہاں جائیں گے. (ن) سے P کرنے کے لئے، میں یہاں جائیں گے. Z کرنے کے لئے P کی، میں یہاں جائیں گے. سامعین: ٹھیک ہے، وہ اتنا لوگ ہیں تمام مختلف مراکز میں ذخیرہ؟ RICK HOULIHAN: جی ہاں. ان کے بارے میں سوچو اعداد و شمار کے مختلف silos کے. تو آپ کو ایسا کرنے کے لئے کر رہے ہیں. آپ کو ایسا کرنے کی کوشش کر رہے ہیں اس، آپ کوشش کر رہے ہیں ایک سنبندپرک پلیٹ فارم پر لانے کے لئے، یہ آپ کیا کر رہے ہیں ہے. آپ اعداد و شمار لے جا رہے ہیں اور آپ اس کے نیچے کاٹنے رہے ہیں. اور آپ کے اس پار علیحدگی رہے ڈیٹا بیس کی ایک سے زیادہ مثالیں. اور تم سب کو منظم کرنے کر رہے ہیں کہ درخواست درجے پر. یہ کوئی مذاق ہے. تو کیا ہم جانا چاہتے ہو؟ ہم DynamoDB، مکمل منظم جانے کے لئے چاہتے ہیں، NoSQL ڈیٹا اسٹور، فراہمی throughput کے. ہم ثانوی اشاریہ جات استعمال کرتے ہیں. یہ بنیادی طور پر HTTP API اور دستاویز کی حمایت بھی شامل ہے. تو آپ کو فکر کرنے کی ضرورت نہیں ہے کہ علیحدگی کی کسی کے بارے میں. ہم آپ کے لئے یہ سب کیا. تو اب، بجائے، آپ صرف میز پر لکھنے. میز تقسیم کرنے کی ضرورت ہے تو، کہ پردے کے پیچھے ہوتا ہے. آپ مکمل طور پر موصل کر رہے ہیں ایک ڈویلپر کے طور پر اس سے. تو کے بارے میں بات کرتے ہیں استعمال کے مقدمات میں سے کچھ ہم گیمنگ میں، عام میں چلانے گیمنگ منظرنامے، لیڈربورڈ. تو آپ کو، صارفین میں آ گیا ہے وہ کر رہے ہیں کہ BoardNames پر، اس صارف کے لئے سکور. ہم صارف کی شناخت پر hashing کے کیا جا سکتا ہے اور اس کے بعد ہم آپ کو کھیل پر رینج ہے. تو ہر صارف کو دیکھنے کے لئے چاہتا ہے انہوں نے ادا کیا ہے تمام کھیل اور ان کے تمام سب سے اوپر سکور تمام کھیل بھر میں. تو ہے کہ ان کی ذاتی لیڈر ہے. اب میں میں جانے کے لئے چاہتے ہیں اور میں get-- کرنا چاہتے ہیں تو میں نے ان کی ذاتی لیڈربورڈز حاصل. مجھے کیا کرنا چاہتے ہو جاؤ ہے تمام صارفین بھر میں اعلی سکور. تو کس طرح میں نے ایسا کرتے ہیں؟ میرا ریکارڈ پر hashed ہے جب صارف کی شناخت، کھیل پر بچھے، ساتھ ساتھ میں نے آگے جانے کے لئے جا رہا ہوں اور تنظیم نو،، ایک جیایسآئ تخلیق اور میں اس کے اعداد و شمار کی تشکیل نو کرنے جا رہا ہوں. اب میں پر ہیش کرنے جا رہا ہوں کھیل ہے جس میں BoardName،. اور میں سب سے اوپر سکور پر رینج کرنے جا رہا ہوں. اور اب میں مختلف بالٹیاں تشکیل دے دیا ہے. میں ایک ہی میز استعمال کر رہا ہوں، ایک ہی شے کے اعداد و شمار. لیکن میں دیتا ہے کہ ایک بالٹی پیدا کر رہا ہوں مجھے کھیل کی طرف سے سب سے اوپر سکور کی جمع. اور میں اس کی میز سوال کر سکتے ہیں کہ معلومات حاصل کرنے کے. تو میں نے کرنے کے لئے ہے کہ سوال پیٹرن قائم ہے ثانوی انڈیکس کی طرف سے حمایت کی جائے. اب وہ BoardName ذریعے حل کیا جا سکتا ہے اور پر منحصر ہے، TopScore کے لحاظ سے ترتیب. آپ دیکھ سکتے ہیں تو، ان اقسام ہیں کی آپ کو جوا کھیلنے میں حاصل استعمال کے مقدمات. ہم جوا کھیلنے میں حاصل ایک اور اچھی استعمال کے کیس ایوارڈز اور جو ایوارڈ جیت رہا ہے. اور یہ ایک عظیم استعمال معاملہ ہے ہم ویرل اشاریہ جات کال جہاں. ویرل اشاریہ جات ہیں پیدا کرنے کی صلاحیت ضروری نہیں ہے کہ ایک انڈیکس میز پر ہر ایک شے پر مشتمل. اور کیوں نہیں؟ کیونکہ جا رہا ہے کہ وصف حساب سے ترتیب ہر شے پر موجود نہیں. یہ خاص طور پر میں تو کیس کا استعمال، میں کہہ رہا ہوں، تم نے کیا، میں جا رہا ہوں ایوارڈ نامی ایک وصف تشکیل دے. اور میں ہر صارف دینے کے لئے جا رہا ہوں کہ منسوب کرتا ہے ایک انعام ہے. صارفین ایوارڈز ہیں نہیں ہے اس وصف کے لئے نہیں جا. تو میں تخلیق کرتے وقت انڈیکس، صرف صارفین یہ دکھانے کے لئے جا رہے ہیں انڈیکس میں ہیں اصل ایوارڈ جیت لیا ہے کہ لوگ. تو اس کے قابل ہو جائے کرنے کے لئے ایک عظیم طریقہ ہے فلٹر اشاریہ جات پیدا کرنے کے لئے نہیں ہے کہ بہت، بہت منتخب ہے انڈیکس پوری کی میز ہے. تو ہم یہاں وقت پر کم ہو رہی ہے. میں آگے بڑھو اور پر جا رہا ہوں باہر اور اس منظر نامے پر. تھوڑا بات about-- سامعین: میں ایک فوری سوال پوچھ سکتا ہوں؟ ایک بھاری لکھنا ہے؟ RICK HOULIHAN: کیا ہے؟ سامعین: بھاری لکھیں. RICK HOULIHAN بھاری لکھیں. مجھے دیکھنے دو. سامعین: یا نہیں ہے کچھ آپ کو صرف کر سکتے ہیں سیکنڈ کے ایک معاملے میں آواز؟ RICK HOULIHAN: ہم جانا ووٹنگ منظر نامے کے ذریعے. یہ اتنا برا نہیں ہے. تم لوگوں کو ایک چند منٹ ہے؟ ٹھیک ہے. تو ہم ووٹنگ کے بارے میں بات کریں گے. تو حقیقی وقت ووٹنگ، ہم ووٹنگ کے لئے ضروریات. تقاضے ہم اجازت دیتے ہیں کہ ہو ہر شخص صرف ایک بار ووٹ ڈالنے کے لئے. ہم کوئی قابل بننا چاہتا ہوں ان کے ووٹ کو تبدیل کرنے کی. ہم اصل وقت جمع چاہتے ہیں اور آبادی کے لئے تجزیاتی ہم جا رہے ہیں کہ ویب سائٹ پر صارفین کو دکھا. اس منظر نامے کے بارے میں سوچو. ہم حقیقت کا ایک بہت کام وہ کر رہے ہیں جہاں ٹی وی سے پتہ چلتا ہے ان چیزوں کی عین مطابق کی قسم کر. تو آپ کے منظر نامے کے بارے میں سوچ کر سکتے ہیں، ہم لاکھوں اور لاکھوں ہے وہاں سے نو عمر لڑکیوں ان کے موبائل فونز کے ساتھ اور ووٹنگ، اور ووٹنگ، اور وہ کر رہے ہیں جو کے لئے ووٹنگ سب سے زیادہ مقبول ہونے کے لئے تلاش. تو ان میں سے کچھ یہ ہیں ضروریات ہم باہر چلاتے ہیں. اور تو سب سے پہلے لے اس مسئلہ کو حل کرنے میں ایک تعمیر کرنے کے لئے ہو جائے گا بہت سادہ درخواست. تو میں اس اپلی کیشن مل گیا ہے. میں وہاں کچھ ووٹروں باہر ہے. وہ ووٹنگ اپلی کیشن مارا، میں آتے ہیں. میں کچھ خام ووٹ ٹیبل مل گیا ہے میں صرف ان ووٹوں میں پھینک دیں گے. میں نے کچھ مجموعی پڑے گا ووٹ کی میز ہے کہ میرے تجزیات اور آبادیات کروں گا، اور ہم وہاں میں یہ سب ڈال دیں گے. اور یہ بہت اچھا ہے. زندگی اچھی ہے. زندگی ہم اس کا پتہ لگانا تک اچھی ہمیشہ صرف ایک یا دو ہے انتخابات میں مقبول ہیں کہ لوگوں. صرف ایک یا دو چیزیں ہے لوگ واقعی کے بارے میں پرواہ ہے کہ. اور آپ پر ووٹ ڈالنے کر رہے ہیں تو پیمانے، ہوں اچانک سے باہر جہنم کرشنگ کیا جا رہا دو امیدواروں، ایک یا ایک سے دو امیدواروں. اشیاء کی ایک بہت ہی محدود تعداد لوگوں مقبول ہونے کے لئے تلاش. یہ ایک اچھا ڈیزائن پیٹرن نہیں ہے. یہ اصل میں ایک ہے بہت برا ڈیزائن پیٹرن اس کی تخلیق کی وجہ سے ہے بالکل وہی جو ہم گرم، شہوت انگیز چابیاں تھا جس کے بارے میں بات. گرم، شہوت انگیز چابیاں ہم پسند نہیں کرتے کچھ ہیں. تو ہم کس طرح اس کو ٹھیک کرتے ہیں؟ اور واقعی، اس کو ٹھیک کرنے کے لئے راستہ ہے ان امیدوار بالٹیاں لے کر اور ہم نے ہر امیدوار کے لئے، ہم ایک بے ترتیب قیمت شامل کرنے کے لئے جا رہے ہیں، بے ترتیب ہم جانتے ہیں کہ کچھ، ایک اور 100 کے درمیان قیمت، 100 اور 1،000 کے درمیان، یا ایک اور 1،000 کے درمیان، تاہم بہت سے بے ترتیب اقدار آپ چاہتے ہیں اس امیدوار کے اختتام پر شامل. اور میں واقعی میں اس کے بعد کیا کیا ہے؟ میں امیدوار کی شناخت کے طور پر استعمال کر رہا ہوں تو مجموعی ووٹ بالٹی، میں ایک بے ترتیب شامل ہے تو اس کے اختتام پر نمبر، میں تشکیل دے دیا ہے اب 10 بالٹیاں، ایک سو بالٹیاں، ایک ہزار بالٹیاں کہ مجھے اس پار ووٹ مجموعوں ہوں. تو میں نے، لاکھوں اور لاکھوں ہے اور ریکارڈز لاکھوں میں آنے والے ان امیدواروں کے لئے، اب میں پھیل رہا ہوں امیدوار A_1 بھر وہ ووٹ امیدوار A_100 ذریعے، کیونکہ ایک ووٹ میں آتا ہے ہر وقت، میں ایک بے ترتیب پیدا کر رہا ہوں ایک اور 100 کے درمیان قیمت. کے اختتام پر اسے tacking کی ہوں شخص کے لیے ووٹنگ اس امیدوار. مجھے لگتا ہے کہ بالٹی میں ڈمپنگ ہوں. اب پچھلے حصے پر، میں جانتا ہوں کہ میں ایک سو بالٹیاں ہے. تو میں نے آگے جانے کے لئے چاہتے ہیں جب اور ووٹوں مجموعی، میں ان تمام بالٹیاں سے پڑھا. تو میں نے آگے جانے کے لئے اور شامل. اور پھر میں بکھیر جمع کرتے ہیں مجھے باہر جانا ہے اور ہے کا کہنا ہے کہ جہاں، تم جانتے ہو، اس امیدوار کی اہم خالی جگہوں ایک سو بالٹیاں ہے. میں سب کو جمع کرنے جا رہا ہوں ان سو بالٹیاں ووٹ. میں مجموعی جا رہا ہوں ان میں، کہنے جا رہا ہوں امیدوار ایک اب ہے X کی کل ووٹوں کی گنتی. اب لکھو دونوں سوال اور استفسار پڑھیں اچھی طرح سے تقسیم کیا جاتا ہے مجھے اس پار لکھ رہا ہوں کیونکہ اور میں چابیاں کے سینکڑوں بھر میں پڑھ رہا ہوں. میں نہیں لکھ رہا ہوں اور اب ایک اہم بھر پڑھنے. تو ہے کہ ایک عظیم نمونہ ہے. یہ اصل میں شاید ایک ہے سب سے زیادہ اہم ڈیزائن کے NoSQL میں بڑے پیمانے پر کے لئے پیٹرن. آپ کے اس قسم کے دیکھیں گے ہر ذائقہ میں ڈیزائن پیٹرن. MongoDB، DynamoDB، یہ نہیں کرتا بات، ہم یہ سب کرنا پڑے. آپ کام کر رہے کیونکہ جب وہ بڑی aggregations ساتھ، آپ کو ایک راستہ سے پتہ کرنا ہے بالٹیاں بھر میں ان سے باہر پھیل گیا. تو یہ آپ ایسا طریقہ ہے. ٹھیک ہے، تو کیا تم ابھی کر رہے ہیں کیا تم پڑھ آف ٹریڈ کر رہے ہیں ہے لکھنے اسکیل ایبلٹی کے لئے سرمایہ کاری. میرے پڑھنے کی قیمت ہے تھوڑا سا زیادہ پیچیدہ اور میں نے ایک سے پڑھا جانا پڑے سو بالٹیاں ایک کی بجائے. لیکن میں لکھنے کے قابل ہوں. اور میرے ماحصل، میری لکھنا throughput کے ناقابل اعتماد ہے. تو یہ عام طور پر ایک قابل قدر ہے DynamoDB پیمائی کے لئے ٹیکنالوجی، یا اس بات کے لئے کسی بھی NoSQL ڈیٹا بیس. تو ہم اس پیمانے کے لئے کس طرح باہر سوچا. اور ہم نے سوچا کہ کس طرح ہمارے گرم چابیاں ختم. اور یہ بہت اچھا ہے. اور ہم یہ اچھا نظام ہے. اور یہ ہمیں بہت درست ووٹنگ دیا ہے ہم ریکارڈ ووٹ ڈی شکار ہے کیونکہ. یہ DynamoDB میں بنایا گیا ہے. ہم مشروط حقوق کے بارے میں بات کی تھی. ایک ووٹر میں آتا ہے، رکھتا میز پر ایک ڈالیں، انہوں نے اپنے ووٹر ID کے ساتھ داخل وہ ایک دوسرے ووٹ کرنے کے لئے کوشش کرتے ہیں تو، میں نے ایک مشروط لکھ سکتا ہوں. یہ لکھنے صرف اتنا کہہ اس کا کوئی وجود نہیں ہے. تو جیسے ہی میں نے اس کو دیکھ کے طور کہ ووٹ کی میز مارا، کوئی اور نہیں ہونے جا رہا ہے میں اپنے ووٹ ڈال کرنے کے قابل. اور یہ کہ بہت اچھا ہے. اور ہم incrementing رہے ہیں ہمارے امیدوار کاؤنٹر. اور ہم نے اپنے کر رہے ہیں آبادی اور تمام ہے کہ. لیکن کیا اگر ایسا ہوتا ہے میری درخواست پر آتا ہے؟ اب اچانک ووٹ کے تمام میں آ رہے ہیں، اور میں وہ عملدرآمد کر رہے ہیں اگر نہیں جانتے میرے تجزیات اور آبادیات میں اب. اور جب درخواست اپ، کس طرح واپس آتا ہے جہنم میں ووٹ کیا جانتے ہیں عملدرآمد کر دیا گیا اور کہاں سے آغاز کروں؟ تو یہ ایک حقیقی مسئلہ ہے جب آپ کو ہے منظر نامے کی اس قسم کو دیکھنے کے لئے شروع. اور کس طرح ہم اس کو حل کرتے ہیں؟ ہم کیا ہم اسے حل DynamoDB اسٹریمز کال. اسٹریمز ایک وقت کا حکم دیا ہے اور ہر رسائی کی تقسیم تبدیلی لاگ ان کریں میز پر، ہر لکھیں ٹیبل تک رسائی. کے لئے لکھا گیا ہے کہ کسی بھی اعداد و شمار کے ٹیبل ندی پر ظاہر کرتا ہے. یہ بنیادی طور پر ایک 24 گھنٹے قطار ہے. اشیا ندی مارا، وہ 24 گھنٹے کے لئے رہتے ہیں. انہوں نے ایک سے زیادہ مرتبہ پڑھا جا سکتا ہے. فراہم کرنے کے لئے بات کی ضمانت صرف ندی کے لئے ایک بار، اوقات کی ن نمبر پڑھا جا سکتا ہے. تاہم بہت سے عمل آپ چاہتے ہیں کہ اعداد و شمار بسم، آپ اسے بسم کر سکتے ہیں. یہ ہر اپ ڈیٹ دکھایا جائے گا. ہر لکھونگا صرف ندی پر ایک بار ظاہر ہوتے ہیں. تو آپ کو فکر کرنے کی ضرورت نہیں ہے دو بار اس پر کارروائی کے بارے میں اسی عمل سے. یہ سختی سے حکم دیا آئٹم کے مطابق ہے. ہم وقت کا کہنا ہے کہ کا حکم دیا اور تقسیم، آپ ندی پر تقسیم فی دیکھیں گے. آپ آرڈر میں اشیاء، اپ دیکھیں گے. ہم ضمانت نہیں کر رہے ہیں تم کہ ندی پر ہر ٹرانزیکشن حاصل کرنے کے لئے جا رہا اشیاء میں ترتیب میں. تو اسٹریمز idempotent ہیں. ہم سب idempotent مطلب کیا جانتے ہو؟ Idempotent آپ ایسا کر سکتے ہیں کا مطلب ہے کہ ختم، اور اس سے زیادہ، اور ایک بار پھر. نتیجہ ایک ہی ہونے جا رہا ہے. اسٹریمز، idempotent ہیں لیکن وہ ہونا پڑے گا نقطہ اغاز سے ادا کیا، آپ کا انتخاب کرتے ہیں جہاں کہیں بھی، ختم کرنے کے لئے، یا وہ نتیجے میں نہیں جائے گا اسی اقدار میں. MongoDB ساتھ ایک ہی بات. MongoDB ایک تعمیر ہے وہ oplog کال. یہ بالکل وہی تعمیر ہے. بہت NoSQL ڈیٹا بیس اس کی تعمیر ہے. وہ چیزیں کرنے کے لئے اس کا استعمال طرح نقل، جس بالکل ہم اسٹریمز کے ساتھ کیا کرتے ہیں. سامعین: ہو سکتا ہے کہ ایک بدعتی سوال، لیکن آپ اطلاقات ایک تو آگے کو کرنے کے بارے میں بات. اسٹریمز کی ضمانت ہیں ممکنہ طور پر نیچے جاؤ کبھی نہیں؟ RICK HOULIHAN: جی ہاں، نہریں نیچے جانا کبھی بات کی ضمانت رہے ہیں. ہم بنیادی ڈھانچے کو منظم پیچھے. خود کار طریقے سے نہریں ان کے خود پیمائی گروپ میں تعینات. ہم ایک چھوٹی سی کے ذریعے جائیں گے کیا ہوتا ہے کے بارے میں تھوڑا سا. میں وہ نہیں کر رہے ہیں نہیں کرنا چاہئے نیچے جانا کبھی بات کی ضمانت. عناصر کی ضمانت ہیں ندی میں ظاہر کرنے کے لئے. اور ندی رسائی ہو جائے گا. تو کیا نیچے جاتا ہے یا واپس آتا ہے اپ، کہ نیچے ہوتا ہے. یہ ٹھیک ہے covers--. ٹھیک ہے، آپ کو مختلف ملے تو سکرین کو بند کر کے نقطہ نظر کی اقسام. ایک کے لئے اہم ہیں کہ نقطہ نظر کی اقسام پروگرامر عام طور پر یہ کیا ہیں؟ میں بوڑھا نقطہ نظر حاصل. ایک اپ ڈیٹ کی میز مار دیتی ہے، تو یہ کروں گا ندی کی عمر نقطہ نظر دھکا تاکہ ڈیٹا آرکائیو، یا تبدیل کر سکتے ہیں کنٹرول، تبدیلی شناخت، تبدیلی انتظام. اس کے بعد اب کیا نئی تصویر، نقطہ نظر کی ایک اور قسم ہے کہ اپ ڈیٹ، آپ حاصل کر سکتے. آپ نئی اور پرانی تصاویر دونوں حاصل کر سکتے ہیں. ہو سکتا ہے کہ میں نے ان دونوں چاہتے ہیں. نے یہ کیا تھا کو دیکھنے کے لئے چاہتے ہیں. میں نے اسے تبدیل کر دیا گیا ہے کو دیکھنے کے لئے چاہتے ہیں. میں تعمیل کی قسم ہے عمل کی ہے کہ چلتا ہے. یہ اس بات کی تصدیق کرنے کی ضرورت ہے ان چیزوں کو تبدیل جب، وہ مخصوص حدود کے اندر ہیں یا مخصوص حدود کے اندر. اور شاید میں نے صرف تبدیل کر دیا گیا کیا جاننے کی ضرورت. میں تبدیل کیا شے کی پرواہ نہیں کرتے. جاننے کی ضرورت کی ضرورت نہیں ہے کیا تبدیل کر دیا صفات. میں صرف اس کو جاننے کی ضرورت اشیاء کو چھو لیا جا رہا ہے. تو ان خیالات کی اقسام ہیں آپ ندی اترنا ہے کہ اور آپ کے ساتھ بات چیت کر سکتے. درخواست ہے کہ ندی استعمال، یہ کام کرتا ہے طریقہ کی طرح ہے. DynamoDB کلائنٹ سے دعا گو ہیں ٹیبل کے اعداد و شمار کو دھکا. اسٹریمز ہم shards کے کہتے ہیں پر تعینات. shards کے چھوٹا کر رہے ہیں آزادانہ طور پر ٹیبل کے. وہ مکمل طور پر قطار نہیں کرتے آپ کی میز کے partitions سے. اور اس کی وجہ یہی وجہ ہے وہ قطار کیونکہ صلاحیت کے، موجودہ میز کی صلاحیت. وہ میں تعینات ان اپنی خود پیمائی گروپ، اور وہ انحصار باہر گھماؤ کرنے کے لئے شروع میں آ رہے ہیں کتنے لکھتا پر، کتنے reads-- واقعی یہ لکھتے ہیں. نہیں ہے کوئی reads-- لیکن کس طرح بہت لکھتے ہیں میں آ رہے ہیں. اور پھر پیٹھ پر آخر، ہم نے کیا ہم ایک KCL، یا Kinesis کلائنٹ لائبریری کہتے ہیں. Kinesis ایک ندی کے اعداد و شمار ہے ایمیزون سے پروسیسنگ ٹیکنالوجی. اور نہریں اس پر بنایا گیا ہے. تو آپ کو ایک KCL فعال استعمال درخواست ندی کو پڑھنے کے لئے. Kinesis کلائنٹ لائبریری اصل آپ کے لئے کارکنوں کا انتظام. اور یہ بھی کچھ کرتا ہے دلچسپ چیزیں. یہ کچھ میزیں پیدا کر دے گا آپ DynamoDB tablespace میں جن اشیاء کو ٹریک کرنے کے عملدرآمد کیا گیا ہے. تو اس طرح تو، واپس آتا ہے تو یہ ختم ہو آتا ہے اور آتا ہے اور ہو جاتا ہے واپس کھڑے، یہ کہاں سے تعین کر سکتے ہیں ندی پروسیسنگ میں تھا. کہ جب بہت اہم ہے آپ نقل کے بارے میں بات کر رہے ہیں. مجھے کیا جاننے کی ضرورت ہے ڈیٹا عملدرآمد کر دیا گیا تھا اور جو اعداد و شمار ابھی تک عملدرآمد کیا جائے گا ہے. تو اسٹریمز کے لئے KCL لائبریری گا آپ کو اس کی فعالیت کی ایک بہت دے. یہ اندرونی کا خیال رکھتا ہے. یہ ہر شارڈ کے لئے ایک کارکن کھڑا. یہ ایک انتظامی میز پیدا کرتا ہے ہر کارکن کے لئے ہر شارڈ، کے لئے. اور ان کارکنوں آگ کے طور پر، وہ ان میزیں کو برقرار رکھنے لہذا آپ کو اس ریکارڈ جانتے پڑھنے اور عملدرآمد کیا گیا تھا. اور پھر اس طرح کے عمل تو ، فوت ہو جائے اور واپس آن لائن آتا ہے اسے بند کر لیا جہاں یہ درست دوبارہ شروع کر سکتے. تو ہم اس کے لئے اس کا استعمال کراس علاقے کی نقل. گاہکوں کی ایک بہت کی ضرورت کرنے کی ضرورت ہے ان کے ڈیٹا ٹیبل کے اعداد و شمار یا حصوں کو منتقل بھر کے مختلف علاقوں میں. نو علاقوں ہیں پوری دنیا میں. تو ایک need-- میں وہاں ہو سکتا ہے ایشیا میں صارفین کو ہو سکتا ہے، صارفین ریاست ہائے متحدہ امریکہ کے مشرقی ساحل میں. انہوں نے مختلف اعداد و شمار ہے کہ مقامی طور پر تقسیم کیا جائے کرنے کی ضرورت ہے. اور شاید ایک صارف کی طرف سے پرواز امریکہ ایشیا، اور میں نقل تیار کرنا چاہتے اس کے ساتھ اس کے اعداد و شمار. وہ ہوائی جہاز سے باہر ہو جاتا ہے تو، وہ ہے ان کے موبائل اپلی کیشن استعمال کرتے ہوئے ایک اچھا تجربہ. آپ کو کراس علاقے استعمال کر سکتے ہیں نقل لائبریری ایسا کرنے. بنیادی طور پر ہم نے دو ٹیکنالوجیز فراہم. ایک آپ کو ایک کنسول کی درخواست ہے آپ کے اپنے EC2 مثال کے طور پر کھڑے ہو جاؤ. یہ خالص نقل چلتا ہے. اور پھر ہم آپ لائبریری دی. لائبریری آپ کو تعمیر کرنے کے لئے استعمال کر سکتے ہیں آپ کی اپنی درخواست اگر آپ اس کے ساتھ پاگل باتیں کرنا چاہتا ہوں data-- فلٹر،، اس کا صرف ایک حصہ نقل ، ڈیٹا کو باری باری ایک میں منتقل مختلف میز، تو اور تو آگے. تو ہے کہ اس طرح لگ رہا ہے کی طرح ہے. DynamoDB اسٹریمز کیا جا سکتا ہے ہم لامڈا کہتے ہیں کی طرف سے عملدرآمد. ہم واقعہ کے بارے میں تھوڑا سا ذکر پر مبنی درخواست architectures کے. لامڈا اس کا ایک اہم اتحادی ہے. لامڈا مطالبے پر آگ ہے کہ کوڈ آن ہے ایک خاص واقعہ کے جواب میں. ان واقعات میں سے ایک ہو سکتا ہے ندی پر دکھائے جانے ریکارڈ. ایک ریکارڈ ندی پر ظاہر ہوتا ہے، ہم اس جاوا تقریب کو فون کریں گے. ویسے، یہ جاوا سکرپٹ، اور لامڈا ہے Node.js، جاوا، ازگر، کی حمایت کرتا ہے اور جلد ہی کی حمایت کریں گے دیگر زبانوں کے ساتھ ساتھ. اور اس کو خالص کوڈ، کا کہنا ہے کہ کافی. جاوا میں لکھنے، آپ کو ایک کلاس کی وضاحت. تم لامڈا میں جار کو دھکا. اور پھر آپ جس کلاس کی وضاحت جس واقعہ کے جواب میں کال کرنے کے لئے. اور پھر لامڈا انفراسٹرکچر اس کے پیچھے اس کوڈ چلایا جائے گا. اس کوڈ عملدرآمد کر سکتے ہیں ندی سے دور ریکارڈ. یہ اس کے ساتھ چاہتا ہے کچھ بھی کر سکتا. یہ خاص طور پر مثال میں، ہم سب ہو واقعی صفات لاگنگ ہے کر. لیکن یہ صرف کوڈ ہے. کوڈ درست، کچھ کر سکتے ہیں؟ تو آپ کو اس کے اعداد و شمار باری باری دکھائے گا کر سکتے ہیں. تم مشتق نقطہ نظر تشکیل دے سکتے ہیں. یہ ایک دستاویز کی ساخت ہے تو، آپ ساخت چپٹا کر سکتے ہیں. آپ متبادل کے اشاریہ جات تشکیل دے سکتے ہیں. چیزوں کے تمام قسم آپ کر سکتے ہیں DynamoDB اسٹریمز کے ساتھ کیا. اور واقعی، کہ اس طرح لگتا ہے. تو آپ کو ان کے اپ ڈیٹ میں آ ملے. وہ سٹرنگ دور آ رہے ہیں. وہ لامڈا تقریب کی طرف سے پڑھ رہے ہیں. وہ اعداد و شمار گھومنے رہے ہیں اور مشتق ٹیبل میں اس کو آگے بڑھانے، تبدیلی کی بیرونی نظام مطلع، اور ElastiCache میں ڈیٹا دھکا. ہم کیشے ڈال کرنے کے لئے کس طرح کے بارے میں بات کہ فروخت کے لئے ڈیٹا بیس کے سامنے منظر نامے. ویسے کیا ہوتا تو میں شے کی تفصیل اپ ڈیٹ؟ ٹھیک ہے، میں تھا تو ایک لامڈا تقریب، اس کی میز پر چلنے میں شے وضاحت کو اپ ڈیٹ، تو یہ کروں گا ندی آف دی ریکارڈ اٹھا، اور یہ ElastiCache اپ ڈیٹ کریں گے نئے اعداد و شمار کے ساتھ مثال کے طور پر. تو یہ ایک بہت ہے ہم لامڈا کے ساتھ کیا کرنا. یہ، کنیکٹر گلو کوڈ ہے. اور یہ اصل میں فراہم کرتا ہے شروع کرنے کی صلاحیت اور بہت پیچیدہ ایپلی کیشنز کو چلانے کے لئے ایک سرشار سرور کے بغیر واقعی ٹھنڈا ہے جس کے بنیادی ڈھانچے،. تو واپس جانے ہماری اصل وقت ووٹنگ فن تعمیر. یہ نئے اور ساتھ بہتر ہو گئی ہے ہماری نہریں اور KCL درخواست فعال. اسی، ہم کر سکتے ہیں کے طور پر پہلے انتخابات کے کسی بھی پیمانے سنبھال. ہم اس طرح. ہم بکھیر جمع باہر کر رہے ہیں ایک سے زیادہ بالٹیاں بھر. ہم امید تالا چل رہا ہے. ہم اپنے ووٹروں رکھ سکتے ہیں ان کے ووٹ کو تبدیل کرنے سے. وہ صرف ایک بار ووٹ دے سکتے ہیں. یہ بہت اچھا ہے. ریئل ٹائم غلطی رواداری، اب توسیع پذیر جمع. بات پر آتا ہے، یہ خود کو دوبارہ شروع کرنے کے لئے جہاں جانتا ہے اس کی وجہ سے واپس آتا ہے جب ہم KCL اپلی کیشن استعمال کر رہے ہیں. اور پھر ہم بھی اس کا استعمال کر سکتے ہیں KCL درخواست ڈیٹا آگے بڑھانے کے لئے دوسرے کے لئے redshift پیٹ کرنے کے لئے اپلی کیشن کے تجزیات، یا استعمال لچکدار MapReduce کو چلانے کے لئے بند اصل وقت اسٹریمنگ aggregations کہ اعداد و شمار کے. تو ان چیزوں کو ہم ہیں زیادہ سے زیادہ کے بارے میں بات نہیں کی ہے. لیکن وہ اضافی ہیں آیا ہے کہ ٹیکنالوجی آپ کو تلاش کر رہے ہیں جب برداشت کرنے منظرنامے کی ان اقسام میں. ٹھیک ہے، اس کے بارے میں ہے تو DynamoDB اسٹریمز کے ساتھ تجزیاتی. آپ ڈی شکار جمع کر سکتے ہیں اعداد و شمار، تمام قسم کے اچھی چیزیں کے، مجموعی اعداد و شمار میں میموری، ان مشتق ٹیبل بنانے. کہ ایک بہت بڑا استعمال معاملہ ہے کہ گاہکوں کی ایک بہت اندر در اندر لے، کے ساتھ شامل ہیں وہ JSON دستاویزات کی خصوصیات اور اضافی اشاریہ جات پیدا کرنے. ہم آخر میں ہیں. میرے ساتھ برداشت کرنے کے لئے آپ کا شکریہ. تو کے بارے میں بات کرتے ہیں حوالہ فن تعمیر. DynamoDB تو کے وسط میں بیٹھ اوس بنیادی ڈھانچے کی زیادہ سے زیادہ. بنیادی طور پر آپ یہ ہک کر سکتے ہیں کچھ کرنے کے لئے آپ چاہتے ہیں. آپلیکیشنز ڈائنےمو شامل استعمال کرتے ہوئے بنایا لامڈا، ElastiCache، CloudSearch، لچکدار میں باہر کے اعداد و شمار کو دھکا MapReduce، DynamoDB سے درآمد برآمد S3، workflows کے تمام قسم میں. لیکن شاید سب سے بہترین کے بارے میں بات کرنے کے لئے بات، اور یہ واقعی کیا ہے دلچسپ جب ہم ہے واقعہ پر مبنی ایپلی کیشنز کے بارے میں بات. اس کی ایک مثال ہے ایک اندرونی منصوبے ہم اصل میں ہیں جہاں ہے کہ اشاعت سروے کے نتائج جمع کرنے. ایک ای میل لنک میں تو اس ہم وہاں جائیں گے، باہر بھیج دیا ایک چھوٹا سا لنک کہہ کلک کریں یہاں سروے کے جواب دینے کے لئے. اور جب ایک شخص کلکس اس لنک، کیا ہوتا ہے وہ ایک محفوظ نیچے ھیںچو ہے S3 سے ایچ ٹی ایم ایل سروے فارم. کوئی سرور نہیں ہے. یہ صرف ایک S3 اعتراض ہے. اس فارم، آتا ہے براؤزر میں بوجھ. یہ ریڑھ کی ہڈی ہے. یہ پیچیدہ جاوا ہے کہ چل رہا ہے. تو یہ بہت امیر کی درخواست ہے کلائنٹ کے براؤزر میں چل رہا ہے. وہ نہیں جانتے ہیں کہ نہیں واپس آخر سرور کے ساتھ بات چیت. اس مرحلے پر، یہ سب براؤزر ہے. وہ نتائج شائع کیا ہم نے ایمیزون API کا گیٹ وے کہتے ہیں. API کا گیٹ وے صرف ایک ویب API ہے آپ کی وضاحت اور ہک کر سکتے ہیں جو کچھ بھی کرنا چاہتے ہیں. اس خاص معاملے میں، ہم ہیں ایک لامڈا تقریب کے لئے جھکا دیا. تو میری پوسٹ آپریشن ہے کوئی سرور کے ساتھ ہو. بنیادی طور پر اس API کا گیٹ وے وہاں بیٹھتا ہے. یہ میرے لوگوں تک کچھ نہیں اخراجات ٹھیک ہے، یہ کرنے کے لئے پوسٹنگ شروع؟ لامڈا تقریب صرف وہاں بیٹھتا ہے. اور جب تک مجھے کچھ نہیں اخراجات لوگ اسے مارنا شروع. تو تم حجم کے طور پر دیکھ سکتے ہیں، الزامات آئے جب میں اضافہ، ہے. میں ایک سرور 7/24 نہیں چل رہا ہوں. لہذا میں نے فارم ھیںچو نیچے بالٹی سے باہر، اور میں API کے ذریعے پوسٹ لامڈا تقریب میں گیٹ وے. اور پھر لامڈا تقریب میں آپ جانتے ہیں، کا کہنا ہے کہ کیا، میں نے کچھ PIIs مل گیا ہے، کچھ ذاتی طور پر قابل شناخت معلومات ان جوابات میں. میں صارفین کی طرف سے آنے والے تبصرے مل گیا. میں نے ای میل پتوں ہے. میں صارف کا نام مل گیا ہے. مجھے اس سے دور تقسیم ہیں. میں کچھ پیدا کرنے کے لئے جا رہا ہوں اس ورائے اندراج میٹا ڈیٹا. اور میں آگے بڑھانے کے لئے جا رہا ہوں DynamoDB میں میٹا ڈیٹا. اور میں تمام اعداد و شمار خفیہ سکتا اگر میں چاہتا ہوں اور DynamoDB میں دھکا. لیکن اس میں، میرے لئے آسان ہے آگے ایک کا کہنا ہے کہ جانے کے لئے، کیس استعمال، میں خام ڈیٹا آگے بڑھانے کے لئے جا رہا ہوں ایک مرموز S3 بالٹی میں. تو میں S3 سرور سائیڈ میں تعمیر استعمال خفیہ کاری اور ایمیزون کی کلیدی مینجمنٹ تاکہ سروس میں ایک چابی ہے کہ ایک باقاعدہ وقفہ پر باری باری دکھائے گا کر سکتے ہیں، اور میں اس کے اعداد و شمار PII حفاظت کر سکتے ہیں اس پورے کام کے فلو کے ایک حصے کے کے طور پر. تو میں نے کیا کیا ہے؟ میں صرف ایک پوری تعینات ہے درخواست، اور میں سرور ہے. تو تقریب درخواست پر مبنی ہے فن تعمیر آپ کے لئے کرتا. اب آپ کے بارے میں لگتا ہے کہ اگر this-- لئے استعمال کے کیس ہم بات کر رہا ہوں دوسرے گاہکوں ہے کے بارے میں یہ عین مطابق فن تعمیر کرنے والے زبردست بڑی مہمات، چلانے والے یہ دیکھ کر اور اوہ میرے، جا رہے ہیں. اب، وہ کر سکتے ہیں کیونکہ بنیادی طور پر وہاں سے باہر دھکا، بس بیٹھ اس مہم دو یہ وہاں کا آغاز، اور نہیں جب تک کے بارے میں ایک انجیر فکر کرنے کی ضرورت بنیادی ڈھانچے کی کس طرح اس کی حمایت کرنے کے لئے وہاں جا رہا ہے. اور پھر جیسے ہی کے طور پر اس مہم، کیا جاتا ہے یہ بنیادی ڈھانچے کی طرح ہے صرف فوری طور پر دور ہو جاتا ہے واقعی کیونکہ وہاں کوئی بنیادی ڈھانچہ ہے. یہ لامڈا پر بیٹھتا ہے کہ صرف کوڈ ہے. یہ DynamoDB میں بیٹھتا ہے کہ صرف اعداد و شمار ہے. یہ ایک حیرت انگیز طریقہ ہے ایپلی کیشنز کی تعمیر کے لئے. سامعین: تو زیادہ ہے الپکالک یہ ہو جائے گا کے مقابلے میں یہ ایک اصل سرور پر محفوظ کیا گیا تھا تو کیا ہوگا؟ RICK HOULIHAN: بالکل. کہ سرور مثال کے طور پر کی وجہ سے ایک 7/24 ہونا پڑے گا. اس کے لئے دستیاب ہو جائے کرنے کے لئے ہے کسی کو جواب دینے کے لئے. ویسے کیا لگتا ہے؟ S3 7/24 دستیاب ہے. S3 ہمیشہ جواب. اور S3 بہت، بہت اچھا ہے اشیاء کی خدمت میں. ان اشیاء کو HTML فائلوں ہو، یا کر سکتے ہیں جاوا اسکرپٹ فائلوں، یا جو کچھ بھی تم چاہتے ہو. تم بہت امیر ویب ایپلی کیشنز کو چلا سکتے ہیں S3 بالٹیاں سے باہر، اور عوام کرتے ہیں. اور اس کا خیال ہے کہ یہاں ہے رستے سے حاصل کرنے کے لئے ہے ہم اس کے بارے میں سوچنے کے لئے استعمال کیا جاتا ہے. ہم سب میں سوچنے کے لئے استعمال کیا جاتا ہے سرورز اور میزبان کی شرائط. یہ اب اس کے بارے میں نہیں ہے. یہ کوڈ کے طور پر بنیادی ڈھانچے کے بارے میں ہے. کلاؤڈ پر کوڈ کا تعین کریں اور بادل آپ کے لئے اسے چلاتے ہیں. اور یہ کہ اوس کرنے کی کوشش کر رہا ہے ہے. سامعین: وسط میں اپنے سونے کے باکس تو API کا گیٹ وے، سرور کی طرح نہیں ہے بلکہ اس کی بجائے just-- ہے RICK HOULIHAN: آپ سوچ سکتے ہیں سرور اگواڑا کے طور پر. یہ سب یہ ایک HTTP لے لیں گے ہے درخواست اور دوسرے عمل کے لئے اس نقشے. یہی وجہ ہے کہ یہ سب کرتا ہے. اور اس معاملے میں، ہم میپنگ رہے یہ ایک لامڈا تقریب میں. ٹھیک ہے، تو ہے کہ میں ملا ہے. بہت بہت شکریہ. میں نے اسے سراحا. میں ہم وقت کے ساتھ تھوڑا سا چاہتے ہیں جانتے ہیں. اور امید ہے کہ آپ لوگ مل گیا معلومات کا ایک تھوڑا سا آج آپ کو دور لے جا سکتے ہیں. میں چلا گیا تو میں معافی چاہتا ہوں اپنے سروں میں سے کچھ، لیکن ایک اچھا بہت ہے بنیادی بنیادی علم مجھے لگتا ہے کہ آپ کے لئے بہت قابل قدر ہے. تو مجھے رکھنے کے لئے آپ کا شکریہ. [تالیاں] سامعین: [اشراوی] تم کہہ رہے تھے جب آپ بات سے گزرنا پڑا شروع سے آخر تک صحیح اقدار حاصل کرنے کے لئے یا اسی اقدار، کس طرح کرے گا اقدار [اشراوی] تو تبدیل. RICK HOULIHAN: اوہ، idempotent؟ اقدار کے لئے کس طرح تبدیل کریں گے؟ ویسے، کیونکہ میں نہیں چلا تھا تو اسے ختم کرنے کے لئے تمام طریقے، پھر میں تبدیل کیا نہیں جانتے آخری میل میں کئے گئے تھے. یہ ہونے جا رہا نہیں کر رہا جو میں نے دیکھا کے طور پر ایک ہی ڈیٹا. سامعین: اوہ، تم تو صرف پورے پٹ نہیں ملا ہے. RICK HOULIHAN: دائیں. آپ شروع سے جانے کے لئے ہے ختم کرنے کے لئے، اور پھر یہ ہے ایک مسلسل حالت ہونے جا رہا. ٹھنڈا. سامعین: آپ ہمیں دکھایا تو DynamoDB دستاویز یا کلیدی قدر کر سکتے ہیں. اور ہم پر وقت کی ایک بہت خرچ ایک ہیش اور طریقوں کے ساتھ کلیدی قدر اس کے ارد گرد پلٹائیں کرنے کے لئے. آپ کو ان کے ٹیبل میں دیکھا جب، یہ ہے کہ دستاویز نقطہ نظر کے پیچھے چھوڑ کر؟ RICK HOULIHAN: میں نہیں کریں گے اس کے پیچھے چھوڑ کا کہنا ہے کہ. سامعین: وہ the-- سے الگ کر دیا گیا RICK HOULIHAN: دستاویز کے ساتھ نقطہ نظر، DynamoDB میں دستاویز کی قسم صرف ایک خصوصیت کے طور پر کے بارے میں سوچنا ہے. یہ پر مشتمل ہے کہ ایک وصف ہے ایک پدانکردوست آنکڑا ڈھانچہ. اور پھر سوالات میں، آپ کی خصوصیات استعمال کر سکتے ہیں آبجیکٹ سنکیتن استعمال کرنے والوں اشیاء کی. تو میں ایک جالی دار پر فلٹر کر سکتے ہیں JSON دستاویز کی ملکیت. سامعین: تو کسی بھی وقت میں ایک دستاویز میں نقطہ نظر کیا، میں قسم کی tabular-- میں پہنچ سکتا ہے سامعین: بالکل. سامعین: --indexes اور آپ کو صرف کے بارے میں بات کرو. RICK HOULIHAN: جی ہاں، اشاریہ جات اور تمام ہے کہ، جب آپ انڈیکس کرنا چاہتے ہیں JSON کی خصوصیات، ہم ایسا کرنے کے لئے پڑے گا اس طرح ہے اگر آپ کو ایک JSON اعتراض یا ایک دستاویز داخل ڈائنےمو میں، آپ اسٹریمز استعمال کریں گے. اسٹریمز پٹ پڑھیں گے. آپ JSON کہ ملے گا اعتراض اور تم ٹھیک کہونگا، میں انڈیکس کرنا چاہتے جائیداد کیا ہے؟ تم مشتق ٹیبل بنا. اب جب کہ یہ درست ہے اب کام کرتا ہے طریقہ ہے. ہم انڈیکس آپ کی اجازت نہیں دیتے براہ راست ان کی خصوصیات. سامعین: آپ کی دستاویزات Tabularizing. RICK HOULIHAN: بالکل، چپٹی یہ بالکل، اس tabularizing. یہ ہے کہ آپ اس کے ساتھ کیا کیا ہے. سامعین: آپ کا شکریہ. RICK HOULIHAN: جی ہاں، بالکل، آپ کا شکریہ. سامعین: تو اس قسم کی ہے کے mongo Redis classifers ملاقات. RICK HOULIHAN: جی ہاں، یہ اس طرح ایک بہت ہے. یہی وجہ ہے کہ اس کے لئے ایک اچھی وضاحت ہے. ٹھنڈا.