Preséntase o sistema operativo distribuído DBOS que se executa sobre o DBMS

Preséntase o proxecto DBOS (DBMS-oriented Operating System), que desenvolve un novo sistema operativo para executar aplicacións distribuídas escalables. Unha característica especial do proxecto é o uso dun DBMS para almacenar aplicacións e estado do sistema, así como organizar o acceso ao estado só mediante transaccións. O proxecto está sendo desenvolvido por investigadores do Instituto Tecnolóxico de Massachusetts, a Universidade de Wisconsin e Stanford, a Universidade Carnegie Mellon e Google e VMware. O traballo distribúese baixo a licenza MIT.

Os compoñentes para interactuar con equipos e servizos de xestión de memoria de baixo nivel colócanse no micronúcleo. As capacidades proporcionadas polo micronúcleo utilízanse para lanzar a capa DBMS. Os servizos do sistema de alto nivel que permiten a execución de aplicacións interactúan só co DBMS distribuído e están separados do micronúcleo e dos compoñentes específicos do sistema.

Construír sobre un DBMS distribuído permite facer que os servizos do sistema se distribúan inicialmente e non estean ligados a un nodo específico, o que distingue DBOS dos sistemas de clúster tradicionais, nos que cada nodo executa a súa propia instancia do sistema operativo, enriba das cales se separan. lánzanse os programadores de clúster, os sistemas de ficheiros distribuídos e os xestores de rede.

Preséntase o sistema operativo distribuído DBOS que se executa sobre o DBMS

Nótase que o uso de DBMS distribuídos modernos como base para DBOS, almacenar datos na memoria RAM e admitir transaccións, como VoltDB e FoundationDB, pode proporcionar un rendemento suficiente para a execución eficiente de moitos servizos do sistema. O DBMS tamén pode almacenar datos do programador, do sistema de ficheiros e do IPC. Ao mesmo tempo, os DBMS son altamente escalables, proporcionan atomicidade e illamento de transaccións, poden xestionar petabytes de datos e proporcionan ferramentas para o control de acceso e o seguimento dos fluxos de datos.

Entre as vantaxes da arquitectura proposta atópase unha expansión significativa das capacidades de análise e unha redución da complexidade do código debido ao uso de consultas ordinarias ao DBMS nos servizos do sistema operativo, cuxo lado a implementación de transaccións e ferramentas para garantir altas lévase a cabo a dispoñibilidade (esa funcionalidade pódese implementar no lado do DBMS unha vez e usarse en SO e aplicacións).

Por exemplo, un programador de clúster pode almacenar información sobre tarefas e controladores en táboas de DBMS e implementar operacións de programación como transaccións habituais, mesturando código imperativo e SQL. As transaccións facilitan a resolución de problemas como a xestión da concorrencia e a recuperación de fallos porque as transaccións garanten a coherencia e a persistencia do estado. No contexto do exemplo do planificador, as transaccións permiten o acceso simultáneo aos datos compartidos e garanten que se manteña a integridade do estado en caso de fallos.

Os mecanismos de rexistro e análise de datos proporcionados polo DBMS pódense utilizar para rastrexar o acceso e os cambios no estado da aplicación, supervisar, depurar e manter a seguridade. Por exemplo, despois de detectar o acceso non autorizado a un sistema, pode executar consultas SQL para determinar o alcance da fuga, identificando todas as operacións realizadas polos procesos que obtiveron acceso á información confidencial.

O proxecto leva máis dun ano en desenvolvemento e está na fase de creación de prototipos de compoñentes arquitectónicos individuais. Actualmente, preparouse un prototipo de servizos do sistema operativo que se executan sobre o DBMS, como FS, IPC e scheduler, e estase a desenvolver un entorno de software que proporciona unha interface para executar aplicacións baseadas no FaaS (function-as- modelo a-service).

A seguinte etapa de desenvolvemento planea proporcionar unha pila de software completo para aplicacións distribuídas. VoltDB está a ser usado actualmente como DBMS en experimentos, pero están en curso discusións sobre a creación da nosa propia capa para almacenar datos ou implementar as capacidades que faltan nos DBMS existentes. Tamén se está a discutir a cuestión de cales compoñentes deben executarse a nivel do núcleo e cales se poden implementar enriba do DBMS.

Fonte: opennet.ru

Engadir un comentario