Συζήτηση για μοναδικά id στο React
Όπως ήδη γνωρίζετε, σε έναν πίνακα αντικειμένων πρέπει
να υπάρχουν μοναδικά id. Ας
δούμε από πού προέρχονται.
Οι πίνακες αντικειμένων μπορούν να έχουν δύο προελεύσεις: είτε μας έχουν σταλεί από τον διακομιστή, είτε δημιουργήθηκαν στον client (δηλαδή στο πρόγραμμα περιήγησης).
Τα δεδομένα που μας στέλνει ο διακομιστής, γενικά αποθηκεύονταν εκεί σε μια βάση δεδομένων. Οι βάσεις δεδομένων (ΒΔ) είναι είδους SQL (για παράδειγμα, mySQL, PostgreSQL) ή NoSQL (για παράδειγμα, MongoDB).
Οι βάσεις δεδομένων SQL, γενικά έχουν αριθμητικά
id, που ανατίθενται αυτόματα από τη βάση
δεδομένων κατά αύξουσα σειρά.
Οι βάσεις δεδομένων NoSQL, γενικά, έχουν id,
που αντιπροσωπεύουν τυχαίες μοναδικές
συμβολοσειρές. Υποτίθεται ότι αυτές οι συμβολοσειρές δεν
έχουν ταυτότητες (collisions) μεταξύ δύο
στοιχείων του πίνακα.
Η μοναδικότητα των id επιτυγχάνεται χάρη
σε μια αρκετά μεγάλη τυχαία συμβολοσειρά
- τόσο μεγάλη ώστε η πιθανότητα σύμπτωσης
δύο συμβολοσειρών να είναι κοντά στο μηδέν.
Ταυτόχρονα, όσο περισσότερα δεδομένα υπάρχουν στη ΒΔ, τόσο μεγαλύτερη είναι η πιθανότητα σύγκρουσης. Ο στόχος του προγραμματιστή είναι να εκτιμήσει εκ των προτέρων τον όγκο δεδομένων και να καθορίσει το βέλτιστο μήκος των τυχαίων συμβολοσειρών, έτσι ώστε η πιθανότητα συγκρούσεων να είναι ελάχιστη (αρκετά μικρή ώστε να θεωρείται αποδεκτή).