Compare commits
2 Commits
4f44cf5c0f
...
216d9ec624
Author | SHA1 | Date | |
---|---|---|---|
216d9ec624 | |||
a4d9689e2d |
56
Biblio.bib
56
Biblio.bib
@@ -1,4 +1,13 @@
|
|||||||
@misc{acestreamAnnouncementStream,
|
@book{10.5555/2544030,
|
||||||
|
author = {Chodorow, Kristina},
|
||||||
|
title = {MongoDB: The Definitive Guide},
|
||||||
|
year = {2013},
|
||||||
|
isbn = {1449344682},
|
||||||
|
publisher = {O'Reilly Media, Inc.},
|
||||||
|
abstract = {Manage the huMongous amount of data collected through your web application with MongoDb. This authoritative introductionwritten by a core contributor to the projectshows you the many advantages of using document-oriented databases, and demonstrates how this reliable, high-performance system allows for almost infinite horizontal scalability. This updated second edition provides guidance for database developers, advanced configuration for system administrators, and an overview of the concepts and use cases for other people on your project. Ideal for NoSql newcomers and experienced MongoDb users alike, this guide provides numerous real-world schema design examples.Get started with MongoDb core concepts and vocabulary Perform basic write operations at different levels of safety and speed Create complex queries, with options for limiting, skipping, and sorting results Design an application that works well with MongoDb Aggregate data, including counting, finding distinct values, grouping documents, and using MapReduce Gather and interpret statistics about your collections and databases Set up replica sets and automatic failover in MongoDb Use sharding to scale horizontally, and learn how it impacts applications Delve into monitoring, security and authentication, backup/restore, and other administrative tasks}
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{acestreamAnnouncementStream,
|
||||||
author = {},
|
author = {},
|
||||||
title = {{A}nnouncement! {A}{C}{E} {S}tream; {N}ew era of {T}{V} and {I}nternet broadcasting --- oldforum.acestream.media},
|
title = {{A}nnouncement! {A}{C}{E} {S}tream; {N}ew era of {T}{V} and {I}nternet broadcasting --- oldforum.acestream.media},
|
||||||
url = {http://oldforum.acestream.media/index.php?topic=1479.0},
|
url = {http://oldforum.acestream.media/index.php?topic=1479.0},
|
||||||
@@ -14,7 +23,7 @@
|
|||||||
note = {[Accessed 04-Apr-2023]}
|
note = {[Accessed 04-Apr-2023]}
|
||||||
}
|
}
|
||||||
|
|
||||||
@misc{ai4businessDataTroppo,
|
@misc{ai4businessDataTroppo,
|
||||||
author = {Federica Maria Rita Livelli},
|
author = {Federica Maria Rita Livelli},
|
||||||
title = {{A}{I} e big data, troppo potere nelle mani di pochi: il dibattito - {A}{I}4{B}usiness --- ai4business.it},
|
title = {{A}{I} e big data, troppo potere nelle mani di pochi: il dibattito - {A}{I}4{B}usiness --- ai4business.it},
|
||||||
howpublished = {\url{https://www.ai4business.it/intelligenza-artificiale/ai-e-big-data-favoriscono-la-concentrazione-del-potere/}},
|
howpublished = {\url{https://www.ai4business.it/intelligenza-artificiale/ai-e-big-data-favoriscono-la-concentrazione-del-potere/}},
|
||||||
@@ -22,6 +31,14 @@
|
|||||||
note = {[Accessed 01-Sep-2022]}
|
note = {[Accessed 01-Sep-2022]}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@misc{aiknowTimeSeries,
|
||||||
|
author = {Angelo Lazzari},
|
||||||
|
title = {{T}ime series: una piccola, ma dettagliata, introduzione - {A}{I}{K}now --- aiknow.io},
|
||||||
|
howpublished = {\url{https://www.aiknow.io/cosa-sono-le-time-series/?doing_wp_cron=1742414242.9129240512847900390625}},
|
||||||
|
year = {},
|
||||||
|
note = {[Accessed 19-03-2025]}
|
||||||
|
}
|
||||||
|
|
||||||
@misc{archiveStream,
|
@misc{archiveStream,
|
||||||
author = {},
|
author = {},
|
||||||
title = {{A}ce {S}tream --- web.archive.org},
|
title = {{A}ce {S}tream --- web.archive.org},
|
||||||
@@ -134,6 +151,14 @@
|
|||||||
note = {[Accessed 18-03-2025]}
|
note = {[Accessed 18-03-2025]}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@misc{githubGitHubInfluxdatatelegraf,
|
||||||
|
author = {},
|
||||||
|
title = {{G}it{H}ub - influxdata/telegraf: {A}gent for collecting, processing, aggregating, and writing metrics, logs, and other arbitrary data. --- github.com},
|
||||||
|
howpublished = {\url{https://github.com/influxdata/telegraf}},
|
||||||
|
year = {},
|
||||||
|
note = {[Accessed 19-03-2025]}
|
||||||
|
}
|
||||||
|
|
||||||
@misc{githubGitHubWebtorrentbittorrenttracker,
|
@misc{githubGitHubWebtorrentbittorrenttracker,
|
||||||
author = {},
|
author = {},
|
||||||
title = {{G}it{H}ub - webtorrent/bittorrent-tracker: {S}imple, robust, {B}it{T}orrent tracker (client \& server) implementation --- github.com},
|
title = {{G}it{H}ub - webtorrent/bittorrent-tracker: {S}imple, robust, {B}it{T}orrent tracker (client \& server) implementation --- github.com},
|
||||||
@@ -177,6 +202,22 @@
|
|||||||
note = {[Accessed 18-03-2025]}
|
note = {[Accessed 18-03-2025]}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@misc{knowiBestIntroduction,
|
||||||
|
author = {},
|
||||||
|
title = {{T}he {B}est {I}ntroduction to {M}ongo{D}{B} {Q}uery {L}anguage ({M}{Q}{L}) --- knowi.com},
|
||||||
|
howpublished = {\url{https://www.knowi.com/blog/the-best-introduction-to-mongodb-query-language-mql/}},
|
||||||
|
year = {},
|
||||||
|
note = {[Accessed 19-03-2025]}
|
||||||
|
}
|
||||||
|
|
||||||
|
@misc{mongodbDocumentsMongoDB,
|
||||||
|
author = {},
|
||||||
|
title = {{D}ocuments - {M}ongo{D}{B} {M}anual v8.0 - {M}ongo{D}{B} {D}ocs --- mongodb.com},
|
||||||
|
howpublished = {\url{https://www.mongodb.com/docs/manual/core/document/}},
|
||||||
|
year = {},
|
||||||
|
note = {[Accessed 19-03-2025]}
|
||||||
|
}
|
||||||
|
|
||||||
@article{Multi-CDN:TowardsPrivacyinContentDeliveryNetworks,
|
@article{Multi-CDN:TowardsPrivacyinContentDeliveryNetworks,
|
||||||
doi = {10.1109/tdsc.2018.2833110},
|
doi = {10.1109/tdsc.2018.2833110},
|
||||||
url = {https://doi.org/10.1109/tdsc.2018.2833110},
|
url = {https://doi.org/10.1109/tdsc.2018.2833110},
|
||||||
@@ -191,6 +232,13 @@
|
|||||||
journal = {{IEEE} Transactions on Dependable and Secure Computing}
|
journal = {{IEEE} Transactions on Dependable and Secure Computing}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@misc{noauthor_telegraf_nodate,
|
||||||
|
title = {Telegraf documentation},
|
||||||
|
url = {https://docs.influxdata.com/telegraf/v1/},
|
||||||
|
abstract = {Documentation for Telegraf, the plugin-driven server agent of the InfluxData time series platform, used to collect and report metrics. Telegraf supports four categories of plugins – input, output, aggregator, and processor.},
|
||||||
|
urldate = {2025-03-19}
|
||||||
|
}
|
||||||
|
|
||||||
@misc{novageMediaLoader,
|
@misc{novageMediaLoader,
|
||||||
author = {},
|
author = {},
|
||||||
title = {{P}2{P} {M}edia {L}oader --- novage.com.ua},
|
title = {{P}2{P} {M}edia {L}oader --- novage.com.ua},
|
||||||
@@ -239,7 +287,7 @@
|
|||||||
language = {it-IT}
|
language = {it-IT}
|
||||||
}
|
}
|
||||||
|
|
||||||
@phdthesis{ResearchBasedDataRightsManagementUsingBlockchainOverEthereumNetwork,
|
@phdthesis{ResearchBasedDataRightsManagementUsingBlockchainOverEthereumNetwork,
|
||||||
author = {Naz, Muqaddas and Javaid, Nadeem and Iqbal, Sohail},
|
author = {Naz, Muqaddas and Javaid, Nadeem and Iqbal, Sohail},
|
||||||
year = {2019},
|
year = {2019},
|
||||||
month = {09},
|
month = {09},
|
||||||
@@ -296,7 +344,7 @@
|
|||||||
doi = {10.1007/978-3-319-54328-4_5}
|
doi = {10.1007/978-3-319-54328-4_5}
|
||||||
}
|
}
|
||||||
|
|
||||||
@misc{torprojectHeartTahoeLAFS,
|
@misc{torprojectHeartTahoeLAFS,
|
||||||
author = {},
|
author = {},
|
||||||
title = {{T}or at the {H}eart: {T}ahoe-{L}{A}{F}{S} | {T}or {P}roject --- blog.torproject.org},
|
title = {{T}or at the {H}eart: {T}ahoe-{L}{A}{F}{S} | {T}or {P}roject --- blog.torproject.org},
|
||||||
howpublished = {\url{https://blog.torproject.org/tor-heart-tahoe-lafs/}},
|
howpublished = {\url{https://blog.torproject.org/tor-heart-tahoe-lafs/}},
|
||||||
|
81
Tesi.tex
81
Tesi.tex
@@ -600,7 +600,7 @@ Per verificare le affermazioni degli sviluppatori di PeerTube, abbiamo deciso di
|
|||||||
\item Analizzare i dati raccolti per valutare le prestazioni del sistema P2P di PeerTube
|
\item Analizzare i dati raccolti per valutare le prestazioni del sistema P2P di PeerTube
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\subsection{Stack tecnologico per i test}
|
\section{Stack tecnologico per i test}
|
||||||
|
|
||||||
Per i nostri test abbiamo utilizzato una combinazione di tecnologie open source per creare un sistema di test automatizzato che sfrutta le seguenti tecnologie:
|
Per i nostri test abbiamo utilizzato una combinazione di tecnologie open source per creare un sistema di test automatizzato che sfrutta le seguenti tecnologie:
|
||||||
|
|
||||||
@@ -655,7 +655,78 @@ Approfondendo il discordo del `networking', Docker mette a disposizione varti ti
|
|||||||
\end{figure}
|
\end{figure}
|
||||||
\cite{AzureFunctions} \cite{geeksforgeeksContainerizationUsing} \cite{geeksforgeeksDockerNetworking}
|
\cite{AzureFunctions} \cite{geeksforgeeksContainerizationUsing} \cite{geeksforgeeksDockerNetworking}
|
||||||
|
|
||||||
\subsection{Architettura del sistema di test}
|
\subsection{Telegraf}
|
||||||
|
|
||||||
|
Telegraf è un agente di raccolta di metriche open source sviluppato da InfluxData. È progettato per raccogliere, elaborare e inviare metriche da una varietà di sorgenti, tra cui sistemi operativi, database, applicazioni e dispositivi di rete.
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=300pt]{images/telegraf-architecture-diagram.png}
|
||||||
|
\caption{Architettura Telegraf.}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
Scritto in `Go', Telegraf è dodato di oltre 300 plugin di input, trasformazione e output di dati, che consentono di raccogliere metriche da una vasta gamma di sorgenti. Per sua natura, funziona come un pipeline di dati che può essere instradata attraverso diversi plugin per elaborare e aggregare le informazioni prima di raggiungere l'output finale.
|
||||||
|
|
||||||
|
Alcuni componenti principali di Telegraf includono:
|
||||||
|
\begin{itemize}
|
||||||
|
\item \textbf{Agent}: Il core del sistema, responsabile della raccolta e dell'elaborazione delle metriche dai plugin di input definiti e le invia ai plugin di output specificati, in base alla configurazione fornita.
|
||||||
|
\item \textbf{Input Plugins}: Raccolgono metriche da sorgenti come sistemi operativi, database, applicazioni e dispositivi di rete.
|
||||||
|
\item \textbf{Processor Plugins}: Elaborano e trasformano le metriche raccolte prima di inviarle all'output.
|
||||||
|
\item \textbf{Output Plugins}: Inoltrano le metriche elaborate a un sistema di monitoraggio o di archiviazione.
|
||||||
|
\item \textbf{Aggregator Plugins}: Aggregano le metriche raccolte per ridurre il volume dei dati.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
La configurazione di Telegraf è definita da un file di configurazione `TOML' che definisce i plugin di input, processore e output da utilizzare, insieme a eventuali parametri aggiuntivi necessari per la raccolta e l'elaborazione delle metriche.
|
||||||
|
|
||||||
|
Viene spesso utilizzato affianco ad un database di tipo `time-series' come InfluxDB per l'archiviazione e la visualizzazione delle metriche raccolte, ma può essere integrato con una vasta gamma di sistemi di monitoraggio e analisi dei dati.\\
|
||||||
|
Una metrica `time-series' è una serie di dati indicizzati in sequenza rispetto al tempo. Un esempio è una sequenza di osservazioni o rilevazioni registrate allo scorrere del tempo. Vi sono due macrocategorie di time series:
|
||||||
|
\begin{itemize}
|
||||||
|
\item \textbf{univariate time series}: le osservazioni sono monodimensionali, ovvero: viene registrato un solo valore numerico allo scorrere del tempo.
|
||||||
|
\item \textbf{multivariate time series}: le osservazioni sono multidimensionali, ovvero, si registrano più valori numerici per un singolo istante di tempo.
|
||||||
|
\end{itemize}
|
||||||
|
Tipicamente, un `time-series' viene rappresentato con una struttura dati che registri un timestamp, che può essere di qualche tipo specifico per date, oppure un interocontenente uno `Unix timestamp'; oltre a questo contiene dati addizionali, che nella versione più semplice possono essere un unico valore numerico, ovvero l’osservazione registrata allo scorrere del tempo.
|
||||||
|
\cite{githubGitHubInfluxdatatelegraf} \cite{noauthor_telegraf_nodate} \cite{aiknowTimeSeries}
|
||||||
|
|
||||||
|
\subsection{MongoDB}
|
||||||
|
|
||||||
|
MongoDB è un database `NoSQL' open source, orientato ai documenti, sviluppato da MongoDB Inc. È progettato per essere flessibile, scalabile e ad alte prestazioni, consentendo di memorizzare e interrogare dati in modo efficiente.
|
||||||
|
Combina la capacità di scalare orizzontalmente con funzionalità come indici secondari, query per intervallo, ordinamento, aggregazioni e indici geospaziali.
|
||||||
|
|
||||||
|
Un database orientato ai documenti sostituisce il concetto di “riga” con un modello più flessibile, il “documento”. Grazie alla possibilità di includere documenti incorporati e array, l’approccio orientato ai documenti permette di rappresentare relazioni gerarchiche complesse all'interno di un singolo record.
|
||||||
|
Non ci sono schemi predefiniti: le chiavi e i valori di un documento non hanno tipi o dimensioni fisse. L'assenza di uno schema rigido rende più semplice aggiungere o rimuovere campi secondo necessità. In generale, questo accelera lo sviluppo, permettendo agli sviluppatori di iterare rapidamente e sperimentare con facilità rendendo possibile testare diversi modelli di dati e scegliere quello più adatto alle proprie esigenze.
|
||||||
|
|
||||||
|
MongoDB è progettato per essere un database generi co, quindi, oltre alle operazioni di interimento, lettura, aggiornamento e eliminazione dei dati (`CRUD'), offre alcune funzionalità uniche in più, tra cui:
|
||||||
|
\begin{itemize}
|
||||||
|
\item \textbf{Indicizzazioni}: MongoDB supporta indici di diversi tipi, tra cui indici singoli, composti, geospaziali e testuali. Gli indici possono essere creati per qualsiasi campo all'interno di un documento, consentendo di ottimizzare le query per le prestazioni.
|
||||||
|
\item \textbf{Aggregazioni}: MongoDB offre un'ampia gamma di operazioni di aggregazione, come `group', `match', `project' e `sort', che consentono di eseguire query complesse e analisi dei dati direttamente nel database.
|
||||||
|
\item \textbf{Collezioni speciali}: MongoDB supporta collezioni speciali come le collezioni di `time-series' e le collezioni `time-to-live', che semplificano la gestione di dati temporali e di dati che devono essere eliminati dopo un certo periodo di tempo come ad esempio le sessioni utente.
|
||||||
|
\end{itemize}
|
||||||
|
|
||||||
|
MongoDB memorizza i record di dati come documenti (nello specifigo documenti `BSON', ovvero una rappresentazione binaria di documenti in formato `JSON'), che sono raggruppati in collezioni. Un database contiene una o più collezioni di documenti..
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=300pt]{images/crud-annotated-document.png}
|
||||||
|
\caption{Documento JSON.}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
`JSON', JavaScript Object Notation, è un formato di scambio dati testuale, basato su una sintassi di oggetti JavaScript. È comunemente utilizzato per trasmettere dati strutturati su una rete, come ad esempio tra un server e un client web. Un documento `JSON', invece, è una collezione di campi e valori organizzata in un formato strutturato.
|
||||||
|
|
||||||
|
MongoDB Query Language, o `MQL', è il linguaggio di query utilizzato per interagire con un database MongoDB. MQL è simile a SQL, ma è progettato per lavorare con documenti JSON e collezioni di documenti, piuttosto che con tabelle e righe. Consente agli utenti di recuperare documenti che corrispondono a criteri specifici, eseguire aggregazioni, apportare aggiornamenti ai documenti ed effettuare cancellazioni di documenti. La sintassi di MQL è progettata per essere semplice e intuitiva. Permette agli utenti di specificare condizioni utilizzando operatori come \$eq (uguale), \$ne (diverso), \$gt (maggiore di), \$lt (minore di) e molti altri. È possibile anche utilizzare operatori `bitwise' come \$and, \$or e \$not per creare query complesse.
|
||||||
|
|
||||||
|
\begin{figure}[H]
|
||||||
|
\centering
|
||||||
|
\includegraphics[width=280pt]{images/mongodb-pipelines.png}
|
||||||
|
\caption{MongoDB Aggregation Pipeline.}
|
||||||
|
\end{figure}
|
||||||
|
|
||||||
|
Infine, il MongoDB Query Language Aggregation Framework, è un set di processi che trasforma i dati in strutture che possono essere utilizzate per l'analisi. L'aggregazione si basa su un concetto di `pipeline', in cui i documenti vengono passati attraverso una serie di fasi di trasformazione. Ogni fase della pipeline esegue un'operazione specifica sui documenti, come filtering, proiezione, ordinamento, raggruppamento e altro ancora. Le fasi della pipeline, possono essere quindi concatenate per creare query più complesse.\cite{10.5555/2544030} \cite{mongodbDocumentsMongoDB} \cite{knowiBestIntroduction}
|
||||||
|
|
||||||
|
\subsection{Python}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
\section{Architettura del sistema di test}
|
||||||
|
|
||||||
Il nostro sistema di test è composto da:
|
Il nostro sistema di test è composto da:
|
||||||
|
|
||||||
@@ -666,15 +737,15 @@ Il nostro sistema di test è composto da:
|
|||||||
\item Un database centralizzato per la raccolta e l'analisi dei dati
|
\item Un database centralizzato per la raccolta e l'analisi dei dati
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\section{Difficoltà incontrate e soluzioni}
|
\subsection{Difficoltà incontrate e soluzioni}
|
||||||
|
|
||||||
Durante lo sviluppo del sistema di test abbiamo affrontato diverse sfide:
|
Durante lo sviluppo del sistema di test abbiamo affrontato diverse sfide:
|
||||||
|
|
||||||
\begin{itemize}
|
\begin{itemize}
|
||||||
\item \textbf{Accesso alle metriche WebRTC}: Risolto sviluppando un'estensione Chrome personalizzata
|
\item \textbf{Accesso alle metriche WebRTC}: Risolto sviluppando un'estensione Chrome personalizzata
|
||||||
\item \textbf{Sincronizzazione dei test}: Implementato un sistema di coordinamento basato su messaggi
|
\item \textbf{Limitazioni delle API di Peertube}: Superato utilizzando tecniche di scraping con Selenium e Python
|
||||||
\item \textbf{Limitazioni delle API di WebRTC}: Superato utilizzando tecniche di scraping avanzate
|
|
||||||
\item \textbf{Gestione delle variabili d'ambiente nell'estensione Chrome}: Risolto attraverso webpack e sostituzione dinamica
|
\item \textbf{Gestione delle variabili d'ambiente nell'estensione Chrome}: Risolto attraverso webpack e sostituzione dinamica
|
||||||
|
\item \textbf{Raccolta dei dati dei test su macchine virtuali distribuite}: Risolto utilizzando Telegraf e MongoDB
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
|
|
||||||
\section{Casi d'uso e scenari di test riprodotti}
|
\section{Casi d'uso e scenari di test riprodotti}
|
||||||
|
@@ -1,50 +0,0 @@
|
|||||||
<?xml version="1.0"?>
|
|
||||||
<svg
|
|
||||||
width="360"
|
|
||||||
height="87.039368"
|
|
||||||
viewBox="0 0 360 87.039367"
|
|
||||||
fill="none"
|
|
||||||
xmlns="http://www.w3.org/2000/svg">
|
|
||||||
<g
|
|
||||||
transform="matrix(1.2293722,0,0,1.2293722,29.999995,7.2531291)">
|
|
||||||
<g
|
|
||||||
clip-path="url(#clip0_205_625)">
|
|
||||||
<path
|
|
||||||
d="M 55.4998,2.93744 C 50.6758,-0.0519845 46.0011,-0.485235 41.754,0.421702 37.6819,1.2882 33.7619,3.45734 30.4359,6.01929 29.575,5.46762 28.7428,4.91595 27.9249,4.38161 c -0.7461,1.62613 -1.5123,3.28981 -2.2957,4.97371 -0.7921,1.73298 -1.5975,3.49588 -2.4163,5.28858 2.1781,-0.7048 4.3877,-1.424 6.6462,-2.149 l 7.025,-2.2644 -3.2313,-2.10561 c 2.9759,-2.13448 6.2502,-3.94258 9.757,-4.97082 3.9343,-1.15262 8.103,-1.2274 12.0756,-0.21663 z"
|
|
||||||
fill="#f15e4b"/>
|
|
||||||
<path
|
|
||||||
d="M 63.2681,29.8018 C 67.013,21.7434 66.574,16.4577 63.9912,13.191 61.5893,10.1525 57.3479,8.8383 52.8712,8.59857 53.4997,7.18328 54.1252,5.78533 54.7279,4.41626 l -7.4124,3.466 -7.1743,3.35914 c 1.2397,1.1765 2.5235,2.3954 3.8512,3.6566 l 4.3045,4.0928 c 0.7652,-1.733 1.5142,-3.441 2.247,-5.1239 3.6703,0.5199 7.0766,1.7041 9.4699,4.0263 2.5282,2.4696 3.9344,6.2504 3.2629,11.9289 z"
|
|
||||||
fill="#8a5da7"/>
|
|
||||||
<path
|
|
||||||
d="m 31.2939,59.0029 c 9.8173,-1.8313 16.2913,-6.184 19.9616,-11.4205 1.577,-2.2256 2.683,-4.7535 3.2492,-7.4271 0.5662,-2.6735 0.5806,-5.4357 0.0423,-8.115 2.2527,-0.7539 4.5169,-1.5222 6.8156,-2.3107 -2.5541,-1.398 -5.001,-2.7459 -7.3407,-4.0437 -2.2345,-1.2131 -4.3849,-2.3838 -6.4511,-3.5122 -1.211,2.3473 -2.4469,4.7475 -3.7076,7.2006 -1.2799,2.5032 -2.5866,5.0633 -3.92,7.6801 2.2498,-0.7741 4.5312,-1.5539 6.8471,-2.3627 0.3422,4.4025 -0.5982,8.8099 -2.7061,12.6827 C 41.6908,51.7531 37.6073,55.843 31.2939,59 Z"
|
|
||||||
fill="#4a8da0" />
|
|
||||||
<path
|
|
||||||
d="m 2.24982,47.3167 c 2.53106,5.5283 6.54002,7.914 11.11718,8.0411 4.8211,0.1329 9.998,-2.2413 14.535,-5.6351 1.2167,1.3363 2.4679,2.7121 3.7535,4.1274 0.9815,-2.8739 1.9514,-5.6698 2.8869,-8.3935 0.9202,-2.6342 1.8156,-5.2077 2.6861,-7.7205 -2.9472,0.6701 -5.8341,1.3113 -8.655,1.9496 l -8.1241,1.8399 c 1.1048,1.2015 2.2355,2.4464 3.4063,3.723 -3.7076,2.5389 -7.6075,4.4307 -11.4357,4.942 C 8.72097,50.696 5.21708,49.9018 2.24982,47.3022 Z"
|
|
||||||
fill="#26a75a"/>
|
|
||||||
<path
|
|
||||||
d="M 5.00762,20.8682 C 1.10197,26.6015 -0.258264,30.8849 0.0373139,34.0159 0.35298,37.3288 2.54542,39.3795 5.5586,40.4107 c -0.90683,1.7128 -1.83947,3.4458 -2.78073,5.199 2.28427,-1.034 4.59628,-2.0844 6.93604,-3.1512 2.36459,-1.06 4.75219,-2.1518 7.17419,-3.2551 -0.9843,-1.8081 -1.9227,-3.544 -2.841,-5.2164 -0.8723,-1.6097 -1.717,-3.1637 -2.5339,-4.6618 C 10.6026,31.0236 9.6766,32.747 8.73534,34.4954 6.3248,33.6 4.47098,32.1703 3.722,29.8971 3.01031,27.7396 3.28293,24.8108 5.00188,20.8624 Z"
|
|
||||||
fill="#fec827"/>
|
|
||||||
<path
|
|
||||||
d="M 29.2163,1.95544 C 22.9346,3.77221 18.7333,6.22729 15.9268,8.91633 13.3887,11.2767 11.6132,14.3497 10.8302,17.7373 l -4.26434,1.4182 c 0.92021,0.9878 1.87008,2.0054 2.8496,3.0529 1.01774,1.0861 2.07004,2.2096 3.15664,3.3707 1.4808,-1.9583 2.9414,-3.8838 4.382,-5.7766 1.4148,-1.8486 2.8066,-3.6827 4.1697,-5.4879 -1.6912,0.5604 -3.3662,1.112 -5.0248,1.655 0.673,-2.7427 1.9941,-5.2813 3.8511,-7.39987 2.0088,-2.31067 4.9502,-4.55779 9.2662,-6.6114 z"
|
|
||||||
fill="#f58120"/>
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
transform="translate(25)"
|
|
||||||
style="fill:#000000">
|
|
||||||
<path
|
|
||||||
d="M 86.078,37 78.3011,24.0818 c -0.2784,-0.464 -0.6125,-0.761 -1.1322,-0.761 -0.5197,0 -0.8723,0.297 -1.1507,0.761 L 68.2598,37 h 2.6913 l 6.125,-10.3568 3.0069,5.0485 h -4.1391 l -1.1136,1.9117 h 6.3849 L 83.2383,37 Z m 13.1331,0 v -2.3572 h -7.3129 c -2.4314,0 -4.1947,-1.8746 -4.1947,-4.4174 0,-2.5614 1.7819,-4.3618 4.1947,-4.3618 h 7.3129 v -2.3572 h -7.3129 c -3.7678,0 -6.5519,2.6356 -6.5519,6.6076 0,3.9163 2.7841,6.886 6.5519,6.886 z m 13.9779,0 v -2.3572 h -9.726 v -8.7792 h 9.708 V 23.5064 H 101.125 V 37 Z m -0.52,-5.8652 v -1.9859 h -7.479 v 1.9859 z M 130.78,37 c 2.821,0 4.194,-1.689 4.194,-3.9534 0,-2.6171 -1.466,-3.8977 -4.194,-3.8977 h -6.181 c -1.039,0 -1.689,-0.6125 -1.689,-1.6334 0,-1.0208 0.631,-1.6519 1.708,-1.6519 h 9.688 v -2.3572 h -9.688 c -2.692,0 -4.158,1.6148 -4.158,3.7864 0,2.2273 1.578,3.842 4.12,3.842 h 6.2 c 1.262,0 1.967,0.594 1.967,1.7447 0,1.058 -0.705,1.7633 -1.967,1.7633 H 120.664 V 37 Z m 12.897,0 V 25.8636 h 5.123 v -2.3572 h -12.603 v 2.3572 h 5.123 V 37 Z m 22.546,0 -4.065,-4.1019 c 1.745,-0.6682 2.784,-2.2458 2.784,-4.4731 0,-3.0068 -1.818,-4.9186 -4.9,-4.9186 h -9.688 V 37 h 2.338 V 25.8636 h 7.35 c 1.615,0 2.58,0.8538 2.58,2.5985 0,1.7447 -0.891,2.7099 -2.58,2.7099 h -5.623 v 2.0788 h 5.048 L 162.882,37 Z m 13.288,0 v -2.3572 h -9.726 v -8.7792 h 9.707 V 23.5064 H 167.446 V 37 Z m -0.52,-5.8652 v -1.9859 h -7.48 v 1.9859 z M 198.439,37 190.662,24.0818 c -0.279,-0.464 -0.613,-0.761 -1.133,-0.761 -0.519,0 -0.872,0.297 -1.15,0.761 L 180.62,37 h 2.692 l 6.125,-10.3568 3.006,5.0485 h -4.139 l -1.113,1.9117 h 6.385 L 195.599,37 Z m 20.588,0 -3.452,-12.6955 c -0.186,-0.6496 -0.557,-0.9651 -1.132,-0.9651 -0.502,0 -0.91,0.2784 -1.133,0.7981 l -4.157,9.5402 -4.158,-9.5402 c -0.222,-0.5197 -0.687,-0.7981 -1.188,-0.7981 -0.631,0 -1.002,0.3155 -1.169,0.9651 L 199.167,37 h 2.32 l 2.58,-9.4845 3.805,8.7792 c 0.241,0.5754 0.65,0.8909 1.207,0.8909 0.575,0 0.946,-0.3155 1.206,-0.8909 l 3.823,-8.7792 2.58,9.4845 z"
|
|
||||||
fill="#F2F2F2"
|
|
||||||
style="fill:#000000"/>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
<defs
|
|
||||||
id="defs23">
|
|
||||||
<clipPath
|
|
||||||
id="clip0_205_625">
|
|
||||||
<rect
|
|
||||||
width="66"
|
|
||||||
height="59"
|
|
||||||
fill="#ffffff"/>
|
|
||||||
</clipPath>
|
|
||||||
</defs>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 5.5 KiB |
BIN
images/crud-annotated-document.png
Normal file
BIN
images/crud-annotated-document.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 85 KiB |
BIN
images/mongodb-pipelines.png
Normal file
BIN
images/mongodb-pipelines.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 153 KiB |
@@ -1,119 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
width="436.33716mm"
|
|
||||||
height="115.63236mm"
|
|
||||||
viewBox="0 0 436.33716 115.63236"
|
|
||||||
version="1.1"
|
|
||||||
id="svg8">
|
|
||||||
<defs
|
|
||||||
id="defs2" />
|
|
||||||
<metadata
|
|
||||||
id="metadata5">
|
|
||||||
<rdf:RDF>
|
|
||||||
<cc:Work
|
|
||||||
rdf:about="">
|
|
||||||
<dc:format>image/svg+xml</dc:format>
|
|
||||||
<dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
||||||
<dc:title></dc:title>
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<g
|
|
||||||
id="layer1"
|
|
||||||
transform="translate(124.123,6.0733085)">
|
|
||||||
<g
|
|
||||||
id="g1151"
|
|
||||||
transform="matrix(6.0868818,0,0,6.0868818,-732.64487,-599.37985)">
|
|
||||||
<path
|
|
||||||
d="m 106.18342,105.84175 -6.206843,-0.014 -0.0039,1.38039 2.311913,-0.0118 0.0551,8.95356 1.50888,0.004 0.0567,-8.94074 2.27595,-0.0157 z"
|
|
||||||
style="font-size:14.8884px;line-height:1.25;font-family:SansSerifFLF;-inkscape-font-specification:SansSerifFLF;fill:#000000;stroke-width:0.372211"
|
|
||||||
id="path118" />
|
|
||||||
<path
|
|
||||||
d="m 110.34872,115.0306 c -1.13152,0 -1.74862,-0.91223 -1.74862,-2.04375 0,-1.1464 0.59805,-2.14886 1.72957,-2.14886 1.14641,0 1.94857,0.98264 1.94857,2.12905 0,1.13152 -0.78311,2.06356 -1.92952,2.06356 z m -3.39272,-2.0085 c 0,1.81638 1.45951,3.39031 3.14189,3.39031 1.25063,0 1.56823,-0.50841 1.98511,-0.94018 l 0.002,0.69436 1.61201,0.0147 10e-4,-6.52031 -1.54718,-10e-5 -0.009,0.82355 c -0.3871,-0.43176 -0.85501,-0.93861 -2.18008,-0.93861 -1.72705,0 -3.00491,1.64503 -3.00491,3.4763 z"
|
|
||||||
style="font-size:14.8884px;line-height:1.25;font-family:SansSerifFLF;-inkscape-font-specification:SansSerifFLF;fill:#000000;stroke-width:0.372211"
|
|
||||||
id="path120" />
|
|
||||||
<path
|
|
||||||
d="m 115.52271,116.2074 1.45658,0.004 -0.0112,-3.63171 c -0.003,-0.81885 0.66275,-1.73405 1.57094,-1.73405 0.87841,0 1.16366,0.8754 1.1648,1.70967 l 0.0149,3.65424 1.36565,0.004 2.4e-4,-3.89183 c 9e-5,-1.38462 -0.48318,-2.75908 -2.2549,-2.75908 -0.95285,0 -1.5389,0.24611 -1.74733,0.70765 l -0.0905,-5.39541 -1.46273,-6e-5 z"
|
|
||||||
style="font-size:14.8884px;line-height:1.25;font-family:SansSerifFLF;-inkscape-font-specification:SansSerifFLF;fill:#000000;stroke-width:0.372211"
|
|
||||||
id="path122" />
|
|
||||||
<g
|
|
||||||
aria-label="e"
|
|
||||||
id="text104"
|
|
||||||
style="font-size:14.8884px;line-height:1.25;font-family:SansSerifFLF;-inkscape-font-specification:SansSerifFLF;fill:#000000;stroke-width:0.372211"
|
|
||||||
transform="translate(0,20.10834)">
|
|
||||||
<path
|
|
||||||
d="m 135.77525,91.943817 -2.96622,-0.0168 c 0.16377,-0.595536 0.64709,-1.155374 1.48084,-1.155374 0.87841,0 1.24717,0.546865 1.48538,1.172178 z m -4.69876,0.837883 c 0,1.816384 1.32897,3.493078 3.17513,3.493078 1.4144,0 2.94259,-1.236045 3.02569,-1.876867 l -1.1049,-0.644681 c -0.23822,0.297768 -1.15358,1.149409 -1.83845,1.149409 -1.20596,0 -1.65729,-0.781712 -1.65729,-1.779235 l 4.70278,0.02339 c 0,-1.995046 -1.22489,-3.863459 -3.04127,-3.863459 -1.83127,0 -3.26169,1.815975 -3.26169,3.498365 z"
|
|
||||||
style="fill:#000000;stroke-width:0.372211"
|
|
||||||
id="path125" />
|
|
||||||
</g>
|
|
||||||
<path
|
|
||||||
d="m 143.99337,114.6648 -0.14168,-8.87341 -1.52294,0.0141 -0.006,10.37368 4.54697,0.0624 -0.004,-1.57754 z"
|
|
||||||
style="font-size:14.8884px;line-height:1.25;font-family:SansSerifFLF;-inkscape-font-specification:SansSerifFLF;fill:#000000;stroke-width:0.372211"
|
|
||||||
id="path131" />
|
|
||||||
<path
|
|
||||||
d="m 152.26578,105.18986 -5.02661,10.95056 1.77251,0.004 0.89789,-2.25292 h 4.53055 l 1.0435,2.24762 1.79729,-6.4e-4 z m 0.0602,3.49642 1.59306,3.51807 -3.18612,0.0503 z"
|
|
||||||
style="font-size:14.8884px;line-height:1.25;font-family:SansSerifFLF;-inkscape-font-specification:SansSerifFLF;fill:#000000;stroke-width:0.372211"
|
|
||||||
id="path133" />
|
|
||||||
<path
|
|
||||||
d="m 163.81296,106.92399 v -1.51863 h -5.10672 v 10.63037 h 1.51862 v -4.63031 h 3.5881 v -1.51863 h -3.5881 l -0.0169,-2.95443 z"
|
|
||||||
style="font-size:14.8884px;line-height:1.25;font-family:SansSerifFLF;-inkscape-font-specification:SansSerifFLF;fill:#000000;stroke-width:0.372211"
|
|
||||||
id="path135" />
|
|
||||||
<path
|
|
||||||
d="m 170.19028,108.0662 1.2443,-0.72871 c -0.25077,-0.75392 -1.62879,-1.74534 -2.77519,-1.74534 -1.69728,0 -3.15731,0.98874 -3.15731,2.55203 0,1.72706 0.71475,2.32326 2.11426,2.88902 1.38462,0.55088 2.29961,1.07985 2.43537,1.88315 0.24596,1.45537 -0.99727,2.16559 -1.92136,2.00482 -1.06332,-0.18499 -1.49181,-1.21306 -1.53913,-1.87861 l -1.49173,0.31661 c 0,0.89704 1.17066,2.91752 2.85466,2.98186 2.13863,0.0817 3.70337,-1.31771 3.70337,-3.2681 0,-1.99506 -2.16524,-2.91815 -3.47542,-3.42435 -1.10174,-0.43177 -1.02351,-0.78545 -1.02351,-1.52987 0,-0.65509 0.45097,-1.02986 1.37405,-1.02986 0.69975,0 1.27055,0.60514 1.65764,0.97735 z"
|
|
||||||
style="font-size:14.8884px;line-height:1.25;font-family:SansSerifFLF;-inkscape-font-specification:SansSerifFLF;fill:#000000;stroke-width:0.372211"
|
|
||||||
id="path137" />
|
|
||||||
<g
|
|
||||||
aria-label="-"
|
|
||||||
id="text116"
|
|
||||||
style="font-size:14.8884px;line-height:1.25;font-family:SansSerifFLF;-inkscape-font-specification:SansSerifFLF;fill:#000000;stroke-width:0.372211"
|
|
||||||
transform="translate(0,20.10834)">
|
|
||||||
<path
|
|
||||||
d="m 141.06065,92.121323 h -2.90455 v 1.312631 h 2.90455 z"
|
|
||||||
style="fill:#000000;stroke-width:0.384512"
|
|
||||||
id="path128" />
|
|
||||||
</g>
|
|
||||||
<circle
|
|
||||||
style="fill:#ff0000;fill-opacity:1;stroke-width:0.236763"
|
|
||||||
id="path162"
|
|
||||||
cx="126.39951"
|
|
||||||
cy="112.9655"
|
|
||||||
r="3.5044639" />
|
|
||||||
<path
|
|
||||||
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
||||||
d="m 124.91938,109.77401 -0.80485,-2.07788 -0.56046,0.0391 -0.12405,-2.01283 1.46712,1.61746 -0.37275,0.20586 0.89001,2.09631 z"
|
|
||||||
id="path164" />
|
|
||||||
<path
|
|
||||||
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
||||||
d="m 127.35787,109.53011 0.78896,-1.96229 -0.67822,-0.17271 1.42086,-1.68544 0.036,2.13358 -0.27114,-0.12937 -0.88072,2.11195 z"
|
|
||||||
id="path989" />
|
|
||||||
<path
|
|
||||||
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
||||||
d="m 125.90599,109.56222 0.0869,-5.48256 -0.55471,-0.15529 0.73255,-1.98112 0.84234,2.08361 -0.48508,0.0646 0.03,5.50009 z"
|
|
||||||
id="path991" />
|
|
||||||
<circle
|
|
||||||
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.233764"
|
|
||||||
id="path993"
|
|
||||||
cx="122.51501"
|
|
||||||
cy="103.5195"
|
|
||||||
r="2.0734317" />
|
|
||||||
<circle
|
|
||||||
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.233764"
|
|
||||||
id="circle995"
|
|
||||||
cx="126.19068"
|
|
||||||
cy="99.546417"
|
|
||||||
r="2.0734317" />
|
|
||||||
<circle
|
|
||||||
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.233764"
|
|
||||||
id="circle997"
|
|
||||||
cx="129.90472"
|
|
||||||
cy="103.51728"
|
|
||||||
r="2.0734317" />
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 7.2 KiB |
BIN
images/telegraf-architecture-diagram.png
Normal file
BIN
images/telegraf-architecture-diagram.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 47 KiB |
Reference in New Issue
Block a user