Costruire un mercato di ricarica per veicoli elettrici peer-to-peer
Esplorare il miglior database per una rete di ricarica di veicoli elettrici.
― 12 leggere min
Indice
- Importanza del Mercato Energetico
- Componenti Chiave del Mercato
- Domanda di Ricerca
- Studi Correlati
- Performance Rispetto alla Gestione dei Dati IoT
- Impostazione e Obiettivi dell'Esperimento
- Panoramica del Mercato Energetico
- Infrastruttura del Mercato
- Sfide nella Gestione delle Stazioni di Ricarica
- Necessità di Memorizzazione dei Dati
- Modelli di Database
- Confronto tra Firestore e MySQL
- Middleware GraphQL
- Sperimentazione e Analisi
- Valutazione delle Performance
- Operazioni di Lettura
- Operazioni di Scrittura
- Query Complesse
- Valutazione dei Costi
- Flessibilità e Scalabilità
- Risultati Finali
- Conclusione
- Fonte originale
L'aumento dell'uso dei veicoli elettrici (EV) negli Stati Uniti significa che abbiamo bisogno di più Stazioni di ricarica veloce. A settembre 2023, ci sono circa 33.355 caricabatterie pubblici veloci nel paese, che sono decisamente meno rispetto ai 115.370 distributori di benzina disponibili. Molte persone esitano a passare alle auto elettriche perché temono di rimanere senza batteria durante viaggi lunghi. Questo è particolarmente vero in aree dove le stazioni di ricarica non sono comuni. Un mercato energetico peer-to-peer può aiutare consentendo ai proprietari di case e piccole imprese di affittare le loro stazioni di ricarica.
Una parte fondamentale di questo mercato è la tecnologia che tiene traccia delle sessioni di ricarica e dei dati degli utenti. Questo sistema coinvolge dispositivi Edge – piccoli computer che gestiscono le stazioni di ricarica locali – che inviano informazioni al Cloud, dove vengono memorizzate e elaborate. Gli utenti possono interagire con questo sistema tramite un'interfaccia web. Il modo in cui i dati vengono memorizzati influisce sul costo e sulla velocità di utilizzo del servizio. Tradizionalmente, questo è fatto usando database SQL, che sono ben conosciuti e affidabili. Tuttavia, possono essere difficili da scalare e potrebbero alla fine costare di più nel tempo. Di conseguenza, molti sviluppatori si stanno spostando verso database NoSQL, che sono più facili da espandere e mantenere.
In questo documento, daremo un'occhiata a servizi simili offerti da Google. Confronteremo Google Cloud Firestore, un'opzione NoSQL, con Cloud SQL MySQL, una soluzione SQL relazionale. Valuteremo quale sia migliore per questo mercato energetico esaminando quanto velocemente possono essere acceduti i dati, quanto bene i sistemi possono crescere e i costi complessivi coinvolti.
Importanza del Mercato Energetico
Con la crescente popolarità dei veicoli elettrici, c'è un bisogno urgente di più stazioni di ricarica. Nel 2022, le vendite di EV negli Stati Uniti hanno visto un aumento significativo mentre il mercato automobilistico complessivo è leggermente diminuito. Uno dei problemi più grandi che i potenziali proprietari di EV affrontano è l'ansia da autonomia, ovvero la paura di rimanere senza energia senza un posto dove ricaricare. Anche se molte sessioni di ricarica avvengono a casa, una rete affidabile di caricabatterie pubblici è cruciale per viaggi più lunghi.
Questo mercato consente agli individui di affittare i propri caricabatterie attraverso una piattaforma web. Comprende diverse parti chiave, come i dispositivi Edge, il server, l'interfaccia di programmazione delle applicazioni (API), le Funzioni Cloud e i broker di messaggi. Comprendere come memorizziamo i dati in questo sistema è fondamentale per la nostra ricerca.
Componenti Chiave del Mercato
Un requisito fondamentale per questo mercato energetico è la necessità di memorizzare informazioni sulle stazioni di ricarica e sulle sessioni. Ciò include informazioni sugli utenti, sulla cronologia delle sessioni, sui dettagli di fatturazione, sulle valutazioni degli utenti e sulle attrazioni vicine. Gli utenti dovrebbero poter registrare i caricabatterie, cercarli e gestire facilmente le sessioni di ricarica.
La memorizzazione dei dati deve soddisfare diversi criteri:
- Accesso rapido alle informazioni.
- Capacità di gestire più dati man mano che il mercato cresce.
- Convenienza.
- Flessibilità nel cambiare il modo in cui i dati sono organizzati man mano che vengono aggiunte nuove funzionalità.
Quando gli utenti cercano caricabatterie, vorranno sapere la loro posizione, tipo, valutazioni degli utenti e possibilmente servizi nelle vicinanze come bagni. Pertanto, la capacità di un database di elaborare più condizioni di ricerca contemporaneamente è importante. Se un database può gestire solo poche condizioni, deve restituire un numero elevato di risultati, il che potrebbe rallentare l'esperienza dell'utente.
Un'altra motivazione per esaminare diverse tecnologie di database è la flessibilità e la scalabilità. Man mano che il mercato cresce, ci saranno nuove funzionalità che richiedono ulteriore deposito di dati. Utilizzare uno schema flessibile significa che possiamo cambiare la struttura dei dati senza migrare i dati esistenti. Ad esempio, all'inizio, la piattaforma potrebbe aver bisogno solo di tenere traccia dei dettagli del caricabatterie, ma in seguito potrebbe dover aggiungere profili utente o informazioni di fatturazione. Man mano che più utenti si uniscono al mercato, il sistema deve essere in grado di gestire l'aumento dei dati senza problemi.
Domanda di Ricerca
Tenendo a mente tutti questi requisiti, dobbiamo trovare la migliore soluzione di database per questo mercato energetico. La nostra principale domanda di ricerca è: Google Firestore, un database NoSQL serverless, può soddisfare le esigenze di deposito, costi e flessibilità in un mercato energetico peer-to-peer? Lo analizzeremo attraverso test di confronto con MySQL, che è una soluzione SQL ben consolidata.
Studi Correlati
Ci sono stati studi focalizzati sul confronto tra diversi tipi di database, in particolare nella gestione dei dati dell'Internet delle Cose (IoT). Questi studi forniscono informazioni utili per comprendere come diversi database si comportano in varie condizioni. Altri studi si sono anche concentrati su Firestore e MySQL, fornendoci punti di riferimento da cui partire in questa ricerca.
Performance Rispetto alla Gestione dei Dati IoT
Alcuni studi si sono concentrati sulla latenza del database e sulla dimensione nella gestione di grandi volumi di dati sensoriali IoT. Database come MySQL e MongoDB sono stati testati in varie configurazioni per vedere come si comportano con carichi di lavoro elevati. Questi studi mostrano che, mentre MySQL è affidabile, MongoDB spesso performa meglio grazie alla sua flessibilità nella gestione dei dati.
Nel nostro studio, faremo affidamento su queste conoscenze ma condurremo i nostri test in modo più personalizzato per misurare i tempi di risposta in modo efficace.
Impostazione e Obiettivi dell'Esperimento
Gli obiettivi di questo studio sono i seguenti:
- Misurare i tempi di lettura sia per Firestore che per MySQL.
- Confrontare i costi.
- Indagare quanto sia facile cambiare la struttura dei dati.
- Esaminare quanto bene ciascuna soluzione si espande.
- Valutare come uno strato middleware GraphQL influisce sulle operazioni del client.
Raggiungendo questi obiettivi, miriamo a fornire un quadro chiaro sui punti di forza e di debolezza di Firestore rispetto a MySQL, aiutando a guidare le decisioni future sul framework di Archiviazione Dati del mercato.
Panoramica del Mercato Energetico
La tendenza dei veicoli elettrici è significativa, con oltre 2 milioni di EV registrati negli Stati Uniti alla fine del 2022, che rappresentano ancora solo circa l'1% di tutti i veicoli. Per mantenere il passo con la crescente domanda, abbiamo bisogno di un'infrastruttura di ricarica robusta. Un mercato peer-to-peer consente ai privati di noleggiare stazioni di ricarica, proprio come Airbnb e Uber offrono alternative all'alloggio e al trasporto tradizionali.
Man mano che cresce la domanda per l'infrastruttura di ricarica, individui e aziende si stanno attivando per colmare le lacune. Tuttavia, c'è ancora bisogno di una rete consistente di caricabatterie pubblici per viaggi più lunghi. Questo mercato offre un modo per i proprietari di elencare le loro stazioni di ricarica tramite dispositivi IoT connessi al Cloud.
Infrastruttura del Mercato
I venditori registreranno le loro stazioni di ricarica utilizzando microcontrollori IoT che inviano e ricevono dati tramite il Cloud. Il sistema includerà un broker di messaggi, Funzioni Cloud per la logica di business e un'interfaccia web per gli utenti. Quando un venditore registra una stazione di ricarica, il sistema creerà una voce corrispondente nel database. Gli acquirenti possono quindi cercare caricabatterie all'interno di un'area specifica, prenotarne uno e navigare verso la sua posizione.
La questione di come memorizzare i dati è vitale, in particolare dal momento che potremmo non conoscere tutti i requisiti in anticipo. La struttura del mercato si evolverà. Inizialmente, potremmo aver bisogno di memorizzare solo la cronologia di ricarica di base. Man mano che il mercato si espande, potremmo dover includere dati aggiuntivi come valutazioni degli utenti, disponibilità e informazioni di fatturazione.
Sfide nella Gestione delle Stazioni di Ricarica
Gestire fino a un milione di utenti e caricabatterie significa che il nostro database deve scalare in modo efficace. Nelle prime fasi, potremmo gestire solo un pugno di utenti, ma man mano che cresciamo, il nostro database deve poter accogliere molti di più. I database NoSQL come Firestore si prestano bene a questo tipo di espansione senza necessitare di una gestione complessa.
Quando esaminiamo i nostri obiettivi, dobbiamo considerare i costi insieme alle performance e alla scalabilità. Firestore ha un modello di prezzo pay-per-use che può aiutare a mantenere basse le spese, mentre le soluzioni SQL basate su cloud spesso comportano costi fissi indipendentemente dall'uso.
Necessità di Memorizzazione dei Dati
Prima di entrare nelle performance, dobbiamo definire chiaramente le necessità di memorizzazione dei dati per il nostro mercato energetico:
- Tempi di accesso rapidi per una buona esperienza utente.
- Capacità di scalare man mano che il mercato cresce.
- Economicità.
- Flessibilità nel cambiare il modo in cui i dati sono memorizzati.
Poiché molti utenti cercheranno caricabatterie in base alla posizione e ad altri fattori, quanto bene un database riesca a gestire ricerche complesse è fondamentale. Se un database non può filtrare in base a più criteri, potrebbe rallentare l'esperienza utente restituendo dati non necessari.
Modelli di Database
Firestore opera su un modello di documento flessibile, il che significa che non richiede uno schema fisso. Questa flessibilità consente modifiche più semplici man mano che le nuove funzionalità vengono aggiunte nel tempo. Al contrario, MySQL richiede una struttura predefinita che rende i cambiamenti più complicati.
Ad esempio, se dobbiamo cambiare il modo in cui inseriamo i dati o aggiungere nuovi campi, un database NoSQL potrebbe consentirci di farlo senza necessità di migrazioni complete o di inattività. Quando si ha a che fare con set di dati potenzialmente grandi, l'indipendenza dei documenti di Firestore consente una scalabilità orizzontale efficiente.
Confronto tra Firestore e MySQL
Mentre MySQL si è dimostrato una scelta solida nel corso degli anni, può faticare a stare al passo con i set di dati in rapida crescita. Se il nostro mercato si espande rapidamente, MySQL potrebbe alla fine necessitare di aggiornamenti hardware costosi.
Firestore, d'altra parte, consente al sistema di crescere in modo naturale. Lo store di documenti significa che nuovi campi di dati possono essere aggiunti senza problemi man mano che emergono nuove funzionalità.
Mentre il mercato guadagna utenti, è essenziale mantenere un accesso e una elaborazione dati efficienti. La capacità di gestire più utenti che interrogano i dati simultaneamente è cruciale per il successo della piattaforma.
Middleware GraphQL
GraphQL funge da strato middleware che può semplificare il processo di interrogazione dei dati dal database. Consente richieste che estraggono solo la struttura di dati necessaria. Con GraphQL, possiamo inviare in modo efficiente query che corrispondono ai risultati attesi, minimizzando il lavoro extra necessario dopo aver ricevuto i dati.
L'integrazione di GraphQL può semplificare le operazioni del client, ridurre il recupero di dati non necessari e garantire la sicurezza dei tipi, tutti elementi che semplificano l'interazione tra utenti e database.
Sperimentazione e Analisi
In questa sezione, condurremo valutazioni delle performance sia di Firestore che di MySQL su diversi criteri tra cui:
- Velocità delle operazioni di lettura e scrittura.
- Costo di mantenimento del database.
- Capacità di gestire più funzionalità e necessità di dati in evoluzione.
Per misurare questi aspetti, eseguiremo vari test su entrambi i database per vedere come rispondono in diversi scenari di carico, riflettendo l'uso nella vita reale.
Valutazione delle Performance
Inizieremo esaminando il tempo necessario per eseguire operazioni di base come letture e scritture. Questi dati dovrebbero fornire una base solida per comprendere come ciascun database gestisce le attività quotidiane nel mercato.
Operazioni di Lettura
Sia Firestore che MySQL saranno testati per vedere quanto tempo impiegano a leggere singole e più voci dal database. Questi test evidenzieranno quanto rapidamente gli utenti possono accedere alle informazioni di cui hanno bisogno quando cercano caricabatterie.
Operazioni di Scrittura
Allo stesso modo, valuteremo come ciascun database si comporta quando vengono aggiunti nuovi dati. Questo include la registrazione di nuove stazioni di ricarica e la registrazione dei dati delle sessioni e dei feedback degli utenti.
Query Complesse
Testeremo query complesse che richiedono più condizioni. Firestore potrebbe dover lavorare di più qui, poiché può gestire solo una ricerca per intervallo alla volta. Questa limitazione lo costringe a restituire un insieme di risultati più ampio, il che potrebbe rallentare le performance.
Valutazione dei Costi
Il costo è un elemento essenziale di questa analisi. Mentre Firestore opera su un modello pay-per-action, MySQL richiede una tariffa mensile costante indipendentemente dall'uso. Questo potrebbe significare che per operazioni su scala ridotta, Firestore potrebbe essere la scelta più economica.
Al contrario, man mano che le operazioni crescono e la complessità delle query aumenta, MySQL potrebbe rivelarsi più favorevole dal punto di vista finanziario grazie alle sue capacità continue.
Flessibilità e Scalabilità
La flessibilità di adattarsi ai requisiti in cambiamento è vitale. Firestore consente regolazioni semplici su come sono strutturati i dati, il che significa che gli sviluppatori possono implementare nuove funzionalità senza grandi interruzioni.
Al contrario, lo schema fisso di MySQL richiede migrazioni complesse ogni volta che vengono apportati cambiamenti. Questo potrebbe portare a tempi di inattività significativi e a ulteriore lavoro di sviluppo.
Risultati Finali
In generale, compileremo i risultati dei nostri test per valutare:
- Quale database supporta velocità di lettura e scrittura più rapide.
- Quale offre una migliore esperienza utente date le varie tipologie di query che verranno utilizzate regolarmente.
- Come ciascun database gestisce i costi associati alla memorizzazione e alle transazioni.
Attraverso questi risultati, miriamo a identificare quale database sia l'opzione più adatta per supportare il mercato energetico.
Conclusione
Il mercato energetico peer-to-peer gioca un ruolo vitale nella crescita dell'infrastruttura di ricarica per veicoli elettrici. Man mano che questa tecnologia si evolve, la necessità di sistemi di gestione dei dati efficaci diventa cruciale.
Dopo aver confrontato le due soluzioni di database più importanti, troviamo che ciascuna ha i suoi punti di forza e di debolezza. Firestore offre vantaggi di costo e flessibilità, mentre MySQL eccelle nelle prestazioni con query complesse.
In definitiva, questa analisi aiuta a capire come supportare al meglio il mercato energetico, assicurando agli utenti di veicoli elettrici l'accesso alle risorse di ricarica di cui hanno bisogno, mantenendo un modello operativo sostenibile ed efficiente.
Titolo: Evaluation of NoSQL in the Energy Marketplace with GraphQL Optimization
Estratto: The growing popularity of electric vehicles in the United States requires an ever-expanding infrastructure of commercial DC fast charging stations. The U.S. Department of Energy estimates 33,355 publicly available DC fast charging stations as of September 2023. Range anxiety is an important impediment to the adoption of electric vehicles and is even more relevant in underserved regions in the country. The peer-to-peer energy marketplace helps fill the demand by allowing private home and small business owners to rent their 240 Volt, level-2 charging facilities. The existing, publicly accessible outlets are wrapped with a Cloud-connected microcontroller managing security and charging sessions. These microcontrollers act as Edge devices communicating with a Cloud message broker, while both buyer and seller users interact with the framework via a web-based user interface. The database storage used by the marketplace framework is a key component in both the cost of development and the performance that contributes to the user experience. A traditional storage solution is the SQL database. However, difficulty in scaling across multiple nodes and cost of its server-based compute have resulted in a trend in the last 20 years towards other NoSQL, serverless approaches. In this study, we evaluate the NoSQL vs. SQL solutions through a comparison of Google Cloud Firestore and Cloud SQL MySQL offerings. The comparison pits Google's serverless, document-model, non-relational, NoSQL against the server-base, table-model, relational, SQL service. The evaluation is based on query latency, flexibility/scalability, and cost criteria. Through benchmarking and analysis of the architecture, we determine whether Firestore can support the energy marketplace storage needs and if the introduction of a GraphQL middleware layer can overcome its deficiencies.
Autori: Michael Howard
Ultimo aggiornamento: 2024-03-07 00:00:00
Lingua: English
URL di origine: https://arxiv.org/abs/2403.04935
Fonte PDF: https://arxiv.org/pdf/2403.04935
Licenza: https://creativecommons.org/licenses/by/4.0/
Modifiche: Questa sintesi è stata creata con l'assistenza di AI e potrebbe presentare delle imprecisioni. Per informazioni accurate, consultare i documenti originali collegati qui.
Si ringrazia arxiv per l'utilizzo della sua interoperabilità ad accesso aperto.