A mais recente versão do banco de dados NoSQL da Oracle agora está com suporte ao modelo de dados tabular e indexação secundária, melhorias em segurança com a integração do Oracle Wallet, e melhorias no suporte a data centers.
Modelo tabular de dados: A nova estrutura de dados tabular simplifica o trabalho de modelagem de dados através do aproveitamento dos conceitos de design já existentes. Isso facilita a integração com aplicações baseadas em SQL. O modelo de tabela fica numa camada acima da estrutura distribuída chave-valor, e assim herda suas vantagens.
Indexação Secundária: A indexação apenas por chave primária limita o número de caminhos em mecanismos de pesquisas de baixa latência. Em muitas situações, as aplicações necessitam de pesquisas em chaves não-primárias para implementar todas as suas funcionalidades. A indexação secundária ajuda a melhorar o desempenho das consultas, permitindo criar índices em qualquer coluna.
Segurança: O novo banco de dados é independente de sistema operacional, aplicando segurança para todos os nós em um cluster, através da autenticação dos usuários baseada em senhas. A criptografia em nível de sessão SSL, e a restrição de acesso a portas, protege a rede contra possíveis ataques. Além disso, o Oracle Wallet impede acessos não autorizados.
As melhorias de desempenho para data centers incluem a recuperação automática caso uma falha ocorra, transferindo a responsabilidade para um data center secundário, habilitando assim a continuidade dos negócios para as aplicações. Servidores secundários podem ser utilizados para atividades com foco em leitura, como análises, relatórios, troca de dados entre servidores, obtendo-se assim melhor gestão da carga de trabalho.
O banco de dados NoSQL da Oracle foi construído com base no Oracle Berkeley DB Java Edition, com uma camada adicional de serviços para uso em ambientes distribuídos. Utiliza índices Btree e mecanismos de armazenamento para dados não-estruturados. O banco de dados oferece suporte a transações ACID e particionamento de dados (sharding) em tempo real.
O banco trabalha com um único servidor principal, fazendo replicação múltipla dos dados, em outros servidores pertencentes ao nó, e seguindo as políticas de durabilidade por cada transação. Caso o servidor principal falhe, um processo automático elege outro servidor como principal; essa escolha tem como base o padrão PAXOS, minimiza o tempo de inatividade e permite o "hot-standby".
O Oracle NoSQL também tem suporte ao Apache Hadoop, integrando as classes KVAvroInputFormat e KVInputFormat para a leitura de dados do NoSQL nativamente do Hadoop pelas tarefas Map/Reduce.
A edição Enterprise inclui a integração com o banco Oracle, com suporte a tabelas externas, permitindo consultas nos dados do Oracle NoSQL via comandos SQL. A exposição dos dados NoSQL através de tabelas externas permite o acesso via ferramentas de BI e JDBC padrão.
A integração com outros produtos da Oracle inclui:
- O processamento de eventos da Oracle (OEP) permite o acesso a leitura dos dados do banco de dados NoSQL através da instalação de um conjunto de pacotes. Após a configuração desses pacotes, a linguagem de consultas contínuas da Oracle (CQL) poderá ser utilizada para consultar os dados.
- O banco NoSQL também tem integração com o Oracle Semantic Graph, para armazenamento de grandes volumes de dados RDF, para gráficos triplos/quádruplos utilizando o adaptador Jena. O adaptador habilita acesso rápido aos gráficos armazenados no banco de dados NoSQL da Oracle, utilizando consultas SPARQL.
- A integração com o Oracle Coherence permite que o banco de dados NoSQL da Oracle seja utilizado como um cache, permitindo as aplicações acesso direto aos dados do banco de dados.
O banco de dados NoSQL 3.0 da Oracle edição empresarial e comunitária está disponível para download através do Oracle Technology Network.