È stato presentato il sistema operativo distribuito DBOS, funzionante sopra un DBMS

È stato presentato il progetto DBOS (DBMS-oriented Operating System), che sviluppa un nuovo sistema operativo per l'esecuzione di applicazioni distribuite scalabili. La caratteristica principale del progetto è l'uso di un DBMS per memorizzare applicazioni e stato del sistema, nonché l'organizzazione dell'accesso allo stato esclusivamente attraverso transazioni. Il progetto è sviluppato dai ricercatori del Massachusetts Institute of Technology, dell'Università del Wisconsin e dell'Università di Stanford, dell'Università Carnegie Mellon e delle aziende Google e VMware. I risultati sono distribuiti con licenza MIT.

I componenti per l'interazione con l'hardware e i servizi di gestione della memoria a basso livello sono stati spostati nel microkernel. Le funzionalità fornite dal microkernel vengono utilizzate per avviare uno strato con il DBMS. I servizi di sistema ad alto livello, che garantiscono l'esecuzione delle applicazioni, interagiscono solo con il DBMS distribuito e sono separati dal microkernel e dai componenti specifici per un determinato sistema.

La costruzione sopra un DBMS distribuito consente di rendere i servizi di sistema inizialmente distribuiti e non legati a un nodo specifico, distinguendo DBOS dai tradizionali sistemi a cluster, in cui su ogni nodo viene eseguito un proprio esempio del sistema operativo, sopra il quale vengono avviati pianificatori di cluster separati, sistemi di file distribuiti e gestori di rete.

È stato presentato il sistema operativo distribuito DBOS, funzionante sopra un DBMS

Si osserva che l'uso come base di DBOS di moderni DBMS distribuiti, che memorizzano dati in memoria RAM e supportano transazioni, come VoltDB e FoundationDB, è in grado di garantire prestazioni sufficienti per l'esecuzione efficace di molti servizi di sistema. Nei DBMS possono anche essere memorizzati i dati del pianificatore, del sistema di file e dell'IPC. Questi DBMS si scalano perfettamente, garantiscono l'atomicità e l'isolamento delle transazioni, possono gestire petabyte di dati e forniscono strumenti per la gestione degli accessi e il monitoraggio dei flussi di dati.

Tra i vantaggi dell'architettura proposta si segnala l'espansione significativa delle capacità analitiche e la riduzione della complessità del codice grazie all'uso, nei servizi del sistema operativo, di normali query al DBMS, a favore del quale viene spostata l'implementazione delle transazioni e degli strumenti per garantire un'elevata disponibilità (una funzionalità simile può essere implementata una sola volta sul lato del DBMS e utilizzata nel sistema operativo e nelle applicazioni).

Ad esempio, il pianificatore cluster può memorizzare informazioni riguardanti i compiti e i gestori nelle tabelle del DBMS e realizzare operazioni di pianificazione come normali transazioni, mescolando codice imperativo e SQL. L'uso delle transazioni semplifica la soluzione di problemi come la gestione della concorrenza e il ripristino dagli errori, poiché le transazioni garantiscono coerenza e resilienza dello stato. Nel contesto dell'esempio del pianificatore, le transazioni consentono di organizzare l'accesso simultaneo ai dati condivisi e garantire l'integrità dello stato in caso di guasti.

I meccanismi di registrazione e analisi dati forniti dal DBMS possono essere utilizzati per tracciare l'accesso e modificare lo stato delle applicazioni, per il monitoraggio, il debug e la manutenzione della sicurezza. Ad esempio, dopo aver rilevato un accesso non autorizzato al sistema, è possibile, attraverso l'esecuzione di query SQL, determinare l'entità della fuga, identificando tutte le operazioni effettuate dai processi che hanno avuto accesso a informazioni riservate.

Il progetto è in sviluppo da più di un anno e si trova nella fase di creazione di prototipi di singoli componenti dell'architettura. Attualmente è stato preparato un prototipo di servizi operativi funzionanti sopra il DBMS, come FS, IPC e il pianificatore, e si sta sviluppando un ambiente software che fornisce un'interfaccia per l'esecuzione di applicazioni basate sul modello FaaS (function-as-a-service).

Nella fase successiva dello sviluppo, è previsto di fornire un stack software completo per applicazioni distribuite. Attualmente, come DBMS, si utilizza VoltDB negli esperimenti, ma è in corso una discussione sulla creazione di uno strato proprietario per la gestione dei dati o sull'implementazione delle funzionalità mancanti in DBMS esistenti. È in discussione anche la questione di quali componenti debbano essere eseguiti a livello di kernel e quali possano essere implementati sopra il DBMS.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster