MOTORI DI RICERCA E DATABASE RELAZIONALI

Lo scopo principale di questo articolo è discutere perché abbiamo scelto Solr Search Engine vs. MySQL o qualsiasi altro database relazionale per l’archiviazione, l’indicizzazione e il recupero dei dati.

Recentemente, è stato lanciato un nuovo prodotto INVESTimate da HomeUnion.

INVESTimate sta utilizzando l’apprendimento automatico e l’intelligenza artificiale per aiutare a determinare il potenziale di investimento di una proprietà residenziale.

Quest’ultimo è alimentato da big data su 110 milioni di case e dalla ricerca continua di qualità istituzionale grazie a esperti sul campo con una profonda conoscenza delle condizioni del mercato immobiliare locale.

Dietro le quinte inoltre, ci sono un sacco di dati crunching, provenienti da oltre 50 fonti, e la mappatura dei dati di proprietà chiave con modelli personalizzati PREMI AVM, RENT AVM e Neighborhood Investment Rating (NIR) per oltre 100 milioni di abitazioni e 30.000 + quartieri.

Tutti questi dati sono uniti e indicizzati nel motore di ricerca Apache Solr per la visualizzazione dei dati nel portale di ricerca front-end.

Per capire meglio, è necessario innanzi tutto analizzare le cinque differenze chiave tra motori di ricerca e database relazionali con questa tabella.

Nel nostro caso, Apache Solr è il nostro motore di ricerca scelto e MySQL è il nostro RDBMS:

 

 

Category MySQL Solr
Transaction Capability Supports ACID (Atomicity, Consistency, Isolation, Durability) properties Very less support or no support for ACID
Partitioning Horizontal partitioning and sharding Supports only sharding
Consistency Immediate consistency Eventual consistency
Keys Support primary and foreign key Supports only primary key
Models Relational model Document store

 

 

Ora, diamo un’occhiata a come e dove possiamo utilizzare in modo efficiente RDBMS rispetto a un motore di ricerca assumendo un caso di utilizzo semplice.

Diciamo che un investitore sta cercando un investimento immobiliare a Dallas, con un investimento di $ 150.000 situato vicino alle migliori scuole in un semplice tipo di esperienza guidata. Questo sarebbe un caso d’uso perfetto per una soluzione basata su RDBMS, poiché i risultati desiderati potrebbero essere presentati agli utenti come una serie di query fisse e strutturate sul database.

Per esempio, la query di livello superiore può selezionare tutte le proprietà all’interno di Dallas; quindi, può filtrare proprietà che rientrano in o pari a 150 K e ordinare quest’ultime in base al ranking della scuola all’interno di quel quartiere. L’investitore può finalmente scegliere una proprietà di sua scelta o di suo gradimento.

Prendiamo un caso di uso semplice in cui i motori di ricerca sono molto utili.

Diciamo che un investitore sta cercando un tipo di esperienza di ricerca “testuale”. Egli semplicemente digita: “Trova un investimento immobiliare nell’intervallo di 150.000 con un rendimento dell’8%”. Come sapete, Solr memorizza i dati come documenti e ogni documento rappresenta più campi con valori.I documenti nei motori di ricerca rappresentano un’unità di ricerca e indice, dunque il contenuto testuale sopra presentato dagli utenti viene tokenizzato e abbinato a tutti i documenti e in base alla pertinenza, i rispettivi risultati vengono visualizzati agli utenti.

Ciò consente un’esperienza utente migliore per trovare ciò che gli utenti desiderano in modo rapido ed efficiente.

Uso tecnico?

1) Tutte le proprietà 110M con attributi chiave vengono elaborate e arricchite in un ambiente di grandi quantità di dati. I dati elaborati vengono memorizzati e indicizzati nel Solr Engine su base regolare utilizzando DIH (Data Import Handler) entro 15 minuti;

2) Utilizzo di Solr per ReadOnly per prestazioni migliori.

3) Interfaccia Java creata usando SolrJ per front-end per interagire con Solr Engine. Questo incapsula e disaccoppia completamente dal codice di front-end e consente ai servizi di essere scalabili indipendentemente;

4) L’ HomeUnion Asset Recommendation Engine (HARE) è basato su Solr Engine per la raccomandazione di proprietà e ricerca di portafogli.

5) Riduzione del carico sul database MySQL. Il 90% delle ricerche è servito da un motore Solr ospitato dunque all’interno di AWS, riduce i costi e migliora le prestazioni delle query di oltre l’80%;

 

Autore: dzone.com