1 00:00:00,000 --> 00:00:04,969 >> [Παίζει μουσική] 2 00:00:04,969 --> 00:00:06,010 RICK Houlihan: Εντάξει. 3 00:00:06,010 --> 00:00:06,600 Γεια σε όλους. 4 00:00:06,600 --> 00:00:07,670 Το όνομά μου είναι ο Rick Houlihan. 5 00:00:07,670 --> 00:00:10,330 Είμαι ένας ανώτερος κύρια λύσεις αρχιτέκτονα στο AWS. 6 00:00:10,330 --> 00:00:14,070 Θα επικεντρωθεί στην NoSQL και Τεχνολογίες DynamoDB. 7 00:00:14,070 --> 00:00:16,930 Είμαι εδώ σήμερα για να μιλήσω για την Είσαι λίγο για εκείνους. 8 00:00:16,930 --> 00:00:18,970 >> Φόντο μου είναι κυρίως σε επίπεδο δεδομένων. 9 00:00:18,970 --> 00:00:21,390 Πέρασα μισή ανάπτυξή μου καριέρα γράφοντας βάση δεδομένων, 10 00:00:21,390 --> 00:00:25,930 πρόσβαση σε δεδομένα, λύσεις για διάφορες εφαρμογές. 11 00:00:25,930 --> 00:00:30,000 Έχω πάει σε Cloud virtualization για περίπου 20 χρόνια. 12 00:00:30,000 --> 00:00:33,460 Έτσι, πριν από το σύννεφο στο σύννεφο, συνηθίζαμε να αποκαλούμε πληροφορικής χρησιμότητας. 13 00:00:33,460 --> 00:00:37,170 Και η ιδέα ήταν, είναι σαν να PG & E, πληρώνετε για ό, τι χρησιμοποιείτε. 14 00:00:37,170 --> 00:00:38,800 Σήμερα λέμε το σύννεφο. 15 00:00:38,800 --> 00:00:41,239 >> Αλλά όλα αυτά τα χρόνια, έχω εργαστεί για μια-δυο εταιρείες 16 00:00:41,239 --> 00:00:42,530 δεν έχετε ίσως ακούσει. 17 00:00:42,530 --> 00:00:47,470 Αλλά έχω συντάξει έναν κατάλογο των τεχνικών επιτεύγματα, νομίζω ότι θα ήθελα να πω. 18 00:00:47,470 --> 00:00:51,620 Έχω οκτώ πατέντες στα συστήματα Cloud virtualization, το σχεδιασμό μικροεπεξεργαστή, 19 00:00:51,620 --> 00:00:54,440 πολύπλοκη επεξεργασία περίπτωση, και σε άλλους τομείς, όπως καλά. 20 00:00:54,440 --> 00:00:58,290 >> Έτσι, αυτές τις μέρες, έχω επικεντρωθεί κυρίως σε NoSQL τεχνολογίες και η επόμενη γενιά 21 00:00:58,290 --> 00:00:59,450 βάση δεδομένων. 22 00:00:59,450 --> 00:01:03,370 Και αυτό είναι γενικά τι Πάω να είναι εδώ να σου μιλάει σήμερα για. 23 00:01:03,370 --> 00:01:06,030 Έτσι τι μπορείτε να περιμένετε από αυτή τη σύνοδο, 24 00:01:06,030 --> 00:01:08,254 θα περάσουν από μια σύντομη Ιστορία της επεξεργασίας των δεδομένων. 25 00:01:08,254 --> 00:01:10,420 Είναι πάντα χρήσιμο να κατανοήσουν από πού ήρθαμε 26 00:01:10,420 --> 00:01:12,400 και γιατί είμαστε εδώ που είμαστε. 27 00:01:12,400 --> 00:01:15,600 Και θα μιλήσουμε λίγο bit για την τεχνολογία NoSQL 28 00:01:15,600 --> 00:01:17,500 από μια θεμελιώδη άποψη. 29 00:01:17,500 --> 00:01:19,870 >> Θα μπει σε κάποια από τα εσωτερικά DynamoDB. 30 00:01:19,870 --> 00:01:24,350 DynamoDB είναι AWS είναι χωρίς άρωμα. 31 00:01:24,350 --> 00:01:27,340 Είναι μια πλήρους διαχείρισης και φιλοξενείται λύση NoSQL. 32 00:01:27,340 --> 00:01:32,420 Και θα μιλήσουμε λίγο για το τραπέζι δομή, APIs, τύποι δεδομένων, δείκτες, 33 00:01:32,420 --> 00:01:35,177 και μερικά από τα εσωτερικά αυτής της τεχνολογίας DynamoDB. 34 00:01:35,177 --> 00:01:37,760 Θα μπει σε κάποια του σχεδιασμού πρότυπα και τις βέλτιστες πρακτικές. 35 00:01:37,760 --> 00:01:39,968 Θα μιλήσουμε για το πώς θα χρησιμοποιούν αυτή την τεχνολογία για μερικούς 36 00:01:39,968 --> 00:01:41,430 της σημερινής εφαρμογών. 37 00:01:41,430 --> 00:01:44,820 Και τότε θα μιλήσουμε λίγο σχετικά με την εξέλιξη ή την εμφάνιση 38 00:01:44,820 --> 00:01:48,980 ενός νέου προτύπου για τον προγραμματισμό που ονομάζεται event-driven εφαρμογές 39 00:01:48,980 --> 00:01:51,580 και πώς DynamoDB παίζει σε αυτό, καθώς και. 40 00:01:51,580 --> 00:01:54,690 Και θα σας αφήσει ένα μικρό κομμάτι της μια αρχιτεκτονική αναφορά συζήτηση 41 00:01:54,690 --> 00:01:59,540 ώστε να μπορούμε να μιλήσουμε για μερικά από οι τρόποι που μπορείτε να χρησιμοποιήσετε DynamoDB. 42 00:01:59,540 --> 00:02:04,116 >> Έτσι, η πρώτη off-- αυτό είναι ένα ερώτημα Ακούω πολλά είναι, τι είναι μια βάση δεδομένων. 43 00:02:04,116 --> 00:02:06,240 Πολλοί άνθρωποι νομίζουν ότι ξέρετε τι είναι μια βάση δεδομένων. 44 00:02:06,240 --> 00:02:08,360 Αν έχετε το Google, θα δείτε αυτό. 45 00:02:08,360 --> 00:02:11,675 Είναι ένα δομημένο σύνολο των δεδομένων που τηρούνται σε έναν υπολογιστή, ειδικά μια που 46 00:02:11,675 --> 00:02:13,600 είναι προσβάσιμη με διάφορους τρόπους. 47 00:02:13,600 --> 00:02:16,992 Υποθέτω ότι είναι μια καλή ορισμός ενός σύγχρονου βάσης δεδομένων. 48 00:02:16,992 --> 00:02:19,450 Αλλά δεν αρέσει, γιατί υπονοεί μια κάποια πράγματα. 49 00:02:19,450 --> 00:02:20,935 Συνεπάγεται δομή. 50 00:02:20,935 --> 00:02:23,120 Και αυτό σημαίνει ότι είναι σε έναν υπολογιστή. 51 00:02:23,120 --> 00:02:25,750 Και οι βάσεις δεδομένων δεν το έκανε υπάρχουν πάντα στους υπολογιστές. 52 00:02:25,750 --> 00:02:28,020 Βάσεις δεδομένων υπήρχαν στην πραγματικότητα με πολλούς τρόπους. 53 00:02:28,020 --> 00:02:32,000 >> Έτσι, ένας καλύτερος ορισμός της έννοιας της βάση δεδομένων είναι κάτι σαν αυτό. 54 00:02:32,000 --> 00:02:34,786 Μια βάση δεδομένων είναι μια οργανωμένη μηχανισμό για την αποθήκευση, τη διαχείριση, 55 00:02:34,786 --> 00:02:35,910 και ανάκτηση πληροφοριών. 56 00:02:35,910 --> 00:02:36,868 Αυτό είναι από το About.com. 57 00:02:36,868 --> 00:02:42,080 Έτσι μου αρέσει αυτό, γιατί πραγματικά συνομιλίες για μια βάση δεδομένων είναι μια αποθήκη, 58 00:02:42,080 --> 00:02:44,800 μια αποθήκη πληροφορίες, δεν είναι απαραίτητα 59 00:02:44,800 --> 00:02:46,780 κάτι που κάθεται σε έναν υπολογιστή. 60 00:02:46,780 --> 00:02:49,290 Και σε όλη την ιστορία, εμείς δεν είχαν πάντα τους υπολογιστές. 61 00:02:49,290 --> 00:02:52,110 >> Τώρα, αν ρωτήσετε τον μέσο όρο προγραμματιστής σήμερα τι είναι 62 00:02:52,110 --> 00:02:54,770 μια βάση δεδομένων, αυτή είναι η απάντηση που παίρνω. 63 00:02:54,770 --> 00:02:56,070 Κάπου μπορώ να κολλήσει τα πράγματα. 64 00:02:56,070 --> 00:02:56,670 Δικαίωμα? 65 00:02:56,670 --> 00:02:58,725 Και είναι αλήθεια. 66 00:02:58,725 --> 00:02:59,600 Αλλά είναι ατυχές. 67 00:02:59,600 --> 00:03:02,700 Επειδή η βάση δεδομένων είναι πραγματικά το θεμέλιο της σύγχρονης app. 68 00:03:02,700 --> 00:03:04,810 Είναι το θεμέλιο της κάθε εφαρμογής. 69 00:03:04,810 --> 00:03:07,240 Και πώς θα οικοδομήσουμε ότι βάση δεδομένων, πώς να δομήσετε 70 00:03:07,240 --> 00:03:11,750 ότι τα δεδομένα πρόκειται να υπαγορεύσει τον τρόπο που εφαρμογή εκτελεί όπως εσείς κλίμακα. 71 00:03:11,750 --> 00:03:14,640 >> Έτσι, πολλά από τη δουλειά μου σήμερα ασχολείται με ό, τι 72 00:03:14,640 --> 00:03:17,180 συμβαίνει όταν οι προγραμματιστές αυτή την προσέγγιση 73 00:03:17,180 --> 00:03:19,510 και ασχολείται με τα επακόλουθα μιας εφαρμογής που 74 00:03:19,510 --> 00:03:24,966 Τώρα κλιμάκωση πέρα ​​από το αρχικό πρόθεση και την ταλαιπωρία από το κακό σχεδιασμό. 75 00:03:24,966 --> 00:03:26,840 Έτσι, ελπίζουμε ότι, όταν τα πόδια και σήμερα, θα 76 00:03:26,840 --> 00:03:29,010 ένα ζευγάρι των εργαλείων τη ζώνη σας, που θα σας κρατήσει 77 00:03:29,010 --> 00:03:32,566 να κάνουν τα ίδια λάθη. 78 00:03:32,566 --> 00:03:33,066 Εντάξει. 79 00:03:33,066 --> 00:03:36,360 Ας μιλήσουμε για λίγο το χρονοδιάγραμμα της τεχνολογίας βάσεων δεδομένων. 80 00:03:36,360 --> 00:03:38,830 Νομίζω ότι διάβασα ένα το άρθρο δεν έχει περάσει πολύς καιρός 81 00:03:38,830 --> 00:03:43,020 και είπε κάτι για το lines-- είναι μια πολύ ποιητική δήλωση. 82 00:03:43,020 --> 00:03:46,590 Ανέφερε ότι η ιστορία της επεξεργασίας των δεδομένων είναι 83 00:03:46,590 --> 00:03:49,350 γεμάτο από υψηλής υδατογραφήματα της αφθονίας δεδομένων. 84 00:03:49,350 --> 00:03:49,920 ΕΝΤΆΞΕΙ. 85 00:03:49,920 --> 00:03:52,532 Τώρα, υποθέτω ότι είναι το είδος της αλήθεια. 86 00:03:52,532 --> 00:03:54,990 Αλλά εγώ πραγματικά να εξετάσουμε είναι η η ιστορία είναι πραγματικά γεμάτο 87 00:03:54,990 --> 00:03:56,820 με υψηλό υδατογράφημα της πίεσης δεδομένων. 88 00:03:56,820 --> 00:04:00,040 Επειδή ο ρυθμός δεδομένων του κατάποση δεν κατεβαίνει. 89 00:04:00,040 --> 00:04:01,360 Ανεβαίνει μόνο. 90 00:04:01,360 --> 00:04:03,670 >> Και η καινοτομία εμφανίζεται όταν βλέπουμε την πίεση των δεδομένων, η οποία 91 00:04:03,670 --> 00:04:07,825 είναι η ποσότητα των δεδομένων που είναι τώρα που έρχονται στο σύστημα. 92 00:04:07,825 --> 00:04:12,027 Και δεν μπορεί να επεξεργαστεί αποτελεσματικά, είτε σε χρόνο είτε σε κόστος. 93 00:04:12,027 --> 00:04:14,110 Και αυτό είναι όταν αρχίζουμε να εξετάσουμε τα δεδομένα πίεση. 94 00:04:14,110 --> 00:04:15,920 >> Έτσι, όταν εξετάζουμε το πρώτη βάση δεδομένων, αυτή η 95 00:04:15,920 --> 00:04:17,180 είναι αυτός που ήταν ανάμεσα στα αυτιά μας. 96 00:04:17,180 --> 00:04:18,310 Είμαστε όλοι γεννηθεί με αυτή. 97 00:04:18,310 --> 00:04:19,194 Είναι μια ωραία βάση δεδομένων. 98 00:04:19,194 --> 00:04:21,110 Έχει υψηλή διαθεσιμότητα. 99 00:04:21,110 --> 00:04:21,959 Είναι πάντα. 100 00:04:21,959 --> 00:04:23,930 Μπορείτε πάντα να το πάρετε. 101 00:04:23,930 --> 00:04:24,890 >> Αλλά είναι μόνο χρήστη. 102 00:04:24,890 --> 00:04:26,348 Δεν μπορώ να μοιραστώ τις σκέψεις μου μαζί σας. 103 00:04:26,348 --> 00:04:28,370 Δεν μπορείτε να πάρετε τις σκέψεις μου όταν τα θέλετε. 104 00:04:28,370 --> 00:04:30,320 Και abilitiy τους δεν είναι τόσο καλή. 105 00:04:30,320 --> 00:04:32,510 Ξεχνάμε τα πράγματα. 106 00:04:32,510 --> 00:04:36,540 Κάθε τώρα και τότε, ένας από εμάς φύλλα και κινείται προς μια άλλη ύπαρξη 107 00:04:36,540 --> 00:04:39,110 και χάνουμε τα πάντα ότι στην εν λόγω βάση δεδομένων. 108 00:04:39,110 --> 00:04:40,640 Έτσι, αυτό δεν είναι όλα αυτά καλά. 109 00:04:40,640 --> 00:04:43,189 >> Και αυτό λειτούργησε καλά την πάροδο του χρόνου όταν ήμασταν πίσω στην ημέρα 110 00:04:43,189 --> 00:04:46,230 όταν το μόνο που πραγματικά χρειάζεται να γνωρίζετε είναι όπου θα πάμε αύριο 111 00:04:46,230 --> 00:04:49,630 ή όπου μαζεύουμε το καλύτερο φαγητό. 112 00:04:49,630 --> 00:04:52,820 Αλλά όπως έχουμε αρχίσει να αναπτύσσεται ως πολιτισμός και κυβέρνηση άρχισε 113 00:04:52,820 --> 00:04:55,152 να τεθεί σε λειτουργία, και επιχειρήσεις άρχισαν να εξελίσσονται, 114 00:04:55,152 --> 00:04:57,360 αρχίσαμε να συνειδητοποιούμε ότι χρειάζονται λίγο περισσότερο από ό, τι 115 00:04:57,360 --> 00:04:58,210 θα μπορούσε να θέσει στο κεφάλι μας. 116 00:04:58,210 --> 00:04:58,870 Εντάξει? 117 00:04:58,870 --> 00:05:00,410 >> Χρειαζόμασταν συστήματα καταγραφής. 118 00:05:00,410 --> 00:05:02,220 Χρειαζόμασταν μέρη για να είναι σε θέση να αποθηκεύουν δεδομένα. 119 00:05:02,220 --> 00:05:05,450 Έτσι αρχίσαμε να γράψουν κείμενα, δημιουργώντας βιβλιοθήκες και αρχεία. 120 00:05:05,450 --> 00:05:08,000 Ξεκινήσαμε την ανάπτυξη μιας σύστημα ένα λογιστικό βιβλίο. 121 00:05:08,000 --> 00:05:12,200 Και αυτό το σύστημα καταμέτρησης καθολικού έτρεξε τον κόσμο για πολλούς αιώνες, 122 00:05:12,200 --> 00:05:15,580 και ίσως ακόμη και χιλιετίες ως έχουμε το είδος της μεγάλωσε μέχρι το σημείο 123 00:05:15,580 --> 00:05:18,420 όταν η φόρτωση των δεδομένων ξεπέρασε η ικανότητα των συστημάτων αυτών 124 00:05:18,420 --> 00:05:19,870 να είναι σε θέση να την συγκρατήσουν. 125 00:05:19,870 --> 00:05:22,070 >> Και αυτό ακριβώς συνέβη στη δεκαετία του 1880. 126 00:05:22,070 --> 00:05:22,570 Δικαίωμα? 127 00:05:22,570 --> 00:05:24,390 Στο 1880 Απογραφής των ΗΠΑ. 128 00:05:24,390 --> 00:05:26,976 Αυτό είναι πραγματικά όπου η στροφή σημείο σύγχρονη επεξεργασία δεδομένων. 129 00:05:26,976 --> 00:05:28,850 Αυτό είναι το σημείο στο την οποία η ποσότητα των δεδομένων 130 00:05:28,850 --> 00:05:32,060 ότι είχε εισπραχθεί από το Αμερικανική κυβέρνηση έφτασε στο σημείο 131 00:05:32,060 --> 00:05:34,005 όπου χρειάστηκε οκτώ χρόνια για να επεξεργαστεί. 132 00:05:34,005 --> 00:05:36,350 >> Τώρα, οκτώ years-- ως Ξέρετε, την απογραφή 133 00:05:36,350 --> 00:05:39,180 τρέχει κάθε 10 years-- έτσι είναι αρκετά προφανές ότι από την στιγμή που 134 00:05:39,180 --> 00:05:41,419 πήρε την απογραφή του 1890, η ποσότητα των δεδομένων που 135 00:05:41,419 --> 00:05:43,210 επρόκειτο να υποστούν επεξεργασία από την κυβέρνηση ήταν 136 00:05:43,210 --> 00:05:46,335 πρόκειται να υπερβεί τα 10 χρόνια που θα χρειαζόταν για να ξεκινήσει τη νέα απογραφή. 137 00:05:46,335 --> 00:05:47,250 Αυτό ήταν ένα πρόβλημα. 138 00:05:47,250 --> 00:05:49,000 >> Έτσι, ένας τύπος που ονομάζεται Herman Hollerith ήρθε μαζί 139 00:05:49,000 --> 00:05:52,640 και εφηύρε μονάδα διάτρησης ρεκόρ κάρτες, αναγνώστη καρτών γροθιά, κάρτα γροθιά 140 00:05:52,640 --> 00:05:58,420 πινακοποιητής, και η αντιπαραβολή των οι μηχανισμοί για την τεχνολογία αυτή. 141 00:05:58,420 --> 00:06:01,860 Και ότι η εταιρεία που δημιούργησε κατά τη ώρα, μαζί με ένα ζευγάρι των άλλων, 142 00:06:01,860 --> 00:06:05,450 πραγματικά έγινε ένας από τους πυλώνες μιας μικρή εταιρεία που γνωρίζουμε σήμερα ονομάζεται IBM. 143 00:06:05,450 --> 00:06:08,417 >> Άρα η IBM αρχικά ήταν σε η επιχείρηση της βάσης δεδομένων. 144 00:06:08,417 --> 00:06:09,750 Και αυτό είναι πραγματικά ό, τι έκαναν. 145 00:06:09,750 --> 00:06:11,110 Έκαναν την επεξεργασία των δεδομένων. 146 00:06:11,110 --> 00:06:15,400 >> Καθώς έτσι τον πολλαπλασιασμό του γροθιά κάρτες, ένα ευφυές μηχανισμούς 147 00:06:15,400 --> 00:06:18,560 να είναι σε θέση να μόχλευσης ότι τεχνολογία για την δημοσκόπηση ταξινομημένων συνόλων αποτελεσμάτων. 148 00:06:18,560 --> 00:06:20,726 Μπορείτε να δείτε σε αυτή την εικόνα εκεί έχουμε μια little-- 149 00:06:20,726 --> 00:06:23,970 είναι λίγο small--, αλλά μπορείτε να δείτε ένα πολύ έξυπνο μηχανικό μηχανισμό 150 00:06:23,970 --> 00:06:26,970 όπου έχουμε μια τράπουλα γροθιά. 151 00:06:26,970 --> 00:06:28,720 Και λήψη κάποιου ένα μικρό κατσαβίδι 152 00:06:28,720 --> 00:06:31,400 και να κολλήσει με το κουλοχέρηδες και ανασηκώνοντάς 153 00:06:31,400 --> 00:06:34,820 για να πάρει αυτό το ματς, ότι που ταξινομούνται αποτελέσματα. 154 00:06:34,820 --> 00:06:36,270 >> Αυτή είναι μια συνάθροιση. 155 00:06:36,270 --> 00:06:38,690 Το κάνουμε αυτό όλη την ώρα σήμερα στον υπολογιστή, 156 00:06:38,690 --> 00:06:40,100 όπου μπορείτε να το κάνετε στη βάση δεδομένων. 157 00:06:40,100 --> 00:06:41,620 Συνηθίζαμε να το κάνετε μόνοι σας, σωστά; 158 00:06:41,620 --> 00:06:42,994 Οι άνθρωποι βάλει αυτά τα πράγματα μαζί. 159 00:06:42,994 --> 00:06:45,440 Και ήταν η διάδοση από αυτές τις διάτρητες κάρτες 160 00:06:45,440 --> 00:06:50,070 σε αυτό που ονομάζεται τύμπανα δεδομένων και κυλίνδρους δεδομένα, χαρτοταινία. 161 00:06:50,070 --> 00:06:55,980 >> Η βιομηχανία επεξεργασίας των δεδομένων πραγματοποιήθηκε ένα μάθημα από τα πιάνα παίκτη. 162 00:06:55,980 --> 00:06:57,855 Παίκτης πιάνα πίσω το γύρισμα του αιώνα 163 00:06:57,855 --> 00:07:02,100 χρησιμοποιούσαν τροχούς χαρτί με εγκοπές για να το πω ποια κλειδιά για να παίξει. 164 00:07:02,100 --> 00:07:05,380 Έτσι ώστε η τεχνολογία προσαρμόστηκε τελικά για την αποθήκευση ψηφιακών δεδομένων, 165 00:07:05,380 --> 00:07:08,070 επειδή θα μπορούσε να θέσει αυτά τα δεδομένα σε αυτούς τους κυλίνδρους χαρτοταινία. 166 00:07:08,070 --> 00:07:10,870 >> Τώρα, ως αποτέλεσμα, τα δεδομένα ήταν πώς actually-- 167 00:07:10,870 --> 00:07:14,960 έχετε πρόσβαση σε αυτά τα δεδομένα ήταν άμεσα εξαρτάται από το πώς θα αποθηκεύονται. 168 00:07:14,960 --> 00:07:17,825 Έτσι, αν βάλω τα δεδομένα σε μια ταινία, Είχα αποκτήσει πρόσβαση στα δεδομένα γραμμικά. 169 00:07:17,825 --> 00:07:20,475 Έπρεπε να κυλήσει το σύνολο ταινία για να αποκτήσετε πρόσβαση σε όλα τα δεδομένα. 170 00:07:20,475 --> 00:07:22,600 Αν έβαλα τα δεδομένα σε γροθιά κάρτες, θα μπορούσε να έχει πρόσβαση 171 00:07:22,600 --> 00:07:26,270 σε λίγο περισσότερο τυχαίο μόδα, ίσως όχι τόσο γρήγορα. 172 00:07:26,270 --> 00:07:30,770 >> Αλλά υπήρχαν περιορισμοί στον τρόπο που θα πρόσβαση σε δεδομένα με βάση το πόσο φυλάχθηκε. 173 00:07:30,770 --> 00:07:32,890 Και έτσι αυτό ήταν ένα πρόβλημα υπεισέλθω σε τη δεκαετία του '50. 174 00:07:32,890 --> 00:07:37,890 Και πάλι, μπορούμε να αρχίσουμε να βλέπουμε ότι καθώς την ανάπτυξη νέων τεχνολογιών για την επεξεργασία 175 00:07:37,890 --> 00:07:41,670 τα δεδομένα, δεξιά, ανοίγει η πόρτα για νέες λύσεις, 176 00:07:41,670 --> 00:07:45,852 για τα νέα προγράμματα, νέες οι αιτήσεις για το εν λόγω δεδομένων. 177 00:07:45,852 --> 00:07:47,810 Και πραγματικά, η διακυβέρνηση μπορεί να ήταν η αιτία 178 00:07:47,810 --> 00:07:49,435 γιατί έχουμε αναπτύξει ορισμένα από αυτά τα συστήματα. 179 00:07:49,435 --> 00:07:52,290 Αλλά η δουλειά έγινε γρήγορα ο οδηγός πίσω από την εξέλιξη 180 00:07:52,290 --> 00:07:54,720 της σύγχρονης βάσης δεδομένων και Το σύγχρονο σύστημα αρχείων. 181 00:07:54,720 --> 00:07:56,870 >> Έτσι, το επόμενο πράγμα που ήρθε ήταν στη δεκαετία του '50 182 00:07:56,870 --> 00:08:00,780 ήταν το σύστημα αρχείων και το ανάπτυξη της τυχαίας αποθήκευσης πρόσβασης. 183 00:08:00,780 --> 00:08:02,050 Αυτό ήταν όμορφη. 184 00:08:02,050 --> 00:08:06,230 Τώρα, όλοι ξαφνικά, μπορούμε να βάλουμε μας αρχεία οπουδήποτε στον αυτούς τους σκληρούς δίσκους 185 00:08:06,230 --> 00:08:09,760 και μπορούμε να έχουμε πρόσβαση αυτά τα δεδομένα τυχαία. 186 00:08:09,760 --> 00:08:11,950 Μπορούμε να αναλύσει ότι πληροφορίες εκτός των αρχείων. 187 00:08:11,950 --> 00:08:14,920 Και έχουμε λύσει όλα του κόσμου προβλήματα με την επεξεργασία των δεδομένων. 188 00:08:14,920 --> 00:08:17,550 >> Και αυτό διήρκεσε περίπου 20 ή 30 χρόνια έως ότου η εξέλιξη 189 00:08:17,550 --> 00:08:22,100 του σχεσιακή βάση δεδομένων, η οποία είναι όταν ο κόσμος που αποφάσισε τώρα 190 00:08:22,100 --> 00:08:27,940 Πρέπει να έχετε ένα αποθετήριο που νικά η εξάπλωση των δεδομένων σε αρχείο 191 00:08:27,940 --> 00:08:29,540 συστήματα που έχουμε χτίσει. Δικαίωμα? 192 00:08:29,540 --> 00:08:34,270 Πάρα πολλά δεδομένα διανέμονται σε πάρα πολλά θέσεις, ο de-επικάλυψη των δεδομένων, 193 00:08:34,270 --> 00:08:37,120 και το κόστος της αποθήκευσης ήταν τεράστια. 194 00:08:37,120 --> 00:08:43,760 >> Τη δεκαετία του '70, το πιο ακριβό πόρο ότι ένας υπολογιστής είχε ήταν η αποθήκευση. 195 00:08:43,760 --> 00:08:46,200 Ο επεξεργαστής ήταν θεωρηθεί ως ένα σταθερό κόστος. 196 00:08:46,200 --> 00:08:49,030 Όταν αγοράζετε το κουτί, η CPU κάνει κάποια εργασία. 197 00:08:49,030 --> 00:08:51,960 Είναι πρόκειται να περιστρέφεται κατά πόσον αυτό είναι πραγματικά εργάζονται ή όχι. 198 00:08:51,960 --> 00:08:53,350 Αυτό είναι πραγματικά ένα εφάπαξ κόστος. 199 00:08:53,350 --> 00:08:56,030 >> Αλλά αυτό που μου κοστίσει ως των επιχειρήσεων είναι η αποθήκευση. 200 00:08:56,030 --> 00:09:00,020 Αν έχω να αγοράσω περισσότερους δίσκους επόμενο μήνα, αυτό είναι ένα πραγματικό κόστος που πληρώνουν. 201 00:09:00,020 --> 00:09:01,620 Και αυτή η αποθήκευση είναι δαπανηρή. 202 00:09:01,620 --> 00:09:05,020 >> Τώρα fast forward 40 χρόνια και έχουμε ένα διαφορετικό πρόβλημα. 203 00:09:05,020 --> 00:09:10,020 Η υπολογιστική είναι τώρα η πιο ακριβό πόρο. 204 00:09:10,020 --> 00:09:11,470 Η αποθήκευση είναι φθηνή. 205 00:09:11,470 --> 00:09:14,570 Θέλω να πω, μπορούμε να πάμε οπουδήποτε για το σύννεφο και μπορούμε να βρούμε φτηνό αποθήκευσης. 206 00:09:14,570 --> 00:09:17,190 Αλλά αυτό δεν μπορώ να βρω είναι φθηνή υπολογιστική. 207 00:09:17,190 --> 00:09:20,700 >> Έτσι, η εξέλιξη της σημερινής τεχνολογίας, της τεχνολογίας των βάσεων δεδομένων, 208 00:09:20,700 --> 00:09:23,050 Είναι πραγματικά επικεντρώθηκε γύρω από κατανεμημένες βάσεις δεδομένων 209 00:09:23,050 --> 00:09:26,960 ότι δεν πάσχουν από το ίδιο είδος κλίμακας 210 00:09:26,960 --> 00:09:29,240 περιορισμούς των σχεσιακών βάσεων δεδομένων. 211 00:09:29,240 --> 00:09:32,080 Θα μιλήσουμε λίγο για τι σημαίνει αυτό στην πραγματικότητα. 212 00:09:32,080 --> 00:09:34,760 >> Αλλά ένας από τους λόγους και ο οδηγός πίσω από this-- μας 213 00:09:34,760 --> 00:09:38,290 μίλησε για την πίεση των δεδομένων. 214 00:09:38,290 --> 00:09:41,920 Δεδομένα πίεση είναι κάτι ότι κινεί την καινοτομία. 215 00:09:41,920 --> 00:09:44,610 Και αν κοιτάξετε πάνω τα τελευταία πέντε χρόνια, 216 00:09:44,610 --> 00:09:48,180 αυτό είναι ένα διάγραμμα του τι δεδομένων φορτίο σε όλη τη Γενική Διεύθυνση Επιχειρήσεων 217 00:09:48,180 --> 00:09:49,640 μοιάζει τα τελευταία πέντε χρόνια. 218 00:09:49,640 --> 00:09:52,570 >> Και ο γενικός κανόνας του αντίχειρα Αυτές οι days-- αν πάτε Google-- 219 00:09:52,570 --> 00:09:55,290 είναι το 90% των δεδομένων που αποθηκεύουμε σήμερα, και ήταν 220 00:09:55,290 --> 00:09:57,330 παράγεται εντός των δύο τελευταίων ετών. 221 00:09:57,330 --> 00:09:57,911 ΕΝΤΆΞΕΙ. 222 00:09:57,911 --> 00:09:59,410 Τώρα, αυτό δεν είναι μια τάση που είναι νέο. 223 00:09:59,410 --> 00:10:01,230 Αυτή είναι μια τάση που είναι ήδη βγείτε έξω για 100 χρόνια. 224 00:10:01,230 --> 00:10:03,438 Από τότε Herman Hollerith ανέπτυξε την κάρτα γροθιά, 225 00:10:03,438 --> 00:10:08,040 έχουμε χτίσει αποθήκες δεδομένων και τη συλλογή δεδομένων σε πρωτοφανή ποσοστά. 226 00:10:08,040 --> 00:10:10,570 >> Έτσι, τα τελευταία 100 χρόνια, έχουμε δει αυτή την τάση. 227 00:10:10,570 --> 00:10:11,940 Αυτό δεν πρόκειται να αλλάξει. 228 00:10:11,940 --> 00:10:14,789 Πηγαίνοντας προς τα εμπρός, θα πάμε να δούμε αυτό, αν όχι μια επιταχυνόμενη τάση. 229 00:10:14,789 --> 00:10:16,330 Και μπορείτε να δείτε τι μοιάζει. 230 00:10:16,330 --> 00:10:23,510 >> Εάν μια επιχείρηση το 2010 είχε ένα terabyte δεδομένων υπό διαχείριση, 231 00:10:23,510 --> 00:10:27,080 σήμερα, που σημαίνει ότι είναι 6.5 petabytes τη διαχείριση των δεδομένων. 232 00:10:27,080 --> 00:10:30,380 Αυτό είναι 6.500 φορές περισσότερα δεδομένα. 233 00:10:30,380 --> 00:10:31,200 Και το ξέρω αυτό. 234 00:10:31,200 --> 00:10:33,292 Δουλεύω με τις εν λόγω επιχειρήσεις κάθε μέρα. 235 00:10:33,292 --> 00:10:35,000 Πέντε χρόνια πριν, θα μιλήσει σε εταιρείες 236 00:10:35,000 --> 00:10:38,260 ο οποίος θα μιλήσει σε μένα σχετικά με το τι πόνο είναι να διαχειρίζεται terabytes δεδομένων. 237 00:10:38,260 --> 00:10:39,700 Και θα μιλούσαν μου για το πώς βλέπουμε 238 00:10:39,700 --> 00:10:41,825 ότι αυτό κατά πάσα πιθανότητα θα να είναι ένα ή δύο petabyte 239 00:10:41,825 --> 00:10:43,030 μέσα σε δύο χρόνια. 240 00:10:43,030 --> 00:10:45,170 >> Αυτές οι ίδιες οι εταιρείες Σήμερα είμαι συνάντηση με, 241 00:10:45,170 --> 00:10:48,100 και μιλάμε για μένα για το πρόβλημα έχουν εκεί τη διαχείριση 242 00:10:48,100 --> 00:10:51,440 δεκάδες, 20 petabytes δεδομένων. 243 00:10:51,440 --> 00:10:53,590 Έτσι, την έκρηξη της στοιχεία στη βιομηχανία 244 00:10:53,590 --> 00:10:56,670 είναι η κινητήρια δύναμη της τεράστιας ανάγκη για καλύτερες λύσεις. 245 00:10:56,670 --> 00:11:00,980 Και η σχεσιακή βάση δεδομένων είναι απλά δεν ζουν μέχρι και τη ζήτηση. 246 00:11:00,980 --> 00:11:03,490 >> Και έτσι υπάρχει μια γραμμική συσχέτιση μεταξύ της πίεσης δεδομένων 247 00:11:03,490 --> 00:11:05,210 και την τεχνολογική καινοτομία. 248 00:11:05,210 --> 00:11:07,780 Η Ιστορία μάς έχει δείξει αυτό, ότι το πέρασμα του χρόνου, 249 00:11:07,780 --> 00:11:11,090 όποτε ο όγκος των δεδομένων ότι θα πρέπει να υποβάλλονται σε επεξεργασία 250 00:11:11,090 --> 00:11:15,490 υπερβαίνει τη χωρητικότητα του συστήματος να επεξεργαστεί σε ένα εύλογο χρονικό διάστημα 251 00:11:15,490 --> 00:11:18,870 ή σε λογικό κόστος, Στη συνέχεια οι νέες τεχνολογίες 252 00:11:18,870 --> 00:11:21,080 Οι εφευρέθηκε για να λύσει αυτά τα προβλήματα. 253 00:11:21,080 --> 00:11:24,090 Αυτές οι νέες τεχνολογίες, με τη σειρά του, να ανοίξει την πόρτα 254 00:11:24,090 --> 00:11:27,840 σε ένα άλλο σύνολο των προβλημάτων, τα οποία συγκεντρώνει ακόμα περισσότερα δεδομένα. 255 00:11:27,840 --> 00:11:29,520 >> Τώρα, εμείς δεν πρόκειται να σταματήσει αυτό. 256 00:11:29,520 --> 00:11:30,020 Δικαίωμα? 257 00:11:30,020 --> 00:11:31,228 Εμείς δεν πρόκειται να σταματήσει αυτό. 258 00:11:31,228 --> 00:11:31,830 Γιατί; 259 00:11:31,830 --> 00:11:35,520 Επειδή δεν μπορείτε να ξέρετε τα πάντα υπάρχει να ξέρει στο σύμπαν. 260 00:11:35,520 --> 00:11:40,510 Και όσο ήμασταν ζωντανοί, σε όλη την ιστορία του ανθρώπου, 261 00:11:40,510 --> 00:11:43,440 έχουμε πάντα με γνώμονα να μάθετε περισσότερα. 262 00:11:43,440 --> 00:11:49,840 >> Φαίνεται λοιπόν ότι κάθε ίντσα κινούμαστε κάτω από την πορεία της επιστημονικής ανακάλυψης, 263 00:11:49,840 --> 00:11:54,620 είμαστε πολλαπλασιάζοντας την ποσότητα των δεδομένων ότι πρέπει να επεξεργαστούμε εκθετικά 264 00:11:54,620 --> 00:11:59,920 όπως έχουμε αποκαλύψει όλο και περισσότερο και πιο σχετικά με τις εσωτερικές λειτουργίες της ζωής, 265 00:11:59,920 --> 00:12:04,530 για το πώς λειτουργεί το σύμπαν, για οδηγώντας την επιστημονική ανακάλυψη, 266 00:12:04,530 --> 00:12:06,440 και η εφεύρεση που κάνουμε σήμερα. 267 00:12:06,440 --> 00:12:09,570 Ο όγκος των δεδομένων μόνο αυξάνεται συνεχώς. 268 00:12:09,570 --> 00:12:12,120 Έτσι είναι σε θέση να ασχοληθεί με Αυτό το πρόβλημα είναι τεράστιο. 269 00:12:12,120 --> 00:12:14,790 270 00:12:14,790 --> 00:12:17,410 >> Έτσι ένα από τα πράγματα κοιτάξουμε το γιατί NoSQL; 271 00:12:17,410 --> 00:12:19,200 Πώς NoSQL λύσει αυτό το πρόβλημα; 272 00:12:19,200 --> 00:12:24,980 Λοιπόν, σχεσιακές βάσεις δεδομένων, Structured Query Language, 273 00:12:24,980 --> 00:12:28,600 SQL-- αυτό είναι πραγματικά ένα κατασκεύασμα της σχεσιακή database-- αυτά τα πράγματα είναι 274 00:12:28,600 --> 00:12:30,770 βελτιστοποιημένες για αποθήκευση. 275 00:12:30,770 --> 00:12:33,180 >> Επιστροφή στη δεκαετία του '70, και πάλι, δίσκος είναι ακριβό. 276 00:12:33,180 --> 00:12:36,990 Η άσκηση διαδικασία provisioning στην επιχείρηση δεν τελειώνει ποτέ. 277 00:12:36,990 --> 00:12:37,490 Ξέρω. 278 00:12:37,490 --> 00:12:38,020 Έχω ζήσει. 279 00:12:38,020 --> 00:12:41,250 Έγραψα προγράμματα οδήγησης αποθήκευσης για ένα enterprised εταιρεία superserver 280 00:12:41,250 --> 00:12:42,470 πίσω στη δεκαετία του '90. 281 00:12:42,470 --> 00:12:45,920 Και η κατώτατη γραμμή είναι στίβουν το άλλο συστοιχία αποθήκευσης ήταν απλά κάτι που 282 00:12:45,920 --> 00:12:47,600 συνέβη κάθε μέρα στην επιχείρηση. 283 00:12:47,600 --> 00:12:49,030 Και ποτέ δεν σταμάτησε. 284 00:12:49,030 --> 00:12:52,690 Υψηλότερες πυκνότητα αποθήκευσης, η ζήτηση για την υψηλή πυκνότητα αποθήκευσης, 285 00:12:52,690 --> 00:12:56,340 και για πιο αποτελεσματική αποθήκευση devices-- ποτέ δεν σταμάτησε. 286 00:12:56,340 --> 00:13:00,160 >> Και NoSQL είναι μια μεγάλη τεχνολογία επειδή ομαλοποιεί τα δεδομένα. 287 00:13:00,160 --> 00:13:02,210 De-αναπαράγει τα δεδομένα. 288 00:13:02,210 --> 00:13:07,180 Θα πρέπει να θέσει τα δεδομένα σε μια δομή που είναι αγνωστικιστής σε κάθε σχέδιο πρόσβασης. 289 00:13:07,180 --> 00:13:11,600 Πολλαπλές εφαρμογές μπορεί να χτυπήσει ότι Βάση δεδομένων SQL, εκτελέστε ad hoc ερωτήματα, 290 00:13:11,600 --> 00:13:15,950 και να πάρετε τα δεδομένα στο σχήμα, ώστε Πρέπει να επεξεργάζονται το φόρτο εργασίας τους. 291 00:13:15,950 --> 00:13:17,570 Αυτό ακούγεται φανταστικό. 292 00:13:17,570 --> 00:13:21,350 Αλλά η κατώτατη γραμμή είναι με οποιοδήποτε συστήματος, αν είναι αγνωστικιστής για τα πάντα, 293 00:13:21,350 --> 00:13:23,500 αυτό έχει βελτιστοποιηθεί για τίποτα. 294 00:13:23,500 --> 00:13:24,050 ΕΝΤΆΞΕΙ? 295 00:13:24,050 --> 00:13:26,386 >> Και αυτό είναι που έχουμε με η σχεσιακή βάση δεδομένων. 296 00:13:26,386 --> 00:13:27,510 Είναι βελτιστοποιημένο για την αποθήκευση. 297 00:13:27,510 --> 00:13:28,280 Είναι φυσιολογικά επίπεδα. 298 00:13:28,280 --> 00:13:29,370 Είναι σχεσιακή. 299 00:13:29,370 --> 00:13:31,660 Υποστηρίζει τα ad hoc ερωτήματα. 300 00:13:31,660 --> 00:13:34,000 Και αυτό και κλίμακες κατακόρυφα. 301 00:13:34,000 --> 00:13:39,030 >> Αν χρειαστεί να πάρετε μια μεγαλύτερη βάση δεδομένων SQL ή μια πιο ισχυρή βάση δεδομένων SQL, 302 00:13:39,030 --> 00:13:41,090 Έχω πάει να αγοράσει ένα μεγαλύτερο κομμάτι του σιδήρου. 303 00:13:41,090 --> 00:13:41,600 ΕΝΤΆΞΕΙ? 304 00:13:41,600 --> 00:13:44,940 Έχω δουλέψει με πολλούς πελάτες που έχουν περάσει από σημαντικές αναβαθμίσεις 305 00:13:44,940 --> 00:13:48,340 στις υποδομές τους SQL μόνο για να μάθετε έξι μήνες αργότερα, 306 00:13:48,340 --> 00:13:49,750 από όπου και αν χτυπήσει ξανά τον τοίχο. 307 00:13:49,750 --> 00:13:55,457 Και η απάντηση από την Oracle ή MSSQL ή οποιοσδήποτε άλλος είναι να πάρετε ένα μεγαλύτερο κουτί. 308 00:13:55,457 --> 00:13:58,540 Λοιπόν, αργά ή γρήγορα, δεν μπορείτε να αγοράσετε ένα μεγαλύτερο κουτί, και αυτό είναι πραγματικό πρόβλημα. 309 00:13:58,540 --> 00:14:00,080 Πρέπει να αλλάξει πραγματικά τα πράγματα. 310 00:14:00,080 --> 00:14:01,080 Έτσι, όταν κάνει αυτό το έργο; 311 00:14:01,080 --> 00:14:06,560 Λειτουργεί καλά για offline analytics, OLAP τύπου φόρτο εργασίας. 312 00:14:06,560 --> 00:14:08,670 Και αυτό είναι πραγματικά όπου ανήκει SQL. 313 00:14:08,670 --> 00:14:12,540 Τώρα, αυτό είναι που χρησιμοποιείται σήμερα σε πολλές σε απευθείας σύνδεση επεξεργασία τύπου συναλλαγής 314 00:14:12,540 --> 00:14:13,330 εφαρμογές. 315 00:14:13,330 --> 00:14:16,460 Και δουλεύει μια χαρά σε κάποιο επίπεδο αξιοποίησης, 316 00:14:16,460 --> 00:14:18,670 αλλά απλά δεν κλίμακα ο τρόπος που το κάνει NoSQL. 317 00:14:18,670 --> 00:14:20,660 Και θα μιλήσουμε λίγο bit για το γιατί συμβαίνει αυτό. 318 00:14:20,660 --> 00:14:23,590 >> Τώρα, NoSQL, από την άλλη πλευρά, είναι πιο βελτιστοποιημένο για υπολογίζουν. 319 00:14:23,590 --> 00:14:24,540 ΕΝΤΆΞΕΙ? 320 00:14:24,540 --> 00:14:26,830 Δεν είναι αγνωστικιστής να η συχνή πρόσβαση. 321 00:14:26,830 --> 00:14:31,620 Είναι αυτό που λέμε de-κανονικοποιημένη δομή ή μια ιεραρχική δομή. 322 00:14:31,620 --> 00:14:35,000 Τα δεδομένα σε μια σχεσιακή βάση δεδομένων είναι ενώνονται από πολλαπλούς πίνακες 323 00:14:35,000 --> 00:14:36,850 να παράγουν την άποψη ότι χρειάζεστε. 324 00:14:36,850 --> 00:14:40,090 Τα δεδομένα σε μία βάση δεδομένων NoSQL αποθηκεύεται σε ένα έγγραφο που 325 00:14:40,090 --> 00:14:42,100 περιέχει την ιεραρχική δομή. 326 00:14:42,100 --> 00:14:45,670 Όλα τα δεδομένα που θα ήταν κανονικά ενώθηκαν για να παράγουν αυτή την άποψη 327 00:14:45,670 --> 00:14:47,160 αποθηκεύεται σε ένα ενιαίο έγγραφο. 328 00:14:47,160 --> 00:14:50,990 Και θα μιλήσουμε λίγο για πώς αυτό λειτουργεί σε δύο διαγράμματα. 329 00:14:50,990 --> 00:14:55,320 >> Αλλά η ιδέα εδώ είναι ότι μπορείτε να αποθηκεύσετε τα δεδομένα σας, όπως αυτά τεκμηριώθηκε θέα. 330 00:14:55,320 --> 00:14:56,410 ΕΝΤΆΞΕΙ? 331 00:14:56,410 --> 00:14:58,610 Μπορείτε κλίμακα οριζόντια. 332 00:14:58,610 --> 00:14:59,556 Δικαίωμα? 333 00:14:59,556 --> 00:15:02,100 Αν θα πρέπει να αυξηθεί η το μέγεθος του συμπλέγματος μου NoSQL, 334 00:15:02,100 --> 00:15:03,700 Δεν πρέπει να πάρετε ένα μεγαλύτερο κουτί. 335 00:15:03,700 --> 00:15:05,200 Παίρνω ένα άλλο πλαίσιο. 336 00:15:05,200 --> 00:15:07,700 Και εγώ συμπλέγματος αυτά συνολικά, και μπορώ να θραύσμα αυτά τα δεδομένα. 337 00:15:07,700 --> 00:15:10,780 Θα μιλήσουμε λίγο για τι sharding είναι, να είναι 338 00:15:10,780 --> 00:15:14,270 σε θέση να επεκτείνουμε αυτή τη βάση δεδομένων σε πολλαπλές φυσικές συσκευές 339 00:15:14,270 --> 00:15:18,370 και αφαιρέστε το εμπόδιο που απαιτεί να αναβαθμίσουν κατακόρυφα. 340 00:15:18,370 --> 00:15:22,080 >> Έτσι, είναι πραγματικά κατασκευαστεί για online επεξεργασία των συναλλαγών και την κλίμακα. 341 00:15:22,080 --> 00:15:25,480 Υπάρχει μια μεγάλη διάκριση εδώ μεταξύ των εκθέσεων, έτσι δεν είναι; 342 00:15:25,480 --> 00:15:27,810 Αναφορά, δεν ξέρω το ερωτήσεις Πάω να ρωτήσω. 343 00:15:27,810 --> 00:15:28,310 Δικαίωμα? 344 00:15:28,310 --> 00:15:30,570 Reporting-- αν κάποιος από το τμήμα μάρκετινγκ μου 345 00:15:30,570 --> 00:15:34,520 θέλει να just-- πόσοι από τους πελάτες μου έχουν αυτό το ιδιαίτερο χαρακτηριστικό που 346 00:15:34,520 --> 00:15:37,850 αγόρασε σε αυτό το day-- Δεν ξέρω αυτό το ερώτημα που πρόκειται να ρωτήσω. 347 00:15:37,850 --> 00:15:39,160 Γι 'αυτό και πρέπει να είναι αγνωστικιστής. 348 00:15:39,160 --> 00:15:41,810 >> Τώρα, σε απευθείας σύνδεση συναλλαγής εφαρμογή, 349 00:15:41,810 --> 00:15:43,820 Ξέρω τι ερωτήσεις ρωτάω. 350 00:15:43,820 --> 00:15:46,581 Έφτιαξα την αίτηση μια πολύ συγκεκριμένη ροή εργασίας. 351 00:15:46,581 --> 00:15:47,080 ΕΝΤΆΞΕΙ? 352 00:15:47,080 --> 00:15:50,540 Έτσι, αν μπορώ να βελτιώσω τα δεδομένα αποθηκεύσετε για να υποστηρίξει ότι η ροή εργασίας, 353 00:15:50,540 --> 00:15:52,020 πρόκειται να είναι ταχύτερη. 354 00:15:52,020 --> 00:15:55,190 Και γι 'αυτό μπορεί να NoSQL πραγματικά να επιταχύνει την παράδοση 355 00:15:55,190 --> 00:15:57,710 από αυτούς τους τύπους των υπηρεσιών. 356 00:15:57,710 --> 00:15:58,210 Εντάξει. 357 00:15:58,210 --> 00:16:00,501 >> Έτσι θα πάμε να μπει σε ένα μικρό κομμάτι της θεωρίας εδώ. 358 00:16:00,501 --> 00:16:03,330 Και μερικοί από σας, τα μάτια σας μπορεί να κυλήσει λίγο πίσω. 359 00:16:03,330 --> 00:16:06,936 Αλλά εγώ θα προσπαθήσω να το κρατήσει τόσο υψηλό επίπεδο όσο μπορώ. 360 00:16:06,936 --> 00:16:08,880 Έτσι, εάν είστε στο έργο διαχείριση, υπάρχει 361 00:16:08,880 --> 00:16:12,280 ένα κατασκεύασμα που ονομάζεται τρίγωνο των περιορισμών. 362 00:16:12,280 --> 00:16:12,936 ΕΝΤΆΞΕΙ. 363 00:16:12,936 --> 00:16:16,060 Το τρίγωνο των περιορισμών προσταγές δεν μπορείτε να έχετε τα πάντα όλη την ώρα. 364 00:16:16,060 --> 00:16:17,750 Δεν μπορεί να έχει την πίτα σας και το σκύλο χορτάτο. 365 00:16:17,750 --> 00:16:22,310 Έτσι, στην διαχείριση του έργου, ότι το τρίγωνο περιορισμοί είναι μπορείτε να το φτηνό, 366 00:16:22,310 --> 00:16:24,710 μπορείτε να έχετε γρήγορα, ή μπορείτε να έχετε καλό. 367 00:16:24,710 --> 00:16:25,716 Διαλέξτε δύο. 368 00:16:25,716 --> 00:16:27,090 Επειδή δεν μπορείτε να έχετε και τα τρία. 369 00:16:27,090 --> 00:16:27,460 Δικαίωμα? 370 00:16:27,460 --> 00:16:27,820 ΕΝΤΆΞΕΙ. 371 00:16:27,820 --> 00:16:28,920 >> Έτσι έχετε ακούσει για αυτό το πολύ. 372 00:16:28,920 --> 00:16:31,253 Είναι ένα τριπλό περιορισμό, τρίγωνο της τριπλής περιορισμού, 373 00:16:31,253 --> 00:16:34,420 ή το τρίγωνο σιδήρου είναι oftentimes-- όταν μιλάτε σε διαχειριστές έργων, 374 00:16:34,420 --> 00:16:35,420 θα μιλήσουν για αυτό. 375 00:16:35,420 --> 00:16:37,640 Τώρα, βάσεις δεδομένων έχουν τη δική τους τρίγωνο σιδήρου. 376 00:16:37,640 --> 00:16:40,350 Και το τρίγωνο του σιδήρου των δεδομένων Είναι αυτό που λέμε το θεώρημα της ΚΓΠ. 377 00:16:40,350 --> 00:16:41,580 ΕΝΤΆΞΕΙ? 378 00:16:41,580 --> 00:16:43,770 >> ΚΓΠ υπαγορεύει το θεώρημα πώς λειτουργούν οι βάσεις δεδομένων 379 00:16:43,770 --> 00:16:45,627 κάτω από πολύ συγκεκριμένες συνθήκες. 380 00:16:45,627 --> 00:16:47,460 Και θα μιλήσουμε για τι κατάσταση είναι. 381 00:16:47,460 --> 00:16:52,221 Αλλά τα τρία σημεία του τριγώνου, να το πω έτσι, είναι C, η συνέπεια. 382 00:16:52,221 --> 00:16:52,720 ΕΝΤΆΞΕΙ? 383 00:16:52,720 --> 00:16:56,760 Έτσι στην ΚΓΠ, συνοχή σημαίνει ότι όλα τα οι πελάτες οι οποίοι μπορούν να έχουν πρόσβαση στη βάση δεδομένων 384 00:16:56,760 --> 00:16:59,084 Θα έχετε πάντα ένα πολύ συνεκτική εικόνα των δεδομένων. 385 00:16:59,084 --> 00:17:00,750 Θα Κανείς δούμε δύο διαφορετικά πράγματα. 386 00:17:00,750 --> 00:17:01,480 ΕΝΤΆΞΕΙ? 387 00:17:01,480 --> 00:17:04,020 Αν δω τη βάση δεδομένων, Βλέπω την ίδια άποψη 388 00:17:04,020 --> 00:17:06,130 ως συνεργάτης μου που βλέπει την ίδια βάση δεδομένων. 389 00:17:06,130 --> 00:17:07,470 Αυτή είναι η συνέπεια. 390 00:17:07,470 --> 00:17:12,099 >> Διαθεσιμότητα σημαίνει ότι αν ο ηλεκτρονική βάση δεδομένων, εφόσον αυτό μπορεί να επιτευχθεί, 391 00:17:12,099 --> 00:17:14,760 ότι όλοι οι πελάτες θα είναι πάντα να είναι σε θέση να διαβάζουν και να γράφουν. 392 00:17:14,760 --> 00:17:15,260 ΕΝΤΆΞΕΙ? 393 00:17:15,260 --> 00:17:17,010 Έτσι, κάθε πελάτης που μπορεί να διαβάσει τη βάση δεδομένων 394 00:17:17,010 --> 00:17:18,955 θα είναι πάντα σε θέση ανάγνωσης στοιχεία δεδομένων και να γράφουν. 395 00:17:18,955 --> 00:17:21,819 Και αν αυτή είναι η περίπτωση, Είναι ένα διαθέσιμο σύστημα. 396 00:17:21,819 --> 00:17:24,230 >> Και το τρίτο σημείο είναι αυτό που καλούμε την ανοχή διαμέρισμα. 397 00:17:24,230 --> 00:17:24,730 ΕΝΤΆΞΕΙ? 398 00:17:24,730 --> 00:17:28,160 Μέσα ανοχή κατανομής ότι το σύστημα λειτουργεί καλά 399 00:17:28,160 --> 00:17:32,000 παρά τη σωματική του δικτύου χωρίσματα μεταξύ των κόμβων. 400 00:17:32,000 --> 00:17:32,760 ΕΝΤΆΞΕΙ? 401 00:17:32,760 --> 00:17:36,270 Έτσι κόμβους του συμπλέγματος δεν μπορεί να να μιλούν μεταξύ τους, τι συμβαίνει; 402 00:17:36,270 --> 00:17:36,880 Εντάξει. 403 00:17:36,880 --> 00:17:39,545 >> Έτσι, σχεσιακές βάσεις δεδομένων choose-- μπορείτε να επιλέξετε δύο από αυτά. 404 00:17:39,545 --> 00:17:40,045 ΕΝΤΆΞΕΙ. 405 00:17:40,045 --> 00:17:43,680 Έτσι, σχεσιακές βάσεις δεδομένων επιλέξετε να είναι συνεπείς και διαθέσιμα. 406 00:17:43,680 --> 00:17:47,510 Εάν το διαμέρισμα συμβαίνει μεταξύ οι DataNodes του χώρου αποθήκευσης δεδομένων, 407 00:17:47,510 --> 00:17:48,831 η βάση δεδομένων διακόπτεται. 408 00:17:48,831 --> 00:17:49,330 Δικαίωμα? 409 00:17:49,330 --> 00:17:50,900 Πηγαίνει ακριβώς κάτω. 410 00:17:50,900 --> 00:17:51,450 ΕΝΤΆΞΕΙ. 411 00:17:51,450 --> 00:17:54,230 >> Και αυτός είναι ο λόγος που έχουν να αυξάνεται με μεγαλύτερο κουτιά. 412 00:17:54,230 --> 00:17:54,730 Δικαίωμα? 413 00:17:54,730 --> 00:17:58,021 Επειδή υπάρχει no-- συνήθως, ένα σύμπλεγμα βάση δεδομένων, δεν υπάρχει πάρα πολλοί από αυτούς 414 00:17:58,021 --> 00:17:59,590 ότι λειτουργούν με αυτόν τον τρόπο. 415 00:17:59,590 --> 00:18:03,019 Αλλά οι περισσότεροι κλίμακας βάσεις δεδομένων κατακόρυφα μέσα σε ένα μόνο κουτί. 416 00:18:03,019 --> 00:18:05,060 Επειδή πρέπει να είναι συνεπής και διαθέσιμη. 417 00:18:05,060 --> 00:18:10,320 Εάν ένα χώρισμα επρόκειτο να εγχυθεί, τότε θα πρέπει να κάνει μια επιλογή. 418 00:18:10,320 --> 00:18:13,720 Θα πρέπει να κάνει μια επιλογή μεταξύ να είναι συνεπής και διαθέσιμα. 419 00:18:13,720 --> 00:18:16,080 >> Και αυτό είναι που κάνει NoSQL βάσεις δεδομένων. 420 00:18:16,080 --> 00:18:16,580 Εντάξει. 421 00:18:16,580 --> 00:18:20,950 Έτσι, μια βάση δεδομένων NoSQL αυτό, έρχεται σε δύο γεύσεις. 422 00:18:20,950 --> 00:18:22,990 Εμείς have-- καλά, έρχεται σε πολλές γεύσεις, 423 00:18:22,990 --> 00:18:26,140 αλλά έρχεται με δύο βασικές characteristics-- τι 424 00:18:26,140 --> 00:18:30,050 θα λέγαμε βάση δεδομένων CP, ή συνεπείς και τη διχοτόμηση της ανοχής 425 00:18:30,050 --> 00:18:31,040 σύστημα. 426 00:18:31,040 --> 00:18:34,930 Αυτά τα παιδιά κάνουν την επιλογή ότι όταν οι κόμβοι χάνουν την επαφή με την άλλη, 427 00:18:34,930 --> 00:18:37,091 εμείς δεν πρόκειται να επιτρέψει οι άνθρωποι να γράψω πια. 428 00:18:37,091 --> 00:18:37,590 ΕΝΤΆΞΕΙ? 429 00:18:37,590 --> 00:18:41,855 >> Μέχρι αφαιρείται ότι η διχοτόμηση, write πρόσβαση είναι αποκλεισμένη. 430 00:18:41,855 --> 00:18:43,230 Αυτό σημαίνει ότι δεν είναι διαθέσιμοι. 431 00:18:43,230 --> 00:18:44,510 Είναι συνεπής. 432 00:18:44,510 --> 00:18:46,554 Όταν βλέπουμε ότι διαμέρισμα ίδια ένεση, 433 00:18:46,554 --> 00:18:48,470 τώρα είμαστε συνεπείς, γιατί εμείς δεν πρόκειται 434 00:18:48,470 --> 00:18:51,517 να καταστεί δυνατή η αλλαγή των δεδομένων σε δύο πλευρές του διαμερίσματος ανεξαρτήτως 435 00:18:51,517 --> 00:18:52,100 από την άλλη. 436 00:18:52,100 --> 00:18:54,130 Θα πρέπει να την αποκατάσταση της επικοινωνίας 437 00:18:54,130 --> 00:18:56,930 πριν από οποιαδήποτε ενημέρωση τα δεδομένα επιτρέπεται. 438 00:18:56,930 --> 00:18:58,120 ΕΝΤΆΞΕΙ? 439 00:18:58,120 --> 00:19:02,650 >> Η επόμενη γεύση θα ήταν ένα σύστημα AP, ή ένα διαθέσιμο και διαμοιράστηκε 440 00:19:02,650 --> 00:19:03,640 σύστημα ανοχή. 441 00:19:03,640 --> 00:19:05,320 Αυτά τα παιδιά δεν με νοιάζει. 442 00:19:05,320 --> 00:19:06,020 Δικαίωμα? 443 00:19:06,020 --> 00:19:08,960 Κάθε κόμβος που παίρνει ένα γράφουν, θα το πάρει. 444 00:19:08,960 --> 00:19:11,480 Έτσι είμαι αντιγραφή τα δεδομένα μου σε πολλούς κόμβους. 445 00:19:11,480 --> 00:19:14,730 Αυτοί οι κόμβοι να πάρει έναν πελάτη, ο πελάτης έρχεται σε, λέει, Πάω να γράψω κάποια δεδομένα. 446 00:19:14,730 --> 00:19:16,300 Κόμβος λέει, δεν υπάρχει πρόβλημα. 447 00:19:16,300 --> 00:19:18,580 Ο κόμβος δίπλα του παίρνει μια εγγραφή στο ίδιο αρχείο, 448 00:19:18,580 --> 00:19:20,405 ότι πρόκειται να πω κανένα πρόβλημα. 449 00:19:20,405 --> 00:19:23,030 Κάπου πίσω από την πλάτη τέλος, ότι τα δεδομένα που πρόκειται να αντιγραφεί. 450 00:19:23,030 --> 00:19:27,360 Και τότε κάποιος πρόκειται να πραγματοποιήσει, Ωχ, το σύστημα θα συνειδητοποιήσουν, Ωχ, 451 00:19:27,360 --> 00:19:28,870 έχει υπάρξει κάποια ενημέρωση για τις δύο πλευρές. 452 00:19:28,870 --> 00:19:30,370 Τι κάνουμε? 453 00:19:30,370 --> 00:19:33,210 Και αυτό που κάνουμε τότε είναι κάνουν κάτι το οποίο 454 00:19:33,210 --> 00:19:36,080 τους επιτρέπει να επιλύσει αυτή την κατάσταση τα δεδομένα. 455 00:19:36,080 --> 00:19:39,000 Και θα μιλήσουμε για ότι στο επόμενο γράφημα. 456 00:19:39,000 --> 00:19:40,000 >> Πράγμα που πρέπει να επισημάνω εδώ. 457 00:19:40,000 --> 00:19:42,374 Και εγώ δεν πρόκειται να πάρει πάρα πολύ πολύ σε αυτό, διότι αυτό 458 00:19:42,374 --> 00:19:43,510 μπαίνει σε βαθιά θεωρία δεδομένων. 459 00:19:43,510 --> 00:19:46,670 Αλλά υπάρχει μια συναλλαγής πλαισίου που 460 00:19:46,670 --> 00:19:50,680 τρέχει σε ένα σχεσιακό σύστημα ότι μου επιτρέπει να κάνετε ασφαλείς ενημερώσεις 461 00:19:50,680 --> 00:19:53,760 σε πολλαπλές οντότητες στη βάση δεδομένων. 462 00:19:53,760 --> 00:19:58,320 Και αυτές οι ενημερώσεις θα εμφανιστούν μονομιάς ή καθόλου. 463 00:19:58,320 --> 00:20:00,500 Και αυτό ονομάζεται συναλλαγών ΟΞΥ. 464 00:20:00,500 --> 00:20:01,000 ΕΝΤΆΞΕΙ? 465 00:20:01,000 --> 00:20:06,570 >> ΟΞΥ μας δίνει ατομικότητας, συνέπειας, απομόνωση, και αντοχή. 466 00:20:06,570 --> 00:20:07,070 ΕΝΤΆΞΕΙ? 467 00:20:07,070 --> 00:20:13,550 Αυτό σημαίνει ατομική, συναλλαγές, όλα ενημερώσεις μου, είτε συμβαίνουν ή δεν το κάνουν. 468 00:20:13,550 --> 00:20:16,570 Συνέπεια σημαίνει ότι Η βάση δεδομένων θα είναι πάντα 469 00:20:16,570 --> 00:20:19,780 να τίθεται σε συνεπή κατάσταση μετά από μια ενημέρωση. 470 00:20:19,780 --> 00:20:23,900 Ποτέ δεν θα αφήσει τη βάση δεδομένων σε ένα κακή κατάσταση μετά την εφαρμογή μιας ενημερωμένης έκδοσης. 471 00:20:23,900 --> 00:20:24,400 ΕΝΤΆΞΕΙ? 472 00:20:24,400 --> 00:20:26,720 >> Γι 'αυτό είναι λίγο διαφορετικό από τη συνοχή της ΚΓΠ. 473 00:20:26,720 --> 00:20:29,760 Συνοχή της ΚΑΠ σημαίνει όλα μου οι πελάτες μπορούν πάντα να δείτε τα δεδομένα. 474 00:20:29,760 --> 00:20:34,450 ΟΞΥ συνοχή σημαίνει ότι όταν μια συναλλαγή γίνει αυτό, τα δεδομένα είναι καλό. 475 00:20:34,450 --> 00:20:35,709 Οι σχέσεις μου είναι όλα καλά. 476 00:20:35,709 --> 00:20:38,750 Είμαι δεν πρόκειται να διαγράψετε ένα γονέα σειρά και να αφήσει μια δέσμη των ορφανών παιδιών 477 00:20:38,750 --> 00:20:40,970 σε κάποιο άλλο πίνακα. 478 00:20:40,970 --> 00:20:44,320 Αυτό δεν μπορεί να συμβεί αν είμαι συνεπής σε μια συναλλαγή οξύ. 479 00:20:44,320 --> 00:20:49,120 >> Απομόνωση σημαίνει ότι οι συναλλαγές θα συμβεί πάντα ένα μετά το άλλο. 480 00:20:49,120 --> 00:20:51,920 Το τελικό αποτέλεσμα των στοιχείων θα είναι η ίδια κατάσταση 481 00:20:51,920 --> 00:20:54,770 ως εάν αυτές οι συναλλαγές ότι εκδόθηκαν ταυτόχρονα 482 00:20:54,770 --> 00:20:57,340 εκτελέστηκαν διαδοχικά. 483 00:20:57,340 --> 00:21:00,030 Έτσι είναι συγχρονισμός ελέγχου στη βάση δεδομένων. 484 00:21:00,030 --> 00:21:04,130 Έτσι, βασικά, δεν μπορώ να αυξήσετε το ίδια τιμή δύο φορές με δύο πράξεις. 485 00:21:04,130 --> 00:21:08,580 >> Αλλά αν πω προσθέστε 1 σε αυτήν την τιμή, και δύο πράξεις έρχονται σε 486 00:21:08,580 --> 00:21:10,665 και να προσπαθήσουμε να το κάνουμε, είναι ένα πρόκειται να φτάσει εκεί πρώτη 487 00:21:10,665 --> 00:21:12,540 και η άλλη κάποιου πρόκειται να φτάσει εκεί μετά. 488 00:21:12,540 --> 00:21:15,210 Έτσι, στο τέλος, θα προστεθούν δύο. 489 00:21:15,210 --> 00:21:16,170 Βλέπετε τι εννοώ; 490 00:21:16,170 --> 00:21:16,670 ΕΝΤΆΞΕΙ. 491 00:21:16,670 --> 00:21:19,220 492 00:21:19,220 --> 00:21:21,250 >> Ανθεκτικότητα είναι αρκετά απλή. 493 00:21:21,250 --> 00:21:23,460 Όταν η συναλλαγή αναγνωρίζεται, είναι 494 00:21:23,460 --> 00:21:26,100 πρόκειται να είναι εκεί ακόμη αν το σύστημα κολλάει. 495 00:21:26,100 --> 00:21:29,230 Όταν το σύστημα ανακτά, ότι συναλλαγή που διαπράχθηκε 496 00:21:29,230 --> 00:21:30,480 είναι πραγματικά πρόκειται να είναι εκεί. 497 00:21:30,480 --> 00:21:33,130 Έτσι ώστε να είναι οι εγγυήσεις των συναλλαγών ΟΞΥ. 498 00:21:33,130 --> 00:21:35,470 Αυτά είναι πολύ ωραίο εγγυήσεις να έχουν σε μια βάση δεδομένων, 499 00:21:35,470 --> 00:21:36,870 αλλά έρχονται σε αυτό το κόστος. 500 00:21:36,870 --> 00:21:37,640 Δικαίωμα? 501 00:21:37,640 --> 00:21:40,520 >> Επειδή το πρόβλημα με το πλαίσιο αυτό είναι 502 00:21:40,520 --> 00:21:44,540 εάν υπάρχει ένα διαμέρισμα στα δεδομένα σύνολο, πρέπει να πάρουν μια απόφαση. 503 00:21:44,540 --> 00:21:48,000 Πάω να πρέπει να επιτρέψει ενημερώσεις σχετικά με μια ή την άλλη πλευρά. 504 00:21:48,000 --> 00:21:50,310 Και αν συμβεί αυτό, τότε δεν πρόκειται πλέον είμαι 505 00:21:50,310 --> 00:21:52,630 να είναι σε θέση να διατηρήσει τα χαρακτηριστικά αυτά. 506 00:21:52,630 --> 00:21:53,960 Δεν θα είναι συνεπής. 507 00:21:53,960 --> 00:21:55,841 Δεν θα απομονωθεί. 508 00:21:55,841 --> 00:21:58,090 Αυτό είναι που διασπά για σχεσιακές βάσεις δεδομένων. 509 00:21:58,090 --> 00:22:01,360 Αυτός είναι ο λόγος σχεσιακή βάσεις δεδομένων κλίμακα κάθετα. 510 00:22:01,360 --> 00:22:05,530 >> Από την άλλη πλευρά, έχουμε ό, τι λέγεται τεχνολογική βάση. 511 00:22:05,530 --> 00:22:07,291 Και αυτά είναι NoSQL βάσεις δεδομένων σας. 512 00:22:07,291 --> 00:22:07,790 Εντάξει. 513 00:22:07,790 --> 00:22:10,180 Έτσι έχουμε CP μας, AP βάσεις δεδομένων. 514 00:22:10,180 --> 00:22:14,720 Και αυτά είναι αυτό που εσείς ονομάζετε βασικά διαθέσιμες, μαλακή κατάσταση, τελικά 515 00:22:14,720 --> 00:22:15,740 συνεπής. 516 00:22:15,740 --> 00:22:16,420 ΕΝΤΆΞΕΙ? 517 00:22:16,420 --> 00:22:19,690 >> Βασικά διαθέσιμη, επειδή ότι είναι ανεκτική διαμέρισμα. 518 00:22:19,690 --> 00:22:21,470 Αυτοί θα είναι πάντα εκεί, ακόμα κι αν υπάρχει 519 00:22:21,470 --> 00:22:23,053 Ένα διαμέρισμα δίκτυο μεταξύ των κόμβων. 520 00:22:23,053 --> 00:22:25,900 Αν μπορώ να μιλήσω σε έναν κόμβο, είμαι πρόκειται να είναι σε θέση να διαβάσει τα δεδομένα. 521 00:22:25,900 --> 00:22:26,460 ΕΝΤΆΞΕΙ? 522 00:22:26,460 --> 00:22:30,810 Μπορεί να μην είναι πάντοτε σε θέση να γράψει δεδομένων, αν είμαι συνεπής πλατφόρμα. 523 00:22:30,810 --> 00:22:32,130 Αλλά θα είμαι σε θέση να διαβάσει τα δεδομένα. 524 00:22:32,130 --> 00:22:34,960 525 00:22:34,960 --> 00:22:38,010 >> Η μαλακή κατάσταση δείχνει ότι όταν διάβασα αυτά τα δεδομένα, 526 00:22:38,010 --> 00:22:40,790 μπορεί να μην είναι το ίδιο όπως άλλους κόμβους. 527 00:22:40,790 --> 00:22:43,390 Αν ένα δικαίωμα εκδόθηκε σε έναν κόμβο κάπου αλλού στο σύμπλεγμα 528 00:22:43,390 --> 00:22:46,650 και δεν έχει αναπαραχθεί σε ολόκληρη την συμπλέγματος αλλά όταν διάβασα ότι τα δεδομένα, 529 00:22:46,650 --> 00:22:48,680 ότι η κατάσταση δεν θα μπορούσε να είναι συνεπής. 530 00:22:48,680 --> 00:22:51,650 Ωστόσο, θα είναι τελικά συνεπής, 531 00:22:51,650 --> 00:22:53,870 που σημαίνει ότι όταν η απομείωση γίνεται με το σύστημα, 532 00:22:53,870 --> 00:22:56,480 θα αναπαράγουν μήκος των κόμβων. 533 00:22:56,480 --> 00:22:59,095 Και τελικά, ότι η κατάσταση θα τεθεί σε τάξη, 534 00:22:59,095 --> 00:23:00,890 και θα είναι μια σταθερή κατάσταση. 535 00:23:00,890 --> 00:23:05,000 >> Τώρα, θεώρημα ΚΓΠ πραγματικά παίζει μόνο σε έναν όρο. 536 00:23:05,000 --> 00:23:08,700 Η προϋπόθεση είναι όταν συμβαίνει αυτό. 537 00:23:08,700 --> 00:23:13,710 Επειδή κάθε φορά που δραστηριοποιούνται στο χώρο της κανονική λειτουργία, δεν υπάρχει διαμέρισμα, 538 00:23:13,710 --> 00:23:16,370 όλα είναι συνεπή και διαθέσιμη. 539 00:23:16,370 --> 00:23:19,990 Μπορείτε να ανησυχείς μόνο για ΚΓΠ όταν έχουμε εκείνο το διαμέρισμα. 540 00:23:19,990 --> 00:23:21,260 Έτσι, αυτές είναι σπάνιες. 541 00:23:21,260 --> 00:23:25,360 Αλλά πώς το σύστημα αντιδρά όταν εκείνοι συμβαίνουν υπαγορεύουν τι είδους σύστημα 542 00:23:25,360 --> 00:23:26,750 έχουμε να κάνουμε με. 543 00:23:26,750 --> 00:23:31,110 >> Έτσι, ας ρίξουμε μια ματιά σε ό, τι που μοιάζει για συστήματα AP. 544 00:23:31,110 --> 00:23:32,621 ΕΝΤΆΞΕΙ? 545 00:23:32,621 --> 00:23:34,830 AP συστήματα έρχονται σε δύο γεύσεις. 546 00:23:34,830 --> 00:23:38,514 Έρχονται στη γεύση που είναι πλοίαρχος πλοίαρχος, 100%, πάντα στη διάθεσή σας. 547 00:23:38,514 --> 00:23:40,430 Και έρχονται στην άλλη γεύση, η οποία λέει, 548 00:23:40,430 --> 00:23:43,330 ξέρετε τι, Πάω να ανησυχείτε σχετικά με αυτό το πράγμα στεγανοποίηση 549 00:23:43,330 --> 00:23:44,724 όταν η πραγματική κατάτμηση συμβαίνει. 550 00:23:44,724 --> 00:23:47,890 Διαφορετικά, υπάρχει πρόκειται να είναι πρωτεύον κόμβους, οι οποίοι πρόκειται να πάρει τα δικαιώματα. 551 00:23:47,890 --> 00:23:48,500 ΕΝΤΆΞΕΙ? 552 00:23:48,500 --> 00:23:50,040 >> Έτσι, αν έχουμε κάτι σαν την Κασσάνδρα. 553 00:23:50,040 --> 00:23:54,440 Κασσάνδρα θα ήταν ένα master πλοίαρχος, ας μου γράψετε σε κάθε κόμβο. 554 00:23:54,440 --> 00:23:55,540 Έτσι τι συμβαίνει; 555 00:23:55,540 --> 00:23:58,270 Έτσι έχω ένα αντικείμενο στο βάση δεδομένων που υπάρχει σε δύο κόμβους. 556 00:23:58,270 --> 00:24:01,705 Ας το ονομάσουμε αυτό το αντικείμενο Σ Έτσι έχουμε κράτους για το S. 557 00:24:01,705 --> 00:24:04,312 Έχουμε κάποιες εργασίες για S που βρίσκονται σε εξέλιξη. 558 00:24:04,312 --> 00:24:06,270 Κασσάνδρα μου επιτρέπει να εγγραφή, σε πολλούς κόμβους. 559 00:24:06,270 --> 00:24:08,550 Ας πούμε ότι έχω ένα γράφουν για s σε δύο κόμβους. 560 00:24:08,550 --> 00:24:12,274 Λοιπόν, τι καταλήγει να συμβαίνει είναι λέμε ότι ένα γεγονός στεγανοποίηση. 561 00:24:12,274 --> 00:24:14,190 Δεν μπορεί να υπάρξει μια διαμέρισμα φυσικού δικτύου. 562 00:24:14,190 --> 00:24:15,950 Όμως, λόγω της σχεδίασης του συστήματος, είναι 563 00:24:15,950 --> 00:24:18,449 στην πραγματικότητα στεγανοποίηση συντομότερο πάρω ​​μια εγγραφής σε δύο κόμβους. 564 00:24:18,449 --> 00:24:20,830 Δεν είναι με αναγκάζει να γράψετε όλα μέσω ενός κόμβου. 565 00:24:20,830 --> 00:24:22,340 Γράφω σε δύο κόμβους. 566 00:24:22,340 --> 00:24:23,330 ΕΝΤΆΞΕΙ? 567 00:24:23,330 --> 00:24:25,740 >> Έτσι τώρα έχω δύο κρατών. 568 00:24:25,740 --> 00:24:26,360 ΕΝΤΆΞΕΙ? 569 00:24:26,360 --> 00:24:28,110 Τι πρόκειται να συμβεί Είναι αργά ή γρήγορα, 570 00:24:28,110 --> 00:24:29,960 εκεί πρόκειται να είναι ένα γεγονός αντιγραφή. 571 00:24:29,960 --> 00:24:33,300 Εκεί πρόκειται να είναι αυτό που που ονομάζεται αποκατάστασης χωρισμάτων, η οποία 572 00:24:33,300 --> 00:24:35,200 είναι όταν αυτά τα δύο μελών επιστρέφουν μαζί 573 00:24:35,200 --> 00:24:37,310 και εκεί πρόκειται να είναι ένας αλγόριθμος που τρέχει μέσα στην βάση δεδομένων, 574 00:24:37,310 --> 00:24:38,540 αποφασίζει τι πρέπει να κάνουμε. 575 00:24:38,540 --> 00:24:39,110 ΕΝΤΆΞΕΙ? 576 00:24:39,110 --> 00:24:43,057 Από προεπιλογή, η τελευταία ενημέρωση κερδίζει στα περισσότερα συστήματα AP. 577 00:24:43,057 --> 00:24:44,890 Έτσι, υπάρχει συνήθως μια προεπιλογή αλγόριθμο, τι 578 00:24:44,890 --> 00:24:47,400 καλούν επανάκλησης λειτουργία, κάτι που 579 00:24:47,400 --> 00:24:51,000 θα καλείται όταν ο όρος αυτός ανιχνεύεται για να εκτελέσει κάποια λογική 580 00:24:51,000 --> 00:24:52,900 να επιλύσει τη σύγκρουση. 581 00:24:52,900 --> 00:24:53,850 ΕΝΤΆΞΕΙ? 582 00:24:53,850 --> 00:24:58,770 Η προεπιλογή επανάκλησης και προεπιλογή αναλυτή στις περισσότερες βάσεις δεδομένων AP 583 00:24:58,770 --> 00:25:01,130 είναι, μάντεψε, timestamp κερδίζει. 584 00:25:01,130 --> 00:25:02,380 Αυτή ήταν η τελευταία ενημέρωση. 585 00:25:02,380 --> 00:25:04,320 Πάω να θέσει αυτήν την ενημερωμένη έκδοση εκεί. 586 00:25:04,320 --> 00:25:08,440 Μπορώ να απορρίπτουν αυτό το ρεκόρ που έχω που αποτελούν αντικείμενο ντάμπινγκ μακριά σε ένα κούτσουρο αποκατάστασης 587 00:25:08,440 --> 00:25:11,670 έτσι ώστε ο χρήστης να μπορεί να επανέλθει αργότερα και να πω, hey, υπήρξε μια σύγκρουση. 588 00:25:11,670 --> 00:25:12,320 Τι συνέβη? 589 00:25:12,320 --> 00:25:16,370 Και μπορείτε πραγματικά να πετάξει ένα ρεκόρ όλες οι συγκρούσεις και οι rollbacks 590 00:25:16,370 --> 00:25:17,550 και να δούμε τι θα συμβεί. 591 00:25:17,550 --> 00:25:21,580 >> Τώρα, ως χρήστης, μπορείτε επίσης να περιλαμβάνουν τη λογική σε αυτή την επανάκλησης. 592 00:25:21,580 --> 00:25:24,290 Έτσι, μπορείτε να αλλάξετε ότι επανάκλησης λειτουργία. 593 00:25:24,290 --> 00:25:26,730 Μπορείτε να πείτε, hey, θέλω για την αποκατάσταση αυτών των δεδομένων. 594 00:25:26,730 --> 00:25:28,880 Και θέλω να προσπαθήσουμε και να συγχωνευθούν τα δύο αυτά αρχεία. 595 00:25:28,880 --> 00:25:30,050 Αλλά αυτό είναι στο χέρι σας. 596 00:25:30,050 --> 00:25:32,880 Η βάση δεδομένων δεν ξέρει πώς να το κάνουμε αυτό από προεπιλογή. Οι περισσότεροι ο χρόνος, 597 00:25:32,880 --> 00:25:34,850 το μόνο πράγμα η βάση δεδομένων ξέρει πώς να κάνουμε είναι να πούμε, 598 00:25:34,850 --> 00:25:36,100 Αυτή ήταν η τελευταία εγγραφή. 599 00:25:36,100 --> 00:25:39,183 Αυτό είναι το ένα που πρόκειται να κερδίσει, και αυτή είναι η αξία Πάω να θέσει. 600 00:25:39,183 --> 00:25:41,490 Μόλις εκείνη αποκατάστασης χωρισμάτων και αντιγραφή συμβαίνει, 601 00:25:41,490 --> 00:25:43,930 έχουμε δικό μας κράτος, το οποίο είναι πλέον πρωταρχικής S, η οποία είναι 602 00:25:43,930 --> 00:25:46,890 η κατάσταση συγχώνευση όλων αυτών των αντικειμένων. 603 00:25:46,890 --> 00:25:49,700 Έτσι, τα συστήματα AP έχει αυτό. 604 00:25:49,700 --> 00:25:51,615 CP συστήματα δεν χρειάζονται να ανησυχείτε για αυτό. 605 00:25:51,615 --> 00:25:54,490 Επειδή το συντομότερο μια κατάτμηση έρχεται στο παιχνίδι, το μόνο που σταματήσετε να παίρνετε 606 00:25:54,490 --> 00:25:55,530 γράφει. 607 00:25:55,530 --> 00:25:56,180 ΕΝΤΆΞΕΙ? 608 00:25:56,180 --> 00:25:58,670 Έτσι ώστε να είναι πολύ εύκολο να ασχοληθεί με το να είναι συνεπής 609 00:25:58,670 --> 00:26:01,330 όταν δεν αποδέχονται τυχόν ενημερώσεις. 610 00:26:01,330 --> 00:26:04,620 Αυτό είναι με κάνουν συστήματα CP. 611 00:26:04,620 --> 00:26:05,120 Εντάξει. 612 00:26:05,120 --> 00:26:07,590 >> Ας μιλήσουμε λίγο λίγο για τα πρότυπα πρόσβασης. 613 00:26:07,590 --> 00:26:11,580 Όταν μιλάμε για NoSQL, είναι όλα τα σχετικά με το μοτίβο πρόσβασης. 614 00:26:11,580 --> 00:26:13,550 Τώρα, SQL είναι ad hoc, τα ερωτήματα. 615 00:26:13,550 --> 00:26:14,481 Είναι σχεσιακή κατάστημα. 616 00:26:14,481 --> 00:26:16,480 Δεν χρειάζεται να ανησυχείτε σχετικά με το σχέδιο πρόσβασης. 617 00:26:16,480 --> 00:26:17,688 Γράφω ένα πολύ σύνθετο ερώτημα. 618 00:26:17,688 --> 00:26:19,250 Πηγαίνει και παίρνει τα δεδομένα. 619 00:26:19,250 --> 00:26:21,210 Αυτό είναι ό, τι φαίνεται αυτό όπως, κανονικοποίηση. 620 00:26:21,210 --> 00:26:24,890 >> Έτσι, σε αυτή τη συγκεκριμένη δομή, ψάχνουμε σε έναν κατάλογο προϊόντων. 621 00:26:24,890 --> 00:26:26,640 Έχω διαφορετικούς τύπους προϊόντων. 622 00:26:26,640 --> 00:26:27,217 Έχω τα βιβλία. 623 00:26:27,217 --> 00:26:27,800 Έχω άλμπουμ. 624 00:26:27,800 --> 00:26:30,090 Έχω βίντεο. 625 00:26:30,090 --> 00:26:33,370 Η σχέση μεταξύ των προϊόντων και κάθε ένα από αυτά τα βιβλία, λευκώματα, 626 00:26:33,370 --> 00:26:34,860 και βίντεο πίνακες είναι 1: 1. 627 00:26:34,860 --> 00:26:35,800 Εντάξει? 628 00:26:35,800 --> 00:26:38,860 Έχω ένα αναγνωριστικό προϊόντος, και που αντιστοιχεί ID 629 00:26:38,860 --> 00:26:41,080 σε ένα βιβλίο, ένα άλμπουμ, ή ένα βίντεο. 630 00:26:41,080 --> 00:26:41,580 ΕΝΤΆΞΕΙ? 631 00:26:41,580 --> 00:26:44,350 Αυτό είναι ένα 1: 1 σχέση σε όλη τους πίνακες αυτούς. 632 00:26:44,350 --> 00:26:46,970 >> Τώρα, το μόνο που books-- έχουν ιδιότητες είναι ρίζα. 633 00:26:46,970 --> 00:26:47,550 Κανένα πρόβλημα. 634 00:26:47,550 --> 00:26:48,230 Αυτό είναι υπέροχο. 635 00:26:48,230 --> 00:26:52,130 Ένας-προς-ένα σχέση, παίρνω όλα τα δεδομένα θα πρέπει να περιγράψω αυτό το βιβλίο. 636 00:26:52,130 --> 00:26:54,770 Albums-- άλμπουμ έχει κομμάτια. 637 00:26:54,770 --> 00:26:56,470 Αυτό είναι αυτό που λέμε ένα προς πολλά. 638 00:26:56,470 --> 00:26:58,905 Κάθε άλμπουμ θα μπορούσε να έχει πολλά κομμάτια. 639 00:26:58,905 --> 00:27:00,780 Έτσι, για κάθε κομματιού Το άλμπουμ, που θα μπορούσε να έχει 640 00:27:00,780 --> 00:27:02,570 Άλλο ένα ρεκόρ στον πίνακα αυτό το παιδί. 641 00:27:02,570 --> 00:27:04,680 Έτσι μπορώ να δημιουργήσω ένα αρχείο σε άλμπουμ τραπέζι μου. 642 00:27:04,680 --> 00:27:06,700 Έχω δημιουργήσει πολλαπλά αρχεία στον πίνακα κομμάτια. 643 00:27:06,700 --> 00:27:08,850 Ένα-προς-πολλά. 644 00:27:08,850 --> 00:27:11,220 >> Αυτή η σχέση είναι ό, τι καλούμε πολλά-προς-πολλά. 645 00:27:11,220 --> 00:27:11,750 ΕΝΤΆΞΕΙ? 646 00:27:11,750 --> 00:27:17,000 Μπορείτε να δείτε ότι οι παράγοντες θα μπορούσαν να είναι σε πολλές ταινίες, πολλά βίντεο. 647 00:27:17,000 --> 00:27:21,450 Έτσι, αυτό που κάνουμε είναι να βάλετε αυτή την χαρτογράφηση τραπέζι ανάμεσα σε εκείνους, που το μόνο 648 00:27:21,450 --> 00:27:24,040 χαρτογραφεί το αναγνωριστικό ηθοποιός με το αναγνωριστικό βίντεο. 649 00:27:24,040 --> 00:27:28,464 Τώρα μπορώ να δημιουργήσω ένα ερώτημα το ενώνει βίντεο μέσω ηθοποιός βίντεο σε ηθοποιούς, 650 00:27:28,464 --> 00:27:31,130 και μου δίνει μια ωραία λίστα όλες οι ταινίες και όλοι οι παράγοντες 651 00:27:31,130 --> 00:27:32,420 που ήταν σε αυτή την ταινία. 652 00:27:32,420 --> 00:27:33,290 >> ΕΝΤΆΞΕΙ. 653 00:27:33,290 --> 00:27:33,880 Έτσι, εδώ πηγαίνουμε. 654 00:27:33,880 --> 00:27:38,040 One-to-One είναι ο top-level σχέση; ένα-προς-πολλά, 655 00:27:38,040 --> 00:27:40,240 άλμπουμ σε κομμάτια? πολλά-προς-πολλά. 656 00:27:40,240 --> 00:27:44,990 Αυτά είναι τα τρία top-level σχέσεις σε οποιαδήποτε βάση δεδομένων. 657 00:27:44,990 --> 00:27:48,050 Εάν ξέρετε πώς αυτά σχέσεις εργαστούν από κοινού, 658 00:27:48,050 --> 00:27:51,490 τότε ξέρεις πολύ σχετικά με τη βάση δεδομένων ήδη. 659 00:27:51,490 --> 00:27:55,660 Έτσι NoSQL λειτουργεί λίγο διαφορετικά. 660 00:27:55,660 --> 00:27:58,930 Ας σκεφτούμε για μια δεύτερη ό, τι Μοιάζει να πάει να πάρει όλα τα προϊόντα μου. 661 00:27:58,930 --> 00:28:01,096 >> Σε μια σχεσιακή κατάστημα, Θέλετε να πάρετε όλα τα προϊόντα μου 662 00:28:01,096 --> 00:28:02,970 σε έναν κατάλογο όλων των προϊόντων μου. 663 00:28:02,970 --> 00:28:04,910 Αυτό είναι ένα πολύ ερωτήματα. 664 00:28:04,910 --> 00:28:07,030 Πήρα ένα ερώτημα για όλα τα βιβλία μου. 665 00:28:07,030 --> 00:28:08,470 Πήρα ένα ερώτημα από τα άλμπουμ μου. 666 00:28:08,470 --> 00:28:09,970 Και πήρα ένα ερώτημα για όλα τα βίντεό μου. 667 00:28:09,970 --> 00:28:11,719 Και πήρα να το θέσω όλα μαζί σε έναν κατάλογο 668 00:28:11,719 --> 00:28:15,250 και εξυπηρετούν πίσω μέχρι το εφαρμογή που υποβάλλουν σχετικό αίτημα. 669 00:28:15,250 --> 00:28:18,000 >> Για να πάρετε τα βιβλία μου, να γίνω μέλος Προϊόντα και βιβλία. 670 00:28:18,000 --> 00:28:21,680 Για να πάρετε τα άλμπουμ μου, πήρα να ενταχθούν Προϊόντα, άλμπουμ, και ίχνη. 671 00:28:21,680 --> 00:28:25,330 Και για να πάρει τα βίντεο μου, έχω να ενταχθούν Προϊόντα σε βίντεο, 672 00:28:25,330 --> 00:28:28,890 συμμετάσχουν μέσω βίντεο Ηθοποιός, και να φέρει σε ηθοποιούς. 673 00:28:28,890 --> 00:28:31,020 Έτσι ώστε να είναι τρία ερωτήματα. 674 00:28:31,020 --> 00:28:34,560 Πολύ σύνθετα ερωτήματα για συγκεντρώνουν ένα σύνολο αποτελεσμάτων. 675 00:28:34,560 --> 00:28:36,540 >> Αυτό είναι λιγότερο από το βέλτιστο. 676 00:28:36,540 --> 00:28:39,200 Αυτός είναι ο λόγος που όταν μιλάμε για μια δομή δεδομένων που είναι 677 00:28:39,200 --> 00:28:42,900 κατασκευαστεί για να είναι αγνωστικιστής την πρόσβαση pattern-- και αυτό είναι σπουδαίο. 678 00:28:42,900 --> 00:28:45,730 Και μπορείτε να δείτε αυτό είναι πραγματικά ωραίο τρόπο με τον οποίο έχουμε οργανώνονται τα δεδομένα. 679 00:28:45,730 --> 00:28:46,550 Και ξέρετε τι; 680 00:28:46,550 --> 00:28:49,750 Έχω μόνο μία εγγραφή για έναν ηθοποιό. 681 00:28:49,750 --> 00:28:50,440 >> Αυτός είναι δροσερός. 682 00:28:50,440 --> 00:28:53,750 Έχω τεχνολογίας βασισμένη σε deduplication όλοι ηθοποιοί μου, και διατήρησα ενώσεων μου 683 00:28:53,750 --> 00:28:55,200 σε αυτόν τον πίνακα χαρτογράφησης. 684 00:28:55,200 --> 00:29:00,620 Ωστόσο, η απόκτηση των δεδομένων έξω γίνεται ακριβό. 685 00:29:00,620 --> 00:29:04,500 Στέλνω την CPU σε όλο το σύστημα συνδέει αυτά τα στοιχεία μαζί δομές 686 00:29:04,500 --> 00:29:05,950 να είναι σε θέση να τραβήξει αυτό πίσω τα δεδομένα. 687 00:29:05,950 --> 00:29:07,310 >> Λοιπόν, πώς μπορώ να πάρω γύρω από αυτό; 688 00:29:07,310 --> 00:29:11,200 Σε NoSQL είναι περίπου συνάθροιση, δεν ομαλοποίηση. 689 00:29:11,200 --> 00:29:13,534 Έτσι θέλουμε να λέμε ότι θέλουμε να υποστηρίζει το πρότυπο πρόσβασης. 690 00:29:13,534 --> 00:29:15,283 Αν το μοτίβο πρόσβασης με τις εφαρμογές, 691 00:29:15,283 --> 00:29:16,770 Θα χρειαστεί να πάρετε όλα τα προϊόντα μου. 692 00:29:16,770 --> 00:29:19,027 Ας βάλουμε όλα τα προϊόντα σε ένα τραπέζι. 693 00:29:19,027 --> 00:29:22,110 Αν έβαλα όλα τα προϊόντα σε ένα τραπέζι, Μπορώ να επιλέξετε απλά όλα τα προϊόντα 694 00:29:22,110 --> 00:29:23,850 Από τον πίνακα και θα πάρει όλα. 695 00:29:23,850 --> 00:29:25,240 Λοιπόν, πώς μπορώ να το κάνουμε αυτό; 696 00:29:25,240 --> 00:29:28,124 Καλά στην NoSQL δεν υπάρχει δομή στον πίνακα. 697 00:29:28,124 --> 00:29:30,540 Θα μιλήσουμε λίγο για πώς λειτουργεί αυτό στην Ντιναμό ΣΠ. 698 00:29:30,540 --> 00:29:33,570 Αλλά δεν έχουν την ίδια χαρακτηριστικά και τις ίδιες ιδιότητες 699 00:29:33,570 --> 00:29:37,751 σε κάθε γραμμή, σε κάθε μεμονωμένη στοιχείου, όπως θα κάνατε σε έναν πίνακα του SQL. 700 00:29:37,751 --> 00:29:39,750 Και αυτό που μου επιτρέπει να κάνουμε είναι πολλά πράγματα 701 00:29:39,750 --> 00:29:41,124 και να μου δώσει μεγάλη ευελιξία. 702 00:29:41,124 --> 00:29:45,360 Σε αυτή τη συγκεκριμένη περίπτωση, έχουν έγγραφα προϊόν μου. 703 00:29:45,360 --> 00:29:49,090 Και σε αυτό το συγκεκριμένο παράδειγμα, τα πάντα 704 00:29:49,090 --> 00:29:51,930 είναι ένα έγγραφο στον πίνακα προϊόντων. 705 00:29:51,930 --> 00:29:56,510 Και το προϊόν για ένα βιβλίο θα μπορούσε να έχουν ένα αναγνωριστικό τύπου που καθορίζει ένα βιβλίο. 706 00:29:56,510 --> 00:29:59,180 Και η εφαρμογή θα στραφούν σε αυτό το ID. 707 00:29:59,180 --> 00:30:02,570 >> Στο επίπεδο εφαρμογής, θα πάω να πω OH, τι είδους αρχείο είναι αυτό; 708 00:30:02,570 --> 00:30:04,100 Ω, αυτό είναι ένα βιβλίο καταγραφής. 709 00:30:04,100 --> 00:30:05,990 Αρχεία του βιβλίου έχουν αυτές τις ιδιότητες. 710 00:30:05,990 --> 00:30:08,100 Επιτρέψτε μου να δημιουργήσετε ένα αντικείμενο βιβλίου. 711 00:30:08,100 --> 00:30:11,289 Έτσι, Πάω να συμπληρώσετε το βιβλίο αντικείμενο με αυτό το στοιχείο. 712 00:30:11,289 --> 00:30:13,080 Επόμενο στοιχείο έρχεται και λέει, τι είναι αυτό το αντικείμενο; 713 00:30:13,080 --> 00:30:14,560 Λοιπόν αυτό το στοιχείο είναι ένα άλμπουμ. 714 00:30:14,560 --> 00:30:17,340 Ω, πήρα μια εντελώς διαφορετική επεξεργασία ρουτίνα για το ότι, 715 00:30:17,340 --> 00:30:18,487 γιατί είναι ένα άλμπουμ. 716 00:30:18,487 --> 00:30:19,320 Βλέπετε τι εννοώ; 717 00:30:19,320 --> 00:30:21,950 >> Έτσι, η εφαρμογή tier-- μου απλά επιλέξτε όλα αυτά τα αρχεία. 718 00:30:21,950 --> 00:30:23,200 Όλοι αρχίζουν να έρχονται σε. 719 00:30:23,200 --> 00:30:24,680 Θα μπορούσαν να είναι όλοι οι διαφορετικοί τύποι. 720 00:30:24,680 --> 00:30:27,590 Και είναι η λογική της εφαρμογής ότι μεταβαίνει πέρα ​​από αυτούς τους τύπους 721 00:30:27,590 --> 00:30:29,530 και αποφασίζει πώς να τα επεξεργαστεί. 722 00:30:29,530 --> 00:30:33,640 >> Και πάλι, έτσι είμαστε η βελτιστοποίηση σχήμα για την συχνή πρόσβαση. 723 00:30:33,640 --> 00:30:36,390 Το κάνουμε από την κατάρρευση των πινάκων αυτών. 724 00:30:36,390 --> 00:30:39,670 Είμαστε ουσιαστικά λαμβάνοντας Αυτές οι κανονικοποιημένες δομές, 725 00:30:39,670 --> 00:30:42,000 και χτίζουμε ιεραρχικές δομές. 726 00:30:42,000 --> 00:30:45,130 Μέσα σε κάθε ένα από αυτά τα βιβλία Πάω να δείτε τις ιδιότητες του πίνακα. 727 00:30:45,130 --> 00:30:49,400 >> Μέσα σε αυτό το έγγραφο για το άλμπουμ, Βλέπω συστοιχίες των κομματιών. 728 00:30:49,400 --> 00:30:53,900 Αυτά τα κομμάτια τώρα become-- είναι Βασικά αυτό το τραπέζι παιδί ότι 729 00:30:53,900 --> 00:30:56,520 υπάρχει εδώ σε αυτή τη δομή. 730 00:30:56,520 --> 00:30:57,975 Έτσι, μπορείτε να το κάνετε αυτό σε DynamoDB. 731 00:30:57,975 --> 00:30:59,810 Μπορείτε να το κάνετε αυτό σε MongoDB. 732 00:30:59,810 --> 00:31:01,437 Μπορείτε να το κάνετε αυτό σε καμία βάση δεδομένων NoSQL. 733 00:31:01,437 --> 00:31:03,520 Δημιουργήστε αυτούς τους τύπους ιεραρχικές δομές δεδομένων 734 00:31:03,520 --> 00:31:07,120 που σας επιτρέπουν να ανακτήσετε τα δεδομένα πολύ γρήγορα γιατί τώρα 735 00:31:07,120 --> 00:31:08,537 δεν χρειάζεται να συμμορφώνονται. 736 00:31:08,537 --> 00:31:11,620 Όταν εισαγάγετε μια γραμμή στα κομμάτια τραπέζι, ή μια σειρά στον πίνακα Άλμπουμ, 737 00:31:11,620 --> 00:31:13,110 Θα πρέπει να είναι σύμφωνες με αυτή του σχήματος. 738 00:31:13,110 --> 00:31:18,060 Θα πρέπει να έχουν την ιδιότητα ή η ιδιότητα που ορίζεται στην εν λόγω πίνακα. 739 00:31:18,060 --> 00:31:20,480 Κάθε ένας από αυτούς, όταν εισάγετε αυτή τη γραμμή. 740 00:31:20,480 --> 00:31:21,910 Αυτό δεν είναι η περίπτωση στην NoSQL. 741 00:31:21,910 --> 00:31:24,440 >> Μπορώ να έχω εντελώς διαφορετική ιδιότητες σε κάθε έγγραφο 742 00:31:24,440 --> 00:31:26,100 ότι εισάγω στη συλλογή. 743 00:31:26,100 --> 00:31:30,480 Έτσι, πολύ ισχυρό μηχανισμό. 744 00:31:30,480 --> 00:31:32,852 Και είναι πραγματικά το πώς θα βελτιστοποίηση του συστήματος. 745 00:31:32,852 --> 00:31:35,310 Επειδή τώρα αυτό το ερώτημα, αντί της ένταξης όλων αυτών των πινάκων 746 00:31:35,310 --> 00:31:39,160 και εκτελώντας μια μισή ντουζίνα ερωτήματα για να τραβήξει πίσω τα δεδομένα που χρειάζονται, 747 00:31:39,160 --> 00:31:40,890 Είμαι εκτελεί ένα ερώτημα. 748 00:31:40,890 --> 00:31:43,010 Και είμαι επανάληψη απέναντι τα αποτελέσματα που. 749 00:31:43,010 --> 00:31:46,512 σας δίνει μια ιδέα της ισχύος της NoSQL. 750 00:31:46,512 --> 00:31:49,470 Πάω να το είδος πάει στο πλάι εδώ και να μιλήσουμε λίγο για αυτό. 751 00:31:49,470 --> 00:31:53,240 Αυτό είναι περισσότερο από το είδος μάρκετινγκ ή τεχνολογικές εξελίξεις, 752 00:31:53,240 --> 00:31:55,660 η εμπορία της τεχνολογίας είδος της συζήτησης. 753 00:31:55,660 --> 00:31:58,672 Αλλά είναι σημαντικό να κατανοήσουμε διότι αν κοιτάξουμε την κορυφή 754 00:31:58,672 --> 00:32:00,380 εδώ σε αυτό το διάγραμμα, τι ψάχνουμε 755 00:32:00,380 --> 00:32:04,030 Είναι αυτό που λέμε η τεχνολογία καμπύλη δημοσιότητα. 756 00:32:04,030 --> 00:32:06,121 Και τι σημαίνει αυτό είναι νέα πράγματα έρχεται στο παιχνίδι. 757 00:32:06,121 --> 00:32:07,120 Οι άνθρωποι νομίζουν ότι είναι μεγάλη. 758 00:32:07,120 --> 00:32:09,200 Έχω λυθεί όλα τα προβλήματα μου. 759 00:32:09,200 --> 00:32:11,630 >> Αυτό θα μπορούσε να είναι το τέλος όλα, να είναι όλοι σε όλα. 760 00:32:11,630 --> 00:32:12,790 Και αρχίσετε να χρησιμοποιείτε αυτό. 761 00:32:12,790 --> 00:32:14,720 Και λένε, αυτά τα πράγματα δεν λειτουργεί. 762 00:32:14,720 --> 00:32:17,600 Αυτό δεν είναι σωστό. 763 00:32:17,600 --> 00:32:19,105 Η παλιά πράγματα ήταν καλύτερα. 764 00:32:19,105 --> 00:32:21,230 Και πάει πίσω να το κάνουμε τα πράγματα με τον τρόπο που ήταν. 765 00:32:21,230 --> 00:32:22,730 Και στη συνέχεια, τελικά πάνε, ξέρετε τι; 766 00:32:22,730 --> 00:32:24,040 Αυτή η ουσία δεν είναι τόσο κακό. 767 00:32:24,040 --> 00:32:26,192 Ω, αυτό είναι το πώς λειτουργεί. 768 00:32:26,192 --> 00:32:28,900 Και από τη στιγμή που καταλάβω πώς έργα, θα αρχίσει να βελτιώνεται. 769 00:32:28,900 --> 00:32:32,050 >> Και το αστείο πράγμα για αυτό είναι, αυτό το είδος των γραμμών έως τι 770 00:32:32,050 --> 00:32:34,300 καλούμε την καμπύλη της τεχνολογίας Υιοθεσία. 771 00:32:34,300 --> 00:32:36,910 Έτσι, αυτό που συμβαίνει είναι ότι έχουμε ορισμένες τεχνολογίες είδος σκανδάλη. 772 00:32:36,910 --> 00:32:39,100 Στην περίπτωση των βάσεων δεδομένων, είναι δεδομένα πίεσης. 773 00:32:39,100 --> 00:32:42,200 Μιλήσαμε για τα υψηλά σημεία το νερό της πίεσης των δεδομένων στο πέρασμα του χρόνου. 774 00:32:42,200 --> 00:32:46,310 Όταν η πίεση δεδομένα χτυπά ένα ορισμένο σημείο, αυτό είναι μια τεχνολογία ενεργοποίησης. 775 00:32:46,310 --> 00:32:47,830 >> Είναι να πάρει πάρα πολύ ακριβό. 776 00:32:47,830 --> 00:32:49,790 Παίρνει πολύ χρόνο για να επεξεργαστεί τα δεδομένα. 777 00:32:49,790 --> 00:32:50,890 Χρειαζόμαστε κάτι καλύτερο. 778 00:32:50,890 --> 00:32:52,890 Μπορείτε να πάρετε τους πρωτοπόρους εκεί έξω που τρέχει γύρω, 779 00:32:52,890 --> 00:32:55,050 προσπαθεί να ανακαλύψει ποια είναι η λύση. 780 00:32:55,050 --> 00:32:56,050 Ποια είναι η νέα ιδέα; 781 00:32:56,050 --> 00:32:58,170 >> Ποιο είναι το επόμενο καλύτερο τρόπος για να γίνει αυτό το πράγμα; 782 00:32:58,170 --> 00:32:59,530 Και να καταλήξουμε σε κάτι. 783 00:32:59,530 --> 00:33:03,140 Και οι άνθρωποι με τον πραγματικό πόνο, τα παιδιά στην κόψη του ξυραφιού, 784 00:33:03,140 --> 00:33:06,390 ότι θα πηδήξει σε όλο αυτό, επειδή χρειάζονται μια απάντηση. 785 00:33:06,390 --> 00:33:09,690 Τώρα τι αναπόφευκτα happens-- και αυτό συμβαίνει τώρα στην NoSQL. 786 00:33:09,690 --> 00:33:11,090 Το βλέπω όλη την ώρα. 787 00:33:11,090 --> 00:33:13,610 >> Τι συμβαίνει είναι αναπόφευκτα οι άνθρωποι αρχίσουν να χρησιμοποιούν το νέο εργαλείο 788 00:33:13,610 --> 00:33:15,490 με τον ίδιο τρόπο που χρησιμοποίησαν το παλιό εργαλείο. 789 00:33:15,490 --> 00:33:17,854 Και ανακαλύπτουν ότι δεν λειτουργεί τόσο καλά. 790 00:33:17,854 --> 00:33:20,020 Δεν μπορώ να θυμηθώ ποιος είμαι μιλάμε για νωρίτερα σήμερα. 791 00:33:20,020 --> 00:33:22,080 Αλλά είναι σαν, όταν η κομπρεσέρ εφευρέθηκε, 792 00:33:22,080 --> 00:33:24,621 οι άνθρωποι δεν θα ταλαντεύεται το κεφάλι τους για να συνθλίψει το σκυρόδεμα. 793 00:33:24,621 --> 00:33:27,360 794 00:33:27,360 --> 00:33:30,610 >> Αλλά αυτό είναι ό, τι είναι συμβαίνει με NoSQL σήμερα. 795 00:33:30,610 --> 00:33:33,900 Αν περπατήσετε στα περισσότερα καταστήματα με, προσπαθούν να είναι τα καταστήματα NoSQL. 796 00:33:33,900 --> 00:33:36,510 Τι κάνουν είναι που χρησιμοποιείτε NoSQL, 797 00:33:36,510 --> 00:33:39,900 και από όπου και αν Φόρτωση γεμάτη σχεσιακό σχήμα. 798 00:33:39,900 --> 00:33:41,630 Επειδή αυτό είναι το πώς σχεδιάζουν βάσεις δεδομένων. 799 00:33:41,630 --> 00:33:44,046 Και αναρωτιέστε, γιατί είναι δεν εκτελεί πολύ καλά; 800 00:33:44,046 --> 00:33:45,230 Αγόρι, αυτό το πράγμα βρωμάει. 801 00:33:45,230 --> 00:33:49,900 Έπρεπε να διατηρήσει όλα μου ενώνει in-- είναι σαν, όχι, όχι. 802 00:33:49,900 --> 00:33:50,800 Διατηρήστε ενώνει; 803 00:33:50,800 --> 00:33:52,430 Γιατί ενώνει τα δεδομένα; 804 00:33:52,430 --> 00:33:54,350 Δεν ενταχθούν δεδομένα NoSQL. 805 00:33:54,350 --> 00:33:55,850 Μπορείτε να την προσθέσει. 806 00:33:55,850 --> 00:34:00,690 >> Έτσι, εάν θέλετε να το αποφύγετε αυτό, να μάθουν πώς λειτουργεί το εργαλείο πριν να 807 00:34:00,690 --> 00:34:02,010 αρχίσετε να το χρησιμοποιείτε. 808 00:34:02,010 --> 00:34:04,860 Μην προσπαθήσετε να χρησιμοποιήσετε τα νέα εργαλεία της ίδιο τρόπο που χρησιμοποιούσε τα παλιά εργαλεία. 809 00:34:04,860 --> 00:34:06,500 Θα πάμε να έχουν μια κακή εμπειρία. 810 00:34:06,500 --> 00:34:08,848 Και κάθε φορά αυτό είναι ό, τι αυτό είναι περίπου. 811 00:34:08,848 --> 00:34:11,389 Όταν αρχίζουμε να έρχονται εδώ, αυτό συμβαίνει γιατί οι άνθρωποι υπολόγισα 812 00:34:11,389 --> 00:34:13,449 πώς να χρησιμοποιούν τα εργαλεία. 813 00:34:13,449 --> 00:34:16,250 >> Έκαναν το ίδιο πράγμα, όταν σχεσιακές βάσεις δεδομένων εφευρέθηκαν, 814 00:34:16,250 --> 00:34:17,969 και ήταν αντικαθιστά τα συστήματα αρχείων. 815 00:34:17,969 --> 00:34:20,420 Προσπάθησαν να οικοδομήσουμε συστήματα αρχείων με σχεσιακές βάσεις δεδομένων 816 00:34:20,420 --> 00:34:22,159 γιατί αυτό είναι που οι άνθρωποι κατάλαβαν. 817 00:34:22,159 --> 00:34:23,049 Δεν είχε δουλειά. 818 00:34:23,049 --> 00:34:26,090 Έτσι, η κατανόηση των βέλτιστων πρακτικών της τεχνολογίας εργάζεστε με 819 00:34:26,090 --> 00:34:26,730 είναι τεράστια. 820 00:34:26,730 --> 00:34:29,870 Πολύ σημαντικό. 821 00:34:29,870 --> 00:34:32,440 >> Έτσι θα πάμε να μπει σε DynamoDB. 822 00:34:32,440 --> 00:34:36,480 DynamoDB είναι AWS του πλήρως Διαχείριση NoSQL πλατφόρμα. 823 00:34:36,480 --> 00:34:37,719 Τι σημαίνει πλήρως Διαχείριση σημαίνει; 824 00:34:37,719 --> 00:34:40,010 Αυτό σημαίνει ότι δεν χρειάζεται να πραγματικά ανησυχείτε για τίποτα. 825 00:34:40,010 --> 00:34:42,060 >> Θα έρθει σε σας πω μας, χρειάζομαι ένα τραπέζι. 826 00:34:42,060 --> 00:34:43,409 Χρειάζεται αυτή τη μεγάλη ικανότητα. 827 00:34:43,409 --> 00:34:47,300 Μπορείτε να πατήσετε το κουμπί, και την παροχή εμείς όλες οι υποδομές πίσω από τη σκηνή. 828 00:34:47,300 --> 00:34:48,310 Τώρα που είναι τεράστια. 829 00:34:48,310 --> 00:34:51,310 >> Διότι όταν μιλάτε σχετικά με την κλιμάκωση μιας βάσης δεδομένων, 830 00:34:51,310 --> 00:34:53,917 Συστάδες δεδομένων σε NoSQL κλίμακα, τρέξιμο petabytes, 831 00:34:53,917 --> 00:34:55,750 εκτέλεση εκατομμυρίων συναλλαγές ανά δευτερόλεπτο, 832 00:34:55,750 --> 00:34:58,180 Αυτά τα πράγματα δεν είναι μικρές ομάδες. 833 00:34:58,180 --> 00:35:00,830 Μιλάμε χιλιάδες περιπτώσεις. 834 00:35:00,830 --> 00:35:04,480 Διευθύνων χιλιάδες περιπτώσεις, ακόμη και εικονικές περιπτώσεις, 835 00:35:04,480 --> 00:35:06,350 είναι ένας πραγματικός πόνος στην άκρη. 836 00:35:06,350 --> 00:35:09,110 Θέλω να πω, σκεφτείτε κάθε φορά μπάλωμα λειτουργικό σύστημα βγαίνει 837 00:35:09,110 --> 00:35:11,552 ή μια νέα έκδοση της βάσης δεδομένων. 838 00:35:11,552 --> 00:35:13,260 Τι σημαίνει αυτό να σας λειτουργικά; 839 00:35:13,260 --> 00:35:16,330 Αυτό σημαίνει ότι έχεις 1.200 διακομιστές που πρέπει να ενημερωθούν. 840 00:35:16,330 --> 00:35:18,960 Τώρα, ακόμη και με τον αυτοματισμό, ότι μπορεί να πάρει πολύ χρόνο. 841 00:35:18,960 --> 00:35:21,480 Αυτό μπορεί να προκαλέσει πολλά επιχειρησιακή πονοκεφάλους, 842 00:35:21,480 --> 00:35:23,090 γιατί μπορεί να έχουν τις υπηρεσίες προς τα κάτω. 843 00:35:23,090 --> 00:35:26,070 >> Όπως έχω ενημερώσει αυτές τις βάσεις δεδομένων, θα θα μπορούσε να κάνει το μπλε πράσινο αναπτύξεις 844 00:35:26,070 --> 00:35:29,420 όπου μπορώ να αναπτύξω και να αναβαθμίσει το μισό μου κόμβους, και στη συνέχεια να αναβαθμίσετε το άλλο μισό. 845 00:35:29,420 --> 00:35:30,490 Πάρτε εκείνα τα κάτω. 846 00:35:30,490 --> 00:35:33,410 Έτσι, τη διαχείριση της υποδομής κλίμακας είναι εξαιρετικά επώδυνη. 847 00:35:33,410 --> 00:35:36,210 Και AWS να λάβει τον πόνο έξω από αυτό. 848 00:35:36,210 --> 00:35:39,210 Και NoSQL βάσεις δεδομένων μπορεί να να είναι εξαιρετικά επώδυνη 849 00:35:39,210 --> 00:35:41,780 λόγω του τρόπου που κλίμακα. 850 00:35:41,780 --> 00:35:42,926 >> Κλίμακα οριζόντια. 851 00:35:42,926 --> 00:35:45,550 Αν θέλετε να πάρετε μια μεγαλύτερη NoSQL βάση δεδομένων, μπορείτε να αγοράσετε περισσότερους κόμβους. 852 00:35:45,550 --> 00:35:48,660 Κάθε κόμβος που αγοράζετε είναι μια άλλη επιχειρησιακή πονοκέφαλο. 853 00:35:48,660 --> 00:35:50,830 Οπότε ας κάποιος άλλος το κάνει αυτό για σας. 854 00:35:50,830 --> 00:35:52,000 AWS μπορεί να το κάνει αυτό. 855 00:35:52,000 --> 00:35:54,587 >> Στηρίζουμε τις αξίες βασικό έγγραφο. 856 00:35:54,587 --> 00:35:56,670 Τώρα δεν πάει πάρα πολύ μέσα από την άλλη διάγραμμα. 857 00:35:56,670 --> 00:35:58,750 Υπάρχουν πολλές διαφορετικές γεύσεις της NoSQL. 858 00:35:58,750 --> 00:36:02,670 Είναι όλα τα είδη του να πάρει munged μαζί σε αυτό το σημείο. 859 00:36:02,670 --> 00:36:06,260 Μπορείτε να δείτε στις ομάδες DynamoDB και να πω ναι, είμαστε και οι δύο ένα έγγραφο και μια τιμή κλειδιού 860 00:36:06,260 --> 00:36:08,412 αποθηκεύσετε αυτό το σημείο. 861 00:36:08,412 --> 00:36:10,620 Και μπορείτε να υποστηρίζουν τις λειτουργίες του ενός πάνω στο άλλο. 862 00:36:10,620 --> 00:36:13,950 Για μένα, πολλά από αυτά είναι πραγματικά έξι ενός μισο δωδεκάδα της άλλης. 863 00:36:13,950 --> 00:36:18,710 Κάθε μία από αυτές τις τεχνολογίες είναι πρόστιμο τεχνολογία και πρόστιμο λύση. 864 00:36:18,710 --> 00:36:23,390 Δεν θα έλεγα MongoDB είναι καλύτερη ή χειρότερα από ό, Καναπές, στη συνέχεια, Κασσάνδρα, 865 00:36:23,390 --> 00:36:25,994 Στη συνέχεια Ντιναμό, ή το αντίστροφο. 866 00:36:25,994 --> 00:36:27,285 Θέλω να πω, αυτά είναι μόνο επιλογές. 867 00:36:27,285 --> 00:36:29,850 868 00:36:29,850 --> 00:36:32,700 >> Είναι γρήγορο και είναι συνεπής σε οποιαδήποτε κλίμακα. 869 00:36:32,700 --> 00:36:36,210 Έτσι, αυτό είναι ένα από τα μεγαλύτερα μπόνους που μπορείτε να πάρετε με την AWS. 870 00:36:36,210 --> 00:36:40,850 Με DynamoDB είναι η ικανότητα για να πάρει ένα χαμηλό μονοψήφιο 871 00:36:40,850 --> 00:36:44,040 χιλιοστών του δευτερολέπτου καθυστέρησης σε οποιαδήποτε κλίμακα. 872 00:36:44,040 --> 00:36:45,720 Αυτός ήταν ένας στόχος του σχεδιασμού του συστήματος. 873 00:36:45,720 --> 00:36:49,130 Και έχουμε πελάτες που κάνουν εκατομμύρια συναλλαγές ανά δευτερόλεπτο. 874 00:36:49,130 --> 00:36:52,670 >> Τώρα θα πάω με ορισμένες από αυτές περιπτώσεις χρήσης σε λίγα λεπτά εδώ. 875 00:36:52,670 --> 00:36:55,660 Ολοκληρωμένη control-- πρόσβασης έχουμε αυτό που ονομάζουμε 876 00:36:55,660 --> 00:36:57,920 Ταυτότητα Διαχείρισης Πρόσβασης, ή ΙΑΜ. 877 00:36:57,920 --> 00:37:01,980 Είναι διαπερνά κάθε σύστημα, κάθε υπηρεσία που προσφέρει AWS. 878 00:37:01,980 --> 00:37:03,630 DynamoDB δεν αποτελεί εξαίρεση. 879 00:37:03,630 --> 00:37:06,020 Μπορείτε να ελέγχετε την πρόσβαση στους πίνακες DynamoDB. 880 00:37:06,020 --> 00:37:09,960 Σε όλους τους λογαριασμούς σας AWS από καθορίζοντας τους ρόλους και τα δικαιώματα πρόσβασης 881 00:37:09,960 --> 00:37:12,140 στη δευτερογενή υποδομή. 882 00:37:12,140 --> 00:37:16,630 >> Και αυτό είναι ένα βασικό και αναπόσπαστο συστατικό αυτό που λέμε Προγραμματισμός οδηγούμενος από γεγονότα. 883 00:37:16,630 --> 00:37:19,056 Τώρα αυτό είναι ένα νέο πρότυπο. 884 00:37:19,056 --> 00:37:22,080 >> Κοινό: Πώς θα είναι το ποσοστό της αληθινής σας θετικά έναντι λανθασμένων αρνητικών 885 00:37:22,080 --> 00:37:24,052 για σύστημα ελέγχου πρόσβασης σας; 886 00:37:24,052 --> 00:37:26,260 RICK Houlihan: True θετικά έναντι ψευδώς αρνητικά; 887 00:37:26,260 --> 00:37:28,785 Κοινό: Επιστρέφοντας τι θα πρέπει να επιστρέφουν; 888 00:37:28,785 --> 00:37:33,720 Σε αντίθεση με κάποια στιγμή αυτό δεν θα επιστρέψει όταν θα πρέπει να επικυρώσει; 889 00:37:33,720 --> 00:37:36,260 890 00:37:36,260 --> 00:37:38,050 >> RICK Houlihan: Δεν μπορώ να σας πω ότι. 891 00:37:38,050 --> 00:37:40,140 Αν υπάρχει κάποια αποτυχίες βασίζεται στο ότι, 892 00:37:40,140 --> 00:37:42,726 Δεν είμαι το κατάλληλο πρόσωπο να ρωτήσεις ότι η συγκεκριμένη ερώτηση. 893 00:37:42,726 --> 00:37:43,850 Αλλά αυτό είναι μια καλή ερώτηση. 894 00:37:43,850 --> 00:37:45,905 Θα ήμουν περίεργος να μάθω ότι ο ίδιος, στην πραγματικότητα. 895 00:37:45,905 --> 00:37:48,810 896 00:37:48,810 --> 00:37:51,320 >> Και έτσι στη συνέχεια και πάλι, το νέο πρότυπο εξαρτάται από συμβάντα προγραμματισμού. 897 00:37:51,320 --> 00:37:55,160 Αυτή είναι η ιδέα ότι μπορείς να υλοποιήσουν πολύπλοκες εφαρμογές που 898 00:37:55,160 --> 00:37:59,720 μπορεί να λειτουργήσει ένα πολύ, πολύ υψηλή κλίμακα χωρίς καμία υποδομή. 899 00:37:59,720 --> 00:38:02,120 Χωρίς οποιαδήποτε σταθερή απολύτως υποδομή. 900 00:38:02,120 --> 00:38:04,720 Και θα μιλήσουμε λίγο για το τι σημαίνει αυτό όπως 901 00:38:04,720 --> 00:38:06,550 να πάρει στο επόμενο ζεύγος των charts. 902 00:38:06,550 --> 00:38:08,716 >> Το πρώτο πράγμα που θα κάνουμε είναι θα μιλήσουμε για τους πίνακες. 903 00:38:08,716 --> 00:38:10,857 Τύπους δεδομένων API για την Ντιναμό. 904 00:38:10,857 --> 00:38:13,190 Και το πρώτο πράγμα που θα παρατηρήσετε όταν κοιτάς αυτό, 905 00:38:13,190 --> 00:38:17,930 αν είστε εξοικειωμένοι με οποιαδήποτε βάση δεδομένων, βάσεις δεδομένων έχουν πραγματικά δύο είδη APIs 906 00:38:17,930 --> 00:38:18,430 Θα το ονομάσουμε. 907 00:38:18,430 --> 00:38:21,570 Ή δύο σύνολα API. 908 00:38:21,570 --> 00:38:23,840 Ένα από αυτά θα είναι διοικητική API. 909 00:38:23,840 --> 00:38:26,710 >> Τα πράγματα έχουν αναλάβει τη φροντίδα του οι λειτουργίες της βάσης δεδομένων. 910 00:38:26,710 --> 00:38:31,340 Διαμόρφωση του κινητήρα αποθήκευσης, τη σύσταση και την προσθήκη πίνακες. 911 00:38:31,340 --> 00:38:35,180 δημιουργία βάσης δεδομένων καταλόγους και περιπτώσεις. 912 00:38:35,180 --> 00:38:40,450 Αυτά things-- σε DynamoDB, σας έχουν πολύ μικρή, μικρή λίστες. 913 00:38:40,450 --> 00:38:43,120 >> Έτσι, σε άλλες βάσεις δεδομένων, μπορείτε να δείτε δεκάδες 914 00:38:43,120 --> 00:38:45,680 των εντολών, των διοικητικών εντολές, για τη διαμόρφωση 915 00:38:45,680 --> 00:38:47,290 Αυτές οι πρόσθετες επιλογές. 916 00:38:47,290 --> 00:38:51,234 Σε DynamoDB δεν χρειάζεται, διότι εκείνες δεν ρυθμίσετε το σύστημα, το κάνουμε. 917 00:38:51,234 --> 00:38:54,150 Έτσι, το μόνο πράγμα που χρειάζεται να κάνετε είναι να πες μου τι μέγεθος πίνακα χρειάζομαι. 918 00:38:54,150 --> 00:38:55,660 Έτσι, μπορείτε να πάρετε μια πολύ περιορισμένο σύνολο εντολών. 919 00:38:55,660 --> 00:38:58,618 >> Μπορείτε να πάρετε μια Δημιουργία Τραπεζιού Update, πίνακα, Διαγραφή πίνακα, και Περιγράψτε πίνακα. 920 00:38:58,618 --> 00:39:01,150 Αυτά είναι τα μόνα πράγματα χρειάζεστε για DynamoDB. 921 00:39:01,150 --> 00:39:03,294 Δεν χρειάζεστε ένα αποθήκευση διαμόρφωση του κινητήρα. 922 00:39:03,294 --> 00:39:04,960 Δεν χρειάζεται να ανησυχείτε για την αντιγραφή. 923 00:39:04,960 --> 00:39:06,490 Δεν χρειάζεται να ανησυχείτε για sharding. 924 00:39:06,490 --> 00:39:07,800 >> Δεν χρειάζεται να ανησυχείτε για κάποια από αυτά τα πράγματα. 925 00:39:07,800 --> 00:39:08,740 Έχουμε κάνει όλα για εσάς. 926 00:39:08,740 --> 00:39:11,867 Έτσι, αυτό είναι ένα τεράστιο ποσό των γενικών αυτό είναι απλά σήκωσε από το πιάτο σας. 927 00:39:11,867 --> 00:39:13,200 Στη συνέχεια, έχουμε τις επιχειρήσεις σάλτσες. 928 00:39:13,200 --> 00:39:17,740 Σάλτσες είναι κάτι το οποίο οφείλουμε καλούν σε βάση δεδομένων που είναι 929 00:39:17,740 --> 00:39:19,860 Δημιουργία, Ενημέρωση, Διαγραφή φορείς. 930 00:39:19,860 --> 00:39:24,180 Αυτά είναι τα κοινά σας λειτουργιών της βάσης δεδομένων. 931 00:39:24,180 --> 00:39:31,299 Τα πράγματα όπως σημείο πώλησης, να πάρετε το αντικείμενο, ενημέρωση αντικείμενα, διαγραφές, το ερώτημα παρτίδα, σάρωση. 932 00:39:31,299 --> 00:39:32,840 Αν θέλετε να σαρώσει το σύνολο του πίνακα. 933 00:39:32,840 --> 00:39:34,220 Τραβήξτε τα πάντα από το τραπέζι. 934 00:39:34,220 --> 00:39:37,130 Ένα από τα ωραία πράγματα για DynamoDB είναι παράλληλα επιτρέπει τη σάρωση. 935 00:39:37,130 --> 00:39:40,602 Έτσι μπορείτε πραγματικά να επιτρέψτε μου να ξέρω πόσα τα θέματα που θέλετε να εκτελείται στο συγκεκριμένο σάρωσης. 936 00:39:40,602 --> 00:39:41,810 Και μπορούμε να τρέξουμε αυτές τις κλωστές. 937 00:39:41,810 --> 00:39:43,985 Μπορούμε να γυρίσετε αυτή την σάρωση μέχρι σε όλη πολλαπλά threads 938 00:39:43,985 --> 00:39:49,060 ώστε να μπορείτε να σαρώσει το σύνολο του πίνακα χώρο πολύ, πολύ γρήγορα DynamoDB. 939 00:39:49,060 --> 00:39:51,490 >> Η άλλη API που έχουμε είναι αυτό που λέμε ρέματα μας API. 940 00:39:51,490 --> 00:39:52,940 Εμείς δεν πρόκειται να μιλήσω πάρα πολύ πολύ γι 'αυτό τώρα. 941 00:39:52,940 --> 00:39:55,189 Έχω κάποιο περιεχόμενο αργότερα σχετικά με το κατάστρωμα γι 'αυτό. 942 00:39:55,189 --> 00:39:59,910 Αλλά ρεύματα είναι πραγματικά μια running-- Σκεφτείτε το σαν διέταξε ο χρόνος 943 00:39:59,910 --> 00:40:01,274 και αλλαγή καταγραφής διαμέρισμα. 944 00:40:01,274 --> 00:40:03,940 Ό, τι συμβαίνει στο Ο πίνακας εμφανίζεται στη ροή. 945 00:40:03,940 --> 00:40:05,940 >> Κάθε γράψει στον πίνακα εμφανίζεται στο ρεύμα. 946 00:40:05,940 --> 00:40:08,370 Μπορείτε να διαβάσετε αυτό το ρεύμα, και μπορείτε να κάνετε τα πράγματα με αυτό. 947 00:40:08,370 --> 00:40:10,150 Θα μιλήσουμε για το τι τα είδη των πραγμάτων που 948 00:40:10,150 --> 00:40:13,680 κάνει με τα πράγματα όπως αντιγραφή, δημιουργώντας δευτερεύοντα ευρετήρια. 949 00:40:13,680 --> 00:40:17,620 Όλα τα είδη των πραγματικά δροσερό πράγματα που μπορείτε να κάνετε με αυτό. 950 00:40:17,620 --> 00:40:19,150 >> Τύποι δεδομένων. 951 00:40:19,150 --> 00:40:23,320 Σε DynamoDB, υποστηρίζουμε τόσο το κλειδί αξία και στοιχεία του εγγράφου τύπους. 952 00:40:23,320 --> 00:40:26,350 Από την αριστερή πλευρά της οθόνης Εδώ, έχουμε βασικά είδη μας. 953 00:40:26,350 --> 00:40:27,230 Βασικά είδη αξίας. 954 00:40:27,230 --> 00:40:30,040 Αυτά είναι χορδές, αριθμούς, και τα εκτελέσιμα. 955 00:40:30,040 --> 00:40:31,640 >> Έτσι, μόλις τρεις βασικούς τύπους. 956 00:40:31,640 --> 00:40:33,700 Και τότε μπορείτε να έχετε σύνολα από αυτά. 957 00:40:33,700 --> 00:40:37,650 Ένα από τα ωραία πράγματα για NoSQL είναι μπορείτε να περιέχουν οι πίνακες ως ιδιότητες. 958 00:40:37,650 --> 00:40:42,050 Και με DynamoDB σας μπορεί να περιέχει πίνακες των βασικών τύπων ως ιδιοκτησία της ρίζας. 959 00:40:42,050 --> 00:40:43,885 >> Και έπειτα υπάρχει το τύπους εγγράφων. 960 00:40:43,885 --> 00:40:45,510 Πόσοι άνθρωποι είναι εξοικειωμένοι με το JSON; 961 00:40:45,510 --> 00:40:47,130 Εσείς εξοικειωμένοι με JSON τόσο πολύ; 962 00:40:47,130 --> 00:40:49,380 Είναι βασικά το JavaScript, Αντικείμενο, Συμβολισμός. 963 00:40:49,380 --> 00:40:52,510 Σας επιτρέπει να βασικά καθορίσει μια ιεραρχική δομή. 964 00:40:52,510 --> 00:40:58,107 >> Μπορείτε να αποθηκεύσετε ένα έγγραφο JSON για DynamoDB χρήση κοινών εξαρτημάτων 965 00:40:58,107 --> 00:41:00,940 ή δομικά στοιχεία που είναι διαθέσιμα στις περισσότερες γλώσσες προγραμματισμού. 966 00:41:00,940 --> 00:41:03,602 Έτσι, εάν έχετε Java, είστε κοιτάζοντας χάρτες και καταλόγους. 967 00:41:03,602 --> 00:41:05,060 Μπορώ να δημιουργήσω τα αντικείμενα που χάρτη της περιοχής. 968 00:41:05,060 --> 00:41:08,030 Ένας χάρτης ως βασικές αξίες αποθηκεύονται ως ιδιότητες. 969 00:41:08,030 --> 00:41:10,890 Και θα μπορούσε να έχει καταλόγους αξιών εντός των συγκεκριμένων ιδιοτήτων. 970 00:41:10,890 --> 00:41:13,490 Μπορείτε να αποθηκεύσετε αυτό το πολύπλοκο ιεραρχική δομή 971 00:41:13,490 --> 00:41:16,320 ως ένα ενιαίο χαρακτηριστικό ενός στοιχείου DynamoDB. 972 00:41:16,320 --> 00:41:19,010 973 00:41:19,010 --> 00:41:24,460 >> Έτσι πίνακες σε DynamoDB, όπως και τα περισσότερα NoSQL βάσεις δεδομένων, πίνακες έχουν στοιχεία. 974 00:41:24,460 --> 00:41:26,469 Σε MongoDB θα κάνατε ονομάζουν αυτά τα έγγραφα. 975 00:41:26,469 --> 00:41:27,760 Και θα ήταν η βάση καναπέ. 976 00:41:27,760 --> 00:41:28,900 Επίσης μια βάση δεδομένων έγγραφο. 977 00:41:28,900 --> 00:41:29,941 Μπορείτε να καλέσετε αυτά τα έγγραφα. 978 00:41:29,941 --> 00:41:32,930 Έγγραφα ή στοιχεία που έχουν χαρακτηριστικά. 979 00:41:32,930 --> 00:41:35,850 Μπορεί να υπάρξει χαρακτηριστικά ή Δεν υπάρχουν επί του θέματος. 980 00:41:35,850 --> 00:41:38,520 Σε DynamoDB, υπάρχει ένα υποχρεωτικό χαρακτηριστικό γνώρισμα. 981 00:41:38,520 --> 00:41:43,880 Ακριβώς όπως σε μια σχεσιακή βάση δεδομένων, έχετε ένα πρωτεύον κλειδί πάνω στο τραπέζι. 982 00:41:43,880 --> 00:41:46,010 >> DynamoDB έχει αυτό που λέμε ένα κλειδί κατακερματισμού. 983 00:41:46,010 --> 00:41:48,280 Hash κλειδί πρέπει να είναι μοναδικό. 984 00:41:48,280 --> 00:41:52,580 Έτσι, όταν ορίζω έναν πίνακα κατακερματισμού, Βασικά αυτό που λέω 985 00:41:52,580 --> 00:41:54,110 είναι κάθε στοιχείο θα έχει ένα κλειδί κατακερματισμού. 986 00:41:54,110 --> 00:41:58,520 Και κάθε δίεση πρέπει να είναι μοναδικό. 987 00:41:58,520 --> 00:42:01,200 >> Κάθε στοιχείο ορίζεται από το εν λόγω μοναδικό κλειδί κατακερματισμού. 988 00:42:01,200 --> 00:42:02,940 Και μπορεί να υπάρχει μόνο μία. 989 00:42:02,940 --> 00:42:05,820 Αυτό είναι εντάξει, αλλά πολλές φορές ό, τι οι άνθρωποι χρειάζονται 990 00:42:05,820 --> 00:42:08,170 είναι που θέλουν είναι αυτό κατακερματισμού κλειδί για να κάνουμε λίγο περισσότερο 991 00:42:08,170 --> 00:42:11,010 από ό, τι ακριβώς είναι ένα μοναδικό αναγνωριστικό. 992 00:42:11,010 --> 00:42:15,240 Συχνά θέλουμε να χρησιμοποιήσουμε το κλειδί κατακερματισμού ως η κορυφαία κουβά επίπεδο συγκέντρωσης. 993 00:42:15,240 --> 00:42:19,160 Και ο τρόπος που το κάνουμε αυτό είναι με την προσθέτοντας αυτό που λέμε ένα ευρύ φάσμα που καλύπτει. 994 00:42:19,160 --> 00:42:22,460 >> Έτσι, αν αυτό είναι μόνο ένα hash τραπέζι, αυτό πρέπει να είναι μοναδικό. 995 00:42:22,460 --> 00:42:27,040 Αν πρόκειται για ένα hash πίνακα και το εύρος, η συνδυασμός του κατακερματισμού και της περιοχής 996 00:42:27,040 --> 00:42:28,640 πρέπει να είναι μοναδικό. 997 00:42:28,640 --> 00:42:30,110 Έτσι σκεφτείτε το αυτό τον τρόπο. 998 00:42:30,110 --> 00:42:32,140 Αν έχω ένα φόρουμ. 999 00:42:32,140 --> 00:42:39,010 Και η μορφή έχει τα θέματα, έχει θέσεις, και έχει τις απαντήσεις. 1000 00:42:39,010 --> 00:42:42,630 >> Γι 'αυτό και θα μπορούσε να έχει ένα hash κλειδί, το οποίο είναι το αναγνωριστικό θέμα. 1001 00:42:42,630 --> 00:42:46,650 Και θα μπορούσα να έχω ένα ευρύ φάσμα που καλύπτει, το οποίο είναι το αναγνωριστικό απόκριση. 1002 00:42:46,650 --> 00:42:49,650 Με αυτόν τον τρόπο, αν θέλω να πάρω όλα τα απαντήσεις για το συγκεκριμένο θέμα, 1003 00:42:49,650 --> 00:42:52,370 Μπορώ να διερευνούν μόνο το χασίς. 1004 00:42:52,370 --> 00:42:55,190 Θέλω μόνο να πω να μου δώσει όλα τα στοιχεία που έχουν αυτό το κλειδί. 1005 00:42:55,190 --> 00:43:01,910 Και Πάω να πάρει κάθε ερώτηση ή να δημοσιεύσετε για το συγκεκριμένο θέμα. 1006 00:43:01,910 --> 00:43:03,910 Αυτές οι κορυφαίες συναθροίσεις επίπεδο είναι πολύ σημαντικά. 1007 00:43:03,910 --> 00:43:07,370 Υποστηρίζουν την κύρια πρόσβαση μοτίβο της αίτησης. 1008 00:43:07,370 --> 00:43:09,420 Σε γενικές γραμμές, αυτή η είναι ό, τι θέλουμε να κάνουμε. 1009 00:43:09,420 --> 00:43:11,780 Θέλουμε αυτό το table-- όπως μπορείτε να φορτώσετε το τραπέζι, 1010 00:43:11,780 --> 00:43:16,640 θέλουμε να δομήσει τα δεδομένα εντός του πίνακα σε τρόπον 1011 00:43:16,640 --> 00:43:20,140 ότι η εφαρμογή μπορεί να είναι πολύ ανακτήσετε γρήγορα τα αποτελέσματα. 1012 00:43:20,140 --> 00:43:24,510 Και μάλιστα πολλές φορές ο τρόπος για να γίνει αυτό είναι να διατηρήσει αυτές τις ομαδοποιήσεις όπως 1013 00:43:24,510 --> 00:43:25,650 εισάγετε τα δεδομένα. 1014 00:43:25,650 --> 00:43:31,110 Βασικά, είμαστε διάδοση των δεδομένων σε φωτεινό κουβά καθώς έρχεται σε. 1015 00:43:31,110 --> 00:43:35,210 >> Πλήκτρα Σειρά επιτρέπουν me-- κατακερματισμού κλειδιά πρέπει να είναι η ισότητα. 1016 00:43:35,210 --> 00:43:39,490 Όταν ένα ερώτημα hash, έχω να πω να μου δώσει ένα hash που ισούται με αυτό. 1017 00:43:39,490 --> 00:43:41,950 Όταν ερώτημα σε μια σειρά, θα να πω να μου δώσει μια σειρά 1018 00:43:41,950 --> 00:43:47,040 ότι η χρήση κάθε είδους πλούσια φορέα που υποστηρίζουμε. 1019 00:43:47,040 --> 00:43:49,200 Δώσε μου όλα τα στοιχεία για ένα hash. 1020 00:43:49,200 --> 00:43:52,520 Είναι ίση, μεγαλύτερη από, λιγότερο από, μήπως αρχάς, 1021 00:43:52,520 --> 00:43:54,145 μήπως υπάρχουν μεταξύ των δύο αυτών τιμών; 1022 00:43:54,145 --> 00:43:56,811 Έτσι, αυτά τα είδη των ερωτημάτων εύρους ότι μας ενδιαφέρει πάντα. 1023 00:43:56,811 --> 00:43:59,650 Τώρα ένα πράγμα για τα δεδομένα, όταν Αν κοιτάξει κανείς την πρόσβαση στα δεδομένα, όταν 1024 00:43:59,650 --> 00:44:02,360 θα έχουν πρόσβαση στα δεδομένα, είναι πάντα για μια συνάθροιση. 1025 00:44:02,360 --> 00:44:05,770 Είναι πάντα σχετικά με τις εγγραφές που σχετίζονται με αυτό. 1026 00:44:05,770 --> 00:44:10,390 Δώσε μου τα πάντα εδώ that's-- όλα οι συναλλαγές σε αυτήν την πιστωτική κάρτα 1027 00:44:10,390 --> 00:44:12,500 για τον τελευταίο μήνα. 1028 00:44:12,500 --> 00:44:13,960 Αυτό είναι μια ομαδοποίηση. 1029 00:44:13,960 --> 00:44:17,490 >> Σχεδόν ό, τι κάνετε στο η βάση δεδομένων είναι ένα είδος συνάθροισης. 1030 00:44:17,490 --> 00:44:21,530 Έτσι είναι σε θέση να είναι σε θέση να καθορίσει αυτών των κάδων και να σας δώσει αυτά εύρος 1031 00:44:21,530 --> 00:44:24,950 χαρακτηριστικά ώστε να είναι σε θέση να αναζητούν σε, εκείνα που είναι πλούσια ερωτήματα υποστηρίζουν πολλοί, 1032 00:44:24,950 --> 00:44:27,165 πολλά, πολλά σχέδια πρόσβασης εφαρμογή. 1033 00:44:27,165 --> 00:44:30,990 1034 00:44:30,990 --> 00:44:35,000 >> Έτσι, το άλλο πράγμα το κλειδί κατακερματισμού κάνει είναι να μας δίνει ένα μηχανισμό 1035 00:44:35,000 --> 00:44:37,740 να είναι σε θέση να διαδώσουν τα δεδομένα γύρω. 1036 00:44:37,740 --> 00:44:40,390 NoSQL βάσεις δεδομένων λειτουργούν καλύτερα όταν τα δεδομένα είναι ομοιόμορφα 1037 00:44:40,390 --> 00:44:41,740 κατανεμημένα σε όλη την σύμπλεγμα. 1038 00:44:41,740 --> 00:44:44,530 1039 00:44:44,530 --> 00:44:47,050 Πόσοι άνθρωποι είναι εξοικειωμένοι με αλγόριθμοι κατακερματισμού; 1040 00:44:47,050 --> 00:44:49,860 Όταν λέω κατακερματισμού και hashing-- επειδή ένα αλγόριθμο κατακερματισμού 1041 00:44:49,860 --> 00:44:54,140 είναι ένας τρόπος να είναι σε θέση να παράγει μια τυχαία τιμή από οποιαδήποτε δεδομένη τιμή. 1042 00:44:54,140 --> 00:44:59,300 Έτσι, στη συγκεκριμένη περίπτωση, η hash αλγόριθμο που διατρέχουμε είναι η ΝΔ 5 με βάση. 1043 00:44:59,300 --> 00:45:04,765 >> Και αν έχω μια ταυτότητα, και αυτό είναι το κλειδί κατακερματισμού μου, έχω 1, 2, 3. 1044 00:45:04,765 --> 00:45:07,390 Όταν τρέχω τον αλγόριθμο κατακερματισμού, πρόκειται να έρθει πίσω και να πει, 1045 00:45:07,390 --> 00:45:10,800 και ισούται με 1 7Β, 2 ισούται με 48, 3 ισούται με το CD. 1046 00:45:10,800 --> 00:45:13,092 Είναι εξαπλωθεί σε όλο το πλήκτρο space. 1047 00:45:13,092 --> 00:45:14,050 Και γιατί το κάνεις αυτό; 1048 00:45:14,050 --> 00:45:17,120 Διότι αυτό κάνει βέβαιος ότι μπορώ να θέσει τα αρχεία σε πολλαπλές κόμβους. 1049 00:45:17,120 --> 00:45:19,574 >> Αν το κάνω αυτό σταδιακά, 1, 2, 3. 1050 00:45:19,574 --> 00:45:21,990 Και έχω μια σειρά κατακερματισμού που τρέχει σε αυτή τη συγκεκριμένη περίπτωση, 1051 00:45:21,990 --> 00:45:24,785 ένα μικρό χώρο κατακερματισμού, τρέχει από 00 έως FF, 1052 00:45:24,785 --> 00:45:27,951 Στη συνέχεια τα αρχεία που πρόκειται να έρθουν σε και πρόκειται να πάει 1, 2, 3, 4, 5, 1053 00:45:27,951 --> 00:45:30,390 6, 7, 8, 9, 10, 11, 12. 1054 00:45:30,390 --> 00:45:31,800 Τι συμβαίνει? 1055 00:45:31,800 --> 00:45:34,860 Κάθε ένθετο πρόκειται να στον ίδιο κόμβο. 1056 00:45:34,860 --> 00:45:36,070 Βλέπετε τι εννοώ; 1057 00:45:36,070 --> 00:45:40,910 >> Διότι όταν χωρίσει το χώρο, και απλώνω τα αρχεία αυτά σε όλη, 1058 00:45:40,910 --> 00:45:45,950 και εγώ διαμέρισμα, Πάω να πω διαμέρισμα 1 διαθέτει πλήκτρο διαστήματος 0-54. 1059 00:45:45,950 --> 00:45:47,720 Διαμέρισμα 2 είναι 55-89. 1060 00:45:47,720 --> 00:45:49,780 Διαμέρισμα 3 είναι ΑΑ έως FF. 1061 00:45:49,780 --> 00:45:53,740 Έτσι, αν είμαι με τη χρήση γραμμικά προσαύξηση Ταυτότητες, μπορείτε να δείτε τι συμβαίνει. 1062 00:45:53,740 --> 00:45:57,410 1, 2, 3, 4, 5, 6, όλοι τρόπος μέχρι 54. 1063 00:45:57,410 --> 00:46:00,030 Έτσι όπως είμαι σφυρηλάτηση εγγραφές στο σύστημα, 1064 00:46:00,030 --> 00:46:02,030 πάντα καταλήγει να εισέλθει ένα κόμβο. 1065 00:46:02,030 --> 00:46:03,160 >> Αυτό δεν είναι καλό. 1066 00:46:03,160 --> 00:46:04,820 Αυτό είναι ένα antipattern. 1067 00:46:04,820 --> 00:46:08,760 Σε MongoDB έχουν αυτό το πρόβλημα αν δεν θέλετε να χρησιμοποιήσετε ένα κλειδί κατακερματισμού. 1068 00:46:08,760 --> 00:46:11,325 MongoDB σας δίνει τη δυνατότητα να της hashing την τιμή του κλειδιού. 1069 00:46:11,325 --> 00:46:13,950 Θα πρέπει πάντα να το κάνουμε αυτό, αν χρησιμοποιείτε μια προσαύξηση χασίς 1070 00:46:13,950 --> 00:46:17,380 κλειδί στο MongoDB, ή θα είναι κάρφωμα κάθε εγγραφής σε έναν κόμβο, 1071 00:46:17,380 --> 00:46:21,290 και θα σας περιορίζοντας διακίνηση εγγραφής σας άσχημα. 1072 00:46:21,290 --> 00:46:24,896 >> Κοινό: Είναι ότι Α9 169 σε δεκαδική; 1073 00:46:24,896 --> 00:46:28,450 >> RICK Houlihan: Ναι, είναι κάπου εκεί γύρω. 1074 00:46:28,450 --> 00:46:29,950 Α9, δεν ξέρω. 1075 00:46:29,950 --> 00:46:32,200 Θα έπρεπε να πάρει δυαδικό μου σε δεκαδικό αριθμομηχανή. 1076 00:46:32,200 --> 00:46:34,237 Το μυαλό μου δεν λειτουργεί έτσι. 1077 00:46:34,237 --> 00:46:36,320 Κοινό: Ακριβώς ένα γρήγορο της σχόλιά σας Mongo. 1078 00:46:36,320 --> 00:46:39,530 Έτσι είναι το αναγνωριστικό αντικειμένου που έρχεται εγγενώς με Mongo το κάνουμε αυτό; 1079 00:46:39,530 --> 00:46:40,179 1080 00:46:40,179 --> 00:46:41,470 RICK Houlihan: Μήπως να το κάνει αυτό; 1081 00:46:41,470 --> 00:46:42,970 Αν το καθορίσετε. 1082 00:46:42,970 --> 00:46:45,030 Με MongoDB, έχετε την επιλογή. 1083 00:46:45,030 --> 00:46:48,930 Μπορείτε να specify-- κάθε έγγραφο MongoDB πρέπει να έχει ένα αναγνωριστικό χαρακτήρα υπογράμμισης. 1084 00:46:48,930 --> 00:46:50,300 Αυτή είναι η μοναδική αξία. 1085 00:46:50,300 --> 00:46:55,240 >> Σε MongoDB μπορείτε να καθορίσετε αν θα το hash ή όχι. 1086 00:46:55,240 --> 00:46:56,490 Απλώς να σας δώσει την επιλογή. 1087 00:46:56,490 --> 00:46:58,198 Εάν γνωρίζετε ότι είναι τυχαία, δεν υπάρχει πρόβλημα. 1088 00:46:58,198 --> 00:46:59,640 Δεν χρειάζεται να το κάνουμε αυτό. 1089 00:46:59,640 --> 00:47:04,260 Αν ξέρετε ότι δεν είναι τυχαίο, ότι αυτό είναι που αυξάνει, τότε κάντε το χασίς. 1090 00:47:04,260 --> 00:47:06,880 >> Τώρα το πράγμα για κατακερματισμού, τη στιγμή που θα hash 1091 00:47:06,880 --> 00:47:08,800 ένα value-- και αυτό είναι γιατί τα κλειδιά κατακερματισμού είναι πάντα 1092 00:47:08,800 --> 00:47:13,740 μοναδικά ερωτήματα, γιατί έχω αλλάξει η τιμή, τώρα δεν μπορώ να κάνω ένα ερώτημα εύρους. 1093 00:47:13,740 --> 00:47:15,640 Δεν μπορώ να πω είναι αυτό μεταξύ αυτού και ότι, 1094 00:47:15,640 --> 00:47:20,800 επειδή η τιμή κατακερματισμού δεν πρόκειται να είναι ισοδύναμη με την πραγματική τιμή. 1095 00:47:20,800 --> 00:47:24,570 Έτσι, όταν κατακερματισμού που κλειδί, αυτό είναι μόνο η ισότητα. 1096 00:47:24,570 --> 00:47:28,700 Αυτός είναι ο λόγος που σε DynamoDB δίεση ερωτήματα είναι πάντα μόνο την ισότητα. 1097 00:47:28,700 --> 00:47:32,090 1098 00:47:32,090 --> 00:47:34,700 >> Έτσι, τώρα σε μια σειρά key-- όταν μπορώ να προσθέσω ότι το ευρύ φάσμα που καλύπτει, 1099 00:47:34,700 --> 00:47:38,180 Τα αρχεία αυτά βασικό φάσμα έρχονται σε όλα και που έχετε αποθηκευμένα στο ίδιο διαμέρισμα. 1100 00:47:38,180 --> 00:47:42,430 Έτσι, είναι πολύ γρήγορα, εύκολα ανακτηθεί διότι αυτό είναι το κλειδί κατακερματισμού, 1101 00:47:42,430 --> 00:47:43,220 αυτό είναι το εύρος. 1102 00:47:43,220 --> 00:47:44,928 Και μπορείτε να δείτε τα πάντα με την ίδια hash 1103 00:47:44,928 --> 00:47:48,550 παίρνει αποθηκεύονται στον ίδιο χώρο διαμέρισμα. 1104 00:47:48,550 --> 00:47:53,889 Μπορείτε να χρησιμοποιήσετε αυτό το κλειδί σειρά για να βοηθήσει εντοπίσετε τα δεδομένα σας κοντά στη μητρική της. 1105 00:47:53,889 --> 00:47:55,180 Έτσι, αυτό που είμαι πραγματικά κάνεις εδώ; 1106 00:47:55,180 --> 00:47:57,320 Αυτό είναι ένα σε πολλές σχέσεις. 1107 00:47:57,320 --> 00:48:01,490 Η σχέση μεταξύ δίεση και το ευρύ φάσμα που είναι ένα προς πολλά. 1108 00:48:01,490 --> 00:48:03,490 Μπορώ να έχω πολλά κλειδιά κατακερματισμού. 1109 00:48:03,490 --> 00:48:07,610 Μπορώ να έχω μόνο πολλαπλού εύρους πλήκτρα μέσα σε κάθε πλήκτρο της δίεσης. 1110 00:48:07,610 --> 00:48:11,910 >> Το hash ορίζει τη μητρική, Το εύρος καθορίζει τα παιδιά. 1111 00:48:11,910 --> 00:48:15,240 Έτσι μπορείτε να δείτε δεν υπάρχει αναλογική εδώ μεταξύ των σχεσιακών κατασκεύασμα 1112 00:48:15,240 --> 00:48:18,840 και οι ίδιοι τύποι κατασκευάζει στην NoSQL. 1113 00:48:18,840 --> 00:48:20,760 Οι άνθρωποι μιλούν για NoSQL ως μη σχεσιακή. 1114 00:48:20,760 --> 00:48:22,200 Δεν είναι μη σχεσιακή. 1115 00:48:22,200 --> 00:48:24,680 Δεδομένων έχει πάντα σχέσεις. 1116 00:48:24,680 --> 00:48:28,172 Αυτές οι σχέσεις μόνο διαμορφώνονται με διαφορετικό τρόπο. 1117 00:48:28,172 --> 00:48:29,880 Ας μιλήσουμε λίγο κομμάτι για αντοχή. 1118 00:48:29,880 --> 00:48:34,860 Όταν γράφετε για να DynamoDB, γράφει είναι πάντα τριμερή αναπαραχθούν. 1119 00:48:34,860 --> 00:48:37,550 Πράγμα που σημαίνει ότι έχουμε τρεις ΑΖ. 1120 00:48:37,550 --> 00:48:39,160 AZ είναι Διαθεσιμότητας Ζώνες. 1121 00:48:39,160 --> 00:48:43,430 Μπορείτε να σκεφτείτε μια Διαθεσιμότητα Ζώνη ως ένα κέντρο δεδομένων 1122 00:48:43,430 --> 00:48:45,447 ή μια συλλογή των κέντρων δεδομένων. 1123 00:48:45,447 --> 00:48:47,780 Αυτά τα πράγματα είναι γεωγραφικά απομονώθηκε από το άλλο 1124 00:48:47,780 --> 00:48:51,610 σε διάφορες ζώνες ρηγμάτων, σε όλη την διαφορετικά δίκτυα ηλεκτρικής ενέργειας και των πλημμυρικών περιοχών. 1125 00:48:51,610 --> 00:48:54,510 Μια αποτυχία σε ένα AZ δεν είναι πρόκειται να πάρει κάτω από μια άλλη. 1126 00:48:54,510 --> 00:48:56,890 Είναι, επίσης, συνδέεται μαζί με τη σκοτεινή ίνα. 1127 00:48:56,890 --> 00:49:01,240 Υποστηρίζει ένα υπο 1 χιλιοστών του δευτερολέπτου καθυστέρησης μεταξύ Azs. 1128 00:49:01,240 --> 00:49:05,390 Έτσι επαναλήψεις δεδομένων σε πραγματικό χρόνο ικανή πολλαπλών Azs. 1129 00:49:05,390 --> 00:49:09,990 >> Και μάλιστα πολλές φορές πολλαπλών αναπτύξεις Α-Ω να ανταποκριθεί στις υψηλές απαιτήσεις διαθεσιμότητας 1130 00:49:09,990 --> 00:49:12,930 των περισσότερων οργανώσεων επιχειρήσεων. 1131 00:49:12,930 --> 00:49:16,139 Έτσι DynamoDB μεταδίδεται σε τρεις Azs από προεπιλογή. 1132 00:49:16,139 --> 00:49:19,430 Είμαστε μόνο πρόκειται να γνώσης η διαγραφή όταν δύο από τις τρεις κόμβους επανέλθουμε 1133 00:49:19,430 --> 00:49:21,470 και να πω, ναι, εγώ το πήρα. 1134 00:49:21,470 --> 00:49:22,050 Γιατί αυτό? 1135 00:49:22,050 --> 00:49:25,950 Επειδή από την πλευρά της ανάγνωσης είμαστε μόνο πρόκειται να σας δώσει τα στοιχεία πίσω όταν 1136 00:49:25,950 --> 00:49:27,570 θα το πάρει από δύο κόμβους. 1137 00:49:27,570 --> 00:49:30,490 >> Αν είμαι σε ολόκληρη την αντιγραφή τρία, και διαβάζω από δύο, 1138 00:49:30,490 --> 00:49:32,840 Είμαι πάντα εγγυημένες να έχουν τουλάχιστον ένα 1139 00:49:32,840 --> 00:49:35,720 εκείνων διαβάζει να είναι η πιο πρόσφατο αντίγραφο των δεδομένων. 1140 00:49:35,720 --> 00:49:38,340 Αυτό είναι που κάνει DynamoDB συνεπής. 1141 00:49:38,340 --> 00:49:42,450 Τώρα μπορείτε να επιλέξετε να ενεργοποιήσετε που συμβιβάζονται διαβάζει off. 1142 00:49:42,450 --> 00:49:45,070 Σε αυτή την περίπτωση Πάω να πω, Θα διαβάσω μόνο από έναν κόμβο. 1143 00:49:45,070 --> 00:49:47,430 Και δεν μπορώ να εγγυηθώ ότι πρόκειται να είναι τα πιο πρόσφατα δεδομένα. 1144 00:49:47,430 --> 00:49:49,450 >> Έτσι, αν μια εγγραφή έρχεται, δεν έχει αναπαραχθεί ακόμη, 1145 00:49:49,450 --> 00:49:50,360 θα πάμε για να πάρει το αντίγραφο αυτό. 1146 00:49:50,360 --> 00:49:52,220 Αυτό είναι ένα τελικά συνεπής ανάγνωση. 1147 00:49:52,220 --> 00:49:54,640 Και τι είναι αυτό είναι το ήμισυ του κόστους. 1148 00:49:54,640 --> 00:49:56,140 Έτσι, αυτό είναι κάτι για να σκεφτεί. 1149 00:49:56,140 --> 00:50:00,160 Όταν διαβάζετε έξω DynamoDB, και είστε δημιουργία ικανότητας ανάγνωσης σας 1150 00:50:00,160 --> 00:50:04,430 μονάδες, αν επιλέξετε τελικά συνεπής διαβάζει, είναι πολύ πιο φθηνό, 1151 00:50:04,430 --> 00:50:06,010 είναι περίπου το ήμισυ του κόστους. 1152 00:50:06,010 --> 00:50:09,342 >> Και γι 'αυτό σας εξοικονομεί χρήματα. 1153 00:50:09,342 --> 00:50:10,300 Αλλά αυτή είναι η επιλογή σας. 1154 00:50:10,300 --> 00:50:12,925 Αν θέλετε μια συνεπή ανάγνωσης ή μια συνεπή τελικά ανάγνωσης. 1155 00:50:12,925 --> 00:50:15,720 Αυτό είναι κάτι που μπορείτε να επιλέξετε. 1156 00:50:15,720 --> 00:50:17,659 >> Ας μιλήσουμε για ευρετήρια. 1157 00:50:17,659 --> 00:50:19,450 Γι 'αυτό και ανέφερε ότι κορυφή συνάθροιση επίπεδο. 1158 00:50:19,450 --> 00:50:23,720 Έχουμε κατακερματισμού κλειδιά, και έχουμε κλειδιά φάσμα. 1159 00:50:23,720 --> 00:50:24,320 Αυτό είναι ωραίο. 1160 00:50:24,320 --> 00:50:26,950 Και αυτό είναι στην πρωτογενή τραπέζι, πήρε ένα κλειδί κατακερματισμού, πήρα ένα ευρύ φάσμα που καλύπτει. 1161 00:50:26,950 --> 00:50:27,783 >> Τι σημαίνει αυτό? 1162 00:50:27,783 --> 00:50:30,410 Έχω ένα χαρακτηριστικό που έχω μπορεί να τρέξει πλούσια ερωτήματα κατά. 1163 00:50:30,410 --> 00:50:31,800 Είναι το βασικό φάσμα. 1164 00:50:31,800 --> 00:50:35,530 Τα άλλα χαρακτηριστικά σε αυτό το item-- Μπορώ να φιλτράρετε τις ιδιότητες αυτές. 1165 00:50:35,530 --> 00:50:40,050 Αλλά δεν μπορώ να κάνω τα πράγματα όπως, το αρχίζει με, ή είναι μεγαλύτερο από. 1166 00:50:40,050 --> 00:50:40,820 >> Πως το κάνω αυτό? 1167 00:50:40,820 --> 00:50:42,860 Έχω δημιουργήσει ένα ευρετήριο. 1168 00:50:42,860 --> 00:50:45,340 Υπάρχουν δύο τύποι ευρετήρια σε DynamoDB. 1169 00:50:45,340 --> 00:50:49,002 Ένας δείκτης είναι πραγματικά άλλη όψη του τραπεζιού. 1170 00:50:49,002 --> 00:50:50,490 Και η τοπική δευτερεύον ευρετήριο. 1171 00:50:50,490 --> 00:50:51,781 >> Η πρώτη θα μιλήσουμε για. 1172 00:50:51,781 --> 00:50:57,740 Έτσι οι τοπικές δευτερεύοντα συνυπήρχαν στο ίδιο διαμέρισμα με τα δεδομένα. 1173 00:50:57,740 --> 00:51:00,240 Και ως τέτοια, είναι επί το ίδιο φυσικό κόμβο. 1174 00:51:00,240 --> 00:51:01,780 Είναι αυτό που λέμε συνεπής. 1175 00:51:01,780 --> 00:51:04,599 Έννοια, θα αναγνωρίζουν η διαγραφή μαζί με τον πίνακα. 1176 00:51:04,599 --> 00:51:06,890 Όταν το γράφουν έρχεται, θα γράψουμε μέσω του δείκτη. 1177 00:51:06,890 --> 00:51:09,306 Θα γράψω μέχρι το τραπέζι, και στη συνέχεια θα αναγνωρίσουμε. 1178 00:51:09,306 --> 00:51:10,490 Έτσι ώστε να είναι συνεπής. 1179 00:51:10,490 --> 00:51:13,174 Μόλις η διαγραφή έχει αναγνωρίζεται από το τραπέζι, 1180 00:51:13,174 --> 00:51:15,090 είναι εγγυημένο ότι ο τοπικό δευτερεύον ευρετήριο 1181 00:51:15,090 --> 00:51:18,380 θα έχουν το ίδιο όραμα των δεδομένων. 1182 00:51:18,380 --> 00:51:22,390 Αλλά αυτό που θα σας επιτρέψει να κάνετε είναι να Ο καθορισμός των πλήκτρων εναλλακτική σειρά. 1183 00:51:22,390 --> 00:51:25,260 >> Πρέπει να χρησιμοποιούν το ίδιο hash πλήκτρο με το πρωτεύοντα πίνακα, 1184 00:51:25,260 --> 00:51:29,050 επειδή συστεγάζονται σχετικά με την ίδιο διαμέρισμα, και είναι συνεπείς. 1185 00:51:29,050 --> 00:51:33,110 Αλλά μπορώ να δημιουργήσετε ένα ευρετήριο με διαφορετικά κλειδιά φάσμα. 1186 00:51:33,110 --> 00:51:41,590 Έτσι, για παράδειγμα, αν είχα ένα κατασκευαστή ότι είχε μια πρώτη πίνακα εξαρτήματα που έρχονται σε. 1187 00:51:41,590 --> 00:51:44,590 Και πρώτων μέρη έρχονται σε, και από όπου και αν συγκεντρώνονται από τη συνέλευση. 1188 00:51:44,590 --> 00:51:46,840 Και ίσως υπάρχει μια ανάκληση. 1189 00:51:46,840 --> 00:51:50,240 >> Κάθε μέρος που έγινε από αυτό κατασκευαστή, μετά την ημερομηνία αυτή, 1190 00:51:50,240 --> 00:51:52,840 Θα πρέπει να τραβήξει από τη γραμμή μου. 1191 00:51:52,840 --> 00:51:55,950 Μπορώ να γυρίσετε ένα ευρετήριο ότι θα πρέπει να ψάχνει, 1192 00:51:55,950 --> 00:52:00,760 συγκέντρωσης από την ημερομηνία της την κατασκευή του συγκεκριμένου τμήματος. 1193 00:52:00,760 --> 00:52:03,930 Έτσι, αν επιτραπέζια επίπεδο μου ήταν ήδη κατακερματισμένο από τον κατασκευαστή, 1194 00:52:03,930 --> 00:52:07,655 Ίσως ήταν τοποθετημένα σε μέρος ID, Ι μπορεί να δημιουργήσει ένα ευρετήριο από εκείνο τον πίνακα 1195 00:52:07,655 --> 00:52:11,140 όπως κατακερματίζεται από τον κατασκευαστή και κυμαινόταν κατά την ημερομηνία της κατασκευής. 1196 00:52:11,140 --> 00:52:14,490 Και με αυτόν τον τρόπο θα μπορούσα να πω, κάτι που κατασκευάστηκε μεταξύ αυτών των ημερομηνιών, 1197 00:52:14,490 --> 00:52:16,804 Θα πρέπει να τραβήξει από τη γραμμή. 1198 00:52:16,804 --> 00:52:18,220 Οπότε αυτό είναι ένα τοπικό δευτερεύον ευρετήριο. 1199 00:52:18,220 --> 00:52:22,280 >> Αυτές έχουν ως αποτέλεσμα την περιορίζοντας κλειδί κατακερματισμού του χώρου σας. 1200 00:52:22,280 --> 00:52:24,360 Επειδή συνυπήρχαν στον ίδιο κόμβο αποθήκευσης, 1201 00:52:24,360 --> 00:52:26,860 περιορίζουν το κλειδί κατακερματισμού χώρο για 10 gigabytes. 1202 00:52:26,860 --> 00:52:28,950 DynamoDB, σύμφωνα με το πίνακες, θα στεγανοποιήσει 1203 00:52:28,950 --> 00:52:31,380 τραπέζι σας κάθε 10 gigabytes. 1204 00:52:31,380 --> 00:52:34,760 Όταν βάζετε 10 συναυλίες των δεδομένων, θα πηγαίνετε [PHH], και προσθέτουμε άλλο κόμβο. 1205 00:52:34,760 --> 00:52:38,120 1206 00:52:38,120 --> 00:52:42,070 >> Εμείς δεν θα χωρίσει το LSI σε πολλαπλές κατατμήσεις. 1207 00:52:42,070 --> 00:52:43,200 Θα χωρίσει τον πίνακα. 1208 00:52:43,200 --> 00:52:44,679 Αλλά εμείς δεν θα χωρίσει το LSI. 1209 00:52:44,679 --> 00:52:46,470 Έτσι, αυτό είναι κάτι σημαντικό να κατανοήσουμε 1210 00:52:46,470 --> 00:52:50,070 είναι αν κάνεις πολύ, πολύ, πολύ μεγάλες συναθροίσεις, 1211 00:52:50,070 --> 00:52:53,860 Στη συνέχεια θα πάμε να περιορίζεται 10 gigabytes σε Ίσις σας. 1212 00:52:53,860 --> 00:52:56,640 >> Αν αυτή είναι η περίπτωση, μπορούμε να χρησιμοποιήσει την παγκόσμια δευτερεύοντα. 1213 00:52:56,640 --> 00:52:58,630 Παγκόσμια δευτερεύοντα είναι πραγματικά ένα άλλο τραπέζι. 1214 00:52:58,630 --> 00:53:01,720 Μπορούν να υπάρχουν εντελώς μακριά για να η πλευρά των πρωτογενών τραπέζι σας. 1215 00:53:01,720 --> 00:53:04,680 Και επιτρέψτε μου να βρει μια εντελώς διαφορετική δομή. 1216 00:53:04,680 --> 00:53:08,010 Έτσι σκεφτείτε το σαν δεδομένα που εισάγονται σε δύο διαφορετικούς πίνακες, δομημένη 1217 00:53:08,010 --> 00:53:09,220 με δύο διαφορετικούς τρόπους. 1218 00:53:09,220 --> 00:53:11,360 >> Μπορώ να καθορίσει μια εντελώς διαφορετικό κλειδί κατακερματισμού. 1219 00:53:11,360 --> 00:53:13,490 Μπορώ να καθορίσει μια εντελώς διαφορετικό κλειδί εύρος. 1220 00:53:13,490 --> 00:53:15,941 Και μπορώ να τρέξω αυτό εντελώς ανεξάρτητα. 1221 00:53:15,941 --> 00:53:18,190 Ως Μάλιστα, έχω τροφοδοτείται ικανότητα ανάγνωσης μου 1222 00:53:18,190 --> 00:53:21,090 και να γράφουν για την ικανότητα μου παγκόσμια δευτερεύοντα ευρετήρια 1223 00:53:21,090 --> 00:53:24,240 εντελώς ανεξάρτητα της πρωτογενούς τραπέζι μου. 1224 00:53:24,240 --> 00:53:26,640 Αν μπορώ να προσδιορίσω αυτό το ευρετήριο, λέω το πόσο διαβάζουν και να γράφουν 1225 00:53:26,640 --> 00:53:28,610 χωρητικότητα πρόκειται να χρησιμοποιείτε. 1226 00:53:28,610 --> 00:53:31,490 >> Και αυτό είναι ξεχωριστό από την πρωτοβάθμια τραπέζι μου. 1227 00:53:31,490 --> 00:53:35,240 Τώρα και οι δύο από τους δείκτες μας επιτρέψει να όχι μόνο καθορίζουν χασίς και το εύρος κλειδιά, 1228 00:53:35,240 --> 00:53:38,610 αλλά μας επιτρέψει να προβάλει πρόσθετες τιμές. 1229 00:53:38,610 --> 00:53:44,950 Έτσι, αν θέλετε να διαβάσετε από το δείκτη, και θέλω να πάρω κάποιο σύνολο δεδομένων, 1230 00:53:44,950 --> 00:53:48,327 Δεν χρειάζεται να πάμε πίσω στην κύρια τραπέζι για να πάρει τα πρόσθετα χαρακτηριστικά. 1231 00:53:48,327 --> 00:53:50,660 Μπορώ να προβάλλουμε αυτές τις πρόσθετες αποδίδει στον πίνακα 1232 00:53:50,660 --> 00:53:53,440 για να υποστηρίξει το μοτίβο πρόσβασης. 1233 00:53:53,440 --> 00:53:57,700 Ξέρω ότι είμαστε κατά πάσα πιθανότητα να εμπλακούμε σε κάποια Πραγματικά, really-- μπουν τα ζιζάνια 1234 00:53:57,700 --> 00:53:58,910 εδώ σε μερικά από αυτά τα πράγματα. 1235 00:53:58,910 --> 00:54:02,725 Τώρα έχω να παρασύρει έξω από αυτό. 1236 00:54:02,725 --> 00:54:07,320 >> Κοινό: [δεν ακούγεται] --table κλειδί σήμαινε ότι ένα hash; 1237 00:54:07,320 --> 00:54:08,840 Η αρχική κατακερματισμού; 1238 00:54:08,840 --> 00:54:09,340 Multi-ράγες; 1239 00:54:09,340 --> 00:54:10,200 >> RICK Houlihan: Ναι. 1240 00:54:10,200 --> 00:54:11,070 Ναί. 1241 00:54:11,070 --> 00:54:15,260 Το κλειδί τραπέζι βασικά οδηγεί πίσω στο σημείο. 1242 00:54:15,260 --> 00:54:19,280 Έτσι, ένας δείκτης είναι ένας δείκτης για την επιστροφή τα αρχικά στοιχεία πάνω στο τραπέζι. 1243 00:54:19,280 --> 00:54:22,910 Τώρα μπορείτε να επιλέξετε να οικοδομήσουμε ένα δείκτη που έχει μόνο το κλειδί τραπέζι, 1244 00:54:22,910 --> 00:54:24,840 και δεν υπάρχουν άλλες ιδιότητες. 1245 00:54:24,840 --> 00:54:26,570 Και γιατί θα μπορούσε να το κάνω αυτό; 1246 00:54:26,570 --> 00:54:28,570 Καλά, ίσως δεν έχω πολύ μεγάλα αντικείμενα. 1247 00:54:28,570 --> 00:54:31,660 >> Θα ήθελα πραγματικά μόνο που χρειάζεται να ξέρετε which-- μοτίβο πρόσβασης μου θα μπορούσε να πει, 1248 00:54:31,660 --> 00:54:33,760 ποια στοιχεία περιέχει αυτό το ακίνητο; 1249 00:54:33,760 --> 00:54:35,780 Δεν χρειάζεται να επιστρέψετε το στοιχείο. 1250 00:54:35,780 --> 00:54:37,800 Απλά πρέπει να ξέρετε ποια στοιχεία περιέχουν. 1251 00:54:37,800 --> 00:54:40,700 Έτσι, μπορείτε να δημιουργήσετε ευρετήρια ότι έχουν μόνο το κλειδί πίνακα. 1252 00:54:40,700 --> 00:54:43,360 >> Αλλά αυτό είναι αυτό που κατά κύριο λόγο ένας δείκτης στη βάση δεδομένων είναι για. 1253 00:54:43,360 --> 00:54:46,280 Είναι για να είναι σε θέση να γρήγορα προσδιορίσουμε ποια αρχεία, 1254 00:54:46,280 --> 00:54:49,470 ποιες σειρές, η οποία στοιχεία του πίνακα έχουν 1255 00:54:49,470 --> 00:54:51,080 οι ιδιότητες που ψάχνω. 1256 00:54:51,080 --> 00:54:53,610 1257 00:54:53,610 --> 00:54:54,860 >> ΓΓΠΣ, έτσι πώς λειτουργούν; 1258 00:54:54,860 --> 00:54:58,340 ΓΓΠΣ ουσιαστικά είναι ασύγχρονη. 1259 00:54:58,340 --> 00:55:02,570 Η ενημερωμένη έκδοση έρχεται στο τραπέζι, πίνακας στη συνέχεια ενημερώνεται ασύγχρονα 1260 00:55:02,570 --> 00:55:03,720 όλα ΓΓΠΣ σας. 1261 00:55:03,720 --> 00:55:06,680 Αυτός είναι ο λόγος που είναι ΓΓΠΣ τελικά συνεπής. 1262 00:55:06,680 --> 00:55:09,440 >> Είναι σημαντικό να σημειωθεί ότι όταν είστε οικοδόμηση ΓΓΠΣ, 1263 00:55:09,440 --> 00:55:13,110 και καταλαβαίνετε εσείς τη δημιουργία μια άλλη διάσταση της aggregation-- 1264 00:55:13,110 --> 00:55:16,594 Τώρα ας πούμε ένα καλό παράδειγμα εδώ είναι ένας κατασκευαστής. 1265 00:55:16,594 --> 00:55:19,260 Νομίζω ότι θα μπορούσε να μιλήσει για κατασκευαστές ιατρικών συσκευών. 1266 00:55:19,260 --> 00:55:23,870 Κατασκευαστές ιατρικών συσκευών πολλάκις έχουν συνέχειες μέρη. 1267 00:55:23,870 --> 00:55:28,070 Τα μέρη που πηγαίνουν σε μια αντικατάσταση ισχίου όλα 1268 00:55:28,070 --> 00:55:30,200 έχουν ένα μικρό αριθμό σειράς τους. 1269 00:55:30,200 --> 00:55:33,584 Και θα μπορούσαν να έχουν τα εκατομμύρια και εκατομμύρια και δισεκατομμύρια των μερών 1270 00:55:33,584 --> 00:55:35,000 σε όλες τις συσκευές που στέλνουν. 1271 00:55:35,000 --> 00:55:37,440 Λοιπόν, πρέπει να συσσωματώνονται κάτω διαφορετικές διαστάσεις, όλα τα μέρη 1272 00:55:37,440 --> 00:55:39,520 σε συγκρότημα, όλα τα εξαρτήματα που έγιναν 1273 00:55:39,520 --> 00:55:41,670 σε μια ορισμένη γραμμή, όλα τα μέρη που ήρθαν 1274 00:55:41,670 --> 00:55:44,620 σε από μια ορισμένη κατασκευαστή σε μια συγκεκριμένη ημερομηνία. 1275 00:55:44,620 --> 00:55:47,940 Και αυτές οι συναθροίσεις φορές σηκωθείτε σε δισεκατομμύρια. 1276 00:55:47,940 --> 00:55:50,550 >> Γι 'αυτό και συνεργάζεται με ορισμένα από τα αυτά τα παιδιά που υποφέρουν 1277 00:55:50,550 --> 00:55:53,156 επειδή είναι η δημιουργία Αυτές οι ομαδοποιήσεις ginormous 1278 00:55:53,156 --> 00:55:54,280 σε δευτερεύοντα ευρετήρια τους. 1279 00:55:54,280 --> 00:55:57,070 Μπορεί να έχουν μια πρωτογενή τμήματα πίνακα που έρχεται ως μόνο χασίς. 1280 00:55:57,070 --> 00:55:59,090 Κάθε τμήμα έχει ένα μοναδικό σειριακό αριθμό. 1281 00:55:59,090 --> 00:56:00,975 Μπορώ να χρησιμοποιήσω το αύξοντα αριθμό του κατακερματισμού. 1282 00:56:00,975 --> 00:56:01,600 Είναι όμορφο. 1283 00:56:01,600 --> 00:56:04,160 Πρώτων πίνακα δεδομένων μου έχει εξαπλωθεί σε όλη την πλήκτρο space. 1284 00:56:04,160 --> 00:56:05,930 Μου [? γράφω ?] [? κατάποση?] είναι φοβερό. 1285 00:56:05,930 --> 00:56:07,876 Παίρνω πολλά δεδομένα. 1286 00:56:07,876 --> 00:56:09,500 Στη συνέχεια, αυτό που κάνουν είναι να δημιουργούν μια GSI. 1287 00:56:09,500 --> 00:56:12,666 Και λέω, ξέρετε τι, θα πρέπει να δείτε όλα τα μέρη για αυτόν τον κατασκευαστή. 1288 00:56:12,666 --> 00:56:15,060 Λοιπόν, ξαφνικά είμαι λαμβάνοντας ένα δισεκατομμύριο σειρές, 1289 00:56:15,060 --> 00:56:17,550 και τα πράγματα επάνω έναν κόμβο, επειδή όταν 1290 00:56:17,550 --> 00:56:21,170 Ι συγκεντρώνουν ως κατασκευαστής ID ως το χασίς, 1291 00:56:21,170 --> 00:56:25,410 και τον αριθμό μέρος ως περιοχή, τότε όλοι την ξαφνική είμαι 1292 00:56:25,410 --> 00:56:30,530 βάζοντας ένα δισεκατομμύριο μέρη σε ό, τι Αυτό κατασκευαστής έχει παραδοθεί μου. 1293 00:56:30,530 --> 00:56:34,447 >> Αυτό μπορεί να προκαλέσει πολλά της πίεσης στο GSI, 1294 00:56:34,447 --> 00:56:36,030 και πάλι, επειδή είμαι σφυρηλάτηση ενός κόμβου. 1295 00:56:36,030 --> 00:56:38,350 Βάζω όλα αυτά εισάγει σε έναν κόμβο. 1296 00:56:38,350 --> 00:56:40,940 Και αυτό είναι μια πραγματική περίπτωση προβληματική χρήση. 1297 00:56:40,940 --> 00:56:43,479 Τώρα, πήρα ένα καλό σχέδιο πρότυπο για το πώς μπορείτε να αποφύγετε αυτό. 1298 00:56:43,479 --> 00:56:45,770 Και αυτό είναι ένα από τα προβλήματα ότι πάντα συνεργαστεί με. 1299 00:56:45,770 --> 00:56:49,590 Αλλά αυτό που συμβαίνει, είναι η GSI μπορεί να δεν έχουν αρκετή χωρητικότητα εγγραφής 1300 00:56:49,590 --> 00:56:52,330 να είναι σε θέση να ωθήσει όλους εκείνους σειρές σε ένα μόνο κόμβο. 1301 00:56:52,330 --> 00:56:55,390 Και τι θα συμβεί στη συνέχεια, είναι η πρωτεύον, ο πίνακας πελάτη, 1302 00:56:55,390 --> 00:57:00,180 ο κύριος πίνακας θα πρέπει να τεθεί σε αναμονή επειδή η GSI δεν μπορούν να συμβαδίσουν. 1303 00:57:00,180 --> 00:57:02,980 Έτσι, ποσοστό ένθετο μου θα εμπίπτουν στην πρωτογενή τραπέζι 1304 00:57:02,980 --> 00:57:06,230 όπως GSI μου προσπαθεί να συμβαδίσει. 1305 00:57:06,230 --> 00:57:08,850 >> Εντάξει, έτσι GSI, το LSI του, Ποιο από τα δύο πρέπει να χρησιμοποιήσω; 1306 00:57:08,850 --> 00:57:12,290 LSI είναι συνεπείς. 1307 00:57:12,290 --> 00:57:13,750 GSI είναι τελικά συνεπής. 1308 00:57:13,750 --> 00:57:17,490 Αν αυτό είναι εντάξει, σας προτείνουμε να χρησιμοποιήσετε ένα GSI, είναι πολύ πιο ευέλικτο. 1309 00:57:17,490 --> 00:57:20,270 LSI μπορεί να μοντελοποιηθεί ως ένα GSI. 1310 00:57:20,270 --> 00:57:27,040 Και αν το μέγεθος των δεδομένων ανά κλειδιά κατακερματισμού συλλογή σας υπερβαίνει τα 10 gigabytes, 1311 00:57:27,040 --> 00:57:31,050 Στη συνέχεια θα πάμε να θέλουν να χρησιμοποιήσουν ότι GSI επειδή είναι απλά ένα σκληρό όριο. 1312 00:57:31,050 --> 00:57:32,035 >> Εντάξει, έτσι κλιμάκωση. 1313 00:57:32,035 --> 00:57:35,210 1314 00:57:35,210 --> 00:57:37,460 Throughput στην Ντιναμό DB, σας η διάταξη αυτή μπορεί [δεν ακούγεται] 1315 00:57:37,460 --> 00:57:38,680 διεκπεραίωσης σε ένα τραπέζι. 1316 00:57:38,680 --> 00:57:42,740 Έχουμε πελάτες που έχουν τροφοδοτηθεί 60 billion-- 1317 00:57:42,740 --> 00:57:45,970 κάνουν 60 δισεκατομμύρια αιτήματα, τακτικά λειτουργεί σε πάνω από ένα εκατομμύριο αιτήσεις 1318 00:57:45,970 --> 00:57:47,790 ανά δευτερόλεπτο στα τραπέζια μας. 1319 00:57:47,790 --> 00:57:50,360 Δεν υπάρχει πραγματικά κανένας θεωρητικό όριο στο πόσο 1320 00:57:50,360 --> 00:57:53,730 και πόσο γρήγορα ο πίνακας μπορεί να τρέξει στην Ντιναμό ΣΠ. 1321 00:57:53,730 --> 00:57:55,920 Υπάρχουν μερικά μαλακά όρια στο λογαριασμό σας 1322 00:57:55,920 --> 00:57:58,170 ότι βάζουμε εκεί έτσι ώστε να μην τρελαίνομαι. 1323 00:57:58,170 --> 00:58:00,070 Αν θέλετε περισσότερα από ότι, δεν είναι ένα πρόβλημα. 1324 00:58:00,070 --> 00:58:00,820 Θα έρθει να μας πει. 1325 00:58:00,820 --> 00:58:02,810 Θα εμφανιστεί το καντράν. 1326 00:58:02,810 --> 00:58:08,210 >> Κάθε λογαριασμός περιορίζεται σε κάποιο επίπεδο σε κάθε υπηρεσία, ακριβώς έξω από το ρόπαλο 1327 00:58:08,210 --> 00:58:11,920 έτσι ώστε οι άνθρωποι δεν τρελαίνομαι να πάρουν οι ίδιοι σε μπελάδες. 1328 00:58:11,920 --> 00:58:12,840 Δεν υπάρχει όριο στο μέγεθος. 1329 00:58:12,840 --> 00:58:14,940 Μπορείτε να βάλετε οποιοδήποτε αριθμό των αντικειμένων σε ένα τραπέζι. 1330 00:58:14,940 --> 00:58:17,620 Το μέγεθος ενός στοιχείου είναι περιορίζονται σε 400 kilobytes καθένα, 1331 00:58:17,620 --> 00:58:20,050 ότι θα είναι το αντικείμενο δεν είναι τα χαρακτηριστικά. 1332 00:58:20,050 --> 00:58:24,200 Έτσι, το σύνολο όλων των γνωρισμάτων περιορίζεται σε 400 kilobytes. 1333 00:58:24,200 --> 00:58:27,300 Και πάλι, έχουμε αυτό το μικρό ζήτημα LSI 1334 00:58:27,300 --> 00:58:30,405 με το όριο 10 gigabyte ανά κατακερματισμού. 1335 00:58:30,405 --> 00:58:33,280 Κοινό: Μικρός αριθμός, είμαι λείπει τι μου λες, ότι is-- 1336 00:58:33,280 --> 00:58:36,830 Κοινό: Ω, 400 kilobyte είναι το μέγιστο μέγεθος ανά τεμάχιο. 1337 00:58:36,830 --> 00:58:39,570 Έτσι, ένα στοιχείο έχει όλα τα χαρακτηριστικά. 1338 00:58:39,570 --> 00:58:43,950 Έτσι, 400 k είναι το συνολικό μέγεθος αυτού του στοιχείου, 400 kilobytes. 1339 00:58:43,950 --> 00:58:46,170 Έτσι, από όλες τις ιδιότητες συνδυάζονται, όλα τα δεδομένα 1340 00:58:46,170 --> 00:58:49,140 ότι είναι σε όλες αυτές τις ιδιότητες, τυλίγονται σε ένα συνολικό μέγεθος, 1341 00:58:49,140 --> 00:58:51,140 σήμερα σήμερα το όριο είναι 400 στοιχείο k. 1342 00:58:51,140 --> 00:58:54,390 1343 00:58:54,390 --> 00:58:57,046 Έτσι κλιμάκωση και πάλι, επιτυγχάνεται με διαχωριστικά. 1344 00:58:57,046 --> 00:58:58,920 Throughput τροφοδοτείται στο επίπεδο του πίνακα. 1345 00:58:58,920 --> 00:59:00,160 Και στην πραγματικότητα υπάρχουν δύο κουμπιά. 1346 00:59:00,160 --> 00:59:02,400 Έχουμε διαβάσει ικανότητα και να γράφουν ικανότητα. 1347 00:59:02,400 --> 00:59:05,530 >> Έτσι, αυτές ρυθμίζονται ανεξάρτητα το ένα από το άλλο. 1348 00:59:05,530 --> 00:59:08,640 Τηλεχειριστήριο μέτρο του απολύτως συνεπής διαβάζει. 1349 00:59:08,640 --> 00:59:13,005 Εντάξει, οπότε αν λέτε θέλω 1.000 Τηλεχειριστήριο για εκείνους που είναι απολύτως συνεπής, 1350 00:59:13,005 --> 00:59:14,130 αυτά είναι συνεπή διαβάζει. 1351 00:59:14,130 --> 00:59:17,130 Αν πούμε ότι θέλω ενδεχόμενη συνεπής διαβάζει, 1352 00:59:17,130 --> 00:59:19,402 μπορείτε διάταξη 1.000 Τηλεχειριστήριο, μπορείτε πάμε 1353 00:59:19,402 --> 00:59:21,840 για να πάρει τελικά 2.000 συνεπής διαβάζει. 1354 00:59:21,840 --> 00:59:25,940 Και μισή τιμή για όσους τελικά συνίστανται σε διαβάζει. 1355 00:59:25,940 --> 00:59:28,520 >> Και πάλι, προσαρμοσμένο ανεξάρτητα το ένα από το άλλο. 1356 00:59:28,520 --> 00:59:32,900 Και έχουν το throughput-- Εάν καταναλώνετε 100% του τηλεχειριστήριο σας, 1357 00:59:32,900 --> 00:59:35,960 δεν πρόκειται να επηρεάσουν το διαθεσιμότητα των δικαιωμάτων σας. 1358 00:59:35,960 --> 00:59:40,161 Έτσι είναι εντελώς ανεξάρτητες μεταξύ τους. 1359 00:59:40,161 --> 00:59:43,160 Εντάξει, έτσι ώστε ένα από τα πράγματα που Ανέφερα εν συντομία ήταν στραγγαλισμού. 1360 00:59:43,160 --> 00:59:44,320 Ο στραγγαλισμός είναι κακό. 1361 00:59:44,320 --> 00:59:47,311 Ο στραγγαλισμός δείχνει κακό δεν SQL. 1362 00:59:47,311 --> 00:59:50,310 Υπάρχουν πράγματα που μπορούμε να κάνουμε για να βοηθήσουμε θα ανακουφίσει τον επιτάχυνσης, η οποία θα 1363 00:59:50,310 --> 00:59:51,040 αντιμετωπίζετε. 1364 00:59:51,040 --> 00:59:53,240 Αλλά η καλύτερη λύση σε αυτό είναι, ας ρίξουμε 1365 00:59:53,240 --> 00:59:58,000 μια ματιά σε αυτό που κάνεις, γιατί υπάρχει ένα αντι-πρότυπο στο παιχνίδι εδώ. 1366 00:59:58,000 --> 01:00:02,140 >> Αυτά τα πράγματα, τα πράγματα όπως μη ομοιόμορφη φόρτο εργασίας, hot keys, ζεστό χωρίσματα. 1367 01:00:02,140 --> 01:00:06,210 Είμαι χτυπώντας ένα συγκεκριμένο πλήκτρο space πολύ δύσκολο για κάποιον ιδιαίτερο λόγο. 1368 01:00:06,210 --> 01:00:07,080 Γιατί το κάνω αυτό; 1369 01:00:07,080 --> 01:00:08,710 Ας καταλάβω. 1370 01:00:08,710 --> 01:00:10,427 Είμαι ανάμιξης ζεστού δεδομένων μου με κρύο δεδομένων. 1371 01:00:10,427 --> 01:00:12,510 Αφήνω πίνακες μου να πάρει τεράστια, αλλά υπάρχει πραγματικά 1372 01:00:12,510 --> 01:00:15,970 μόνο μερικά υποσύνολο των δεδομένων αυτό είναι πραγματικά ενδιαφέρον για μένα. 1373 01:00:15,970 --> 01:00:20,290 Έτσι, για τα δεδομένα καταγραφής, για παράδειγμα, πολλά πελάτες, παίρνουν δεδομένων καταγραφής κάθε μέρα. 1374 01:00:20,290 --> 01:00:22,490 Πήραν ένα τεράστιο ποσό των δεδομένων καταγραφής. 1375 01:00:22,490 --> 01:00:25,940 >> Αν είστε λίγο ντάμπινγκ όλο αυτό το ημερολόγιο δεδομένα σε ένα μεγάλο τραπέζι, την πάροδο του χρόνου 1376 01:00:25,940 --> 01:00:28,070 Ο πίνακας αυτός πρόκειται να πάρει μαζική. 1377 01:00:28,070 --> 01:00:30,950 Αλλά είμαι πραγματικά ενδιαφέρονται μόνο τελευταίες 24 ώρες, οι τελευταίες επτά ημέρες, 1378 01:00:30,950 --> 01:00:31,659 τις τελευταίες 30 ημέρες. 1379 01:00:31,659 --> 01:00:34,074 Όποια και αν είναι το παράθυρο του χρόνου ότι είμαι ενδιαφέρεται για την εξέταση 1380 01:00:34,074 --> 01:00:37,010 για την περίπτωση που με ενοχλεί, ή Η εκδήλωση που είναι ενδιαφέρον για μένα, 1381 01:00:37,010 --> 01:00:39,540 αυτό είναι το μόνο χρονικό παράθυρο που χρειάζομαι. 1382 01:00:39,540 --> 01:00:42,470 Επομένως, γιατί είμαι βάζοντας 10 χρόνια Αξίζει των δεδομένων καταγραφής στον πίνακα; 1383 01:00:42,470 --> 01:00:45,030 Τι προκαλεί ότι είναι ο πίνακας του θραύσματος. 1384 01:00:45,030 --> 01:00:45,880 >> Παίρνει τεράστια. 1385 01:00:45,880 --> 01:00:48,340 Αρχίζει άπλωμα σε χιλιάδες κόμβων. 1386 01:00:48,340 --> 01:00:51,380 Και δεδομένου ότι η ικανότητά σας είναι τόσο χαμηλή, είστε 1387 01:00:51,380 --> 01:00:54,090 όντως περιοριστικός για κάθε μία από αυτές τις επιμέρους κόμβων. 1388 01:00:54,090 --> 01:00:57,120 Ας ξεκινήσουμε εξετάζοντας το πώς εμείς ονομαστική ότι ο πίνακας πάνω. 1389 01:00:57,120 --> 01:01:01,502 Πως διαχειριζόμαστε τα στοιχεία που λίγο καλύτερα να αποφύγετε αυτά τα προβλήματα. 1390 01:01:01,502 --> 01:01:02,710 Και τι σημαίνει αυτό μοιάζει; 1391 01:01:02,710 --> 01:01:04,370 Αυτό είναι τι μοιάζει. 1392 01:01:04,370 --> 01:01:06,790 Αυτό είναι ό, τι κακό NoSQL μοιάζει. 1393 01:01:06,790 --> 01:01:07,830 >> Πήρα ένα καυτό κλειδί εδώ. 1394 01:01:07,830 --> 01:01:10,246 Αν κοιτάξουμε από την πλευρά της εδώ, όλα αυτά είναι κατατμήσεις μου. 1395 01:01:10,246 --> 01:01:12,630 Πήρα 16 χωρίσματα εδώ σε αυτό το συγκεκριμένο βάση δεδομένων. 1396 01:01:12,630 --> 01:01:13,630 Το κάνουμε αυτό όλη την ώρα. 1397 01:01:13,630 --> 01:01:15,046 Τρέχω αυτό για τους πελάτες όλων των εποχών. 1398 01:01:15,046 --> 01:01:16,550 Έχει καλέσει το χάρτη θερμότητας. 1399 01:01:16,550 --> 01:01:20,590 Θερμότητας χάρτη μου λέει πως είσαι την πρόσβαση σε βασικές χώρο σας. 1400 01:01:20,590 --> 01:01:23,700 Και τι είναι αυτό που μου λέει είναι ότι υπάρχει ένα συγκεκριμένο hash 1401 01:01:23,700 --> 01:01:26,330 ότι αυτός ο τύπος θέλει μια πάρα πολύ, γιατί είναι 1402 01:01:26,330 --> 01:01:28,250 χτύπημα πραγματικά, πραγματικά σκληρά. 1403 01:01:28,250 --> 01:01:29,260 >> Έτσι, το μπλε είναι ωραίο. 1404 01:01:29,260 --> 01:01:29,900 Μας αρέσει το μπλε. 1405 01:01:29,900 --> 01:01:30,720 Δεν μας αρέσει το κόκκινο. 1406 01:01:30,720 --> 01:01:33,120 Red όπου η πίεση παίρνει μέχρι 100%. 1407 01:01:33,120 --> 01:01:35,560 100%, τώρα θα πάμε να τεθεί σε αναμονή. 1408 01:01:35,560 --> 01:01:39,030 Έτσι, κάθε φορά που θα δείτε κάποιον σαν κόκκινες γραμμές this-- και δεν είναι μόνο Ντιναμό DB-- 1409 01:01:39,030 --> 01:01:41,630 κάθε βάση δεδομένων NoSQL έχει αυτό το πρόβλημα. 1410 01:01:41,630 --> 01:01:44,640 Υπάρχουν αντι-πρότυπα που μπορούν να οδηγούν αυτά τα είδη των συνθηκών. 1411 01:01:44,640 --> 01:01:49,070 Αυτό που κάνω είναι να συνεργαστώ με τους πελάτες να ανακουφίσει τις συνθήκες. 1412 01:01:49,070 --> 01:01:51,840 >> Και τι σημαίνει αυτό μοιάζει; 1413 01:01:51,840 --> 01:01:54,260 Και αυτό είναι να πάρει το πιο από Ντιναμό DB απόδοσης, 1414 01:01:54,260 --> 01:01:56,176 αλλά είναι πραγματικά να πάρει η πιο έξω από NoSQL. 1415 01:01:56,176 --> 01:01:58,740 Αυτό δεν περιορίζεται σε δυναμό. 1416 01:01:58,740 --> 01:02:02,050 Αυτό είναι definitely-- μου Δούλευα σε Mongo. 1417 01:02:02,050 --> 01:02:04,090 Είμαι εξοικειωμένος με πολλές πλατφόρμες NoSQL. 1418 01:02:04,090 --> 01:02:06,830 Κάθε ένα έχει αυτούς τους τύπους ζεστού βασικά προβλήματα. 1419 01:02:06,830 --> 01:02:10,320 Για να αξιοποιήσετε στο έπακρο κάθε NoSQL βάσεων δεδομένων, ειδικά Ντιναμό DB, 1420 01:02:10,320 --> 01:02:13,320 Θέλετε να δημιουργήσετε τους πίνακες όπου το στοιχείο κλειδί κατακερματισμού έχει 1421 01:02:13,320 --> 01:02:18,590 ένας μεγάλος αριθμός των διακριτών τιμών, υψηλό βαθμό πληθικότητας. 1422 01:02:18,590 --> 01:02:22,530 Διότι αυτό σημαίνει ότι γράφω σε πολλές διαφορετικές κάδους. 1423 01:02:22,530 --> 01:02:24,870 >> Οι περισσότεροι κάδοι είμαι γράφετε, το πιο πιθανό 1424 01:02:24,870 --> 01:02:29,100 Είμαι για να διαδώσει το φορτίο εγγραφής ή διαβάστε φορτώσει έξω σε πολλούς κόμβους, 1425 01:02:29,100 --> 01:02:33,560 το πιο πιθανό είμαι για να έχουν μια υψηλής απόδοσης πάνω στο τραπέζι. 1426 01:02:33,560 --> 01:02:37,440 Και τότε θέλω οι τιμές να είναι ζήτησε αρκετά ομοιόμορφα την πάροδο του χρόνου 1427 01:02:37,440 --> 01:02:39,430 και ομοιόμορφα ως τυχαία δυνατό. 1428 01:02:39,430 --> 01:02:42,410 Λοιπόν, αυτό είναι το είδος του ενδιαφέροντα, επειδή δεν μπορώ πραγματικά να 1429 01:02:42,410 --> 01:02:43,960 ελέγχου όταν οι χρήστες έρχονται. 1430 01:02:43,960 --> 01:02:47,645 Έτσι, αρκεί να πούμε, αν εξαπλωθεί τα πράγματα σε όλη τη πλήκτρο διαστήματος, 1431 01:02:47,645 --> 01:02:49,270 θα μπορούσε πιθανότατα να είναι σε καλύτερη κατάσταση. 1432 01:02:49,270 --> 01:02:51,522 >> Υπάρχει μια ορισμένη ποσότητα χρόνο παράδοσης 1433 01:02:51,522 --> 01:02:53,230 ότι δεν πρόκειται να είναι σε θέση ελέγχου. 1434 01:02:53,230 --> 01:02:55,438 Αλλά αυτά είναι πραγματικά η δύο διαστάσεις που έχουμε, 1435 01:02:55,438 --> 01:02:58,800 χώρος, πρόσβαση ομοιόμορφα εξάπλωση, ο χρόνος, οι αιτήσεις 1436 01:02:58,800 --> 01:03:01,040 φθάνουν ομοιόμορφα κατανεμημένες στο χρόνο. 1437 01:03:01,040 --> 01:03:03,110 Και αν αυτά τα δύο Οι όροι πληρούνται, 1438 01:03:03,110 --> 01:03:05,610 τότε αυτό είναι ό, τι είναι πρόκειται να μοιάσει. 1439 01:03:05,610 --> 01:03:07,890 Αυτό είναι πολύ καλύτερο. 1440 01:03:07,890 --> 01:03:08,890 Είμαστε πολύ χαρούμενοι εδώ. 1441 01:03:08,890 --> 01:03:10,432 Έχουμε μια πολύ ακόμα και συχνή πρόσβαση. 1442 01:03:10,432 --> 01:03:13,098 Ναι, ίσως παίρνετε ένα λίγη πίεση κάθε τώρα και στη συνέχεια, 1443 01:03:13,098 --> 01:03:14,830 αλλά τίποτα πραγματικά πάρα πολύ εκτεταμένες. 1444 01:03:14,830 --> 01:03:17,660 Γι 'αυτό είναι εκπληκτικό πόσες φορές, όταν δουλεύω με τους πελάτες, 1445 01:03:17,660 --> 01:03:20,670 ότι η πρώτη γραφική παράσταση με το μεγάλο κόκκινο μπαρ και όλα αυτά άσχημο κίτρινο είναι 1446 01:03:20,670 --> 01:03:23,147 σε όλη τη χώρα, εμείς να γίνει με την άσκηση 1447 01:03:23,147 --> 01:03:24,980 μετά από δύο μήνες του νέου αρχιτεκτονικής, 1448 01:03:24,980 --> 01:03:28,050 τρέχετε την ίδια ακριβώς φόρτο εργασίας κατά την ακριβή ίδιο φορτίο. 1449 01:03:28,050 --> 01:03:30,140 Και αυτό είναι αυτό που ψάχνει, όπως τώρα. 1450 01:03:30,140 --> 01:03:36,600 Έτσι τι μπορείτε να πάρετε με NoSQL είναι σχήμα δεδομένα που είναι απολύτως 1451 01:03:36,600 --> 01:03:38,510 δεμένο με το πρότυπο πρόσβασης. 1452 01:03:38,510 --> 01:03:42,170 >> Και μπορείτε να βελτιστοποιήσετε αυτό το σχήμα δεδομένων να υποστηρίξει ότι η συχνή πρόσβαση. 1453 01:03:42,170 --> 01:03:45,490 Αν δεν το κάνετε, τότε θα πάμε για να δείτε αυτούς τους τύπους των προβλημάτων 1454 01:03:45,490 --> 01:03:46,710 με αυτά τα πλήκτρα. 1455 01:03:46,710 --> 01:03:50,518 >> Κοινό: Λοιπόν, αναπόφευκτα κάποια σημεία πρόκειται να είναι θερμότερος από ό, τι άλλοι. 1456 01:03:50,518 --> 01:03:51,450 >> RICK Houlihan: Πάντα. 1457 01:03:51,450 --> 01:03:51,960 Πάντοτε. 1458 01:03:51,960 --> 01:03:54,620 Ναι, θέλω να πω ότι υπάρχει πάντα a-- και πάλι, δεν υπάρχει 1459 01:03:54,620 --> 01:03:56,980 μερικά σχεδιαστικά πρότυπα θα περάσει ότι θα μιλήσουμε για το πώς θα αντιμετωπίσει 1460 01:03:56,980 --> 01:03:58,480 με αυτά τα σούπερ μεγάλες συναθροίσεις. 1461 01:03:58,480 --> 01:04:01,260 Θέλω να πω, πήρα να τους έχουν, πώς μπορούμε να αντιμετωπίσουμε μαζί τους; 1462 01:04:01,260 --> 01:04:03,760 Πήρα μια πολύ καλή περίπτωση χρήσης ότι θα μιλήσουμε για γι 'αυτό. 1463 01:04:03,760 --> 01:04:05,940 >> Εντάξει, ας μιλήσουμε τώρα για ορισμένους πελάτες. 1464 01:04:05,940 --> 01:04:06,950 Αυτοί οι τύποι είναι AdRoll. 1465 01:04:06,950 --> 01:04:08,990 Δεν ξέρω αν είστε εξοικειωμένοι με AdRoll. 1466 01:04:08,990 --> 01:04:10,781 Μπορείτε πιθανώς να τα δείτε πολλά στο πρόγραμμα περιήγησης. 1467 01:04:10,781 --> 01:04:14,230 Είναι ad εκ νέου στόχευση, είναι το μεγαλύτερο επιχειρηματικό ad εκ νέου στόχευση 1468 01:04:14,230 --> 01:04:14,940 εκεί έξω. 1469 01:04:14,940 --> 01:04:17,792 Συνήθως εκτελούν τακτικά δρομολόγια άνω 60 δισεκατομμύρια συναλλαγές ανά ημέρα. 1470 01:04:17,792 --> 01:04:20,000 Κάνουν πάνω από ένα εκατομμύριο συναλλαγές ανά δευτερόλεπτο. 1471 01:04:20,000 --> 01:04:22,660 Θα έχουμε ένα αρκετά απλό πίνακα δομή, το πιο πολυσύχναστο τραπέζι. 1472 01:04:22,660 --> 01:04:26,450 Είναι ουσιαστικά μόνο ένα hash κλειδί είναι το cookie, 1473 01:04:26,450 --> 01:04:29,010 η περιοχή είναι η δημογραφική κατηγορία, και στη συνέχεια 1474 01:04:29,010 --> 01:04:31,220 το τρίτο χαρακτηριστικό είναι η βαθμολογία. 1475 01:04:31,220 --> 01:04:33,720 >> Έτσι, όλοι έχουμε τα cookies στον Ο περιηγητής μας από αυτά τα παιδιά. 1476 01:04:33,720 --> 01:04:35,900 Και όταν πηγαίνετε σε ένα συμμετέχουν έμποροι, 1477 01:04:35,900 --> 01:04:39,390 που ουσιαστικά θα στείλει σε όλη την διάφορες δημογραφικές κατηγορίες. 1478 01:04:39,390 --> 01:04:42,070 Όταν πηγαίνετε σε μια ιστοσελίδα και λέτε θέλω να δω αυτό το ad-- 1479 01:04:42,070 --> 01:04:44,920 ή ουσιαστικά δεν λέτε that-- αλλά όταν θα πάτε στην ιστοσελίδα 1480 01:04:44,920 --> 01:04:47,550 λένε θέλετε να δείτε αυτήν τη διαφήμιση. 1481 01:04:47,550 --> 01:04:49,370 Και πάω να πάρω τη συγκεκριμένη διαφήμιση από AdRoll. 1482 01:04:49,370 --> 01:04:51,130 AdRoll που κοιτάζει επάνω στο τραπέζι τους. 1483 01:04:51,130 --> 01:04:52,115 Το βρίσκουν το cookie σας. 1484 01:04:52,115 --> 01:04:53,990 Οι διαφημιστές λένε αυτά, θέλω κάποιον 1485 01:04:53,990 --> 01:04:58,632 ο οποίος είναι μεσήλικες, 40-year-old man, τον αθλητισμό. 1486 01:04:58,632 --> 01:05:01,590 Και θα σας στείλει σε αυτές τις δημογραφικά και αποφασίζουν κατά πόσον ή όχι 1487 01:05:01,590 --> 01:05:02,740 αυτή είναι μια καλή διαφήμιση για εσάς. 1488 01:05:02,740 --> 01:05:10,330 >> Τώρα έχουν μια SLA με παρόχους διαφήμιση τους 1489 01:05:10,330 --> 01:05:14,510 για την παροχή υπο-10 χιλιοστά του δευτερολέπτου ανταπόκριση σε κάθε αίτημα. 1490 01:05:14,510 --> 01:05:16,090 Έτσι, από όπου και αν χρησιμοποιούν Ντιναμό DB για αυτό. 1491 01:05:16,090 --> 01:05:18,131 Είναι ένα χτύπημα μας εκατομμύρια αιτήσεις ανά δευτερόλεπτο. 1492 01:05:18,131 --> 01:05:21,120 Θα είστε σε θέση να κάνετε όλα τους αναζητήσεις, διαλογή όλα τα δεδομένα, 1493 01:05:21,120 --> 01:05:26,130 και να πάρει το σύνδεσμο add πίσω σε αυτό την αγγελία σε λιγότερο από 10 χιλιοστά του δευτερολέπτου. 1494 01:05:26,130 --> 01:05:29,800 Είναι πραγματικά πολύ εντυπωσιακή εφαρμογής που έχουν. 1495 01:05:29,800 --> 01:05:36,210 >> Αυτά τα παιδιά actually-- είναι αυτά τα παιδιά. 1496 01:05:36,210 --> 01:05:38,010 Δεν είμαι σίγουρος αν είναι αυτά τα παιδιά. 1497 01:05:38,010 --> 01:05:40,127 Μπορεί να είναι αυτοί οι τύποι. 1498 01:05:40,127 --> 01:05:42,210 Βασικά ΕΜΕΙΣ-- είπε όχι, Δεν νομίζω ότι αυτά ήταν. 1499 01:05:42,210 --> 01:05:43,000 Νομίζω ότι ήταν κάποιος άλλος. 1500 01:05:43,000 --> 01:05:44,750 Δούλευα με μια πελάτη που μου είπε 1501 01:05:44,750 --> 01:05:47,040 ότι τώρα που έχουμε πάει στη Ντιναμό DB, είναι 1502 01:05:47,040 --> 01:05:50,330 ξοδεύουν περισσότερα χρήματα για σνακ για την ανάπτυξη της ομάδας τους κάθε μήνα 1503 01:05:50,330 --> 01:05:52,886 από ό, τι περνούν στη βάση δεδομένων τους. 1504 01:05:52,886 --> 01:05:54,760 Γι 'αυτό θα σας δώσει μια ιδέα της εξοικονόμησης κόστους 1505 01:05:54,760 --> 01:05:57,889 ότι μπορείτε να πάρετε στην Ντιναμό DB είναι τεράστια. 1506 01:05:57,889 --> 01:05:59,430 Εντάξει, dropcam είναι μια άλλη εταιρεία. 1507 01:05:59,430 --> 01:06:02,138 Αυτοί τύπος είναι το είδος of-- αν νομίζετε του Διαδικτύου των πραγμάτων, dropcam 1508 01:06:02,138 --> 01:06:05,150 είναι βασικά βίντεο ασφάλεια στο Διαδίκτυο. 1509 01:06:05,150 --> 01:06:06,660 Βάζετε τη φωτογραφική μηχανή σας εκεί έξω. 1510 01:06:06,660 --> 01:06:08,180 Κάμερα διαθέτει ένα ανιχνευτή κίνησης. 1511 01:06:08,180 --> 01:06:10,290 Κάποιος έρχεται, ενεργοποιεί ένα σημείο cue. 1512 01:06:10,290 --> 01:06:13,540 Φωτογραφική μηχανή αρχίζει την εγγραφή για ένα διάστημα μέχρι δεν εντοπίζει οποιαδήποτε κίνηση πια. 1513 01:06:13,540 --> 01:06:15,310 Βάζει το βίντεο επάνω στο διαδίκτυο. 1514 01:06:15,310 --> 01:06:19,800 >> Dropcam ήταν μια εταιρεία που είναι ουσιαστικά αλλάξει σε Ντιναμό DB 1515 01:06:19,800 --> 01:06:22,200 επειδή αντιμετώπιζαν τεράστια αυξανόμενη πόνους. 1516 01:06:22,200 --> 01:06:25,820 Και τι μας είπαν, ξαφνικά petabytes δεδομένων. 1517 01:06:25,820 --> 01:06:28,070 Δεν είχαν καμία ιδέα για την υπηρεσία τους θα ήταν τόσο επιτυχής. 1518 01:06:28,070 --> 01:06:32,310 Περισσότερα εισερχόμενα βίντεο από το YouTube είναι ό, τι αυτά τα παιδιά παίρνουν. 1519 01:06:32,310 --> 01:06:36,780 Χρησιμοποιούν DynamoDB για να παρακολουθείτε όλα τα μεταδεδομένα για όλα τα βίντεο βασικά σημεία τους. 1520 01:06:36,780 --> 01:06:40,282 >> Έτσι έχουν S3 κουβάδες ωθούν όλα τα δυαδικά αντικείμενα μέσα. 1521 01:06:40,282 --> 01:06:41,990 Και τότε θα έχουν Ντιναμό DB εγγραφές που 1522 01:06:41,990 --> 01:06:44,070 δείχνουν οι άνθρωποι σε αυτές τις S3 τρία αντικείμενα. 1523 01:06:44,070 --> 01:06:47,070 Όταν πρέπει να εξετάσουμε σε ένα βίντεο, φαίνονται το ρεκόρ στην Ντιναμό ΣΠ. 1524 01:06:47,070 --> 01:06:47,903 Κάνει κλικ στο σύνδεσμο. 1525 01:06:47,903 --> 01:06:49,770 Θα τραβήξτε προς τα κάτω το βίντεο από το S3. 1526 01:06:49,770 --> 01:06:51,590 Έτσι, αυτό είναι το είδος του τι αυτό μοιάζει. 1527 01:06:51,590 --> 01:06:53,580 Και αυτό είναι κατ 'ευθείαν από την ομάδα τους. 1528 01:06:53,580 --> 01:06:56,010 >> Ντιναμό ΣΠ μειώνει τους χρόνος παράδοσης για τα γεγονότα βίντεο 1529 01:06:56,010 --> 01:06:57,590 από πέντε έως 10 δευτερόλεπτα. 1530 01:06:57,590 --> 01:07:00,470 Στην παλιά σχεσιακή κατάστημά τους, συνήθιζαν να πρέπει να πάει και να εκτελέσει 1531 01:07:00,470 --> 01:07:03,780 πολλαπλά σύνθετα ερωτήματα με την εικόνα από τα οποία τα βίντεο για να τραβήξει προς τα κάτω, 1532 01:07:03,780 --> 01:07:06,690 σε λιγότερο από 50 χιλιοστά του δευτερολέπτου. 1533 01:07:06,690 --> 01:07:08,990 Γι 'αυτό είναι καταπληκτικό, καταπληκτικό πόση απόδοση 1534 01:07:08,990 --> 01:07:12,990 μπορείτε να πάρετε όταν βελτιστοποίηση και συντονιστείτε το υποκείμενο δεδομένων 1535 01:07:12,990 --> 01:07:15,110 για να υποστηρίξει το μοτίβο πρόσβασης. 1536 01:07:15,110 --> 01:07:20,500 Halfbrick, αυτά τα παιδιά, τι είναι αυτό, Φρούτα Ninja Υποθέτω ότι είναι το πράγμα τους. 1537 01:07:20,500 --> 01:07:22,590 Ότι όλα τα πειράματα για Ντιναμό DB. 1538 01:07:22,590 --> 01:07:26,810 Και αυτοί οι τύποι, είναι μια μεγάλη ομάδα ανάπτυξης, μεγάλη ανάπτυξη 1539 01:07:26,810 --> 01:07:27,670 κατάστημα. 1540 01:07:27,670 --> 01:07:29,364 >> Δεν είναι μια καλή ομάδα ops. 1541 01:07:29,364 --> 01:07:31,280 Δεν έχουν πολλά των πόρων λειτουργίας. 1542 01:07:31,280 --> 01:07:33,940 Είχαν αγωνίζονται προσπαθώντας να κρατήσει υποδομή εφαρμογών τους μέχρι 1543 01:07:33,940 --> 01:07:34,290 και να λειτουργήσει. 1544 01:07:34,290 --> 01:07:35,000 Ήρθαν για να μας. 1545 01:07:35,000 --> 01:07:36,251 Εξέτασαν εκείνη την Ντιναμό DB. 1546 01:07:36,251 --> 01:07:37,291 Είπαν, αυτό είναι για εμάς. 1547 01:07:37,291 --> 01:07:39,470 Έχτισαν σύνολό τους πλαίσιο εφαρμογής σε αυτό. 1548 01:07:39,470 --> 01:07:43,640 Μερικά πολύ ωραία σχόλια εδώ από την ομάδα για την ικανότητά τους 1549 01:07:43,640 --> 01:07:46,800 να επικεντρωθούν τώρα στην οικοδόμηση το παιχνίδι και να μην 1550 01:07:46,800 --> 01:07:49,010 χρειάζεται να διατηρηθεί ο υποδομή, η οποία 1551 01:07:49,010 --> 01:07:51,910 γινόταν ένα τεράστιο ποσό των γενικών εξόδων για την ομάδα τους. 1552 01:07:51,910 --> 01:07:56,170 Έτσι, αυτό είναι κάτι που το that-- πλεονέκτημα ότι μπορείτε να πάρετε από την Ντιναμό DB. 1553 01:07:56,170 --> 01:08:00,930 >> Εντάξει, το να μπουν μοντελοποίησης δεδομένων εδώ. 1554 01:08:00,930 --> 01:08:03,440 Και μιλήσαμε λίγο για αυτό προς ένα, το ένα σε πολλούς, 1555 01:08:03,440 --> 01:08:05,060 και πολλοί προς πολλούς σχέσεις τύπου. 1556 01:08:05,060 --> 01:08:07,630 Και πώς θα διατηρήσουν την κατάσταση αυτή στην Ντιναμό. 1557 01:08:07,630 --> 01:08:10,500 Στην Ντιναμό DB χρησιμοποιούμε ευρετήρια, μιλώντας γενικά, 1558 01:08:10,500 --> 01:08:12,910 για να περιστρέψετε τα δεδομένα από μια γεύση στο άλλο. 1559 01:08:12,910 --> 01:08:15,210 Hash κλειδιά, κλειδιά φάσμα, και ευρετήρια. 1560 01:08:15,210 --> 01:08:18,540 >> Σε αυτή τη συγκεκριμένη Παραδείγματος χάριν, όπως τα περισσότερα κράτη 1561 01:08:18,540 --> 01:08:23,802 έχουν την υποχρέωση χορήγησης αδειών που μόνο μίας άδειας οδήγησης ανά άτομο. 1562 01:08:23,802 --> 01:08:26,510 Δεν μπορείτε να πάτε να πάρετε δύο οδηγού άδειες στην πολιτεία της Βοστώνης. 1563 01:08:26,510 --> 01:08:27,500 Δεν μπορώ να το κάνω στο Τέξας. 1564 01:08:27,500 --> 01:08:28,708 Αυτό είναι το είδος του τρόπου που είναι. 1565 01:08:28,708 --> 01:08:32,779 Και έτσι στο Υπουργείο Συγκοινωνιών, έχουμε αναζητήσεις, εμείς θέλετε να αναζητήσετε άδεια του οδηγού 1566 01:08:32,779 --> 01:08:35,180 από τον αριθμό κοινωνικής ασφάλισης. 1567 01:08:35,180 --> 01:08:39,990 Θέλω να κοιτάζω προς τα πάνω τα στοιχεία των χρηστών με τον αριθμό της άδειας του οδηγού. 1568 01:08:39,990 --> 01:08:43,620 >> Έτσι, μπορούμε να έχουμε τραπέζι ενός χρήστη ότι έχει ένα κλειδί κατακερματισμού για τον αύξοντα αριθμό, 1569 01:08:43,620 --> 01:08:47,830 ή ο αριθμός κοινωνικής ασφάλισης, και διάφορα χαρακτηριστικά που καθορίζονται στο σημείο. 1570 01:08:47,830 --> 01:08:49,859 Τώρα στον εν λόγω πίνακα Ι θα μπορούσε να ορίσει ένα GSI ότι 1571 01:08:49,859 --> 01:08:53,370 flips ότι γύρω από αυτό τα λέει θέλω δίεση στην άδεια και, στη συνέχεια, 1572 01:08:53,370 --> 01:08:54,252 όλα τα άλλα στοιχεία. 1573 01:08:54,252 --> 01:08:57,210 Τώρα αν θέλω να διερευνούν και να βρει το τον αριθμό της άδειας για οποιοδήποτε δεδομένο Κοινωνική 1574 01:08:57,210 --> 01:08:59,609 Αριθμό ασφαλείας, μπορώ διερευνούν τον κύριο πίνακα. 1575 01:08:59,609 --> 01:09:02,130 >> Αν θέλω να διερευνούν και να θέλω για να πάρει την κοινωνική ασφάλιση 1576 01:09:02,130 --> 01:09:05,735 αριθμός ή άλλα χαρακτηριστικά από ένα τον αριθμό της άδειας, μπορώ να θέσει υπό αμφισβήτηση το GSI. 1577 01:09:05,735 --> 01:09:08,689 Αυτό το μοντέλο είναι ότι ένα σε μία σχέση. 1578 01:09:08,689 --> 01:09:12,460 Ακριβώς ένα πολύ απλό GSI, αναστρέψετε γύρω από αυτά τα πράγματα. 1579 01:09:12,460 --> 01:09:13,979 Τώρα, μιλάμε για μία έως πολλές. 1580 01:09:13,979 --> 01:09:16,450 Μία για πολλούς είναι ουσιαστικά κλειδί κατακερματισμού σειρά σας. 1581 01:09:16,450 --> 01:09:20,510 Όταν έχουμε πολύ με αυτό περίπτωση χρήσης είναι τα δεδομένα της οθόνης. 1582 01:09:20,510 --> 01:09:23,880 Δεδομένων Monitor έρχεται σε τακτά διάστημα, όπως το διαδίκτυο των πραγμάτων. 1583 01:09:23,880 --> 01:09:26,890 Πρέπει πάντα να πάρετε όλα αυτά αρχεία που έρχονται σε όλη την ώρα. 1584 01:09:26,890 --> 01:09:31,420 >> Και θέλω να βρείτε όλες τις ενδείξεις μεταξύ μιας συγκεκριμένης χρονικής περιόδου. 1585 01:09:31,420 --> 01:09:34,220 Είναι ένα πολύ κοινό ερώτημα στο την παρακολούθηση της υποδομής. 1586 01:09:34,220 --> 01:09:38,430 Ο τρόπος να πάει για αυτό είναι να βρεθεί ένας απλή δομή πίνακα, ένα τραπέζι. 1587 01:09:38,430 --> 01:09:42,250 Έχω ένα πίνακα μετρήσεων της διάταξης με ένα κλειδί κατακερματισμού για την ταυτότητα της συσκευής. 1588 01:09:42,250 --> 01:09:47,340 Και έχω ένα κλειδί για το εύρος timestamp, ή στην περίπτωση αυτή, το έπος. 1589 01:09:47,340 --> 01:09:50,350 Και αυτό μου δίνει τη δυνατότητα να εκτελούν πολύπλοκες ερωτήματα σε αυτό το κλειδί εύρος 1590 01:09:50,350 --> 01:09:54,950 και να επιστρέψει τα αρχεία που είναι σε σχέση με το αποτέλεσμα 1591 01:09:54,950 --> 01:09:56,310 που ότι ψάχνω. 1592 01:09:56,310 --> 01:09:58,360 Και χτίζει ότι ένας σε πολλές σχέσεις 1593 01:09:58,360 --> 01:10:02,340 στον πρωτεύοντα πίνακα, χρησιμοποιώντας το hash κλειδί, κλειδί δομή εύρος. 1594 01:10:02,340 --> 01:10:04,600 >> Έτσι, αυτό είναι το είδος του δομημένου στον πίνακα στην Ντιναμό ΣΠ. 1595 01:10:04,600 --> 01:10:07,290 Όταν ορίσετε ένα hash και το εύρος t πίνακα, είμαι 1596 01:10:07,290 --> 01:10:09,240 ορίζει ένα ένα προς πολλά σχέση. 1597 01:10:09,240 --> 01:10:12,770 Είναι μια σχέση γονέα-παιδιού. 1598 01:10:12,770 --> 01:10:14,620 >> Ας μιλήσουμε για πολλά σε πολλές σχέσεις. 1599 01:10:14,620 --> 01:10:19,170 Και για αυτό το συγκεκριμένο παράδειγμα, και πάλι, θα πάμε να χρησιμοποιήσετε GSI του. 1600 01:10:19,170 --> 01:10:23,500 Και ας μιλήσουμε για gaming σενάριο όπου έχω ένα συγκεκριμένο χρήστη. 1601 01:10:23,500 --> 01:10:26,500 Θέλω να μάθετε όλα τα παιχνίδια που αυτός είναι εγγεγραμμένος ή για να παίζει στο. 1602 01:10:26,500 --> 01:10:29,600 Και για ένα συγκεκριμένο παιχνίδι, θέλετε να βρείτε όλους τους χρήστες. 1603 01:10:29,600 --> 01:10:31,010 Λοιπόν, πώς μπορώ να το κάνω; 1604 01:10:31,010 --> 01:10:34,330 Μου επιτραπέζια παιχνίδια χρήστη, Πάω να έχουν ένα κλειδί κατακερματισμού της ταυτότητας χρήστη 1605 01:10:34,330 --> 01:10:35,810 και ένα βασικό εύρος του παιχνιδιού. 1606 01:10:35,810 --> 01:10:37,810 >> Έτσι, ο χρήστης μπορεί να έχει πολλά παιχνίδια. 1607 01:10:37,810 --> 01:10:41,380 Είναι ένα προς πολλά μεταξύ ο χρήστης και τα παιχνίδια που παίζει. 1608 01:10:41,380 --> 01:10:43,410 Και στη συνέχεια στο GSI, Θα flip ότι περίπου. 1609 01:10:43,410 --> 01:10:46,679 Θα hash για το παιχνίδι και Θα κυμαίνονται από το χρήστη. 1610 01:10:46,679 --> 01:10:48,970 Έτσι, αν θέλω να πάρω όλα τα το παιχνίδι του χρήστη να παίζει σε, 1611 01:10:48,970 --> 01:10:49,950 Θα ερώτημα τον κύριο πίνακα. 1612 01:10:49,950 --> 01:10:52,699 Αν θέλω να πάρει όλους τους χρήστες που παίζουν ένα συγκεκριμένο παιχνίδι, 1613 01:10:52,699 --> 01:10:53,887 Έχω ερώτημα το GSI. 1614 01:10:53,887 --> 01:10:54,970 Έτσι, μπορείτε να δείτε πώς το κάνουμε αυτό; 1615 01:10:54,970 --> 01:10:58,369 Μπορείτε να δημιουργήσετε αυτά GSI να υποστηρίξει το περίπτωση χρήσης, η εφαρμογή, η πρόσβαση 1616 01:10:58,369 --> 01:10:59,410 μοτίβο, η εφαρμογή. 1617 01:10:59,410 --> 01:11:01,440 >> Αν χρειαστεί να υποβάλετε ερώτημα σχετικά με η διάσταση αυτή, επιτρέψτε 1618 01:11:01,440 --> 01:11:03,500 Θέλω να δημιουργήσετε ένα ευρετήριο σε αυτή τη διάσταση. 1619 01:11:03,500 --> 01:11:05,850 Αν δεν το κάνω, δεν με νοιάζει. 1620 01:11:05,850 --> 01:11:09,060 Και ανάλογα με την περίπτωση χρήσης, που Ενδέχεται να χρειαστείτε το δείκτη ή δεν μπορεί. 1621 01:11:09,060 --> 01:11:12,390 Εάν είναι μια απλή για πολλούς, ο κύριος πίνακας είναι μια χαρά. 1622 01:11:12,390 --> 01:11:15,860 Αν πρέπει να κάνω αυτά τα πολλά να πολλά, ή να πρέπει να κάνω ένα με αυτές, 1623 01:11:15,860 --> 01:11:18,390 τότε ίσως θα χρειάζεται στη δεύτερη ο δείκτης. 1624 01:11:18,390 --> 01:11:20,840 Έτσι, όλα εξαρτώνται από αυτό που προσπαθώ να κάνω 1625 01:11:20,840 --> 01:11:24,550 και αυτό που προσπαθώ να πάρει ολοκληρωμένος. 1626 01:11:24,550 --> 01:11:28,000 >> Μάλλον εγώ δεν πρόκειται να δαπανήσει πολύ πολύ χρόνο μιλώντας για τα έγγραφα. 1627 01:11:28,000 --> 01:11:31,460 Αυτό παίρνει λίγο, ίσως, βαθύτερη από ό, τι χρειάζεται να υπεισέλθω. 1628 01:11:31,460 --> 01:11:33,710 Ας μιλήσουμε λίγο για την πλούσια έκφραση του ερωτήματος. 1629 01:11:33,710 --> 01:11:37,831 Έτσι, στην Ντιναμό DB έχουμε η δυνατότητα να δημιουργήσετε 1630 01:11:37,831 --> 01:11:39,330 αυτό που λέμε εκφράσεις προβολής. 1631 01:11:39,330 --> 01:11:42,660 Εκφράσεις προβολής είναι απλά επιλέγοντας τα πεδία ή τις τιμές 1632 01:11:42,660 --> 01:11:44,290 που θέλετε να εμφανίσετε. 1633 01:11:44,290 --> 01:11:46,000 Εντάξει, έτσι κάνω μια επιλογή. 1634 01:11:46,000 --> 01:11:48,010 Κάνω ένα ερώτημα σε σχέση Ντιναμό DB. 1635 01:11:48,010 --> 01:11:51,730 Και λέω, ξέρετε τι, δείχνουν Θέλω μόνο τα σχόλια πέντε αστέρων 1636 01:11:51,730 --> 01:11:54,544 γι 'αυτό το συγκεκριμένο προϊόν. 1637 01:11:54,544 --> 01:11:55,710 Έτσι, αυτό είναι το μόνο που θέλω να δω. 1638 01:11:55,710 --> 01:11:57,320 Δεν θέλω να δω όλα τα άλλα χαρακτηριστικά της σειράς, 1639 01:11:57,320 --> 01:11:58,319 Απλά θέλω να δω αυτό. 1640 01:11:58,319 --> 01:12:01,209 Είναι ακριβώς όπως στον SQL όταν λένε επιλέξτε αστέρι ή από τον πίνακα, 1641 01:12:01,209 --> 01:12:02,000 μπορείτε να πάρετε τα πάντα. 1642 01:12:02,000 --> 01:12:05,450 Όταν λέω επιλέξτε το όνομα από τραπέζι, παίρνω μόνο ένα χαρακτηριστικό. 1643 01:12:05,450 --> 01:12:09,070 Είναι το ίδιο είδος των πράγμα Ντιναμό DB ή άλλες βάσεις δεδομένων NoSQL. 1644 01:12:09,070 --> 01:12:14,510 Φίλτρο εκφράσεις μου επιτρέψετε να ουσιαστικά κοπεί το αποτέλεσμα που ορίζεται. 1645 01:12:14,510 --> 01:12:15,540 Έτσι κάνω ένα ερώτημα. 1646 01:12:15,540 --> 01:12:17,260 Ερώτημα μπορεί να επανέλθει με 500 αντικείμενα. 1647 01:12:17,260 --> 01:12:20,255 Θέλω, όμως, μόνο τα στοιχεία που έχουν ένα χαρακτηριστικό που λέει αυτό. 1648 01:12:20,255 --> 01:12:23,380 ΟΚ, οπότε ας φιλτράρει αυτά τα στοιχεία που δεν ταιριάζουν με το συγκεκριμένο ερώτημα. 1649 01:12:23,380 --> 01:12:25,540 Έτσι έχουμε εκφράσεις φίλτρο. 1650 01:12:25,540 --> 01:12:28,310 >> Φίλτρο εκφράσεις μπορούν να να τρέχει σε οποιαδήποτε ιδιότητα. 1651 01:12:28,310 --> 01:12:30,260 Δεν είμαστε σαν επερωτήσεις εύρους. 1652 01:12:30,260 --> 01:12:32,690 Να εγείρει ερωτήματα είναι πιο επιλεκτικές. 1653 01:12:32,690 --> 01:12:36,470 Φίλτρο απορίες μου χρειάζονται για να πάει Αποκτήστε το συνόλου των αποτελεσμάτων που και στη συνέχεια 1654 01:12:36,470 --> 01:12:39,170 χαράξει τα δεδομένα δεν θέλω. 1655 01:12:39,170 --> 01:12:40,660 Γιατί είναι τόσο σημαντικό; 1656 01:12:40,660 --> 01:12:42,770 Επειδή έχω διαβάσει όλα. 1657 01:12:42,770 --> 01:12:46,597 Σε ένα ερώτημα, Πάω να διαβάσω και πρόκειται να είναι ένας γίγαντας για τα δεδομένα. 1658 01:12:46,597 --> 01:12:48,430 Και τότε Πάω να χαράξει ό, τι χρειάζομαι. 1659 01:12:48,430 --> 01:12:52,080 Και αν είμαι μόνο να αποσύρουν την ζευγάρι των γραμμών, τότε αυτό είναι εντάξει. 1660 01:12:52,080 --> 01:12:53,620 Δεν είναι τόσο αναποτελεσματική. 1661 01:12:53,620 --> 01:12:57,800 >> Αλλά αν είμαι διαβάζοντας ένα σωρό δεδομένα, ακριβώς για να χαράξει ένα στοιχείο, 1662 01:12:57,800 --> 01:13:01,490 τότε Πάω να είναι καλύτερα μακριά χρησιμοποιώντας ένα ερώτημα εύρους, 1663 01:13:01,490 --> 01:13:03,030 γιατί είναι πολύ πιο επιλεκτικό. 1664 01:13:03,030 --> 01:13:06,330 Είναι πρόκειται να με σώσει πολλά χρήματα, γιατί να πληρώσω για αυτό το ανάγνωσμα. 1665 01:13:06,330 --> 01:13:10,430 Όταν τα αποτελέσματα που έρχεται πίσω διέλευσης των καλωδίων μπορεί να είναι μικρότερη, 1666 01:13:10,430 --> 01:13:11,890 αλλά είμαι πληρώνουν για την ανάγνωση. 1667 01:13:11,890 --> 01:13:14,340 Έτσι, καταλαβαίνω πώς παίρνετε τα στοιχεία. 1668 01:13:14,340 --> 01:13:16,420 Αυτό είναι πολύ σημαντικό στην Ντιναμό ΣΠ. 1669 01:13:16,420 --> 01:13:19,710 >> Προϋπόθεση εκφράσεις, αυτό είναι ό, τι θα μπορούσαμε να πούμε αισιόδοξο κλείδωμα. 1670 01:13:19,710 --> 01:13:28,470 Ενημέρωση αν υπάρχει, ή αν αυτή την τιμή είναι ισοδύναμο με αυτό που καθορίζετε. 1671 01:13:28,470 --> 01:13:31,494 Και αν έχω μια σφραγίδα χρόνου σε ένα ρεκόρ, θα μπορούσα να διαβάσει τα δεδομένα. 1672 01:13:31,494 --> 01:13:32,535 Θα μπορούσε να αλλάξει τα δεδομένα. 1673 01:13:32,535 --> 01:13:35,030 Θα ήθελα να πάω γράφουν ότι πίσω τα δεδομένα στη βάση δεδομένων. 1674 01:13:35,030 --> 01:13:38,100 Αν κάποιος έχει αλλάξει το ρεκόρ, η σφραγίδα χρόνου μπορεί να έχουν αλλάξει. 1675 01:13:38,100 --> 01:13:40,370 Και με αυτόν τον τρόπο εξαρτάται μου ενημερωμένη έκδοση θα μπορούσε να πει την ενημέρωση 1676 01:13:40,370 --> 01:13:42,340 αν η χρονική σήμανση ισούται με αυτό. 1677 01:13:42,340 --> 01:13:46,290 Ή η ενημέρωση θα αποτύχει επειδή κάποιος ενημερώθηκε το ρεκόρ στο μεταξύ. 1678 01:13:46,290 --> 01:13:48,290 >> Αυτό είναι αυτό που λέμε αισιόδοξο κλείδωμα. 1679 01:13:48,290 --> 01:13:50,670 Αυτό σημαίνει ότι κάποιος μπορεί να έρθει και να το αλλάξετε, 1680 01:13:50,670 --> 01:13:53,100 και πάω να το εντοπίσει όταν πάω πίσω για να γράψει. 1681 01:13:53,100 --> 01:13:56,106 Και τότε μπορώ να διαβάσει πραγματικά ότι δεδομένα και να πει, OH, αυτό άλλαξε. 1682 01:13:56,106 --> 01:13:57,230 Θα πρέπει να λογοδοτήσουν γι 'αυτό. 1683 01:13:57,230 --> 01:14:00,490 Και μπορώ να αλλάξω τα στοιχεία μου να καταγράφει και να εφαρμόσει μια άλλη ενημέρωση. 1684 01:14:00,490 --> 01:14:04,330 Έτσι, μπορείτε να πιάσει τα στοιχειώδη ενημερώσεις που γίνονται μεταξύ του χρόνου 1685 01:14:04,330 --> 01:14:08,740 ότι έχετε διαβάσει τα δεδομένα και η φορά που θα μπορούσε να γράψει τα δεδομένα. 1686 01:14:08,740 --> 01:14:11,520 >> Κοινό: Και το φίλτρο έκφραση δεν σημαίνει στην πραγματικότητα 1687 01:14:11,520 --> 01:14:13,020 τον αριθμό ή not-- 1688 01:14:13,020 --> 01:14:14,316 >> [Παρεμβολή ΦΩΝΕΣ] 1689 01:14:14,316 --> 01:14:16,232 RICK Houlihan: Δεν θα το κάνω να πάρει πάρα πολύ σε αυτό. 1690 01:14:16,232 --> 01:14:17,700 Αυτή είναι μια δεσμευμένη λέξη-κλειδί. 1691 01:14:17,700 --> 01:14:20,130 Η θέα λίρα είναι ένα κατοχυρωμένα λέξη-κλειδί στην Ντιναμό ΣΠ. 1692 01:14:20,130 --> 01:14:24,500 Κάθε βάση δεδομένων έχει τη δική του επιφυλάχθηκε ονόματα για τις συλλογές που δεν μπορείτε να χρησιμοποιήσετε. 1693 01:14:24,500 --> 01:14:27,240 Ντιναμό DB, εάν καθορίσετε ένα κιλό μπροστά από αυτό, 1694 01:14:27,240 --> 01:14:29,310 μπορείτε να ορίσετε αυτά τα ονόματα από πάνω. 1695 01:14:29,310 --> 01:14:31,840 Αυτή είναι μια τιμή αναφοράς. 1696 01:14:31,840 --> 01:14:34,880 Δεν είναι ίσως η καλύτερη σύνταξη για να έχουν εκεί για αυτή τη συζήτηση, 1697 01:14:34,880 --> 01:14:38,090 επειδή παίρνει σε ορισμένες real-- Θα είχα μιλήσει περισσότερο 1698 01:14:38,090 --> 01:14:41,360 γι 'αυτό σε ένα βαθύτερο επίπεδο. 1699 01:14:41,360 --> 01:14:46,130 >> Αλλά αρκεί να πούμε ότι αυτό θα μπορούσε να είναι το ερώτημα σαρώσει όπου views-- 1700 01:14:46,130 --> 01:14:50,190 ούτε τις απόψεις λίβρα είναι μεγαλύτερη από 10. 1701 01:14:50,190 --> 01:14:54,660 Είναι μια αριθμητική τιμή, ναι. 1702 01:14:54,660 --> 01:14:57,322 Αν θέλετε, μπορούμε να μιλήσουμε για ότι μετά τη συζήτηση. 1703 01:14:57,322 --> 01:15:00,030 Εντάξει, έτσι είμαστε μπουν κάποια σενάρια σε βέλτιστες πρακτικές 1704 01:15:00,030 --> 01:15:02,000 όπου θα πάμε να μιλήσουμε για ορισμένες εφαρμογές εδώ. 1705 01:15:02,000 --> 01:15:03,810 Ποιες είναι οι περιπτώσεις χρήσης για Ντιναμό DB. 1706 01:15:03,810 --> 01:15:06,120 Τι είναι ο σχεδιασμός πρότυπα στην Ντιναμό ΣΠ. 1707 01:15:06,120 --> 01:15:09,110 >> Και ο πρώτος που θα πάμε να μιλήσουμε για το Διαδίκτυο των πραγμάτων. 1708 01:15:09,110 --> 01:15:15,010 Έτσι, έχουμε μια πολύ of-- υποθέτω, τι είναι it-- περισσότερο από 50% 1709 01:15:15,010 --> 01:15:19,370 της κίνησης στο διαδίκτυο αυτές τις μέρες είναι στην πραγματικότητα δημιουργούνται από μηχανές, 1710 01:15:19,370 --> 01:15:21,930 αυτοματοποιημένες διαδικασίες, όχι από τον άνθρωπο. 1711 01:15:21,930 --> 01:15:25,140 Θέλω να πω αυτό το πράγμα αυτό το πράγμα που που κουβαλάς στην τσέπη σας, 1712 01:15:25,140 --> 01:15:28,840 πόσα δεδομένα ότι αυτό το πράγμα είναι στην πραγματικότητα γύρω από την αποστολή χωρίς να 1713 01:15:28,840 --> 01:15:30,550 γνωρίζοντας ότι είναι απολύτως εκπληκτικό. 1714 01:15:30,550 --> 01:15:34,970 Η τοποθεσία σας, πληροφορίες για το πόσο γρήγορα θα πάμε. 1715 01:15:34,970 --> 01:15:38,400 Πώς νομίζετε ότι το Google Maps έργα όταν σας πω ποια είναι η κίνηση είναι. 1716 01:15:38,400 --> 01:15:41,275 Είναι επειδή υπάρχουν εκατομμύρια και εκατομμύρια άνθρωποι γύρω από την οδήγηση 1717 01:15:41,275 --> 01:15:44,667 με τα τηλέφωνα που στέλνουν δεδομένων σε όλη την χώρα όλο το χρόνο. 1718 01:15:44,667 --> 01:15:46,500 Έτσι ένα από τα πράγματα για αυτό το είδος των δεδομένων 1719 01:15:46,500 --> 01:15:50,980 ότι έρχεται, τα δεδομένα παρακολούθησης, καταγραφής δεδομένα, δεδομένα χρονολογικών σειρών, είναι ότι είναι 1720 01:15:50,980 --> 01:15:53,540 συνήθως μόνο ενδιαφέρον για λίγο χρόνο. 1721 01:15:53,540 --> 01:15:55,580 Μετά από εκείνη τη στιγμή, είναι δεν είναι τόσο ενδιαφέρουσα. 1722 01:15:55,580 --> 01:15:58,390 Έτσι μιλήσαμε για, μην αφήνετε οι πίνακες αυτοί μεγαλώνουν χωρίς όρια. 1723 01:15:58,390 --> 01:16:03,410 Η ιδέα εδώ είναι ότι ίσως έχω 24 ώρες αξίας των γεγονότων σε ζεστό τραπέζι μου. 1724 01:16:03,410 --> 01:16:06,160 Και το καυτό τραπέζι θα είναι τροφοδοτείται σε ένα πολύ υψηλό ποσοστό, 1725 01:16:06,160 --> 01:16:07,950 διότι πρόκειται για τη λήψη πολλά δεδομένα. 1726 01:16:07,950 --> 01:16:10,920 Είναι λαμβάνοντας πολλά δεδομένα και να διαβάζω το πολύ. 1727 01:16:10,920 --> 01:16:14,560 Έχω πολλή λειτουργίας ερωτήματα τρέχει κατά της εν λόγω δεδομένα. 1728 01:16:14,560 --> 01:16:18,120 >> Μετά από 24 ώρες, hey, Ξέρεις τι, δεν με νοιάζει. 1729 01:16:18,120 --> 01:16:21,150 Έτσι ίσως κάθε ρολό μεσάνυχτα τραπέζι μου πάνω σε ένα νέο τραπέζι 1730 01:16:21,150 --> 01:16:22,430 και εγώ deprovision αυτόν τον πίνακα. 1731 01:16:22,430 --> 01:16:26,440 Και θα πάρω και το τηλεχειριστήριο του Κάτω του αναπηρικού αμαξιδίου, διότι μετά από 24 ώρες 1732 01:16:26,440 --> 01:16:28,630 Δεν είμαι τρέχει σαν πολλές ερωτήματα από αυτά τα δεδομένα. 1733 01:16:28,630 --> 01:16:30,200 Έτσι, Πάω να εξοικονομήσουν χρήματα. 1734 01:16:30,200 --> 01:16:32,940 Και ίσως 30 ημέρες αργότερα δεν το κάνω πρέπει ακόμη να φροντίσει για όλα. 1735 01:16:32,940 --> 01:16:35,020 Θα μπορούσα να πάρω το αναπηρικού αμαξιδίου του σε όλη τη διαδρομή προς ένα, 1736 01:16:35,020 --> 01:16:36,990 γιατί ξέρετε τι, είναι Ποτέ δεν πρόκειται να πάρει γράψει. 1737 01:16:36,990 --> 01:16:38,300 Τα δεδομένα είναι 30 ημερών. 1738 01:16:38,300 --> 01:16:40,000 Ποτέ δεν αλλάζει. 1739 01:16:40,000 --> 01:16:44,200 >> Και είναι σχεδόν ποτέ δεν πρόκειται να πάρει διαβάσετε, οπότε ας πάρει ότι τηλεχειριστήριο μέχρι 10. 1740 01:16:44,200 --> 01:16:49,372 Και είμαι εξοικονόμηση έναν τόνο των χρημάτων για το θέμα αυτό δεδομένων, και μόνο να πληρώνουν για το ζεστό δεδομένα μου. 1741 01:16:49,372 --> 01:16:52,330 Έτσι, αυτό είναι το σημαντικό πράγμα που πρέπει να εξετάσουμε σε όταν κοιτάς μια χρονολογική σειρά 1742 01:16:52,330 --> 01:16:54,716 δεδομένα έρχονται σε όγκο. 1743 01:16:54,716 --> 01:16:55,590 Πρόκειται για στρατηγικές. 1744 01:16:55,590 --> 01:16:58,010 Τώρα, θα μπορούσα απλά να το αφήσουμε όλα να πηγαίνουν στο ίδιο τραπέζι 1745 01:16:58,010 --> 01:16:59,461 και να την αφήσουμε να αυξηθεί πίνακα. 1746 01:16:59,461 --> 01:17:01,460 Τελικά, Πάω να δείτε ζητήματα επιδόσεων. 1747 01:17:01,460 --> 01:17:04,060 Πάω να πρέπει να αρχίσουμε να αρχειοθετήσετε μερικά από αυτά τα δεδομένα από το τραπέζι, 1748 01:17:04,060 --> 01:17:04,720 οτιδήποτε. 1749 01:17:04,720 --> 01:17:07,010 >> Ας πολύ καλύτερα σχεδιάσετε την εφαρμογή σας 1750 01:17:07,010 --> 01:17:08,900 έτσι ώστε να μπορεί να λειτουργεί με αυτόν τον τρόπο το δικαίωμα. 1751 01:17:08,900 --> 01:17:11,460 Έτσι είναι ακριβώς η αυτόματη στον κώδικα εφαρμογής. 1752 01:17:11,460 --> 01:17:13,580 Τα μεσάνυχτα κάθε βράδυ κυλάει το τραπέζι. 1753 01:17:13,580 --> 01:17:17,170 Ίσως αυτό που χρειάζεται είναι ένα συρόμενο παράθυρο 24 ώρα δεδομένων. 1754 01:17:17,170 --> 01:17:20,277 Στη συνέχεια, σε τακτική βάση, είμαι καλώντας τα δεδομένα από το τραπέζι. 1755 01:17:20,277 --> 01:17:22,360 Είμαι το κλάδεμα με ένα Cron δουλειά και είμαι το θέτει 1756 01:17:22,360 --> 01:17:24,160 σε αυτά τα άλλα τραπέζια, ό, τι χρειάζεστε. 1757 01:17:24,160 --> 01:17:25,940 Έτσι, αν ένας ανατροπής λειτουργεί, αυτό είναι υπέροχο. 1758 01:17:25,940 --> 01:17:27,080 Αν όχι, τελειώματα. 1759 01:17:27,080 --> 01:17:29,640 Αλλά ας κρατήσουμε το καυτό δεδομένων μακριά από το κρύο τα δεδομένα σας. 1760 01:17:29,640 --> 01:17:32,535 Θα σας εξοικονομήσει πολλά χρήματα και κάνουν τραπέζια σας πιο απόδοσης. 1761 01:17:32,535 --> 01:17:35,960 1762 01:17:35,960 --> 01:17:38,210 Έτσι, το επόμενο πράγμα θα μιλήσουμε περίπου είναι ο κατάλογος προϊόντων. 1763 01:17:38,210 --> 01:17:42,000 Κατάλογος προϊόντων αρκετά συνηθισμένη περίπτωση χρήσης. 1764 01:17:42,000 --> 01:17:46,600 Αυτό είναι πραγματικά ένα πολύ συνηθισμένο μοτίβο ότι θα δούμε σε μια ποικιλία από πράγματα. 1765 01:17:46,600 --> 01:17:48,870 Ξέρεις, το Twitter για Παραδείγματος χάριν, ένα καυτό tweet. 1766 01:17:48,870 --> 01:17:51,280 Ο καθένας έρχεται και αρπάζοντας ότι tweet. 1767 01:17:51,280 --> 01:17:52,680 Κατάλογος προϊόντων, πήρα μια πώληση. 1768 01:17:52,680 --> 01:17:54,120 Πήρα ένα ζεστό πώληση. 1769 01:17:54,120 --> 01:17:57,277 Πήρα 70.000 αιτήσεις ανά δεύτερο ερχομό ενός προϊόντος 1770 01:17:57,277 --> 01:17:58,860 περιγραφή από τον κατάλογο των προϊόντων μου. 1771 01:17:58,860 --> 01:18:02,384 Το βλέπουμε αυτό στη λιανική λειτουργία αρκετά. 1772 01:18:02,384 --> 01:18:03,550 Επομένως, πώς θα ασχοληθεί με αυτό; 1773 01:18:03,550 --> 01:18:04,924 Δεν υπάρχει κανένας τρόπος για να ασχοληθεί με αυτό. 1774 01:18:04,924 --> 01:18:07,110 Όλοι οι χρήστες μου θέλω να δω το ίδιο κομμάτι των δεδομένων. 1775 01:18:07,110 --> 01:18:09,410 Είναι έρχονται σε, ταυτόχρονα. 1776 01:18:09,410 --> 01:18:11,920 Και είναι όλα υποβολής αιτήσεων για το ίδιο κομμάτι των δεδομένων. 1777 01:18:11,920 --> 01:18:16,240 Αυτό μου δίνει το καυτό κλειδί, ότι μεγάλο κόκκινο λωρίδα στο διάγραμμά μου που δεν μας αρέσουν. 1778 01:18:16,240 --> 01:18:17,720 Και αυτό είναι ό, τι αυτό μοιάζει. 1779 01:18:17,720 --> 01:18:22,290 Έτσι, σε όλους τους σημαντικούς χώρο μου παίρνω σφυρήλατο στα σημεία πώλησης. 1780 01:18:22,290 --> 01:18:24,070 Παίρνω τίποτα οπουδήποτε αλλού. 1781 01:18:24,070 --> 01:18:26,050 >> Πώς μπορώ να αμβλύνουν το πρόβλημα αυτό; 1782 01:18:26,050 --> 01:18:28,410 Λοιπόν, έχουμε να ανακουφίσει αυτό με cache. 1783 01:18:28,410 --> 01:18:33,630 Cache, θα θέσει ουσιαστικά ένα in-memory χώρισμα μπροστά της βάσης δεδομένων. 1784 01:18:33,630 --> 01:18:37,260 Καταφέραμε [Δεν ακούγεται] cache, πώς θα 1785 01:18:37,260 --> 01:18:40,260 μπορεί να δημιουργήσει το δικό σας cache, [δεν ακούγεται] κρύπτη [? δ,?] ό, τι θέλετε. 1786 01:18:40,260 --> 01:18:42,220 Βάλτε ότι μπροστά της βάσης δεδομένων. 1787 01:18:42,220 --> 01:18:47,250 Και με αυτόν τον τρόπο μπορείτε να αποθηκεύσετε τα δεδομένα από τα πλήκτρα σε αυτό το cache 1788 01:18:47,250 --> 01:18:49,390 χώρο και να διαβάσετε μέσα από τη μνήμη cache. 1789 01:18:49,390 --> 01:18:51,962 >> Και τότε οι περισσότεροι από σας διαβάζει να αρχίσει να ψάχνει σαν αυτό. 1790 01:18:51,962 --> 01:18:54,920 Πήρα όλα αυτά cache χτυπά εδώ και πήρα τίποτα συμβαίνει εδώ κάτω 1791 01:18:54,920 --> 01:18:59,330 επειδή η βάση δεδομένων που κάθεται πίσω από το cache και το ποτέ δεν διαβάζει έρθει κατευθείαν. 1792 01:18:59,330 --> 01:19:02,520 Αν μπορώ να αλλάξω τα δεδομένα στο βάση δεδομένων, θα πρέπει να ενημερώσετε τη μνήμη cache. 1793 01:19:02,520 --> 01:19:04,360 Μπορούμε να χρησιμοποιήσουμε κάτι όπως ατμών για να το κάνουμε αυτό. 1794 01:19:04,360 --> 01:19:07,360 Και θα εξηγήσω πώς λειτουργεί. 1795 01:19:07,360 --> 01:19:09,060 Εντάξει, μηνυμάτων. 1796 01:19:09,060 --> 01:19:11,180 Email, όλοι χρησιμοποιούμε ηλεκτρονικού ταχυδρομείου. 1797 01:19:11,180 --> 01:19:12,540 >> Αυτό είναι ένα πολύ καλό παράδειγμα. 1798 01:19:12,540 --> 01:19:14,950 Έχουμε κάποια μηνύματα πίνακα. 1799 01:19:14,950 --> 01:19:17,040 Και πήραμε εισερχόμενα και εξερχόμενα. 1800 01:19:17,040 --> 01:19:19,760 Αυτό είναι ό, τι το SQL θα μοιάσει να χτίσει αυτό το inbox. 1801 01:19:19,760 --> 01:19:23,350 Είμαστε είδος χρησιμοποιούν το ίδιο είδος της στρατηγικής για τη χρήση του GSI, GSI του 1802 01:19:23,350 --> 01:19:25,320 για inbox μου και εξερχόμενα μου. 1803 01:19:25,320 --> 01:19:27,600 Έτσι πήρα πρώτες μηνύματα που έρχονται στα μηνύματα τραπέζι μου. 1804 01:19:27,600 --> 01:19:30,194 Και η πρώτη προσέγγιση σε αυτό μπορεί να είναι, ας πούμε, εντάξει, δεν υπάρχει πρόβλημα. 1805 01:19:30,194 --> 01:19:31,110 Έχω πρώτες μηνύματα. 1806 01:19:31,110 --> 01:19:33,710 Μηνύματα που έρχονται [δεν ακούγεται], ID μηνύματος, αυτό είναι υπέροχο. 1807 01:19:33,710 --> 01:19:35,070 Αυτό είναι το μοναδικό hash μου. 1808 01:19:35,070 --> 01:19:38,280 Πάω να δημιουργήσετε δύο GSI, η μία για inbox μου, ένα για εξερχόμενα μου. 1809 01:19:38,280 --> 01:19:40,530 Και το πρώτο πράγμα που θα κάνω είναι θα πω το κλειδί κατακερματισμού μου 1810 01:19:40,530 --> 01:19:43,310 πρόκειται να είναι ο αποδέκτης και Πάω να οργανώσει την ημερομηνία. 1811 01:19:43,310 --> 01:19:44,220 Αυτό είναι φανταστικό. 1812 01:19:44,220 --> 01:19:45,890 Πήρα ωραία θέα μου εδώ. 1813 01:19:45,890 --> 01:19:47,780 Αλλά υπάρχει ένα μικρό πρόβλημα εδώ. 1814 01:19:47,780 --> 01:19:50,891 Και τρέχετε σε αυτό σχεσιακές βάσεις δεδομένων, καθώς και. 1815 01:19:50,891 --> 01:19:52,390 Κάλεσαν κάθετα στεγανοποίηση. 1816 01:19:52,390 --> 01:19:55,840 Θέλετε να διατηρήσετε τα δεδομένα σας μεγάλα μακριά από λίγο τα δεδομένα σας. 1817 01:19:55,840 --> 01:20:00,470 >> Και ο λόγος είναι επειδή πήρα πάει να διαβάσει τα στοιχεία για να πάρει τα χαρακτηριστικά. 1818 01:20:00,470 --> 01:20:05,570 Και αν μου σώμα είναι όλα εδώ, στη συνέχεια ανάγνωση μερικά μόνο στοιχεία 1819 01:20:05,570 --> 01:20:08,560 εάν το μήκος το σώμα μου κατά μέσο όρο 256 kilobytes καθένα, 1820 01:20:08,560 --> 01:20:10,991 τα μαθηματικά παίρνει πολύ άσχημο. 1821 01:20:10,991 --> 01:20:12,490 Έτσι λένε θέλω να διαβάσω inbox του Δαβίδ. 1822 01:20:12,490 --> 01:20:14,520 Εισερχόμενα του Δαβίδ έχει 50 αντικείμενα. 1823 01:20:14,520 --> 01:20:17,880 Ο μέσος όρος και το μέγεθος είναι 256 kilobytes. 1824 01:20:17,880 --> 01:20:21,730 Εδώ είναι λόγος μετατροπής μου για τηλεχειριστήριο είναι τέσσερις kilobytes. 1825 01:20:21,730 --> 01:20:24,450 >> Εντάξει, ας πάμε με τελικά συνεπής διαβάζει. 1826 01:20:24,450 --> 01:20:28,640 Είμαι ακόμα τρώει τηλεχειριστήριο του 1600 απλά για να διαβάσετε εισερχόμενα του Δαβίδ. 1827 01:20:28,640 --> 01:20:29,950 Ωχ. 1828 01:20:29,950 --> 01:20:31,980 Εντάξει, τώρα ας σκεφτούμε για το πώς λειτουργεί η εφαρμογή. 1829 01:20:31,980 --> 01:20:35,340 Αν είμαι σε μια εφαρμογή ηλεκτρονικού ταχυδρομείου και Ψάχνω στο inbox μου, 1830 01:20:35,340 --> 01:20:39,680 και κοιτάζω το σώμα του κάθε μηνύματος, Όχι, κοιτάω τις περιλήψεις. 1831 01:20:39,680 --> 01:20:41,850 Ψάχνω στο μόνο τις κεφαλίδες. 1832 01:20:41,850 --> 01:20:46,310 Ας οικοδομήσουμε μια δομή πίνακα ότι μοιάζει περισσότερο με αυτό. 1833 01:20:46,310 --> 01:20:49,470 >> Έτσι, εδώ είναι οι πληροφορίες ότι η ροή εργασίας μου χρειάζεται. 1834 01:20:49,470 --> 01:20:50,890 Είναι στο inbox μου GSI. 1835 01:20:50,890 --> 01:20:53,800 Είναι η ημερομηνία, ο αποστολέας, το θέμα, και στη συνέχεια 1836 01:20:53,800 --> 01:20:56,790 το αναγνωριστικό μήνυμα, το οποίο επισημαίνει πίσω στο τραπέζι των μηνυμάτων 1837 01:20:56,790 --> 01:20:57,850 όπου μπορώ να πάρω το σώμα. 1838 01:20:57,850 --> 01:21:01,260 1839 01:21:01,260 --> 01:21:04,420 Λοιπόν, αυτά θα είναι ρεκόρ ταυτότητες. 1840 01:21:04,420 --> 01:21:09,850 Θα επισημάνω πίσω στο αναγνωριστικά σημείο πάνω στο τραπέζι Ντιναμό DB. 1841 01:21:09,850 --> 01:21:12,220 Κάθε δείκτης πάντα creates-- έχει πάντα το στοιχείο 1842 01:21:12,220 --> 01:21:15,750 ID ως μέρος of-- ότι έρχεται με το δείκτη. 1843 01:21:15,750 --> 01:21:17,414 >> Εντάξει. 1844 01:21:17,414 --> 01:21:19,080 Κοινό: Είναι το λέει όπου είναι αποθηκευμένο; 1845 01:21:19,080 --> 01:21:21,420 RICK Houlihan: Ναι, αυτό λέει exactly-- αυτό είναι ακριβώς αυτό που κάνει. 1846 01:21:21,420 --> 01:21:22,644 Λέει εδώ είναι εκ νέου ρεκόρ μου. 1847 01:21:22,644 --> 01:21:24,310 Και αυτό θα το σημείο πίσω στην εγγραφή νέου μου. 1848 01:21:24,310 --> 01:21:26,460 Ακριβώς. 1849 01:21:26,460 --> 01:21:29,490 Εντάξει, έτσι και τώρα inbox μου είναι πράγματι πολύ μικρότερες. 1850 01:21:29,490 --> 01:21:32,210 Και αυτό όντως υποστηρίζει η ροή εργασίας της εφαρμογή ηλεκτρονικού ταχυδρομείου. 1851 01:21:32,210 --> 01:21:34,230 Έτσι inbox μου, κάνω κλικ. 1852 01:21:34,230 --> 01:21:38,160 Έχω πάει μαζί και κάνω κλικ στο μήνυμα, αυτό είναι όταν πρέπει να πάει να πάρει το σώμα, 1853 01:21:38,160 --> 01:21:40,180 γιατί πάω να πάει σε μια διαφορετική άποψη. 1854 01:21:40,180 --> 01:21:43,870 Έτσι, εάν σκέφτεστε για το είδος της MVC πλαισίου, ενόψει μοντέλο ελεγκτή. 1855 01:21:43,870 --> 01:21:46,120 >> Το μοντέλο περιέχει την στοιχεία ότι οι ανάγκες άποψη 1856 01:21:46,120 --> 01:21:48,130 και ο ελεγκτής αλληλεπιδρά με. 1857 01:21:48,130 --> 01:21:51,670 Όταν μπορώ να αλλάξω το πλαίσιο, όταν Έχω αλλάξει την προοπτική, 1858 01:21:51,670 --> 01:21:55,080 είναι εντάξει για να πάει πίσω στο server και ανασυστήσουν το μοντέλο, 1859 01:21:55,080 --> 01:21:56,860 γιατί αυτό είναι που αναμένει ο χρήστης. 1860 01:21:56,860 --> 01:22:00,530 Όταν αλλάζουν απόψεις, ότι όταν μπορούμε να πάμε πίσω στη βάση δεδομένων. 1861 01:22:00,530 --> 01:22:02,480 Έτσι ηλεκτρονικού ταχυδρομείου, κάντε κλικ στο κουμπί. 1862 01:22:02,480 --> 01:22:03,710 Ψάχνω για το σώμα. 1863 01:22:03,710 --> 01:22:04,330 Ταξίδι μετ 'επιστροφής. 1864 01:22:04,330 --> 01:22:05,680 Πηγαίνετε να πάρετε το σώμα. 1865 01:22:05,680 --> 01:22:06,950 >> Διάβασα πολύ λιγότερα δεδομένα. 1866 01:22:06,950 --> 01:22:09,960 Είμαι μόνο την ανάγνωση των φορέων που Ο David χρειάζεται, όταν τις χρειάζεται. 1867 01:22:09,960 --> 01:22:14,230 Και δεν είμαι κάψει το 1600 Τηλεχειριστήριο μόνο για να δείξει inbox του. 1868 01:22:14,230 --> 01:22:17,670 Έτσι τώρα that-- αυτός είναι ο τρόπος ότι LSI ή GSI-- Λυπάμαι, 1869 01:22:17,670 --> 01:22:19,900 GSI, θα μπορούσε να λειτουργήσει έξω. 1870 01:22:19,900 --> 01:22:25,450 Έχουμε κατακερματισμού μας στον αποδέκτη. 1871 01:22:25,450 --> 01:22:27,030 Έχουμε το ευρύ φάσμα που καλύπτει από την ημερομηνία αυτή. 1872 01:22:27,030 --> 01:22:31,380 Και έχουμε τα προβλεπόμενα χαρακτηριστικά ότι χρειαζόμαστε μόνο να στηρίξουν την άποψη. 1873 01:22:31,380 --> 01:22:34,300 >> Εμείς περιστρέψτε ότι για εξερχόμενα. 1874 01:22:34,300 --> 01:22:35,770 Κατακερματισμού αποστολέα. 1875 01:22:35,770 --> 01:22:39,612 Και στην ουσία, έχουμε η πολύ ωραία, ανεμπόδιστη θέα. 1876 01:22:39,612 --> 01:22:41,570 Και είναι basically-- εμείς έχουν αυτό το ωραίο μηνύματα 1877 01:22:41,570 --> 01:22:45,870 πίνακα που είναι να εξαπλωθεί πολύ καλά γιατί είναι μόνο χασίς, κατακερματίζεται αναγνωριστικό μήνυμα. 1878 01:22:45,870 --> 01:22:51,750 Και έχουμε δύο δείκτες ότι Τα περιστρεφόμενα εκτός του εν λόγω πίνακα. 1879 01:22:51,750 --> 01:22:57,411 Εντάξει, έτσι η ιδέα εδώ είναι να μην κάνουμε να κρατήσει τα μεγάλα στοιχεία και αυτό το μικρό δεδομένα 1880 01:22:57,411 --> 01:22:57,910 μαζί. 1881 01:22:57,910 --> 01:23:00,700 Κατανέμουμε κατακόρυφα, στεγανοποιήσει τους πίνακες αυτούς. 1882 01:23:00,700 --> 01:23:03,150 Μην διαβάζετε τα δεδομένα δεν χρειάζεται να. 1883 01:23:03,150 --> 01:23:04,850 Εντάξει, τυχερών παιχνιδιών. 1884 01:23:04,850 --> 01:23:06,990 Όλοι μας αρέσουν τα παιχνίδια. 1885 01:23:06,990 --> 01:23:10,902 Τουλάχιστον Μου αρέσουν τα παιχνίδια στη συνέχεια. 1886 01:23:10,902 --> 01:23:12,735 Έτσι μερικά από τα πράγματα ότι ασχολούμαστε με όταν 1887 01:23:12,735 --> 01:23:14,193 σκεφτόμαστε τυχερών παιχνιδιών, σωστά; 1888 01:23:14,193 --> 01:23:16,999 Gaming αυτές τις μέρες, ειδικά κινητά τυχερών παιχνιδιών, είναι όλα σχετικά με τη σκέψη. 1889 01:23:16,999 --> 01:23:19,540 Και Πάω να περιστρέφεται εδώ ένα λίγο μακριά από DynamoDB. 1890 01:23:19,540 --> 01:23:21,373 Πάω να φέρει σε μερικές από τη συζήτηση 1891 01:23:21,373 --> 01:23:24,240 γύρω ορισμένα από τα άλλες τεχνολογίες AWS. 1892 01:23:24,240 --> 01:23:28,930 >> Αλλά η ιδέα για gaming είναι να σκεφτεί για την άποψη των API, API που είναι, 1893 01:23:28,930 --> 01:23:31,730 σε γενικές γραμμές, HTTP και JSON. 1894 01:23:31,730 --> 01:23:34,550 Είναι το πώς τα κινητά παιχνίδια είδος αλληλεπιδρούν με πλάτη άκρα τους. 1895 01:23:34,550 --> 01:23:35,850 Κάνουν JSON απόσπαση. 1896 01:23:35,850 --> 01:23:40,660 Παίρνουν τα δεδομένα, και αυτό είναι όλο, σε γενικές γραμμές, σε ωραία APIs JSON. 1897 01:23:40,660 --> 01:23:44,950 >> Τα πράγματα όπως να πάρει τους φίλους, να πάρει τα δεδομένα leaderboard, ανταλλαγή, 1898 01:23:44,950 --> 01:23:47,699 χρήστη περιεχόμενο που δημιουργείται, Σπρώξτε πίσω στο σύστημα, 1899 01:23:47,699 --> 01:23:49,740 αυτά είναι τα είδη των πραγμάτων ότι θα πάμε να κάνουμε. 1900 01:23:49,740 --> 01:23:52,542 Δυαδικά δεδομένα περιουσιακό στοιχείο, τα δεδομένα αυτά μπορεί να μην καθίσει στη βάση δεδομένων. 1901 01:23:52,542 --> 01:23:54,250 Αυτό θα μπορούσε να καθίσει σε ένα κατάστημα αντικείμενο, σωστά; 1902 01:23:54,250 --> 01:23:56,541 Όμως, η βάση δεδομένων πρόκειται να καταλήγουν λέγοντας το σύστημα, 1903 01:23:56,541 --> 01:23:59,140 λέει την εφαρμογή πού να πάτε να το πάρετε. 1904 01:23:59,140 --> 01:24:03,550 Και αναπόφευκτα, multiplayer servers, πίσω τέλος υποδομής, 1905 01:24:03,550 --> 01:24:06,180 και έχουν σχεδιαστεί για υψηλές διαθεσιμότητα και επεκτασιμότητα. 1906 01:24:06,180 --> 01:24:09,400 Έτσι, αυτά είναι πράγματα που όλοι θέλουμε στην υποδομή του παιχνιδιού σήμερα. 1907 01:24:09,400 --> 01:24:12,160 >> Έτσι, ας ρίξουμε μια ματιά τι μοιάζει. 1908 01:24:12,160 --> 01:24:16,070 Πήρε έναν πυρήνα πίσω άκρο, πολύ απλό. 1909 01:24:16,070 --> 01:24:19,880 Έχουμε ένα σύστημα εδώ με πολλαπλές ζώνες διαθεσιμότητα. 1910 01:24:19,880 --> 01:24:23,780 Μιλήσαμε για Azs ως being-- νομίζετε από αυτούς ξεχωριστά κέντρα δεδομένων. 1911 01:24:23,780 --> 01:24:26,040 Κέντρο περισσότερα από ένα δεδομένα ανά Ω, αλλά αυτό είναι εντάξει, 1912 01:24:26,040 --> 01:24:28,831 απλά σκεφτείτε τους ως ξεχωριστά στοιχεία κέντρα τα οποία είναι γεωγραφικά 1913 01:24:28,831 --> 01:24:30,090 και βλάβη που απομονώνονται. 1914 01:24:30,090 --> 01:24:32,172 >> Εμείς πάμε για να έχουν περιπτώσεις ζευγάρι EC2. 1915 01:24:32,172 --> 01:24:33,880 Εμείς πάμε για να έχουν κάποιοι πίσω τέλος διακομιστές. 1916 01:24:33,880 --> 01:24:35,800 Ίσως αν είστε μια κληρονομιά αρχιτεκτονική, είμαστε 1917 01:24:35,800 --> 01:24:38,920 χρησιμοποιώντας αυτό που λέμε RDS, σχεσιακή βάση δεδομένων υπηρεσιών. 1918 01:24:38,920 --> 01:24:42,040 Θα μπορούσε να είναι MSSQL, MySQL, ή κατι τετοιο. 1919 01:24:42,040 --> 01:24:47,080 Αυτός είναι ο τρόπος μια πολύ εφαρμογές έχουν σχεδιαστεί σήμερα. 1920 01:24:47,080 --> 01:24:49,594 >> Καλά θα μπορούσαμε να θέλουμε να πάμε με Αυτό είναι όταν έχουμε κλίμακα έξω. 1921 01:24:49,594 --> 01:24:51,510 Θα προχωρήσει και να θέσει ο κάδος S3 μέχρι εκεί. 1922 01:24:51,510 --> 01:24:54,200 Και αυτό κουβά S3, αντί να υπηρετούν μέχρι αυτά τα αντικείμενα από servers-- μας 1923 01:24:54,200 --> 01:24:55,220 θα μπορούσαμε να το κάνουμε αυτό. 1924 01:24:55,220 --> 01:24:57,210 Βάζετε όλα τα δυαδικά σας αντικείμενα στους διακομιστές σας 1925 01:24:57,210 --> 01:24:59,751 και μπορείτε να χρησιμοποιήσετε αυτές τις σέρβερ περιπτώσεις που εξυπηρετούν αυτό των δεδομένων. 1926 01:24:59,751 --> 01:25:01,860 Αλλά αυτό είναι αρκετά ακριβό. 1927 01:25:01,860 --> 01:25:05,107 >> Καλύτερος τρόπος για να κάνετε είναι να πάτε μπροστά και να θέσει αυτά τα αντικείμενα σε ένα κουβά S3. 1928 01:25:05,107 --> 01:25:06,315 S3 είναι ένα αντικείμενο αποθετήρια. 1929 01:25:06,315 --> 01:25:10,860 Είναι χτισμένο ειδικά για εξυπηρετούν αυτά τα είδη των πραγμάτων. 1930 01:25:10,860 --> 01:25:13,690 Και ας αυτοί οι πελάτες ζητήσουν απευθείας από τις κάδους αντικείμενο, 1931 01:25:13,690 --> 01:25:15,390 απαλλαγούν από τους διακομιστές. 1932 01:25:15,390 --> 01:25:17,020 Έτσι αρχίζουμε να αναβαθμίσουν εδώ. 1933 01:25:17,020 --> 01:25:19,140 >> Τώρα έχουμε τους χρήστες σε όλο τον κόσμο. 1934 01:25:19,140 --> 01:25:19,730 Πήρα χρήστες. 1935 01:25:19,730 --> 01:25:23,380 Θα πρέπει να έχουν περιεκτικότητα σε τοπικό επίπεδο που βρίσκεται κοντά σε αυτούς τους χρήστες, έτσι δεν είναι; 1936 01:25:23,380 --> 01:25:26,200 Έχω δημιουργήσει ένα κουβά S3 ως αποθετήριο πηγή μου. 1937 01:25:26,200 --> 01:25:29,370 Και εγώ θα μπροστινό ότι με η κατανομή CloudFront. 1938 01:25:29,370 --> 01:25:31,720 >> CloudFront είναι ένα CD και ένα περιεχόμενο του δικτύου διανομής. 1939 01:25:31,720 --> 01:25:35,750 Βασικά παίρνει τα δεδομένα που εσείς καθορίζετε και όλα αποθηκεύει μέσω του διαδικτύου 1940 01:25:35,750 --> 01:25:39,230 έτσι ώστε οι χρήστες μπορούν να έχουν παντού μια πολύ γρήγορη απάντηση όταν 1941 01:25:39,230 --> 01:25:40,960 ζητούν αυτά τα αντικείμενα. 1942 01:25:40,960 --> 01:25:41,960 >> Έτσι, μπορείτε να πάρετε μια ιδέα. 1943 01:25:41,960 --> 01:25:48,230 Είσαι το είδος της μόχλευσης όλα τα πτυχές της AWS εδώ για να γίνει αυτό. 1944 01:25:48,230 --> 01:25:50,790 Και τελικά, ρίχνουμε σε μια ομάδα auto κλιμάκωση. 1945 01:25:50,790 --> 01:25:52,737 Έτσι περιπτώσεις AC2 μας των servers του παιχνιδιού μας, 1946 01:25:52,737 --> 01:25:54,820 καθώς αρχίζουν να πάρει πιο απασχολημένος και πιο πολυσύχναστα και πιο πολυσύχναστα, 1947 01:25:54,820 --> 01:25:57,236 που θα γυρίσετε ακριβώς ένα άλλο παράδειγμα, γυρίστε ένα άλλο παράδειγμα, 1948 01:25:57,236 --> 01:25:58,210 γυρίσετε ένα άλλο παράδειγμα. 1949 01:25:58,210 --> 01:26:02,090 Έτσι, η τεχνολογία έχει AWS, το σας επιτρέπει να ορίσετε τις παραμέτρους 1950 01:26:02,090 --> 01:26:04,650 γύρω από το οποίο οι διακομιστές σας θα αυξηθεί. 1951 01:26:04,650 --> 01:26:08,110 Έτσι, μπορείτε να έχετε τον αριθμό n των διακομιστών από εκεί σε κάθε δεδομένη στιγμή. 1952 01:26:08,110 --> 01:26:11,870 Και αν το φορτίο σας πηγαίνει μακριά, θα συρρικνώνονται, ο αριθμός θα συρρικνωθεί. 1953 01:26:11,870 --> 01:26:15,250 Και εάν το φορτίο έρχεται πίσω, αυτό θα αυξηθεί πίσω, ελαστικά. 1954 01:26:15,250 --> 01:26:17,050 >> Έτσι, αυτό φαίνεται μεγάλη. 1955 01:26:17,050 --> 01:26:19,800 Έχουμε πολλά EC2 περιπτώσεις. 1956 01:26:19,800 --> 01:26:21,671 Μπορούμε να βάλουμε στο cache μπροστά από τις βάσεις δεδομένων, 1957 01:26:21,671 --> 01:26:23,045 δοκιμάστε και να επιταχύνει τις βάσεις δεδομένων. 1958 01:26:23,045 --> 01:26:25,030 Το επόμενο σημείο πίεσης συνήθως οι άνθρωποι βλέπουν 1959 01:26:25,030 --> 01:26:28,850 είναι να αναβαθμίσουν ένα παιχνίδι χρησιμοποιώντας μια σχεσιακή βάση δεδομένων. 1960 01:26:28,850 --> 01:26:30,790 Χριστέ μου, η βάση δεδομένων απόδοση είναι τρομερό. 1961 01:26:30,790 --> 01:26:31,932 Πώς μπορούμε να το βελτιώσουμε; 1962 01:26:31,932 --> 01:26:33,640 Ας προσπαθήσουμε θέση cache μπροστά από αυτό. 1963 01:26:33,640 --> 01:26:36,780 >> Λοιπόν, cache δεν λειτουργεί τόσο μεγάλη σε παιχνίδια, έτσι δεν είναι; 1964 01:26:36,780 --> 01:26:39,330 Για τα παιχνίδια, το γράψιμο είναι οδυνηρή. 1965 01:26:39,330 --> 01:26:40,930 Τα παιχνίδια είναι πολύ βαρύ γράφουν. 1966 01:26:40,930 --> 01:26:43,610 Cache δεν λειτουργεί όταν είστε γράφετε βαρύ, επειδή έχετε πάντα 1967 01:26:43,610 --> 01:26:44,610 πήρε για να ενημερώσετε τη μνήμη cache. 1968 01:26:44,610 --> 01:26:47,780 Μπορείτε να ενημερώσετε τη μνήμη cache, είναι άσχετο προς την προσωρινή αποθήκευση. 1969 01:26:47,780 --> 01:26:49,780 Είναι πραγματικά ακριβώς πρόσθετη εργασία. 1970 01:26:49,780 --> 01:26:51,970 >> Έτσι, πού πάμε εδώ; 1971 01:26:51,970 --> 01:26:54,400 Έχετε ένα μεγάλο εμπόδιο εκεί κάτω στη βάση δεδομένων. 1972 01:26:54,400 --> 01:26:57,661 Και ο τόπος για να πάει προφανώς είναι διχοτόμηση. 1973 01:26:57,661 --> 01:26:59,410 Διαμέριση δεν είναι εύκολο να το κάνετε όταν είστε 1974 01:26:59,410 --> 01:27:01,900 που ασχολούνται με σχεσιακές βάσεις δεδομένων. 1975 01:27:01,900 --> 01:27:05,080 Με σχεσιακές βάσεις δεδομένων, είστε υπεύθυνος για τη διαχείριση, την αποτελεσματική, 1976 01:27:05,080 --> 01:27:06,210 το πλήκτρο διαστήματος. 1977 01:27:06,210 --> 01:27:10,527 Λέτε χρήστες μεταξύ A και M πηγαίνετε εδώ, μεταξύ Ν και Ζ πάει εκεί. 1978 01:27:10,527 --> 01:27:12,360 Και είστε μεταγωγής σε όλη την εφαρμογή. 1979 01:27:12,360 --> 01:27:15,000 Έτσι, έχουμε να κάνουμε με Αυτή η πηγή δεδομένων κατάτμηση. 1980 01:27:15,000 --> 01:27:18,670 Έχετε συναλλαγής περιορισμούς ότι δεν εκτείνονται χωρίσματα. 1981 01:27:18,670 --> 01:27:20,560 Έχετε όλα τα είδη της ακαταστασία που είστε 1982 01:27:20,560 --> 01:27:23,040 που ασχολούνται με την εκεί κάτω προσπαθώντας να ασχοληθεί με την κλιμάκωση έξω 1983 01:27:23,040 --> 01:27:25,120 και την οικοδόμηση μιας μεγαλύτερης υποδομής. 1984 01:27:25,120 --> 01:27:27,284 Είναι απλά δεν είναι διασκέδαση. 1985 01:27:27,284 --> 01:27:30,930 >> Κοινό: Έτσι λέτε ότι αυξάνοντας τα σημεία πηγή επιταχύνει 1986 01:27:30,930 --> 01:27:31,430 η διαδικασία? 1987 01:27:31,430 --> 01:27:32,513 RICK Houlihan: Αύξηση της; 1988 01:27:32,513 --> 01:27:33,520 Σημεία Πηγή: ακροατήριο. 1989 01:27:33,520 --> 01:27:34,410 RICK Houlihan: Πηγή σημεία; 1990 01:27:34,410 --> 01:27:37,500 Κοινό: Από τις πληροφορίες, όταν οι πληροφορίες προέρχονται από; 1991 01:27:37,500 --> 01:27:38,250 RICK Houlihan: Όχι. 1992 01:27:38,250 --> 01:27:41,820 Αυτό που λέω είναι η αύξηση της αριθμός των κατατμήσεων του χώρου αποθήκευσης δεδομένων 1993 01:27:41,820 --> 01:27:44,060 βελτιώνει την απόδοση. 1994 01:27:44,060 --> 01:27:48,300 Έτσι, αυτό που συμβαίνει εδώ είναι χρήστες έρχονται στο παράδειγμα EC2 εδώ, 1995 01:27:48,300 --> 01:27:50,780 καλά, αν χρειάζεστε ένα χρήστη αυτό είναι το Α έως Μ, θα πάω εδώ. 1996 01:27:50,780 --> 01:27:53,560 Από το Ν στη θέση P, θα πάω εδώ. 1997 01:27:53,560 --> 01:27:55,060 Από Ρ έως Ω, θα πάω εδώ. 1998 01:27:55,060 --> 01:27:57,120 >> Κοινό: Εντάξει, αυτοί έτσι ώστε αυτές είναι αποθηκεύονται όλες σε διαφορετικούς κόμβους; 1999 01:27:57,120 --> 01:27:57,911 >> RICK Houlihan: Ναι. 2000 01:27:57,911 --> 01:28:00,210 Σκεφτείτε αυτές ως διαφορετικά σιλό δεδομένων. 2001 01:28:00,210 --> 01:28:01,660 Έτσι, είστε υποχρεωμένοι να το κάνετε αυτό. 2002 01:28:01,660 --> 01:28:02,910 Εάν προσπαθείτε να κάνετε αυτό, αν προσπαθείτε 2003 01:28:02,910 --> 01:28:05,730 να αναβαθμίσουν σε μια σχεσιακή πλατφόρμα, Αυτό είναι αυτό που κάνεις. 2004 01:28:05,730 --> 01:28:08,100 Παίρνετε δεδομένων και είστε το κόψιμο κάτω. 2005 01:28:08,100 --> 01:28:10,975 Και εσείς το κατακερματισμό σε όλη την πολλές εμφανίσεις της βάσης δεδομένων. 2006 01:28:10,975 --> 01:28:13,580 Και είστε διαχείριση όλων ότι στο επίπεδο εφαρμογής. 2007 01:28:13,580 --> 01:28:14,729 Δεν είναι διασκέδαση. 2008 01:28:14,729 --> 01:28:15,770 Έτσι, αυτό που θέλουμε να πάμε; 2009 01:28:15,770 --> 01:28:20,240 Θέλουμε να πάμε DynamoDB, πλήρη διαχείριση, NoSQL χώρο αποθήκευσης δεδομένων, διακίνηση διάταξη. 2010 01:28:20,240 --> 01:28:22,680 Χρησιμοποιούμε δευτερεύοντα ευρετήρια. 2011 01:28:22,680 --> 01:28:26,154 Είναι βασικά HTTP API και περιλαμβάνει την υποστήριξη εγγράφου. 2012 01:28:26,154 --> 01:28:28,570 Έτσι, δεν έχετε να ανησυχείτε για οποιαδήποτε από τις εν λόγω διαχωρισμού. 2013 01:28:28,570 --> 01:28:30,740 Έχουμε κάνει όλα για εσάς. 2014 01:28:30,740 --> 01:28:33,260 Έτσι τώρα, αντ 'αυτού, απλά γράψτε στο τραπέζι. 2015 01:28:33,260 --> 01:28:36,490 Εάν ο πίνακας θα πρέπει να κατανέμονται, ότι συμβαίνει πίσω από τις σκηνές. 2016 01:28:36,490 --> 01:28:40,642 Είσαι εντελώς μονωμένα από ότι ως προγραμματιστής. 2017 01:28:40,642 --> 01:28:42,350 Ας μιλήσουμε για ορισμένες από τις περιπτώσεις χρήσης 2018 01:28:42,350 --> 01:28:47,564 ότι θα τρέχει σε στο gaming, κοινή σενάρια παιχνίδια, leaderboard. 2019 01:28:47,564 --> 01:28:49,980 Έτσι έχετε χρήστες που έρχονται, οι BoardNames ότι είναι 2020 01:28:49,980 --> 01:28:52,930 στο εξής, οι βαθμολογίες για αυτόν τον χρήστη. 2021 01:28:52,930 --> 01:28:57,700 Θα μπορούσαμε να κατακερματισμός στην UserID, και τότε έχουμε εύρος στο παιχνίδι. 2022 01:28:57,700 --> 01:28:59,960 Έτσι, κάθε χρήστης θέλει να δει όλο το παιχνίδι που έπαιξε 2023 01:28:59,960 --> 01:29:01,770 και όλα τα κορυφαία βαθμολογία του σε όλες του παιχνιδιού. 2024 01:29:01,770 --> 01:29:04,000 Έτσι, αυτό είναι προσωπική του leaderboard. 2025 01:29:04,000 --> 01:29:10,010 >> Τώρα θέλω να πάω μέσα και θέλω να get-- ώστε να πάρω αυτά τα προσωπικά leaderboards. 2026 01:29:10,010 --> 01:29:12,827 Αυτό που θέλω να κάνετε είναι να πάτε να πάρετε η κορυφαία βαθμολογία για όλους τους χρήστες. 2027 01:29:12,827 --> 01:29:13,660 Λοιπόν, πώς μπορώ να το κάνω; 2028 01:29:13,660 --> 01:29:18,070 Όταν το ρεκόρ μου κατακερματίζεται σε το UserID, κυμάνθηκε στο παιχνίδι, 2029 01:29:18,070 --> 01:29:20,740 Καλά είμαι πρόκειται να πάει μπροστά και την αναδιάρθρωση, δημιουργούν ένα GSI, 2030 01:29:20,740 --> 01:29:22,370 και θα πάω να αναδιαρθρώσει τα δεδομένα. 2031 01:29:22,370 --> 01:29:27,310 >> Τώρα Πάω να hash για το BoardName, το οποίο είναι το παιχνίδι. 2032 01:29:27,310 --> 01:29:29,800 Και Πάω να κυμαίνονται σχετικά με την κορυφαία βαθμολογία. 2033 01:29:29,800 --> 01:29:31,540 Και τώρα που έχω δημιουργήσει διαφορετικές κουβάδες. 2034 01:29:31,540 --> 01:29:34,790 Είμαι χρησιμοποιώντας το ίδιο τραπέζι, τα ίδια δεδομένα στοιχείο. 2035 01:29:34,790 --> 01:29:39,870 Αλλά είμαι δημιουργώντας έναν κουβά που δίνει με μία συγκέντρωση κορυφαία βαθμολογία από το παιχνίδι. 2036 01:29:39,870 --> 01:29:43,180 >> Και μπορώ να ερώτημα που τραπέζι για να πάρει αυτές τις πληροφορίες. 2037 01:29:43,180 --> 01:29:50,890 Έτσι έχω δημιουργήσει αυτό το μοτίβο μέχρι ερώτημα να υποστηρίζεται από ένα δευτερεύον ευρετήριο. 2038 01:29:50,890 --> 01:29:54,556 Τώρα μπορούν να ταξινομηθούν ανά BoardName και κατατάσσονται σύμφωνα με τη TopScore, ανάλογα με. 2039 01:29:54,556 --> 01:29:57,180 Έτσι μπορείτε να δείτε, αυτά είναι τα είδη από τις περιπτώσεις χρήσης μπορείτε να πάρετε στο gaming. 2040 01:29:57,180 --> 01:30:02,190 Μια άλλη καλή περίπτωση χρήσης φτάσουμε στο gaming είναι βραβεία και ποιος κέρδισε τα βραβεία. 2041 01:30:02,190 --> 01:30:05,340 Και αυτό είναι μια μεγάλη υπόθεση χρήσης όπου λέμε αραιά ευρετήρια. 2042 01:30:05,340 --> 01:30:07,340 Αραιή δείκτες είναι η ικανότητα να παράγουν 2043 01:30:07,340 --> 01:30:10,850 ένας δείκτης που δεν οδηγεί υποχρεωτικά περιέχει κάθε μεμονωμένο στοιχείο στο τραπέζι. 2044 01:30:10,850 --> 01:30:11,470 Και γιατί όχι; 2045 01:30:11,470 --> 01:30:14,540 Επειδή το χαρακτηριστικό που έχει είναι ευρετήριο δεν υπάρχει για κάθε αντικείμενο. 2046 01:30:14,540 --> 01:30:16,460 >> Έτσι, σε αυτή τη συγκεκριμένη χρησιμοποιήστε την περίπτωση, λέω, 2047 01:30:16,460 --> 01:30:19,240 ξέρετε τι, Πάω να δημιουργήσετε ένα χαρακτηριστικό, που ονομάζεται βραβείο. 2048 01:30:19,240 --> 01:30:22,970 Και Πάω να δώσει σε κάθε χρήστη ότι έχει ένα βραβείο που αποδίδουν. 2049 01:30:22,970 --> 01:30:25,950 Οι χρήστες που δεν έχουν βραβεία δεν πρόκειται να έχουν αυτό το χαρακτηριστικό. 2050 01:30:25,950 --> 01:30:27,800 Έτσι, όταν μπορώ να δημιουργήσω το δείκτη, οι μόνοι χρήστες 2051 01:30:27,800 --> 01:30:28,960 που πρόκειται να δείξουν στο ευρετήριο είναι 2052 01:30:28,960 --> 01:30:31,050 εκείνοι που πραγματικά έχουν κερδίσει βραβεία. 2053 01:30:31,050 --> 01:30:34,440 Έτσι, αυτό είναι ένας πολύ καλός τρόπος για να είναι σε θέση για να δημιουργήσετε ευρετήρια ότι φιλτραρισμένα 2054 01:30:34,440 --> 01:30:40,580 είναι πολύ, πολύ επιλεκτική που δεν Πρέπει να δείκτη ολόκληρο τον πίνακα. 2055 01:30:40,580 --> 01:30:43,050 >> Έτσι παίρνουμε χαμηλά για την ώρα εδώ. 2056 01:30:43,050 --> 01:30:49,190 Πάω να προχωρήσει και να παραλείψετε και να παραλείψετε αυτό το σενάριο. 2057 01:30:49,190 --> 01:30:52,625 Μιλήσουμε λίγο about-- 2058 01:30:52,625 --> 01:30:54,460 >> Κοινό: Μπορώ να κάνω μια γρήγορη ερώτηση; 2059 01:30:54,460 --> 01:30:56,722 Ένας είναι να γράψετε βαριά; 2060 01:30:56,722 --> 01:30:57,680 RICK Houlihan: Τι είναι; 2061 01:30:57,680 --> 01:30:58,596 Κοινό: Γράψτε βαρύ. 2062 01:30:58,596 --> 01:31:01,270 RICK Houlihan: Γράψτε βαρύ. 2063 01:31:01,270 --> 01:31:03,460 Άσε με να δω. 2064 01:31:03,460 --> 01:31:06,220 >> Κοινό: Ή είναι ότι δεν κάτι που μπορείτε απλά 2065 01:31:06,220 --> 01:31:08,809 φωνή στο θέμα δευτερολέπτων; 2066 01:31:08,809 --> 01:31:10,850 RICK Houlihan: Πάμε μέσα από το σενάριο της ψηφοφορίας. 2067 01:31:10,850 --> 01:31:11,670 Δεν είναι τόσο άσχημα. 2068 01:31:11,670 --> 01:31:14,580 Μήπως εσείς έχετε μερικά λεπτά; 2069 01:31:14,580 --> 01:31:15,860 ΕΝΤΆΞΕΙ. 2070 01:31:15,860 --> 01:31:17,890 >> Έτσι, θα μιλήσουμε για την ψηφοφορία. 2071 01:31:17,890 --> 01:31:20,250 Έτσι ψήφου σε πραγματικό χρόνο, έχουμε απαιτήσεις για την ψηφοφορία. 2072 01:31:20,250 --> 01:31:25,250 Απαιτήσεις είναι ότι επιτρέπουμε κάθε πρόσωπο να ψηφίσει μόνο μια φορά. 2073 01:31:25,250 --> 01:31:28,060 Θέλουμε κανείς να είναι σε θέση να αλλάξουν την ψήφο τους. 2074 01:31:28,060 --> 01:31:31,045 Θέλουμε πραγματικό χρόνο συνάθροισης και analytics για τη δημογραφία 2075 01:31:31,045 --> 01:31:34,210 ότι θα πάμε να είναι που δείχνει προς τους χρήστες στο site. 2076 01:31:34,210 --> 01:31:35,200 >> Σκεφτείτε αυτό το σενάριο. 2077 01:31:35,200 --> 01:31:37,550 Δουλεύουμε πολύ της πραγματικότητας Τηλεόραση δείχνει πού είναι 2078 01:31:37,550 --> 01:31:38,960 κάνει αυτά ακριβές είδος των πραγμάτων. 2079 01:31:38,960 --> 01:31:41,584 Έτσι, μπορείτε να σκεφτείτε το σενάριο, έχουμε εκατομμύρια και τα εκατομμύρια 2080 01:31:41,584 --> 01:31:43,959 των έφηβων κοριτσιών εκεί με τα κινητά τους 2081 01:31:43,959 --> 01:31:46,250 και την ψηφοφορία, καθώς και δικαίωμα ψήφου, και ψηφίζοντας όποιοι κι αν είναι 2082 01:31:46,250 --> 01:31:48,610 βρείτε να είναι η πιο δημοφιλής. 2083 01:31:48,610 --> 01:31:50,830 Έτσι, αυτά είναι μερικά από τα απαιτήσεις θα εξαντληθεί. 2084 01:31:50,830 --> 01:31:52,990 >> Και έτσι η πρώτη να λάβει σε επίλυση αυτού του προβλήματος 2085 01:31:52,990 --> 01:31:55,090 θα ήταν να κατασκευαστεί ένα πολύ απλή εφαρμογή. 2086 01:31:55,090 --> 01:31:56,490 Έτσι έχω αυτό το app. 2087 01:31:56,490 --> 01:31:57,950 Έχω κάποιες ψηφοφόρους εκεί έξω. 2088 01:31:57,950 --> 01:31:59,980 Έρχονται σε χτυπούν την εφαρμογή της ψηφοφορίας. 2089 01:31:59,980 --> 01:32:03,440 Έχω κάποιες πρώτες ψηφοφορίες τραπέζι Θα χωματερή μόνο αυτές τις ψήφους σε. 2090 01:32:03,440 --> 01:32:05,780 Θα έχω κάποιο συνολικά ψήφοι πίνακα που 2091 01:32:05,780 --> 01:32:09,490 θα κάνει analytics και τα δημογραφικά στοιχεία μου, και θα βάλουμε όλα αυτά εκεί. 2092 01:32:09,490 --> 01:32:11,420 >> Και αυτό είναι μεγάλη. 2093 01:32:11,420 --> 01:32:12,332 Η ζωή είναι ωραία. 2094 01:32:12,332 --> 01:32:15,040 Η ζωή είναι καλή μέχρι να βρούμε ότι υπάρχει πάντα μόνο ένα ή δύο 2095 01:32:15,040 --> 01:32:16,879 οι άνθρωποι που είναι δημοφιλείς σε εκλογές. 2096 01:32:16,879 --> 01:32:19,420 Υπάρχει μόνο ένα ή δύο πράγματα ότι οι άνθρωποι ενδιαφέρονται πραγματικά για. 2097 01:32:19,420 --> 01:32:22,340 Και αν είστε ψήφου σε κλίμακα, ξαφνικά είμαι 2098 01:32:22,340 --> 01:32:26,360 πρόκειται να σφυρηλάτηση την κόλαση έξω από δύο υποψήφιοι, μία ή δύο υποψηφίους. 2099 01:32:26,360 --> 01:32:29,390 Μια πολύ περιορισμένο αριθμό τεμαχίων άνθρωποι βρίσκουν να είναι δημοφιλής. 2100 01:32:29,390 --> 01:32:31,710 >> Αυτό δεν είναι ένα καλό πρότυπο σχεδιασμού. 2101 01:32:31,710 --> 01:32:33,549 Αυτό είναι στην πραγματικότητα μια πολύ κακό πρότυπο σχεδιασμού 2102 01:32:33,549 --> 01:32:36,340 γιατί δημιουργεί ακριβώς αυτό που μίλησε για το οποίο ήταν πλήκτρα. 2103 01:32:36,340 --> 01:32:38,960 Hot πλήκτρα είναι κάτι που δεν μας αρέσει. 2104 01:32:38,960 --> 01:32:40,470 >> Επομένως, πώς θα το διορθώσουμε; 2105 01:32:40,470 --> 01:32:47,640 Και πραγματικά, ο τρόπος για να διορθωθεί αυτό είναι με τη λήψη των εν λόγω υποψήφιος κουβάδες 2106 01:32:47,640 --> 01:32:51,490 και για κάθε υποψήφιο που έχουμε, θα πάμε να προσθέσετε μια τυχαία τιμή, 2107 01:32:51,490 --> 01:32:54,192 κάτι που ξέρουμε, τυχαία τιμή μεταξύ ενός και 100, 2108 01:32:54,192 --> 01:32:56,620 μεταξύ 100 και 1000, ή μεταξύ ενός και 1000, 2109 01:32:56,620 --> 01:32:59,940 Ωστόσο, πολλές τυχαίες τιμές που θέλετε να επισυνάπτει στο τέλος του εν λόγω υποψηφίου. 2110 01:32:59,940 --> 01:33:01,330 >> Και τι έχω πραγματικά κάνει τότε; 2111 01:33:01,330 --> 01:33:05,830 Αν είμαι χρησιμοποιώντας το αναγνωριστικό υποψηφίου ως ο κουβάς με το σύνολο των ψήφων, 2112 01:33:05,830 --> 01:33:08,780 αν έχω προσθέσει ένα τυχαίο αριθμό στο τέλος του ότι, 2113 01:33:08,780 --> 01:33:12,000 Έχω δημιουργήσει τώρα 10 κουβάδες, ένα εκατό κουβάδες, χίλια κουβάδες 2114 01:33:12,000 --> 01:33:14,160 ότι είμαι άθροιση ψήφων σε ολόκληρη. 2115 01:33:14,160 --> 01:33:18,030 >> Γι 'αυτό και έχουν εκατομμύρια και εκατομμύρια, και τα εκατομμύρια των αρχείων που έρχονται σε 2116 01:33:18,030 --> 01:33:22,050 για αυτούς τους υποψηφίους, είμαι τώρα εξαπλώνεται και αυτές οι ψήφοι σε όλη την υποψήφια A_1 2117 01:33:22,050 --> 01:33:24,630 μέσω υποψήφιες A_100, επειδή κάθε φορά που μια ψηφοφορία έρχεται, 2118 01:33:24,630 --> 01:33:26,530 Είμαι παραγωγή ενός τυχαίου τιμή μεταξύ ενός και 100. 2119 01:33:26,530 --> 01:33:29,446 Είμαι αυτό που στερέωση πάνω στο άκρο του υποψηφίου που προσώπου ψηφίζουν. 2120 01:33:29,446 --> 01:33:31,120 Είμαι το ντάμπινγκ στην εν λόγω κουβά. 2121 01:33:31,120 --> 01:33:33,910 >> Τώρα στο πίσω μέρος, το ξέρω ότι πήρα εκατό κουβάδες. 2122 01:33:33,910 --> 01:33:36,350 Έτσι, όταν θέλω να πάω μπροστά και συγκεντρώνουν τις ψήφους, 2123 01:33:36,350 --> 01:33:38,244 Διάβασα από όλους αυτούς τους κάδους. 2124 01:33:38,244 --> 01:33:39,160 Γι 'αυτό να προχωρήσει και να προσθέσετε. 2125 01:33:39,160 --> 01:33:42,410 Και τότε εγώ η διασπορά συγκεντρώσει όπου πάω έξω και να πω hey, 2126 01:33:42,410 --> 01:33:45,399 ξέρετε τι, το κλειδί της υποψήφιας αυτής χώρας χώρων είναι πάνω από εκατό κουβάδες. 2127 01:33:45,399 --> 01:33:47,940 Πάω να συγκεντρώσει όλα τα ψήφους από εκείνες τις εκατό κουβάδες. 2128 01:33:47,940 --> 01:33:49,981 Πάω να συσσωματώνονται τους και θα πάω να πω, 2129 01:33:49,981 --> 01:33:53,830 Υποψήφιος Α έχει τώρα συνολική καταμέτρηση των ψήφων του x. 2130 01:33:53,830 --> 01:33:55,690 >> Τώρα τόσο η διαγραφή το ερώτημα και το ερώτημα ανάγνωσης 2131 01:33:55,690 --> 01:33:58,160 Τα όμορφα διανέμονται γιατί γράφω σε όλη 2132 01:33:58,160 --> 01:34:00,320 και διαβάζω σε εκατοντάδες κλειδιών. 2133 01:34:00,320 --> 01:34:03,500 Δεν γράφω και διατρέχοντας ένα κλειδί τώρα. 2134 01:34:03,500 --> 01:34:04,950 Οπότε αυτό είναι ένα μεγάλο σχέδιο. 2135 01:34:04,950 --> 01:34:08,090 >> Αυτό είναι στην πραγματικότητα πιθανώς ένα από τα πιο σημαντικά σχεδιασμού 2136 01:34:08,090 --> 01:34:10,420 πρότυπα για την κλίμακα στην NoSQL. 2137 01:34:10,420 --> 01:34:14,470 Θα δείτε αυτό το είδος του πρότυπο σχεδιασμού σε κάθε γεύση. 2138 01:34:14,470 --> 01:34:19,100 MongoDB, DynamoDB, αυτό δεν γίνεται θέμα, όλοι πρέπει να το κάνουμε αυτό. 2139 01:34:19,100 --> 01:34:21,840 Διότι όταν έχεις να κάνεις με αυτές τις τεράστιες συναθροίσεις, 2140 01:34:21,840 --> 01:34:26,650 θα πρέπει να βρουν έναν τρόπο για να εξαπλωθεί σε όλη τους κουβάδες. 2141 01:34:26,650 --> 01:34:29,512 Έτσι, αυτός είναι ο τρόπος να το κάνεις αυτό. 2142 01:34:29,512 --> 01:34:31,220 Εντάξει, έτσι τι κάνεις τώρα είμαστε 2143 01:34:31,220 --> 01:34:35,252 Είναι έχετε λογαριασμό στα ανοικτά ανάγνωσης κόστος για επεκτασιμότητα εγγραφής. 2144 01:34:35,252 --> 01:34:37,085 Το κόστος της ανάγνωσης μου λίγο πιο περίπλοκη 2145 01:34:37,085 --> 01:34:40,220 και έχω να πάω διαβάσει από μια εκατό κουβάδες αντί για μία. 2146 01:34:40,220 --> 01:34:41,310 Αλλά είμαι σε θέση να γράψω. 2147 01:34:41,310 --> 01:34:44,860 Και τη δυναμικότητα μου, μου γράφουν διεκπεραίωσης είναι απίστευτο. 2148 01:34:44,860 --> 01:34:49,450 Γι 'αυτό είναι συνήθως μια πολύτιμη τεχνική για την κλιμάκωση DynamoDB, 2149 01:34:49,450 --> 01:34:51,350 ή οποιαδήποτε βάση δεδομένων NoSQL για το θέμα αυτό. 2150 01:34:51,350 --> 01:34:53,824 2151 01:34:53,824 --> 01:34:55,240 Έτσι καταλάβαμε πώς να την περιορίσουμε. 2152 01:34:55,240 --> 01:34:56,930 Και καταλάβαμε πώς να εξάλειψη των hot keys μας. 2153 01:34:56,930 --> 01:34:57,820 Και αυτό είναι φανταστικό. 2154 01:34:57,820 --> 01:34:58,960 Και πήραμε αυτό το ωραίο σύστημα. 2155 01:34:58,960 --> 01:35:02,043 Και αυτό είναι μας έχει δώσει πολύ σωστή ψήφου επειδή έχουμε ρεκόρ ψηφοφορία de-κοροϊδεύω. 2156 01:35:02,043 --> 01:35:03,130 Είναι χτισμένο σε DynamoDB. 2157 01:35:03,130 --> 01:35:05,380 Μιλήσαμε για υπό όρους δικαιωμάτων. 2158 01:35:05,380 --> 01:35:08,170 >> Όταν ένας ψηφοφόρος έρχεται, puts ένα ένθετο στο τραπέζι, 2159 01:35:08,170 --> 01:35:11,220 παρεμβάλλουν με ταυτοποίησης των ψηφοφόρων τους, αν προσπαθήσουν να εισαχθεί μια άλλη ψηφοφορία, 2160 01:35:11,220 --> 01:35:13,320 Να κάνω μια υπό όρους εγγραφής. 2161 01:35:13,320 --> 01:35:16,960 Πείτε μόνο γράψω αυτό αν αυτό δεν υπάρχει. 2162 01:35:16,960 --> 01:35:19,270 Έτσι μόλις βλέπω ότι ότι η ψήφος του χτύπησε το τραπέζι, 2163 01:35:19,270 --> 01:35:20,460 κανείς άλλος δεν πρόκειται να είναι είναι σε θέση να βάλει την ψήφο τους. 2164 01:35:20,460 --> 01:35:21,634 Και αυτό είναι φανταστικό. 2165 01:35:21,634 --> 01:35:23,550 Και είμαστε προσαύξηση υποψήφιος μετρητές μας. 2166 01:35:23,550 --> 01:35:25,466 Και κάνουμε μας δημογραφικά στοιχεία και όλα αυτά. 2167 01:35:25,466 --> 01:35:29,110 Αλλά τι θα συμβεί αν μου εφαρμογή πέφτει πάνω; 2168 01:35:29,110 --> 01:35:31,350 Τώρα ξαφνικά ψήφων έρχονται σε, και εγώ 2169 01:35:31,350 --> 01:35:34,840 Δεν ξέρω αν είναι να πάρει τα μεταποιημένα σε analytics και δημογραφικά στοιχεία μου 2170 01:35:34,840 --> 01:35:36,040 πια. 2171 01:35:36,040 --> 01:35:38,462 Και όταν η εφαρμογή έρχεται πίσω, πώς 2172 01:35:38,462 --> 01:35:41,420 η κόλαση μπορώ να ξέρω τι έχουν ψήφοι υποβληθεί σε επεξεργασία και όπου μπορώ να ξεκινήσω; 2173 01:35:41,420 --> 01:35:44,530 >> Έτσι, αυτό είναι ένα πραγματικό πρόβλημα, όταν να αρχίσουμε να εξετάζουμε σε αυτό το σενάριο. 2174 01:35:44,530 --> 01:35:45,571 Και πώς μπορούμε να λύσουμε αυτό; 2175 01:35:45,571 --> 01:35:48,070 Θα το λύσουμε με αυτό που καλέστε DynamoDB ρεύματα. 2176 01:35:48,070 --> 01:35:53,470 Ρευμάτων είναι ένας χρόνος και διέταξε κατανεμήθηκε καταγραφής της πρόσβασης κάθε αλλαγή 2177 01:35:53,470 --> 01:35:55,700 στο τραπέζι, κάθε γράφουν πρόσβαση στο τραπέζι. 2178 01:35:55,700 --> 01:35:58,810 Όλα τα δεδομένα που είναι γραμμένο στην πίνακας παρουσιάζει στο ρεύμα. 2179 01:35:58,810 --> 01:36:01,815 >> Είναι βασικά μια ουρά 24 ώρες. 2180 01:36:01,815 --> 01:36:03,690 Είδη χτυπήσει το ρεύμα, ζουν για 24 ώρες. 2181 01:36:03,690 --> 01:36:05,990 Μπορούν να διαβάσει πολλές φορές. 2182 01:36:05,990 --> 01:36:09,400 Εγγυημένη για να παραδοθεί μόνο μία φορά στο ρεύμα, 2183 01:36:09,400 --> 01:36:11,180 θα μπορούσε να διαβάσει τον αριθμό n φορές. 2184 01:36:11,180 --> 01:36:14,910 Έτσι, ωστόσο πολλές διαδικασίες που θέλετε να καταναλώνουν αυτά τα δεδομένα, μπορείτε να το καταναλώνουν. 2185 01:36:14,910 --> 01:36:16,350 Θα εμφανίζεται κάθε ενημέρωση. 2186 01:36:16,350 --> 01:36:18,455 Κάθε γράφετε θα μόνο εμφανίζονται μία φορά στο ρεύμα. 2187 01:36:18,455 --> 01:36:20,621 Έτσι, δεν έχετε να ανησυχείτε σχετικά με την επεξεργασία δύο φορές 2188 01:36:20,621 --> 01:36:22,500 από την ίδια διαδικασία. 2189 01:36:22,500 --> 01:36:25,350 >> Είναι αυστηρά διέταξε ανά τεμάχιο. 2190 01:36:25,350 --> 01:36:28,180 Όταν λέμε του χρόνου διέταξε και κατανεμήθηκε, 2191 01:36:28,180 --> 01:36:30,680 θα δείτε ανά διαμέρισμα στο ρεύμα. 2192 01:36:30,680 --> 01:36:33,169 Θα δείτε τα στοιχεία, ενημερώσεις σε τάξη. 2193 01:36:33,169 --> 01:36:35,210 Δεν εγγυάται για το ρεύμα που είστε 2194 01:36:35,210 --> 01:36:40,240 πρόκειται να πάρει κάθε συναλλαγή με τη σειρά κατά μήκος αντικείμενα. 2195 01:36:40,240 --> 01:36:42,440 >> Έτσι, τα ρεύματα είναι idempotent. 2196 01:36:42,440 --> 01:36:44,037 Μήπως όλοι γνωρίζουμε τι σημαίνει idempotent; 2197 01:36:44,037 --> 01:36:46,620 Idempotent σημαίνει ότι μπορείτε να το κάνετε πάνω, και πάνω, και ξανά. 2198 01:36:46,620 --> 01:36:48,200 Το αποτέλεσμα πρόκειται να είναι το ίδιο. 2199 01:36:48,200 --> 01:36:49,991 >> Ρεύματα είναι idempotent, αλλά θα πρέπει να είναι 2200 01:36:49,991 --> 01:36:54,860 έπαιξε από το σημείο εκκίνησης, όπου κι αν επιλέξετε, στο τέλος, 2201 01:36:54,860 --> 01:36:57,950 ή δεν θα οδηγήσει στις ίδιες τιμές. 2202 01:36:57,950 --> 01:36:59,727 >> Το ίδιο πράγμα με MongoDB. 2203 01:36:59,727 --> 01:37:01,560 MongoDB έχει ένα κατασκεύασμα καλούν την oplog. 2204 01:37:01,560 --> 01:37:04,140 Είναι ακριβώς το ίδιο κατασκεύασμα. 2205 01:37:04,140 --> 01:37:06,500 Πολλές βάσεις δεδομένων NoSQL έχουν αυτό το κατασκεύασμα. 2206 01:37:06,500 --> 01:37:08,790 Το χρησιμοποιούμε για να κάνουμε τα πράγματα όπως αντιγραφή, η οποία 2207 01:37:08,790 --> 01:37:10,475 Είναι ακριβώς αυτό που κάνουμε με τα ρεύματα. 2208 01:37:10,475 --> 01:37:12,350 Κοινό: Ίσως αιρετική ερώτηση, αλλά θα 2209 01:37:12,350 --> 01:37:13,975 μιλάμε για εφαρμογές κάνει τα κάτω μια ούτω καθεξής. 2210 01:37:13,975 --> 01:37:16,089 Τα ρεύματα σίγουρη ποτέ ενδεχομένως να πάει κάτω; 2211 01:37:16,089 --> 01:37:18,630 RICK Houlihan: Ναι, ρέματα είναι εγγυημένο ποτέ να πάει κάτω. 2212 01:37:18,630 --> 01:37:21,040 Έχουμε τη διαχείριση της υποδομής πίσω. ρέματα αυτόματα 2213 01:37:21,040 --> 01:37:22,498 αναπτύξετε σε ομάδα αυτόματη κλιμάκωση τους. 2214 01:37:22,498 --> 01:37:25,910 Θα περάσουν από μια μικρή λίγο για το τι συμβαίνει. 2215 01:37:25,910 --> 01:37:30,060 >> Δεν θα πρέπει να πω ότι δεν είναι εγγυημένο ποτέ να πάει κάτω. 2216 01:37:30,060 --> 01:37:33,110 Τα στοιχεία εγγυημένες να εμφανιστεί στο ρεύμα. 2217 01:37:33,110 --> 01:37:36,740 Και το ρεύμα θα είναι προσβάσιμη. 2218 01:37:36,740 --> 01:37:40,580 Έτσι, αυτό που κατεβαίνει ή έρχεται πίσω up, αυτό συμβαίνει από κάτω. 2219 01:37:40,580 --> 01:37:43,844 Είναι covers-- είναι εντάξει. 2220 01:37:43,844 --> 01:37:46,260 Εντάξει, έτσι μπορείτε να πάρετε διαφορετικά τύπων θέα από την οθόνη. 2221 01:37:46,260 --> 01:37:51,040 Οι τύποι άποψη ότι είναι σημαντικό να α προγραμματιστής συνήθως είναι, τι ήταν; 2222 01:37:51,040 --> 01:37:52,370 Παίρνω την παλιά άποψη. 2223 01:37:52,370 --> 01:37:55,630 Όταν μια ενημερωμένη έκδοση χτυπά το τραπέζι, αυτό θα πιέστε το παλιό θέα στο ρεύμα 2224 01:37:55,630 --> 01:38:02,070 έτσι ώστε τα δεδομένα να αρχειοθετήσετε, ή αλλαγή ελέγχου, την αναγνώριση αλλαγή, αλλαγή 2225 01:38:02,070 --> 01:38:03,600 διαχείριση. 2226 01:38:03,600 --> 01:38:07,160 >> Η νέα εικόνα, τι είναι τώρα, μετά η ενημέρωση, η οποία είναι ένας άλλος τύπος άποψη 2227 01:38:07,160 --> 01:38:07,660 μπορείς να πάρεις. 2228 01:38:07,660 --> 01:38:09,660 Μπορείτε να πάρετε τόσο τα παλαιά και τα νέα εικόνες. 2229 01:38:09,660 --> 01:38:10,660 Ισως και τα δύο θέλετε. 2230 01:38:10,660 --> 01:38:11,790 Θέλω να δω τι ήταν. 2231 01:38:11,790 --> 01:38:13,290 Θέλω να δω τι άλλαξε σε. 2232 01:38:13,290 --> 01:38:15,340 >> Έχω ένα είδος συμμόρφωσης της διαδικασίας που εκτελείται. 2233 01:38:15,340 --> 01:38:17,430 Πρέπει να βεβαιωθείτε ότι όταν αλλάζουν αυτά τα πράγματα, 2234 01:38:17,430 --> 01:38:21,840 ότι είναι εντός ορισμένων ορίων ή εντός ορισμένων παραμέτρων. 2235 01:38:21,840 --> 01:38:23,840 >> Και τότε ίσως μόνο Πρέπει να ξέρετε τι άλλαξε. 2236 01:38:23,840 --> 01:38:26,240 Δεν με νοιάζει τι στοιχείο αλλάξει. 2237 01:38:26,240 --> 01:38:28,580 Δεν χρειάζεται να πρέπει να ξέρετε τι αποδίδει αλλάξει. 2238 01:38:28,580 --> 01:38:30,882 Απλά πρέπει να γνωρίζουν ότι τα στοιχεία που άγγιξε. 2239 01:38:30,882 --> 01:38:33,340 Έτσι, αυτά είναι τα είδη των απόψεων ότι μπορείτε να πάρετε από το ρεύμα 2240 01:38:33,340 --> 01:38:35,960 και μπορείτε να αλληλεπιδράσετε με. 2241 01:38:35,960 --> 01:38:37,840 >> Η εφαρμογή που καταναλώνει το ρεύμα, 2242 01:38:37,840 --> 01:38:39,298 αυτό είναι το είδος της τρόπο αυτό λειτουργεί. 2243 01:38:39,298 --> 01:38:42,570 DynamoDB πελάτης ζητήσει να ωθήσει τα δεδομένα στους πίνακες. 2244 01:38:42,570 --> 01:38:44,750 Ρεύματα αναπτύξετε σε αυτό που ονομάζουμε θραύσματα. 2245 01:38:44,750 --> 01:38:47,380 Οι Shards κλίμακα ανεξάρτητα από το τραπέζι. 2246 01:38:47,380 --> 01:38:50,660 Δεν παρατάξει εντελώς στα χωρίσματα του τραπεζιού σας. 2247 01:38:50,660 --> 01:38:52,540 Και ο λόγος είναι επειδή παρατάξει 2248 01:38:52,540 --> 01:38:55,430 με την ικανότητα, η τρέχουσα ικανότητα του πίνακα. 2249 01:38:55,430 --> 01:38:57,600 >> Αναπτύσσονται σε τους τη δική του ομάδα κλιμάκωση αυτοκινήτων, 2250 01:38:57,600 --> 01:39:00,800 και αρχίζουν να γυρνάνε έξω, ανάλογα σχετικά με το πόσες εγγραφές έρχονται σε, 2251 01:39:00,800 --> 01:39:03,090 πόσα reads-- πραγματικά είναι, γράφει. 2252 01:39:03,090 --> 01:39:05,820 Δεν υπάρχει reads-- αλλά πώς Οι πολλές εγγραφές που έρχονται. 2253 01:39:05,820 --> 01:39:08,200 >> Και στη συνέχεια στο πίσω μέρος τέλος, έχουμε αυτό που 2254 01:39:08,200 --> 01:39:11,390 καλέσετε έναν KCL, ή το Kinesis πελάτη Βιβλιοθήκη. 2255 01:39:11,390 --> 01:39:19,190 Kinesis είναι ένα δεδομένο ρεύμα τεχνολογία επεξεργασίας από το Amazon. 2256 01:39:19,190 --> 01:39:22,040 Και ρεύματα είναι χτισμένο πάνω σε αυτό. 2257 01:39:22,040 --> 01:39:25,670 >> Έτσι, μπορείτε να χρησιμοποιήσετε ένα KCL ενεργοποιημένη αίτηση για να διαβάσετε το ρεύμα. 2258 01:39:25,670 --> 01:39:28,752 Ο Πελάτης Βιβλιοθήκη Kinesis πραγματικότητα διαχειρίζεται τους εργαζομένους για εσάς. 2259 01:39:28,752 --> 01:39:30,460 Και το κάνει επίσης κάποια ενδιαφέροντα πράγματα. 2260 01:39:30,460 --> 01:39:35,630 Θα δημιουργήσει κάποιους πίνακες μέχρι στο DynamoDB tablespace σας 2261 01:39:35,630 --> 01:39:38,410 να παρακολουθείτε ποια στοιχεία έχουν υποβληθεί σε επεξεργασία. 2262 01:39:38,410 --> 01:39:41,190 Έτσι, με αυτόν τον τρόπο, αν πέφτει πίσω, αν πέφτει πάνω και έρχεται και παίρνει 2263 01:39:41,190 --> 01:39:45,570 στάθηκε πίσω επάνω, μπορεί να προσδιοριστεί ο τόπος όπου ήταν στην επεξεργασία του ρεύματος. 2264 01:39:45,570 --> 01:39:48,360 >> Αυτό είναι πολύ σημαντικό όταν μιλάτε για αντιγραφή. 2265 01:39:48,360 --> 01:39:50,350 Πρέπει να ξέρω τι δεδομένα υποβληθεί σε επεξεργασία 2266 01:39:50,350 --> 01:39:52,810 και ποια δεδομένα έχει ακόμη να υποβληθούν σε επεξεργασία. 2267 01:39:52,810 --> 01:39:57,380 Έτσι, η βιβλιοθήκη KCL για ρεύματα θα να σας δώσει μια πολύ αυτήν τη λειτουργία. 2268 01:39:57,380 --> 01:39:58,990 Θα φροντίζει για όλα τα καθαριότητας. 2269 01:39:58,990 --> 01:40:01,140 Βρίσκεται επάνω από τον εργαζόμενο για κάθε θραύσμα. 2270 01:40:01,140 --> 01:40:04,620 Δημιουργεί μια διοικητική τραπέζι για κάθε θραύσμα, για κάθε εργαζόμενο. 2271 01:40:04,620 --> 01:40:07,560 Και καθώς οι εν λόγω εργαζόμενοι φωτιά, να διατηρούν τα εν λόγω πίνακες 2272 01:40:07,560 --> 01:40:10,510 έτσι ώστε να γνωρίζουν αυτό το αρχείο η ανάγνωση και επεξεργασία. 2273 01:40:10,510 --> 01:40:13,850 Και τότε με αυτόν τον τρόπο, αν η διαδικασία πεθαίνει και επανέρχεται σε απευθείας σύνδεση, 2274 01:40:13,850 --> 01:40:17,940 μπορεί να συνεχίσει ακριβώς εκεί που απογειώθηκε. 2275 01:40:17,940 --> 01:40:20,850 >> Γι 'αυτό και χρησιμοποιούν αυτό για αντιγραφής cross-περιοχή. 2276 01:40:20,850 --> 01:40:24,680 Πολλοί πελάτες έχουν την ανάγκη να μετακίνηση δεδομένων ή τμημάτων τους πίνακες δεδομένων 2277 01:40:24,680 --> 01:40:25,920 γύρω στις διάφορες περιοχές. 2278 01:40:25,920 --> 01:40:29,230 Υπάρχουν εννέα περιφέρειες σε όλο τον κόσμο. 2279 01:40:29,230 --> 01:40:32,100 Έτσι, ίσως να υπάρξει μια need-- μου θα μπορούσαν να έχουν οι χρήστες στην Ασία, οι χρήστες 2280 01:40:32,100 --> 01:40:34,150 στην Ανατολική Ακτή των Ηνωμένων Πολιτειών. 2281 01:40:34,150 --> 01:40:38,980 Έχουν διαφορετικά δεδομένα τα οποία θα πρέπει να διανέμονται τοπικά. 2282 01:40:38,980 --> 01:40:42,510 Και ίσως ένας χρήστης πετά από Την Ασία προς τις Ηνωμένες Πολιτείες, 2283 01:40:42,510 --> 01:40:45,020 και θέλω να αναπαράγουν τα στοιχεία του μαζί του. 2284 01:40:45,020 --> 01:40:49,340 Έτσι, όταν παίρνει από το αεροπλάνο, που έχει μια καλή εμπειρία χρησιμοποιώντας το κινητό του app. 2285 01:40:49,340 --> 01:40:52,360 >> Μπορείτε να χρησιμοποιήσετε τη διασυνοριακή περιοχή βιβλιοθήκη αντιγραφής για να γίνει αυτό. 2286 01:40:52,360 --> 01:40:55,730 Βασικά έχουμε παρέχονται δύο τεχνολογίες. 2287 01:40:55,730 --> 01:40:59,400 Ένα είναι μια εφαρμογή κονσόλας μπορείτε σηκωθούν για τη δική σας περίπτωση EC2. 2288 01:40:59,400 --> 01:41:01,240 Τρέχει καθαρή αντιγραφή. 2289 01:41:01,240 --> 01:41:02,720 Και τότε σας έδωσε τη βιβλιοθήκη. 2290 01:41:02,720 --> 01:41:06,070 Η βιβλιοθήκη που μπορείτε να χρησιμοποιήσετε για να χτίσετε τη δική σας εφαρμογή, αν 2291 01:41:06,070 --> 01:41:10,740 θέλουν να κάνουν τρελά πράγματα με το ότι data-- φίλτρο, αναπαράγουν μόνο μέρος της, 2292 01:41:10,740 --> 01:41:14,120 περιστρέψετε τα δεδομένα, μετακινήστε το σε μια διαφορετικά τραπέζι, ούτω καθεξής και ούτω καθεξής. 2293 01:41:14,120 --> 01:41:18,700 2294 01:41:18,700 --> 01:41:20,520 Έτσι, αυτό είναι το είδος του τι μοιάζει. 2295 01:41:20,520 --> 01:41:23,690 >> DynamoDB ρεύματα μπορούν να επεξεργασία από αυτό που ονομάζουμε Λάμδα. 2296 01:41:23,690 --> 01:41:27,394 Είπαμε λίγο για εκδήλωση οδηγείται αρχιτεκτονικές εφαρμογών. 2297 01:41:27,394 --> 01:41:28,810 Λ είναι μια βασική συνιστώσα αυτού. 2298 01:41:28,810 --> 01:41:32,840 Λάμδα είναι ο κωδικός που οι πυρκαγιές στη ζήτηση σε απάντηση σε ένα συγκεκριμένο γεγονός. 2299 01:41:32,840 --> 01:41:36,020 Ένα από αυτά τα γεγονότα θα μπορούσαν να είναι μια ρεκόρ που εμφανίζονται στη ροή. 2300 01:41:36,020 --> 01:41:39,100 Εάν μια εγγραφή εμφανίζεται στο ρεύμα, θα καλέσουμε αυτή τη λειτουργία Java. 2301 01:41:39,100 --> 01:41:44,980 Λοιπόν, αυτή είναι η JavaScript, και Λάμδα υποστηρίζει Node.js, Java, Python, 2302 01:41:44,980 --> 01:41:47,820 και θα υποστηρίξει σύντομα άλλες γλώσσες. 2303 01:41:47,820 --> 01:41:50,940 Και αρκεί να πούμε, ότι είναι καθαρό κώδικα. 2304 01:41:50,940 --> 01:41:53,610 Γράψτε στο Java, πρέπει να ορίσετε μια κατηγορία. 2305 01:41:53,610 --> 01:41:55,690 Μπορείτε να ωθήσει το βάζο επάνω σε Λάμδα. 2306 01:41:55,690 --> 01:42:00,200 Και τότε θα καθορίσετε ποια κατηγορία να καλέσει ως απάντηση στην οποία περίπτωση. 2307 01:42:00,200 --> 01:42:04,770 Και τότε η υποδομή Λάμδα πίσω από ότι θα τρέξει τον εν λόγω κώδικα. 2308 01:42:04,770 --> 01:42:06,730 >> Αυτός ο κώδικας μπορεί να επεξεργαστεί αρχεία έξω από το ρεύμα. 2309 01:42:06,730 --> 01:42:08,230 Μπορεί να κάνει οτιδήποτε θέλει με αυτό. 2310 01:42:08,230 --> 01:42:11,650 Σε αυτό το συγκεκριμένο παράδειγμα, όλοι είμαστε κάνει πραγματικά είναι η υλοτομία τα χαρακτηριστικά. 2311 01:42:11,650 --> 01:42:13,480 Αλλά αυτό είναι μόνο κωδικό. 2312 01:42:13,480 --> 01:42:15,260 Κωδικός μπορεί να κάνει τίποτα, σωστά; 2313 01:42:15,260 --> 01:42:16,600 >> Έτσι, μπορείτε να περιστρέψετε τα δεδομένα. 2314 01:42:16,600 --> 01:42:18,160 Μπορείτε να δημιουργήσετε ένα παράγωγο άποψη. 2315 01:42:18,160 --> 01:42:21,160 Εάν είναι μια δομή του εγγράφου, μπορείτε να ισοπεδώνω τη δομή. 2316 01:42:21,160 --> 01:42:24,300 Μπορείτε να δημιουργήσετε εναλλακτική ευρετήρια. 2317 01:42:24,300 --> 01:42:27,100 Όλα τα είδη των πραγμάτων που μπορείτε να κάνει με τις DynamoDB ρεύματα. 2318 01:42:27,100 --> 01:42:28,780 >> Και πραγματικά, αυτό είναι ό, τι αυτό μοιάζει. 2319 01:42:28,780 --> 01:42:29,940 Έτσι, μπορείτε να πάρετε τις ενημερωμένες εκδόσεις που έρχονται. 2320 01:42:29,940 --> 01:42:31,190 Έρχονται από το κορδόνι. 2321 01:42:31,190 --> 01:42:32,720 Είναι διαβάσει από τη λειτουργία Λάμδα. 2322 01:42:32,720 --> 01:42:37,480 Είναι εκ περιτροπής τα δεδομένα και ωθώντας επάνω σε παράγωγα πίνακες, 2323 01:42:37,480 --> 01:42:42,200 κοινοποίηση εξωτερικά συστήματα της αλλαγής, και σπρώχνοντας δεδομένα σε ElastiCache. 2324 01:42:42,200 --> 01:42:45,900 >> Μιλήσαμε για το πώς να βάλει τη μνήμη cache μπροστά από το εν λόγω βάσης δεδομένων για τις πωλήσεις 2325 01:42:45,900 --> 01:42:46,450 σενάριο. 2326 01:42:46,450 --> 01:42:50,049 Λοιπόν, τι θα συμβεί εάν ενημερώσετε την περιγραφή του στοιχείου; 2327 01:42:50,049 --> 01:42:52,340 Λοιπόν, αν είχα ένα λάμδα Λειτουργία τρέχει στον εν λόγω πίνακα, 2328 01:42:52,340 --> 01:42:55,490 αν μπορώ να ενημερώσω την περιγραφή του είδους, αυτό θα σηκώστε το ρεκόρ έξω από το ρεύμα, 2329 01:42:55,490 --> 01:42:58,711 και θα ενημερώσει το ElastiCache παράδειγμα με τα νέα δεδομένα. 2330 01:42:58,711 --> 01:43:00,460 Οπότε αυτό είναι ένα πολύ τι κάνουμε με λάμδα. 2331 01:43:00,460 --> 01:43:02,619 Είναι κώδικα κόλλα, συνδετήρες. 2332 01:43:02,619 --> 01:43:04,410 Και αυτό δίνει πραγματικά η δυνατότητα να ξεκινήσει 2333 01:43:04,410 --> 01:43:07,930 και να τρέχει πολύ σύνθετες εφαρμογές χωρίς αποκλειστικό διακομιστή 2334 01:43:07,930 --> 01:43:10,371 υποδομή, η οποία είναι πραγματικά δροσερό. 2335 01:43:10,371 --> 01:43:13,100 >> Ας πάμε πίσω στο μας σε πραγματικό χρόνο αρχιτεκτονική ψήφου. 2336 01:43:13,100 --> 01:43:17,984 Αυτό είναι νέο και βελτιωμένο με μας ρέματα και KCL ενεργοποιημένη εφαρμογή. 2337 01:43:17,984 --> 01:43:20,150 Ίδια όπως και πριν, μπορούμε χειριστεί οποιαδήποτε κλίμακα των εκλογών. 2338 01:43:20,150 --> 01:43:21,100 Μας αρέσει αυτό. 2339 01:43:21,100 --> 01:43:24,770 Κάνουμε έξω συγκεντρώνει διασποράς σε πολλούς κουβάδες. 2340 01:43:24,770 --> 01:43:26,780 Έχουμε αισιόδοξο κλείδωμα συμβαίνει. 2341 01:43:26,780 --> 01:43:30,192 Μπορούμε να κρατήσει τους ψηφοφόρους μας από την αλλαγή του εκλογικού τους δικαιώματος. 2342 01:43:30,192 --> 01:43:31,400 Μπορούν μόνο να ψηφίσει μόνο μία φορά. 2343 01:43:31,400 --> 01:43:32,880 Αυτό είναι φανταστικό. 2344 01:43:32,880 --> 01:43:35,895 Σε πραγματικό χρόνο ανοχή σε σφάλματα, επεκτάσιμη συνάθροιση τώρα. 2345 01:43:35,895 --> 01:43:38,270 Αν το πράγμα πέφτει πάνω, το ξέρει πού να επανεκκινήσετε τον ίδιο 2346 01:43:38,270 --> 01:43:41,300 όταν πρόκειται για αντίγραφα ασφαλείας, επειδή είμαστε χρησιμοποιώντας την εφαρμογή KCL. 2347 01:43:41,300 --> 01:43:45,700 Και τότε μπορούμε επίσης να χρησιμοποιήσουμε Εφαρμογή KCL να ωθήσει τα δεδομένα από 2348 01:43:45,700 --> 01:43:48,820 με ερυθρή μετατόπιση για άλλους analytics app, ή χρήση 2349 01:43:48,820 --> 01:43:51,990 Η ελαστική MapReduce να τρέξει σε πραγματικό χρόνο ροής συναθροίσεις εκτός 2350 01:43:51,990 --> 01:43:53,180 των εν λόγω δεδομένων. 2351 01:43:53,180 --> 01:43:55,480 >> Έτσι, αυτά είναι πράγματα που δεν έχω μιλήσει για πολύ. 2352 01:43:55,480 --> 01:43:57,375 Αλλά είναι συμπληρωματικές τεχνολογίες που έρχονται 2353 01:43:57,375 --> 01:44:00,310 να φέρει όταν ψάχνετε σε αυτούς τους τύπους των σεναρίων. 2354 01:44:00,310 --> 01:44:03,160 >> Εντάξει, έτσι ώστε να είναι περίπου analytics με DynamoDB ρεύματα. 2355 01:44:03,160 --> 01:44:05,340 Μπορείτε να συλλέξετε de-κοροϊδεύω δεδομένα, κάνουμε όλα τα είδη 2356 01:44:05,340 --> 01:44:09,490 ωραία πράγματα, τα συγκεντρωτικά δεδομένα μνήμη, τη δημιουργία αυτών των πινάκων παράγωγο. 2357 01:44:09,490 --> 01:44:13,110 Αυτό είναι μια τεράστια υπόθεση χρήσης ότι πολλοί πελάτες 2358 01:44:13,110 --> 01:44:16,950 συμμετέχουν, παίρνοντας το ένθετο ιδιότητες των εν λόγω εγγράφων JSON 2359 01:44:16,950 --> 01:44:18,946 και τη δημιουργία πρόσθετων δεικτών. 2360 01:44:18,946 --> 01:44:21,680 2361 01:44:21,680 --> 01:44:23,150 >> Είμαστε στο τέλος. 2362 01:44:23,150 --> 01:44:26,689 Σας ευχαριστούμε για την κάλυψη μαζί μου. 2363 01:44:26,689 --> 01:44:28,480 Ας μιλήσουμε για αρχιτεκτονική αναφοράς. 2364 01:44:28,480 --> 01:44:33,440 DynamoDB βρίσκεται στη μέση του, έτσι μεγάλο μέρος της υποδομής AWS. 2365 01:44:33,440 --> 01:44:37,090 Βασικά μπορείτε να το συνδέσετε μέχρι ό, τι θέλετε. 2366 01:44:37,090 --> 01:44:45,600 Εφαρμογές που έχουν δημιουργηθεί χρησιμοποιώντας Ντιναμό περιλαμβάνουν Λάμδα, ElastiCache, CloudSearch, 2367 01:44:45,600 --> 01:44:49,890 ωθήσει τα δεδομένα έξω σε ελαστική MapReduce, εισαγωγές εξαγωγές από DynamoDB 2368 01:44:49,890 --> 01:44:52,370 σε S3, όλα τα είδη των ροών εργασίας. 2369 01:44:52,370 --> 01:44:54,120 Αλλά ίσως το καλύτερο πράγμα που πρέπει να μιλήσουμε για, 2370 01:44:54,120 --> 01:44:56,119 και αυτό είναι ό, τι είναι πραγματικά ενδιαφέρον είναι όταν εμείς 2371 01:44:56,119 --> 01:44:58,350 μιλάμε για περίπτωση με γνώμονα τις εφαρμογές. 2372 01:44:58,350 --> 01:45:00,300 >> Αυτό είναι ένα παράδειγμα του ένα εσωτερικό σχέδιο 2373 01:45:00,300 --> 01:45:04,850 ότι έχουμε όταν στην πραγματικότητα είμαστε εκδοτική να συγκεντρωθούν τα αποτελέσματα της έρευνας. 2374 01:45:04,850 --> 01:45:07,700 Έτσι, σε ένα σύνδεσμο ηλεκτρονικού ταχυδρομείου που στέλνουμε έξω, θα υπάρξει 2375 01:45:07,700 --> 01:45:11,350 είναι λίγο σύνδεσμο λέγοντας κλικ εδώ για να απαντήσουν στα ερωτηματολόγια. 2376 01:45:11,350 --> 01:45:14,070 Και όταν κάποιος κάνει κλικ ο σύνδεσμος, τι συμβαίνει 2377 01:45:14,070 --> 01:45:18,020 Είναι αυτοί γκρεμίζουν ένα ασφαλές Έντυπο της έρευνας HTML από το S3. 2378 01:45:18,020 --> 01:45:18,980 Δεν υπάρχει διακομιστή. 2379 01:45:18,980 --> 01:45:20,600 Αυτό είναι απλά ένα αντικείμενο S3. 2380 01:45:20,600 --> 01:45:22,770 >> Το έντυπο αυτό έρχεται, φορτώνει στο πρόγραμμα περιήγησης. 2381 01:45:22,770 --> 01:45:24,240 Είναι πήρε Backbone. 2382 01:45:24,240 --> 01:45:30,160 Είναι πήρε συγκρότημα JavaScript ότι τρέχει. 2383 01:45:30,160 --> 01:45:33,557 Έτσι είναι πολύ πλούσια εφαρμογή εκτελείται στον browser του πελάτη. 2384 01:45:33,557 --> 01:45:36,390 Δεν ξέρουν ότι δεν είναι αλληλεπιδρά με ένα πίσω άκρο του διακομιστή. 2385 01:45:36,390 --> 01:45:38,220 Σε αυτό το σημείο, είναι όλα του προγράμματος περιήγησης. 2386 01:45:38,220 --> 01:45:41,780 >> Θα δημοσιεύσει τα αποτελέσματα σε ό, τι καλούμε το API πύλη του Αμαζονίου. 2387 01:45:41,780 --> 01:45:46,270 API Gateway είναι απλά ένα web API ότι μπορείτε να ορίσετε και να συνδέω 2388 01:45:46,270 --> 01:45:47,760 σε ό, τι θέλετε. 2389 01:45:47,760 --> 01:45:50,990 Στη συγκεκριμένη περίπτωση, είμαστε συνδεδεμένο με μια λειτουργία Lambda. 2390 01:45:50,990 --> 01:45:54,797 >> Έτσι ώστε η λειτουργία POST μου συμβαίνει με κανένα διακομιστή. 2391 01:45:54,797 --> 01:45:56,380 Βασικά ότι API πύλη κάθεται εκεί. 2392 01:45:56,380 --> 01:45:58,770 Μου κοστίζει τίποτα μέχρι οι άνθρωποι Αρχίστε να υποβάλλετε σε αυτό, έτσι δεν είναι; 2393 01:45:58,770 --> 01:46:00,269 Η λειτουργία Lambda κάθεται ακριβώς εκεί. 2394 01:46:00,269 --> 01:46:03,760 Και αυτό μου κοστίζει τίποτα μέχρι άνθρωποι αρχίζουν το χτύπημα. 2395 01:46:03,760 --> 01:46:07,270 Έτσι μπορείτε να δείτε, καθώς ο όγκος αυξήσεις, ότι όταν έρθουν οι χρεώσεις. 2396 01:46:07,270 --> 01:46:09,390 Δεν είμαι λειτουργία ενός διακομιστή 7/24. 2397 01:46:09,390 --> 01:46:12,310 >> Γι 'αυτό και τραβήξτε τη μορφή κάτω από τον κάδο, 2398 01:46:12,310 --> 01:46:15,719 και εγώ μετά μέσω του API Πύλη στη λειτουργία Λάμδα. 2399 01:46:15,719 --> 01:46:17,510 Και τότε ο Lambda Λειτουργία λέει, ξέρετε 2400 01:46:17,510 --> 01:46:20,600 τι, έχω κάποιες PIIs, μερικοί προσωπικά στοιχεία 2401 01:46:20,600 --> 01:46:21,480 σε αυτές τις απαντήσεις. 2402 01:46:21,480 --> 01:46:23,020 Πήρα τα σχόλια που προέρχονται από τους χρήστες. 2403 01:46:23,020 --> 01:46:24,230 Έχω διευθύνσεις ηλεκτρονικού ταχυδρομείου. 2404 01:46:24,230 --> 01:46:26,190 Έχω ονόματα. 2405 01:46:26,190 --> 01:46:27,810 >> Επιτρέψτε μου να χωρίσει αυτό μακριά. 2406 01:46:27,810 --> 01:46:30,280 Πάω να δημιουργήσει κάποια μεταδεδομένα από αυτό το ρεκόρ. 2407 01:46:30,280 --> 01:46:32,850 Και Πάω να πιέσει το μεταδεδομένα σε DynamoDB. 2408 01:46:32,850 --> 01:46:36,059 Και θα μπορούσα να κρυπτογραφήσει όλα τα δεδομένα και να ωθήσει στο DynamoDB αν θέλω. 2409 01:46:36,059 --> 01:46:38,600 Αλλά είναι πιο εύκολο για μένα, σε αυτό το χρησιμοποιήστε την περίπτωση, για να προχωρήσει μια ας πούμε, 2410 01:46:38,600 --> 01:46:42,800 Πάω να ωθήσει την πρωτογενή δεδομένα σε ένα κρυπτογραφημένο S3 κάδου. 2411 01:46:42,800 --> 01:46:47,240 Έτσι μπορώ να χρησιμοποιήσω χτισμένο στην πλαγιά του server S3 κρυπτογράφησης και διαχείρισης κλειδιού της Amazon 2412 01:46:47,240 --> 01:46:51,600 Υπηρεσία έτσι ώστε να έχω ένα κλειδί που μπορεί να περιστραφεί σε τακτά χρονικά διαστήματα, 2413 01:46:51,600 --> 01:46:55,010 και μπορώ να προστατεύσουν τα δεδομένα ΠΑΠ ως μέρος όλης αυτής της ροής εργασίας. 2414 01:46:55,010 --> 01:46:55,870 >> Λοιπόν, τι έκανα; 2415 01:46:55,870 --> 01:47:00,397 Έχω μόλις αναπτυχθεί μια ολόκληρη εφαρμογή, και δεν έχω κανένα server. 2416 01:47:00,397 --> 01:47:02,980 Έτσι, είναι ό, τι εκδήλωση γνώμονα την εφαρμογή αρχιτεκτονική κάνει για σας. 2417 01:47:02,980 --> 01:47:05,730 >> Τώρα, αν το σκεφτείτε η περίπτωση χρήσης για this-- 2418 01:47:05,730 --> 01:47:08,730 έχουμε άλλους πελάτες μιλάω περίπου σ 'αυτή ακριβώς την αρχιτεκτονική που 2419 01:47:08,730 --> 01:47:14,560 τρέχει φαινομενικά μεγάλες εκστρατείες, που εξετάζουμε αυτό και φεύγουν, Θεέ μου. 2420 01:47:14,560 --> 01:47:17,840 Επειδή τώρα, μπορούν να Βασικά ωθήσει εκεί έξω, 2421 01:47:17,840 --> 01:47:21,900 ας ότι η εκστρατεία κάτσε εκεί μέχρι να λανσάρει, και δεν 2422 01:47:21,900 --> 01:47:24,400 έχετε να ανησυχείτε για ένα σύκο τι είδους υποδομή 2423 01:47:24,400 --> 01:47:26,120 πρόκειται να είναι εκεί για να την υποστηρίξει. 2424 01:47:26,120 --> 01:47:28,600 Και στη συνέχεια το συντομότερο ότι η εκστρατεία γίνεται, 2425 01:47:28,600 --> 01:47:31,520 είναι σαν την υποδομή μόλις πηγαίνει αμέσως μακριά 2426 01:47:31,520 --> 01:47:33,680 γιατί πραγματικά εκεί δεν είναι υποδομών. 2427 01:47:33,680 --> 01:47:35,660 Είναι απλά κώδικα που βρίσκεται στην Λ. 2428 01:47:35,660 --> 01:47:38,560 Είναι απλά τα δεδομένα που κάθεται στο DynamoDB. 2429 01:47:38,560 --> 01:47:41,340 Είναι ένας καταπληκτικός τρόπος για τη δημιουργία εφαρμογών. 2430 01:47:41,340 --> 01:47:43,970 >> Κοινό: Έτσι είναι πιο εφήμερη από ό, τι θα ήταν 2431 01:47:43,970 --> 01:47:45,740 αν ήταν αποθηκευμένα σε ένα πραγματικό server; 2432 01:47:45,740 --> 01:47:46,823 >> RICK Houlihan: Απολύτως. 2433 01:47:46,823 --> 01:47:49,190 Επειδή εκείνη την περίπτωση σέρβερ θα πρέπει να είναι 7/24. 2434 01:47:49,190 --> 01:47:51,954 Πρέπει να είναι διαθέσιμο για κάποιος να ανταποκριθεί. 2435 01:47:51,954 --> 01:47:52,620 Λοιπόν μαντέψτε τι; 2436 01:47:52,620 --> 01:47:55,410 S3 είναι διαθέσιμη 7/24. 2437 01:47:55,410 --> 01:47:57,100 S3 ανταποκρίνεται πάντα. 2438 01:47:57,100 --> 01:47:59,320 Και S3 είναι πολύ, πολύ καλό να εξυπηρετήσει τα αντικείμενα. 2439 01:47:59,320 --> 01:48:02,590 Αυτά τα αντικείμενα μπορεί να είναι αρχεία HTML, ή JavaScript αρχεία, ή οτιδήποτε άλλο θέλετε. 2440 01:48:02,590 --> 01:48:07,430 Μπορείτε να τρέχουν πολύ πλούσιες εφαρμογές web από S3 κουβάδες, και οι άνθρωποι κάνουν. 2441 01:48:07,430 --> 01:48:10,160 >> Και έτσι αυτή είναι η ιδέα εδώ είναι να ξεφύγουμε από τον τρόπο 2442 01:48:10,160 --> 01:48:11,270 θα χρησιμοποιηθούν για να το σκεφτώ. 2443 01:48:11,270 --> 01:48:14,270 Είμαστε όλοι χρησιμοποιούνται για να σκεφτόμαστε όρους των servers και φιλοξενεί. 2444 01:48:14,270 --> 01:48:16,580 Δεν είναι γι 'αυτό πια. 2445 01:48:16,580 --> 01:48:19,310 Πρόκειται για την υποδομή ως κωδικός. 2446 01:48:19,310 --> 01:48:22,470 Αναπτύξτε τον κώδικα στο cloud και αφήστε το σύννεφο που τρέχει για εσάς. 2447 01:48:22,470 --> 01:48:24,980 Και αυτό είναι ό, τι AWS προσπαθεί να κάνει. 2448 01:48:24,980 --> 01:48:29,690 >> Κοινό: Έτσι κουτί χρυσό στη μέση του API πύλη δεν είναι server-όπως, 2449 01:48:29,690 --> 01:48:30,576 αλλά, αντίθετα, είναι just-- 2450 01:48:30,576 --> 01:48:32,850 >> RICK Houlihan: Μπορείτε να σκεφτείτε από το ως πρόσοψη του server. 2451 01:48:32,850 --> 01:48:38,040 Όλα είναι είναι ότι θα πάρετε μια HTTP να ζητήσει και να χαρτογραφήσει σε μια άλλη διαδικασία. 2452 01:48:38,040 --> 01:48:39,192 Αυτό είναι το μόνο που κάνει. 2453 01:48:39,192 --> 01:48:41,525 Και σε αυτή την περίπτωση, είμαστε χαρτογράφηση αυτό σε μια λειτουργία Lambda. 2454 01:48:41,525 --> 01:48:44,119 2455 01:48:44,119 --> 01:48:45,410 Εντάξει, έτσι ώστε να είναι όλα πήρα. 2456 01:48:45,410 --> 01:48:46,190 Ευχαριστώ πολύ. 2457 01:48:46,190 --> 01:48:46,800 Το εκτιμώ. 2458 01:48:46,800 --> 01:48:48,100 Ξέρω ότι θέλουμε λίγο την πάροδο του χρόνου. 2459 01:48:48,100 --> 01:48:49,980 Και ελπίζω σας παιδιά πήρα ένα μικρό κομμάτι των πληροφοριών 2460 01:48:49,980 --> 01:48:51,410 ότι μπορείτε να πάρετε μακριά σήμερα. 2461 01:48:51,410 --> 01:48:53,520 Και ζητώ συγγνώμη αν πήγα πάνω από τα κεφάλια μερικών από σας, 2462 01:48:53,520 --> 01:48:56,697 αλλά υπάρχει μια καλή πολλά θεμελιώδη θεμελιώδη γνώση 2463 01:48:56,697 --> 01:48:58,280 Νομίζω ότι είναι πολύ πολύτιμη για εσάς. 2464 01:48:58,280 --> 01:48:59,825 Έτσι, σας ευχαριστώ που μου. 2465 01:48:59,825 --> 01:49:00,325 [ΧΕΙΡΟΚΡΟΤΉΜΑΤΑ] 2466 01:49:00,325 --> 01:49:02,619 Κοινό: [δεν ακούγεται] είναι όταν λέγατε 2467 01:49:02,619 --> 01:49:05,160 θα έπρεπε να περάσει μέσα από το πράγμα από την αρχή μέχρι το τέλος 2468 01:49:05,160 --> 01:49:07,619 να πάρει τις σωστές τιμές ή τις ίδιες αξίες, 2469 01:49:07,619 --> 01:49:09,410 πώς θα ήταν οι τιμές να αλλάξει αν [δεν ακούγεται]. 2470 01:49:09,410 --> 01:49:10,480 >> RICK Houlihan: Ω, idempotent; 2471 01:49:10,480 --> 01:49:11,800 Πώς θα αλλάξουν οι τιμές; 2472 01:49:11,800 --> 01:49:15,180 Λοιπόν, γιατί αν δεν είχα τρέξει όλη τη διαδρομή μέχρι το τέλος, 2473 01:49:15,180 --> 01:49:19,770 τότε δεν ξέρω τι αλλάζει έγιναν το τελευταίο μίλι. 2474 01:49:19,770 --> 01:49:22,144 Δεν πρόκειται να είναι η ίδια στοιχεία με αυτά που είδα. 2475 01:49:22,144 --> 01:49:24,560 Κοινό: Ω, έτσι απλά δεν έχουν πάρει το σύνολο των εισροών. 2476 01:49:24,560 --> 01:49:24,770 RICK Houlihan: Δεξιά. 2477 01:49:24,770 --> 01:49:26,895 Θα πρέπει να πάμε από την αρχή μέχρι το τέλος, και τότε είναι 2478 01:49:26,895 --> 01:49:29,280 πρόκειται να είναι μια σταθερή κατάσταση. 2479 01:49:29,280 --> 01:49:31,520 Δροσερός. 2480 01:49:31,520 --> 01:49:35,907 >> Κοινό: Έτσι μας έδειξε DynamoDB μπορεί να κάνει έγγραφο ή την τιμή του κλειδιού. 2481 01:49:35,907 --> 01:49:38,740 Και περάσαμε πολύ χρόνο στο βασική αξία με ένα hash και τους τρόπους 2482 01:49:38,740 --> 01:49:40,005 για να αναστρέψετε γύρω. 2483 01:49:40,005 --> 01:49:43,255 Όταν κοίταξε τους πίνακες αυτούς, είναι ότι αφήνοντας πίσω την προσέγγιση του εγγράφου; 2484 01:49:43,255 --> 01:49:44,600 >> RICK Houlihan: Δεν θα λένε αφήνοντας πίσω. 2485 01:49:44,600 --> 01:49:45,855 >> Κοινό: Είχαν διαχωριστεί από the-- 2486 01:49:45,855 --> 01:49:49,140 >> RICK Houlihan: Με το έγγραφο προσέγγιση, το είδος του εγγράφου στο DynamoDB 2487 01:49:49,140 --> 01:49:50,880 Είναι απλά σκεφτείτε ως μια άλλη ιδιότητα. 2488 01:49:50,880 --> 01:49:53,560 Είναι ένα χαρακτηριστικό που περιέχει μια ιεραρχική δομή δεδομένων. 2489 01:49:53,560 --> 01:49:56,980 Και στη συνέχεια, τα ερωτήματα, μπορείτε να χρησιμοποιήσετε τις ιδιότητες 2490 01:49:56,980 --> 01:49:59,480 των εν λόγω αντικειμένων με χρήση Object Notation. 2491 01:49:59,480 --> 01:50:03,562 Γι 'αυτό και μπορεί να φιλτράρει σε ένθετο ιδιοκτησία του εγγράφου JSON. 2492 01:50:03,562 --> 01:50:05,520 Κοινό: Έτσι, κάθε φορά που κάνει μια προσέγγιση έγγραφο, 2493 01:50:05,520 --> 01:50:07,906 I είδος μπορεί να φτάσει στο tabular-- 2494 01:50:07,906 --> 01:50:08,780 Κοινό: Απολύτως. 2495 01:50:08,780 --> 01:50:09,800 Κοινό: --indexes και πράγματα που μόλις μίλησα. 2496 01:50:09,800 --> 01:50:11,280 RICK Houlihan: Ναι, η ευρετήρια και όλα αυτά, 2497 01:50:11,280 --> 01:50:13,363 όταν θέλετε να το δείκτη ιδιότητες του JSON, 2498 01:50:13,363 --> 01:50:18,230 Ο τρόπος που θα πρέπει να το κάνουμε αυτό, αν είναι μπορείτε να εισαγάγετε ένα αντικείμενο JSON ή ένα έγγραφο 2499 01:50:18,230 --> 01:50:20,780 στην Ντιναμό, που θα χρησιμοποιήσετε ρεύματα. 2500 01:50:20,780 --> 01:50:22,400 Ρεύματα θα διαβάζει τα δεδομένα. 2501 01:50:22,400 --> 01:50:24,340 Θα παίρνατε ότι JSON αντιρρήσεις και θέλετε να πούμε, εντάξει, 2502 01:50:24,340 --> 01:50:26,030 ποια είναι η περιουσία που θέλω στο ευρετήριο; 2503 01:50:26,030 --> 01:50:28,717 >> Μπορείτε να δημιουργήσετε ένα παράγωγο πίνακα. 2504 01:50:28,717 --> 01:50:30,300 Τώρα αυτός είναι ο τρόπος που λειτουργεί αυτή τη στιγμή. 2505 01:50:30,300 --> 01:50:32,650 Εμείς δεν σας επιτρέπουν να δείκτη άμεσα αυτές τις ιδιότητες. 2506 01:50:32,650 --> 01:50:33,520 >> Κοινό: Tabularizing τα έγγραφά σας. 2507 01:50:33,520 --> 01:50:36,230 >> RICK Houlihan: Ακριβώς, ισοπεδώνοντας αυτό, tabularizing, ακριβώς. 2508 01:50:36,230 --> 01:50:37,415 Αυτό είναι ό, τι κάνετε με αυτό. 2509 01:50:37,415 --> 01:50:37,860 >> Κοινό: Σας ευχαριστώ. 2510 01:50:37,860 --> 01:50:39,609 >> RICK Houlihan: Ναι, απολύτως, σας ευχαριστώ. 2511 01:50:39,609 --> 01:50:42,240 Κοινό: Έτσι είναι το είδος του Mongo συναντά Redis classifers. 2512 01:50:42,240 --> 01:50:43,990 >> RICK Houlihan: Ναι, είναι πολλά σαν αυτό. 2513 01:50:43,990 --> 01:50:45,940 Αυτό είναι μια καλή περιγραφή για αυτό. 2514 01:50:45,940 --> 01:50:47,490 Δροσερός. 2515 01:50:47,490 --> 01:50:49,102