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

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 Cercafase Senza Contatto: Il Tuo Angelo Custode Elettrico

Se hai seguito la nostra serie sul multimetro (che puoi trovare ...

Leggi ->

Cosa è uno switch ethernet e come funziona

Uno switch di rete è un dispositivo ...

Leggi ->

Come creare un ambiente virtuale Python

Python è un linguaggio di programmazione versatile e potente, ampiamente utilizza ...

Leggi ->

Come richiedere una visura catastale Online Gratis

Se sei giunto qui significa che ti sei trovato difronte alla necessità di avere u ...

Leggi ->

Come registrarsi su SHEIN

Oggi parliamo di Shein , cosa è Shein ?  Parliamo di una piattaforma e-c ...

Leggi ->

I Database nell'Industria e nelle Automazioni

I database rappresentano la colonna vertebral ...

Leggi ->

Modem-Router Domestici: Come Funzionano ?

Nell'era digitale in cui viviamo, la con ...

Leggi ->

Rivoluzione Energetica: Liberati dalle Bollette Salate e Vivi in una Casa 100% Green

Sei stufo di vedere le tue bollette energetiche lievitare mese dopo mese? Ti sent ...

Leggi ->

Casa sotto controllo con Shelly pro4PM

Shelly Pro 4PM è ...

Leggi ->

Come sostituire un rubinetto della cucina

Fermi tutti ! Panico, no ...

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