titolo ->undb prototipo di database nosql restful
  • Caffè Vergnano
  • Pneumatici
  • Pneumatici
  • Pneumatici
  • OBSBOT DE
  • OBSBOT DE
  • OBSBOT DE
  • OBSBOT DE
  • OBSBOT DE
  • Europcar IT
  • Europcar IT
  • Tappeto.it

UnDB prototipo di Database NoSql RESTful

UNDB: Un Prototipo di Database NoSQL Leggero e Flessibile scritto in C# Net 8.0

UNDB è un prototipo di database NoSQL progettato per essere semplice, leggero e facile da usare. Utilizza un formato di file JSON per memorizzare i dati, offrendo una struttura flessibile e adattabile a diverse esigenze.

Caratteristiche Principali

  • NoSQL: Non richiede uno schema predefinito, consentendo di aggiungere e modificare i dati in modo dinamico.
  • Leggerezza: Utilizza file JSON come storage, riducendo l'overhead di gestione rispetto ai database tradizionali.
  • Interfaccia HTTP: Espone un'API RESTful tramite un server HTTP, facilitando l'interazione da diversi linguaggi di programmazione.
  • Autenticazione di Base: Utilizza l'autenticazione HTTP di base per proteggere l'accesso ai dati. Per i test, le credenziali predefinite sono root:123.

Tipi di Handle e Formattazione

UNDB supporta diverse operazioni (handle) per interagire con i dati:

  • CREATE TABLE: Crea una nuova tabella specificando il nome e le colonne con i relativi tipi (autoincrement, unique, boolean, int, string).
    • Formato:GET /createtable?table=&columns=,
  • INSERT: Inserisce un nuovo record in una tabella.
    • Formato:POST /insert?table= con il corpo della richiesta contenente un oggetto JSON con i dati da inserire.
  • UPDATE: Aggiorna un record esistente in una tabella.
    • Formato:PUT /update?table=&id= con il corpo della richiesta contenente un oggetto JSON con i dati da aggiornare.
  • DELETE: Elimina un record da una tabella.
    • Formato:DELETE /delete?table=&id=
  • SELECT: Legge i dati da una tabella (non ancora implementato in questo prototipo).

C#

C#
using System.Net.Http;
using System.Net.Http.Headers;
using Newtonsoft.Json.Linq;
// ...
var client = new HttpClient();
var byteArray = Encoding.ASCII.GetBytes("root:123"); // Credenziali di testclient.
DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(byteArray));
var response = await client.GetAsync("http://localhost:8080/createtable?table=utenti&columns=id:autoincrement,nome,email:unique");
// ...

PHP

PHP
$url = 'http://localhost:8080/insert?table=utenti';
$data = json_encode(['nome' => 'Mario Rossi', 'email' => 'mario.rossi@example.com']);
$ch = curl_init($url);curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD,"root:123"); // Credenziali di test
$response = curl_exec($ch);
curl_close($ch);

C++ (usando libcurl)

C++
#include
#include
#include
// ...
CURL *curl;
CURLcode res;
std::string readBuffer;
curl = curl_easy_init();
if(curl) {
curl_easy_setopt(curl, CURLOPT_URL, "http://localhost:8080/update?table=utenti&id=1");
curl_easy_setopt(curl, CURLOPT_CUSTOMREQUEST, "PUT");
curl_easy_setopt(curl, CURLOPT_POSTFIELDS, "{"nome": "Luigi Bianchi"}");
curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, WriteCallback);
curl_easy_setopt(curl, CURLOPT_WRITEDATA, &readBuffer);
res = curl_easy_perform(curl);
// ...
}


Python

Python
import requestsurl = 'http://localhost:8080/delete?table=utenti&id=1'
response = requests.delete(url, auth=('root', '123')) // Credenziali di test
// ...

Considerazioni Finali

UNDB è un progetto in corso di sviluppo e rappresenta un punto di partenza per la creazione di un database NoSQL personalizzato. Attualmente, mancano funzionalità importanti come il supporto per query complesse, la gestione della concorrenza e un sistema di autenticazione più robusto. Tuttavia, offre una base solida per sperimentare e costruire soluzioni su misura per le tue esigenze, tenendo presente che l'autenticazione di base è solo a scopo di test e dovrebbe essere sostituita con un meccanismo più sicuro in un ambiente di produzione.

Il database deve essere avviato con privilegi di amministazione (perchè automaticamente si instanzia su tutti gli ip del pc).

l'utente creato in automatico sul db al primo avvio è root e come password ha 123.

Download UnDb_NoSql

Il software UNDB è fornito "così com'è", senza alcuna garanzia, esplicita o implicita, inclusa, ma non limitata a, garanzie di commerciabilità, idoneità per uno scopo particolare e non violazione. In nessun caso l'autore o i contributori saranno responsabili per eventuali danni diretti, indiretti, incidentali, speciali, consequenziali o punitivi derivanti dall'uso di questo software, anche se avvisati della possibilità di tali danni.

Questo DB è stato creato da Fabiodirauso a puro scopo dimostrativo.

L'utente accetta di utilizzare il software UNDB a proprio rischio e pericolo. L'autore non si assume alcuna responsabilità per eventuali perdite di dati, danni ai sistemi o altre conseguenze derivanti dall'utilizzo di questo software.

Il software UNDB è un prototipo sperimentale e non è destinato all'uso in ambienti di produzione. L'autore non garantisce l'affidabilità, la sicurezza o la completezza di questo software.

L'utente è responsabile di valutare l'idoneità del software UNDB per le proprie esigenze e di adottare le misure appropriate per proteggere i propri dati e sistemi.


Linkedin

Potrebbero interessarti

Il mondo affascianante della tecnologia VoIp

Benvenuti nel mondo avanzato della ...

Leggi ->

Creare un File nel Formato PDF-A: Guida Completa

Il formato PDF/A è uno standard ISO per l'archiviazione a lungo termine di d ...

Leggi ->

Amprobe 34XR-A: Recensione del Multimetro True RMS Versatile e Affidabile

Amprobe 34XR-A: Il Tuo Compagno Affidabile per Ogni Misurazione< ...

Leggi ->

La Differenza tra 5G e 4G: Una Guida Completa

Con l'avvento del 5G, la tecnologia delle telecomunicazioni ha subito una si ...

Leggi ->

Come installare Node-Red su Ubuntu 22.04

Cosa è Node-Red ? Node-RED è uno strumento nato con ...

Leggi ->

Pompe di calore aria-acqua vs geotermiche: quale scegliere?

Negli ultimi anni, le pompe di calore sono di ...

Leggi ->

Consigli per scrivere un CV efficace nel 2024

Il tuo CV è la tua porta d'accesso al mondo del lavoro. Un CV ben scritto e ...

Leggi ->

Come scegliere la pompa di calore nel 2024

Scegliere la pompa di calore giusta non è solo una questione di risparmio energet ...

Leggi ->

Firewall: cosa sono, come funzionano e perché sono importanti

I firewall sono dispositivi di sicurezza info ...

Leggi ->
  • Pneumatici
  • Europcar IT
  • OBSBOT DE
  • Europcar IT
  • OBSBOT DE
  • Pneumatici
  • OBSBOT DE
  • OBSBOT DE
  • OBSBOT DE
  • Caffè Vergnano
  • Tappeto.it
  • Pneumatici