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

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

Temu è Affidabile? Un'analisi approfondita

Temu, piattaforma di e-commerce nata nel 2022 ...

Leggi ->

Guida alla configurazione di un server Ubuntu in sicurezza

La sicurezza di un server Ubuntu richiede una configurazione meticolosa e l' ...

Leggi ->

Recensione borraccia AirUp

La borraccia Air Up è un prodotto innovativo che promette di stimolare il consumo ...

Leggi ->

Rinnovabili record: coprono il 56% della domanda in Italia

Un nuovo traguardo per l'energia pulitaNel primo semest ...

Leggi ->

Il fallimento dell'automotive full electric in Europa

Negli ultimi dieci anni, l'Europa ha spinto fortemente verso la transizione ...

Leggi ->

Come si fa un sondaggio su WhatsApp

Se ne sente parlase sempre più spesso nell'ltimo periodo, WhatsApp cha intro ...

Leggi ->

Batterie al Ferro-Aria

Come funzionano le batterie al ferro-aria?Il principio di fu ...

Leggi ->

Come utilizzare i social media in modo sicuro

I social media sono una parte integrante dell ...

Leggi ->

Come creare un generatore di sitemap in php

Ciao , se sei giunto qui stai cercando un modo veloce per realizzare il tuo sitem ...

Leggi ->

Domotica Vs Smart Home

Domotica vs Smart Home: ...

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