Come implementare la funzionalità di completamento automatico per un sito Web di grandi dimensioni? [chiuso]

-2

Sto cercando di implementare una funzionalità di autocompletamento personalizzato per un sito web di viaggi con enormi quantità di dati. Sto pensando di implementarlo usando un trie. Ma come lo gestisco se i dati non possono adattarsi su una singola macchina. Inoltre, come posso ottenere i primi cinque elementi per una query.

    
posta Nikant 08.06.2016 - 09:52
fonte

1 risposta

2

Questo è chiamato sharding in MongoDB e partitioning in SQL Server. Se il sito web utilizza effettivamente "enormi quantità di dati", sharding / partizionamento è già implementato.

Probabilmente potresti voler ripensare a quali dati hai effettivamente bisogno di recuperare, come vengono utilizzati e come li immagazzini. Se esegui il completamento automatico sui nomi dei prodotti, probabilmente non è necessario recuperare le anteprime dei prodotti o la cronologia degli acquisti.

Se ci sono effettivamente terabyte di dati, il completamento automatico potrebbe essere inutile. D'altra parte, se il completamento automatico riguarda un campo specifico come il nome del prodotto o il nome della persona, non riesco a immaginare un caso in cui i dati non si adattano a una singola macchina.

Ad esempio, se esegui il completamento automatico dei nomi delle persone e supponiamo che il nome di una persona media sia lungo 20 caratteri, sette miliardi di persone sulla Terra portano a un massimo di 280.000.000.000 di byte, ovvero circa 280 GB. Su una singola macchina con 2 TB di spazio, puoi memorizzarla sette volte.

    
risposta data 08.06.2016 - 10:19
fonte