Database
 sql >> Base de Dados >  >> RDS >> Database

Mergulhe profundamente no NoSQL:uma lista completa de bancos de dados NoSQL


O NoSQL é uma alternativa aos bancos de dados relacionais tradicionais nos quais os dados são colocados em tabelas e é útil para trabalhar com grandes conjuntos de dados distribuídos. Ele foi projetado para acomodar uma ampla variedade de modelos de dados, incluindo formatos de valores-chave, documentos, colunas e gráficos. Neste artigo, veremos uma lista completa de bancos de dados NoSQL.

Lista completa de bancos de dados NoSQL

Bancos de dados de armazenamento de colunas amplas/família de colunas:

Hadoop/Hbase


Use o Apache HBase quando precisar de acesso de leitura/gravação aleatório e em tempo real ao seu Big Data. O objetivo deste projeto é hospedar tabelas muito grandes, bilhões de linhas X milhões de colunas em cima de clusters de hardware comum. O Apache HBase é um banco de dados não relacional, distribuído, com versão e de código aberto, modelado de acordo com o Bigtable:A Distributed Storage System for Structured Data, do Google, de Chang et al. Assim como o Bigtable aproveita o armazenamento de dados distribuído fornecido pelo Google File System, o Apache HBase oferece recursos semelhantes ao Bigtable sobre o Hadoop e o HDFS.

Cassandra


O banco de dados Apache Cassandra é a escolha certa quando você precisa de escalabilidade e alta disponibilidade sem comprometer o desempenho. A escalabilidade linear e a tolerância a falhas comprovada em hardware comum ou infraestrutura em nuvem o tornam a plataforma perfeita para dados de missão crítica. O suporte do Cassandra para replicação em vários datacenters é o melhor da categoria, oferecendo menor latência para seus usuários e a tranquilidade de saber que você pode sobreviver a interrupções regionais. O modelo de dados do Cassandra oferece a conveniência de índices de coluna com o desempenho de atualizações estruturadas em log, forte suporte para desnormalização e visualizações materializadas e armazenamento em cache integrado poderoso.

Hipertable


O Hypertable é um banco de dados de alto desempenho, código aberto e massivamente escalável, modelado após o Bigtable, o banco de dados proprietário e massivamente escalável do Google. Esta página fornece uma breve visão geral do Hypertable, comparando-o com um banco de dados relacional, destacando alguns de seus recursos exclusivos e ilustrando como ele é dimensionado.

Acumulo


O Accumulo é baseado no design BigTable do Google e é construído em cima do Apache Hadoop, Zookeeper e Thrift. O Apache Accumulo apresenta algumas melhorias inovadoras no design do BigTable na forma de controle de acesso baseado em célula e um mecanismo de programação do lado do servidor que pode modificar pares de chave/valor em vários pontos do processo de gerenciamento de dados.

Amazon SimpleDB


O Amazon SimpleDB é um armazenamento de dados não relacional altamente disponível e flexível que alivia o trabalho de administração de banco de dados. Os desenvolvedores simplesmente armazenam e consultam itens de dados por meio de solicitações de serviços da web e o Amazon SimpleDB faz o resto. Livre dos requisitos rígidos de um banco de dados relacional, o Amazon SimpleDB é otimizado para fornecer alta disponibilidade e flexibilidade, com pouca ou nenhuma carga administrativa. Nos bastidores, o Amazon SimpleDB cria e gerencia automaticamente várias réplicas distribuídas geograficamente de seus dados para permitir alta disponibilidade e durabilidade dos dados. O serviço cobra apenas pelos recursos realmente consumidos no armazenamento de seus dados e no atendimento de suas solicitações. Você pode alterar seu modelo de dados em tempo real e os dados são indexados automaticamente para você. Com o Amazon SimpleDB, você pode se concentrar no desenvolvimento de aplicativos sem se preocupar com provisionamento de infraestrutura, alta disponibilidade, manutenção de software, gerenciamento de esquema e índice ou ajuste de desempenho.

Dados na nuvem


O Cloud Data é um armazenamento de dados estruturados distribuídos em grande escala e um projeto de código aberto que implementa o Bigtable do Google. Ele pode ser encontrado no Github. Parece ser o projeto de um desenvolvedor coreano chamado YKKwon.

HPCC


HPCC (High-Performance Computing Cluster), também conhecido como DAS (Data Analytics Supercomputer), é uma plataforma de sistema de computação de código aberto com uso intensivo de dados desenvolvida pela LexisNexis Risk Solutions. A plataforma HPCC incorpora uma arquitetura de software implementada em clusters de computação de commodities para fornecer processamento paralelo de dados de alto desempenho para aplicativos que utilizam big data. A plataforma HPCC inclui configurações de sistema para suportar processamento de dados em lote paralelo (Thor) e aplicativos de consulta online de alto desempenho usando arquivos de dados indexados (Roxie). A plataforma HPCC também inclui uma linguagem de programação declarativa centrada em dados para processamento paralelo de dados chamada ECL

Fluir


O Apache Flink é um sistema de código aberto para análise de dados expressiva, declarativa, rápida e eficiente. O Flink combina a escalabilidade e flexibilidade de programação de plataformas distribuídas do tipo MapReduce com a eficiência, execução fora do núcleo e recursos de otimização de consultas encontrados em bancos de dados paralelos.

Junta


O Splice Machine é essencialmente uma implementação do Hadoop do projeto de banco de dados Apache Derby baseado em Java. O Hadoop foi desenvolvido para executar aplicativos Java em clusters de máquinas e, portanto, o Splice Machine simplesmente aplica o método de aplicativo distribuído Hadoop às cargas de trabalho do banco de dados Derby. O sistema resultante executa consultas padrão ANSI SQL-99, mas o Splice Machine fornece serviços para lidar com variações específicas de SQL, como Oracle PL/SQL ou Microsoft T-SQL

Banco de dados de armazenamento de documentos:

MongoDB


MongoDB é um banco de dados de código aberto usado por empresas de todos os tamanhos, em todos os setores e para uma ampla variedade de aplicativos. É um banco de dados ágil que permite que os esquemas mudem rapidamente à medida que os aplicativos evoluem, enquanto ainda fornece a funcionalidade que os desenvolvedores esperam dos bancos de dados tradicionais, como índices secundários, uma linguagem de consulta completa e consistência estrita. O MongoDB foi desenvolvido para escalabilidade, desempenho e alta disponibilidade, dimensionando desde implantações de servidor único até arquiteturas multissite grandes e complexas. Ao alavancar a computação na memória, o MongoDB oferece alto desempenho para leituras e gravações. A replicação nativa do MongoDB e o failover automatizado permitem confiabilidade de nível empresarial e flexibilidade operacional

Pesquisa elástica


O Elasticsearch é um servidor de pesquisa baseado no Lucene. Ele fornece um mecanismo de pesquisa de texto completo distribuído e com capacidade para vários locatários com uma interface da Web RESTful e documentos JSON sem esquema. O Elasticsearch é desenvolvido em Java e lançado como código aberto sob os termos da Licença Apache.

Servidor de base de sofá


O Couchbase Server originalmente conhecido como Membase, é um banco de dados orientado a documentos NoSQL de código aberto, distribuído (arquitetura nada compartilhada) que é otimizado para aplicativos interativos. Esses aplicativos devem atender a muitos usuários simultâneos; criar, armazenar, recuperar, agregar, manipular e apresentar dados. Para dar suporte a esses tipos de necessidades de aplicativos, o Couchbase foi projetado para fornecer acesso fácil a valores-chave ou documentos com baixa latência e alta taxa de transferência sustentada. Ele foi projetado para ser armazenado em cluster de uma única máquina para implantações em grande escala.

CouchDB


CouchDB é um banco de dados que abraça completamente a web. Armazene seus dados com documentos JSON. Acesse seus documentos e consulte seus índices com seu navegador web, via HTTP. Indexe, combine e transforme seus documentos com JavaScript. O CouchDB funciona bem com aplicativos móveis e da Web modernos. Você pode até mesmo servir aplicativos da web diretamente do CouchDB. E você pode distribuir seus dados ou seus aplicativos com eficiência usando a replicação incremental do CouchDB. O CouchDB oferece suporte a configurações mestre-mestre com detecção automática de conflitos.

RethinkDB


O RethinkDB é um banco de dados distribuído de código aberto criado para armazenar documentos JSON e dimensionar para várias máquinas com muito pouco esforço. É fácil de configurar e aprender, e possui uma linguagem de consulta agradável que suporta consultas realmente úteis, como junções de tabelas, agrupamentos e agregações

RavenDB


RavenDB também é um banco de dados de documentos de 2ª geração. O que queremos dizer com isso é que muito pensamento foi colocado em garantir que ele faça tudo certo. Recursos como Include, Live Projections e Multi-map, e decisões de design, como torná-lo Safe-By-Default, são todos para garantir que o RavenDB forneça um valor agregado real e não seja apenas mais uma solução NoSQL

Servidor MarkLogic


O MarkLogic Server é um banco de dados NoSQL corporativo. Ele funde os componentes internos do banco de dados, a indexação no estilo de pesquisa e os comportamentos do servidor de aplicativos em um sistema unificado. Ele usa documentos XML como seu modelo de dados e armazena os documentos em um repositório transacional. Ele indexa as palavras e valores de cada um dos documentos carregados, bem como a estrutura do documento. E, por causa de seu Índice Universal exclusivo, o MarkLogic não requer conhecimento avançado da estrutura do documento (seu “esquema”) nem adesão completa a um esquema específico. Por meio de seus recursos de servidor de aplicativos, é programável e extensível. MarkLogic Server (referido daqui em diante apenas como “MarkLogic”) clusters em hardware de commodity usando uma arquitetura sem compartilhamento e se diferencia no mercado por oferecer suporte a escala massiva e desempenho fantástico. tempo de resposta de consulta de sub-segundo.

Servidor de ponto de cluster


O Clusterpoint Server é um software de banco de dados para armazenamento de alta velocidade e processamento em larga escala de dados XML e JSON em clusters de hardware comum. Ele funciona como uma plataforma DBMS orientada a documentos sem esquema com uma API de código aberto. Clusterpoint resolve o problema de latência em Big Data. Os usuários finais podem pesquisar instantaneamente bilhões de documentos e fazer análises rápidas em dados estruturados e não estruturados.

NeDB


O NeDB não se destina a substituir bancos de dados de grande escala, como o MongoDB! Seu objetivo é fornecer a você uma maneira limpa e fácil de consultar dados e mantê-los em disco, para aplicativos da Web que não precisam de muitas conexões simultâneas, por exemplo, uma integração contínua e um servidor de implantação e aplicativos de desktop criados com o Node Webkit. O NeDB foi comparado com o popular banco de dados do lado do cliente TaffyDB e o NeDB é muito, muito mais rápido.

Terrastore


O Terrastore é um armazenamento de documentos moderno que fornece recursos avançados de escalabilidade e elasticidade sem sacrificar a consistência. O Terrastore é baseado em Terracotta, portanto, conta com uma tecnologia de clusterização rápida (e legal) comprovada no setor. O Terrastore é acessado por meio do protocolo HTTP com suporte universal. O Terrastore é um repositório de documentos distribuído que oferece suporte a implantações de cluster único e de vários clusters. O Terrastore dimensiona automaticamente seus dados:os documentos são particionados e distribuídos entre seus nós, com rebalanceamento automático e transparente quando os nós entram e saem.

JasDB


JasDB é um banco de dados NoSQL que usa um mecanismo de armazenamento baseado em documentos. Ele foi desenvolvido com a facilidade de uso e configuração mínima em mente para fornecer uma alternativa às implementações atuais baseadas em documentos, para adicionar algo novo à indústria e dar aos usuários mais opções. JasDB pode ser instalado e configurado em quase nenhum momento.

RaptorDB


RaptorDB é um banco de dados de armazenamento de documentos NoSQL baseado em JSON que oferece indexação automática de bitmap híbrido e filtros de consulta LINQ. Este armazenamento de documentos pode ser usado para armazenamento de back-end de fóruns, blogs, wikis, sistemas de gerenciamento de conteúdo e sites. Os usuários só precisam conhecer a linguagem de programação C# para começar a usar o RaptorDB.

Djondb


Um banco de dados orientado a documentos é um programa de computador projetado para armazenar, recuperar e gerenciar informações orientadas a documentos, também conhecido como dados semiestruturados. DjonDB é um tipo de documento DB. Todos os documentos no Djondb são armazenados em arquivos e organizados por namespace na pasta de dados e armazenados no formato JSON.

EDB


O EDB é um mecanismo de banco de dados incorporado que fornece funcionalidade central para um aplicativo Microsoft Windows CE. Ao usar o EDB, um desenvolvedor pode criar um armazenamento de objetos chamado volume que pode conter vários bancos de dados. O volume é baseado em arquivo e, portanto, pode ser facilmente copiado ou movido. O EDB é uma versão atualizada e aprimorada do CEDB e oferece suporte para:1. Transações, 2. Acesso por vários usuários, 3. Várias ordens de classificação, propriedades de chave e bancos de dados, 4. Desempenho aprimorado, especialmente com bancos de dados maiores

Servidor Amisa


O Amisa Server é um sistema de gerenciamento de banco de dados de propósito geral (DBMS) de alto desempenho construído desde o início para alimentar a próxima geração de aplicativos de armazenamento e recuperação de dados. O Amisa Server supera todos os sistemas otimizados de carga de trabalho atualmente disponíveis, eliminando completamente a necessidade de implantar vários sistemas especializados para uma única iniciativa de desenvolvimento. O Amisa Server economiza dinheiro reduzindo o tempo de colocação no mercado, o tempo de administração e os custos gerais de implantação. O servidor Amisa implementa a linguagem de programação AQL para gerenciar e manipular dados. AQL é idêntico ao SQL sintaticamente e funcionalmente. O servidor Amisa integra totalmente um mecanismo de pesquisa distribuído com uma linguagem de consulta declarativa para eliminar completamente as limitações de consulta nos sistemas de pesquisa atuais.

DensoDB


DensoDB é um novo banco de dados de documentos NoSQL. Escrito para ambiente .Net em linguagem c#. É simples, rápido e confiável. Não há necessidade de instalação de serviço e protocolo de comunicação. A maneira mais rápida de usá-lo. Você tem acesso direto à memória do Banco de Dados e pode manipular objetos e dados de forma muito rápida. Ele oferece o poder de um banco de dados rápido e escalável distribuído, em um ambiente com servidor ou sem servidor.

SisoDB


O SisoDB é um provedor orientado a documentos sem esquema para SQL-Server. Usando JSON e armazenamento de valores-chave, ele permite que você persista gráficos de objetos sem especificar nenhum mapeamento ou estender quaisquer interfaces de classes base, etc. Ele permite que você execute consultas no SQL-server, usando expressões lambda. Ele sincroniza alterações de esquema em tempo real e pode ajudá-lo a lidar com atualizações de modelo mais complexas. Basicamente, é uma ferramenta simples de acesso a dados

SDB


SDB funciona como armazenamentos triplos persistentes usando bancos de dados relacionais. O SDB usa um banco de dados SQL para armazenamento e consulta de dados RDF. Muitos bancos de dados são suportados, tanto Open Source quanto proprietários. Um armazenamento SDB pode ser acessado e gerenciado com os scripts de linha de comando fornecidos e por meio da API Jena.

UnQLite


O UnQLite é uma biblioteca de software em processo que implementa um mecanismo de banco de dados NoSQL transacional independente, sem servidor e sem configuração. UnQLite é um banco de dados de armazenamento de documentos semelhante ao MongoDB, Redis, CouchDB etc., bem como um armazenamento de chave/valor padrão semelhante ao BerkeleyDB, LevelDB. UnQLite é um mecanismo de banco de dados NoSQL incorporado (armazenamento de chave/valor e armazenamento de documentos). Ao contrário da maioria dos outros bancos de dados NoSQL, o UnQLite não possui um processo de servidor separado. O UnQLite lê e grava diretamente em arquivos de disco comuns. Um banco de dados completo com várias coleções está contido em um único arquivo de disco. O formato do arquivo de banco de dados é multiplataforma, você pode copiar livremente um banco de dados entre sistemas de 32 bits e 64 bits ou entre arquiteturas big-endian e little-endian

Através do DB


ThruDB é um conjunto de serviços simples construídos sobre a estrutura Facebook Apache Thrift que fornece serviços de indexação e armazenamento de documentos para construção e dimensionamento de sites. Seu objetivo é oferecer aos desenvolvedores web serviços flexíveis, rápidos e fáceis de usar que podem aprimorar ou substituir o armazenamento de dados tradicional e camadas de acesso.

Bancos de dados de Key Value/Tuple Store:

Amazon DynamoDB


O DynamoDB é um serviço de banco de dados NoSQL rápido e totalmente gerenciado que torna simples e econômico armazenar e recuperar qualquer quantidade de dados e atender a qualquer nível de tráfego de solicitações. Sua taxa de transferência confiável e latência de milissegundos de um dígito o tornam ideal para jogos, tecnologia de anúncios, dispositivos móveis e muitos outros aplicativos.

Armazenamento de tabelas do Azure


Os serviços de tabela do Azure oferecem o potencial de armazenar enormes quantidades de dados, ao mesmo tempo em que permitem acesso e persistência eficientes. Os serviços simplificam o armazenamento, evitando que você passe por todos os obstáculos necessários para trabalhar com um banco de dados relacional — restrições, exibições, índices, relacionamentos e procedimentos armazenados. Você apenas lida com dados, dados, dados. As Tabelas do Azure usam chaves que permitem consultas eficientes, e você pode empregar uma — a PartitionKey — para balanceamento de carga quando o serviço de tabela decidir que é hora de distribuir sua tabela por vários servidores. Uma tabela não tem um esquema especificado. É simplesmente um contêiner estruturado de linhas (ou entidades) que não se importa com a aparência de uma linha. Você pode ter uma tabela que armazena um tipo específico, mas também pode armazenar linhas com estruturas variadas em uma única tabela.

Riak


Riak usa um modelo simples de chave/valor para armazenamento de objetos. Os objetos no Riak consistem em uma chave exclusiva e um valor, armazenados em um namespace simples chamado bucket. Você pode armazenar o que quiser no Riak:texto, imagens, documentos JSON/XML/HTML, dados de usuários e sessões, backups, arquivos de log e muito mais.

Redis


Redis é um armazenamento de dados de valor-chave “NoSQL”. Mais precisamente, é um servidor de estrutura de dados. Não como o MongoDB (que é um armazenamento de documentos baseado em disco), embora o MongoDB possa ser usado para casos de uso de chave/valor semelhantes. O análogo mais próximo é provavelmente pensar no Redis como Memcached, mas com persistência integrada (instantâneo ou registro no disco) e mais tipos de dados. Essas duas adições podem parecer bem pequenas, mas são elas que tornam o Redis incrível. Persistência no disco significa que você pode usar o Redis como um banco de dados real em vez de apenas um cache volátil. Os dados não desaparecerão quando você reiniciar, como no memcached.

Aeropique


O Aerospike é o banco de dados NoSQL de código aberto em memória mais rápido e confiável do mundo que opera com velocidade sem precedentes em escala em apenas alguns servidores. O Aerospike permite uma nova classe de aplicativos que combinam transações e análises dinâmicas e processam bilhões de objetos, 20 mil a 2 milhões de transações por segundo (TPS) e 100 GB a 100 TB + de dados com latência previsível abaixo de milissegundos e confiabilidade ACID. O primeiro banco de dados NoSQL em memória otimizado para flash, o Aerospike pode ser executado em RAM pura com discos giratórios ou como um banco de dados de memória híbrida com RAM e flash. Isso permite que nossos clientes aproveitem os benefícios da maior relação preço-desempenho disponível hoje. A Aerospike tem alimentado uma ampla gama de aplicativos orientados ao contexto – de portais da web a lojas de perfis universais para licitações em tempo real e plataformas de marketing entre canais.

BaseDB


O FoundationDB suporta transações ACID com alto desempenho, mantendo o benefício NoSQL de escalabilidade com processamento distribuído. A maioria dos bancos de dados NoSQL não tenta oferecer suporte a transações ACID. Aqueles que geralmente fazem concessões fundamentais, como suportar apenas transações locais em uma única chave, documento, etc. O FoundationDB suporta transações globais em qualquer número de chaves. Leia mais sobre a importância das transações globais no Manifesto de Transações.

LevelDB


LevelDB é baseado em conceitos do sistema de banco de dados BigTable do Google. A implementação do tablet para o sistema BigTable foi desenvolvida a partir de 2004 e é baseada em uma base de código interna do Google diferente do código LevelDB. Essa base de código depende de várias bibliotecas de código do Google que não são de código aberto, portanto, abrir diretamente esse código teria sido difícil. LevelDB armazena chaves e valores em arrays de bytes arbitrários e os dados são classificados por chave. Ele suporta gravações em lote, iteração para frente e para trás e compactação dos dados por meio da biblioteca de compactação Snappy do Google. LevelDB não é um banco de dados SQL. Como outros armazenamentos NoSQL e Dbm, ele não possui um modelo de dados relacional, não suporta consultas SQL e não tem suporte para índices. Os aplicativos usam o LevelDB como uma biblioteca, pois não fornece um servidor ou interface de linha de comando.

Berkeley DB


Berkeley DB (BDB) é uma biblioteca de software que fornece um banco de dados embutido de alto desempenho para dados de chave/valor. Berkeley DB é escrito em C com ligações de API para C++, C#, PHP, Java, Perl, Python, Ruby, Tcl, Smalltalk e muitas outras linguagens de programação. O BDB armazena pares de chave/dados arbitrários como matrizes de bytes e oferece suporte a vários itens de dados para uma única chave. Berkeley DB não é um banco de dados relacional. O BDB pode suportar milhares de threads simultâneos de controle ou processos simultâneos manipulando bancos de dados de até 256 terabytes, em uma ampla variedade de sistemas operacionais, incluindo a maioria dos sistemas Unix e Windows, e sistemas operacionais em tempo real. Berkeley DB também é usado como nome comum para três produtos distintos; Oracle Berkeley DB, Berkeley DB Java Edition e Berkeley DB XML. Esses três produtos compartilham uma ancestralidade comum e estão atualmente em desenvolvimento ativo na Oracle Corporation.

Banco de dados Oracle NoSQL


O Oracle NoSQL Database é um banco de dados de chave-valor distribuído. Ele foi projetado para fornecer armazenamento de dados altamente confiável, escalável e disponível em um conjunto configurável de sistemas que funcionam como nós de armazenamento. Os dados são armazenados como pares de chave-valor, que são gravados em nós de armazenamento específicos, com base no valor de hash da chave primária. Os nós de armazenamento são replicados para garantir alta disponibilidade, failover rápido em caso de falha de nó e balanceamento de carga ideal de consultas. Os aplicativos do cliente são escritos usando uma API Java/C fácil de usar para ler e gravar dados.

GenieDB


A GenieDB, fornecedora de tecnologia de banco de dados relacional distribuído, lançou uma nova oferta de banco de dados como serviço (DBaaS), o GenieDB Globally Distributed MySQL-as-a-Service. A nova oferta do GenieDB é um DBaaS escalável que permite que as empresas usem a plataforma automatizada GenieDB para criar aplicativos em escala da Web com o benefício da distribuição geográfica do banco de dados. A distribuição geográfica fornece às empresas disponibilidade contínua durante interrupções regionais e melhor tempo de resposta de aplicativos para usuários distribuídos globalmente. Ao contrário de muitas outras soluções de banco de dados, o GenieDB permite que os desenvolvedores enfrentem os desafios dos ambientes de nuvem sem ter que abrir mão de recursos críticos de banco de dados ou abandonar investimentos em infraestrutura de banco de dados existente”, disse Cary Breese, CEO do GenieDB, em comunicado. “A tecnologia fornece uma plataforma fácil de usar que supera as dificuldades de gerenciar um banco de dados totalmente distribuído na nuvem, permitindo que as organizações continuem usando o MySQL nativo.”

BangDB


Banco de dados NoSQL multiflavorizado, distribuído, transacional e de alto desempenho escrito em C/C++ a partir do zero para aplicativos escaláveis ​​adequados para trabalho pesado. O BangDB está disponível como armazenamento de dados incorporado, modelo de servidor de cliente, grade de dados / armazenamento de dados elásticos.

Scalaris


Scalaris é um armazenamento de chave-valor distribuído, transacional e escalonável. Foi o primeiro banco de dados NoSQL, que suportava as propriedades ACID para transações multi-chave. Ele pode ser usado para construir serviços Web 2.0 escaláveis. Scalaris usa uma sobreposição estruturada com um protocolo de confirmação Paxos sem bloqueio para processamento de transações com forte consistência sobre réplicas. Scalaris é implementado em Erlang.

Gabinete/Tirano de Tóquio


Tokyo Cabinet é uma biblioteca de rotinas para gerenciar um banco de dados. O banco de dados é um arquivo de dados simples contendo registros, cada um é um par de uma chave e um valor. Cada chave e valor são bytes seriais com comprimento variável. Tanto os dados binários quanto a cadeia de caracteres podem ser usados ​​como chave e valor. Não há conceito de tabelas de dados nem tipos de dados. Os registros são organizados em tabela de hash, árvore B+ ou array de tamanho fixo. O Tokyo Cabinet é desenvolvido como o sucessor do GDBM e QDBM com as seguintes finalidades.

Voldemort


Voldemort é um armazenamento de dados distribuído projetado como um armazenamento de valor-chave usado pelo LinkedIn para armazenamento de alta escalabilidade. É nomeado após o vilão fictício de Harry Potter, Lord Voldemort. Voldemort ainda está em desenvolvimento. Não é um banco de dados de objetos, nem um banco de dados relacional. Ele não tenta satisfazer relações arbitrárias e as propriedades ACID, mas é uma tabela de hash grande, distribuída, tolerante a falhas e persistente. Um estudo de 2012 comparando sistemas para armazenar dados de monitoramento de APM relatou que Voldemort, Cassandra e HBase ofereciam escalabilidade linear na maioria dos casos, com Voldemort tendo a menor latência e Cassandra tendo a maior taxa de transferência.

Dinomite


Atualmente, a Dynomite fornece armazenamento e distribuição integrados, exigindo que os desenvolvedores adotem um modelo de dados simples de chave/valor para obter as vantagens de disponibilidade e escalabilidade. Ao separar essas duas funções, os desenvolvedores podem aproveitar as sofisticadas técnicas de distribuição e dimensionamento do Dynomite com grande flexibilidade na escolha do modelo de dados. Nesta nova arquitetura, o Dynomite lida com particionamento de dados, controle de versão e reparo de leitura, e os mecanismos de armazenamento fornecidos pelo usuário fornecem persistência e processamento de consultas.

MemcacheDB


O MemcacheDB é uma variante habilitada para persistência do memcached, um sistema de armazenamento em cache de memória distribuído de uso geral, frequentemente usado para acelerar sites dinâmicos orientados por banco de dados armazenando dados e objetos em cache na memória. A principal diferença entre o MemcacheDB e o memcached é que o MemcacheDB tem seu próprio sistema de banco de dados de chave-valor baseado no Berkeley DB, portanto, é destinado ao armazenamento persistente e não como uma solução de cache. O MemcacheDB é acessado por meio do mesmo protocolo que o memcached, portanto, os aplicativos podem usar qualquer API do memcache como meio de acessar um banco de dados do MemcacheDB

banco de dados c-treeACE


O banco de dados c-tree é um mecanismo de banco de dados multiplataforma desenvolvido pela FairCom Corporation. Os desenvolvedores de software normalmente incorporam o mecanismo c-treeACE nos aplicativos que criam e, em seguida, implantam o aplicativo e o mecanismo juntos como uma solução integrada. Em sua essência, o c-treeACE usa uma estrutura ISAM (Indexed Sequential Access Method) orientada a registros que oferece mecanismos de indexação de alta velocidade sobre esses arquivos. Os desenvolvedores podem usar esses métodos de acesso direto para projetar as estruturas de dados e índices que se aproximam das necessidades de seus aplicativos. Esse paradigma às vezes é chamado de banco de dados específico do aplicativo ou banco de dados incorporado devido à natureza fortemente acoplada do aplicativo e do banco de dados.

KitaroDB


O KitaroDB é um banco de dados NoSQL gratuito que é executado nativamente nos ambientes WinRT, Win32 e .NET. O KitaroDB é um armazenamento de dados rápido e eficiente que suporta pares chave-valor, bem como chaves intrusivas, e pode ser usado por desenvolvedores em todas as plataformas da Microsoft. Baseado em um banco de dados comercial que conduz aplicativos corporativos há mais de 25 anos, o KitaroDB traz o NoSQL para o WinRT, a nova interface do usuário do Windows 8, e também suporta aplicativos Win32 e .NET. Capaz de milhares de operações por segundo, o KitaroDB é pequeno o suficiente para caber em dispositivos clientes deixando recursos disponíveis para o resto do aplicativo. A interface fácil de usar permite que os desenvolvedores gastem seu tempo programando recursos de aplicativos e não se preocupem em como enviar seus dados sem esquema para um esquema rígido.”

hamsterdb


O hamsterdb é executado em uma variedade de plataformas, incluindo tablets e telefones, computadores desktop e instâncias de nuvem. Todos os principais sistemas operacionais são suportados. Ao contrário de outros bancos de dados de valores-chave, o hamsterdb conhece o tipo das chaves e usará essas informações para otimizar o armazenamento e os algoritmos. Um banco de dados que armazena chaves inteiras usa um layout de memória completamente diferente das chaves binárias de comprimento variável. Esse layout de memória reduz drasticamente o tamanho do arquivo, reduz a E/S, aumenta o desempenho e melhora a escalabilidade.

STSdb


O STSdb ​​é um banco de dados NoSQL de código aberto, cliente/servidor e incorporado e sistema de arquivos virtuais em um. Ele é construído do zero sem o uso de componentes de terceiros. Os dados são armazenados em um formato de valor-chave muito flexível, em que a chave consiste na combinação de subchaves e um valor associado. O design inovador torna o STSdb ​​perfeito para BigData e aplicativos em nuvem.

Tarantool


Taranol é um banco de dados NoSQL executado dentro de um programa Lua. Ele foi criado para armazenar e processar os dados da Web mais voláteis e altamente acessíveis. No Taranool, todos os dados são mantidos na RAM. A persistência de dados é implementada usando um log de gravação antecipada e captura instantânea. Ele suporta replicação assíncrona e espera ativa e usa corrotinas e E/S assíncrona para implementar acesso livre de bloqueio de alto desempenho aos dados.

quasardb


quasardb é um banco de dados associativo distribuído de alto desempenho projetado desde o início para os ambientes mais exigentes. Com base em décadas de pesquisa teórica e anos de prototipagem, o quasardb está no ombro de gigantes:combina avanços de bancos de dados relacionais, sistemas operacionais e distribuição de rede para redefinir o estado da arte. O quasardb já resistiu ao fogo de ambientes críticos onde a falha não é uma opção e mudará a maneira como você vê bancos de dados associativos.

RaptorDB


RaptorDB é um banco de dados de armazenamento de documentos NoSQL baseado em JSON que oferece indexação automática de bitmap híbrido e filtros de consulta LINQ. Este armazenamento de documentos pode ser usado para armazenamento de back-end de fóruns, blogs, wikis, sistemas de gerenciamento de conteúdo e sites. Os usuários só precisam conhecer a linguagem de programação C# para começar a usar o RaptorDB.

BD TIBCO ActiveSpaces


À medida que o volume, a variedade e a velocidade dos dados crescem exponencialmente, os aplicativos projetados usando tecnologias tradicionais de armazenamento de dados, como bancos de dados relacionais, não podem ser dimensionados. Duas tecnologias surgiram para atender a essa necessidade, grades de dados na memória e bancos de dados NoSQL. O TIBCO ActiveSpaces adota uma abordagem que é a melhor de ambas. Por um lado, ele armazena dados na memória em um cluster de máquinas para acesso rápido de leitura e, por outro lado, fornece persistência distribuída em sistemas de arquivos locais para um desempenho de gravação muito rápido.

NessDB


O NessDB é um mecanismo de armazenamento de banco de dados incorporado de valor-chave muito rápido (usando árvores de mesclagem estruturada em log (LSM)) com Level-LRU, Bloom-Filter.

HyperDex


HyperDex, um novo armazenamento de valor-chave distribuído que fornece uma primitiva de pesquisa exclusiva que permite consultas em atributos secundários. O principal insight por trás do HyperDex é o conceito de hash de hiperespaço no qual objetos com vários atributos são mapeados em um hiperespaço multidimensional. Esse mapeamento leva a implementações eficientes não apenas para recuperação por chave primária, mas também para pesquisas de atributos secundários parcialmente especificados e consultas de intervalo. Um novo protocolo de encadeamento permite que o sistema alcance uma consistência forte, mantenha a disponibilidade e garanta a tolerância a falhas.

Banco de dados mapeado de memória do Symas Lightning (LMDB)


O LMDB é um armazenamento de dados incorporado de valor-chave ultrarrápido e ultracompacto desenvolvido pela Symas para o Projeto OpenLDAP. Ele usa arquivos mapeados em memória, portanto, tem o desempenho de leitura de um banco de dados puro na memória, enquanto ainda oferece a persistência de bancos de dados baseados em disco padrão e é limitado apenas ao tamanho do espaço de endereço virtual

PickleDB


PickleDB é um armazenamento simples de chave/valor de tipo que foi escrito por Harrison Erd. É fácil integrar com seu código python. It has a limited capacity to work with large dataset, due that works with it in memory and then dump it to a file

Light Cloud


Distributed and persistent key-value database Built on Tokyo Tyrant. One of the fastest key-value databases. Can store millions of keys on very few servers – tested in production. LightCloud is a distributed and horizontal scaleable database

Hibari


Hibari Cloud Database is a distributed non-relational database management system (Distributed Non-RDBMS) for cloud computing to support explosively growing data volume. Hibari is a distributed, high availability key-value data store that focuses on the “C”onsistency and “A”vailability aspects of Brewer’s CAP Theorem.

Genome


These databases collect genome sequences, annotate and analyze them, and provide public access. Some add curation of experimental literature to improve computed annotations. These databases may hold many species genomes, or a single model organism genome.

Graph Databases:

Neo4J


Neo4J is a Java-based open source NoSQL graph database. With a graph database, which can search social network data, connections between data are explored. Neo4j can solve problems that require repeated network probing (the database is filled with nodes, which are then linked), and the company stresses Neo4j’s high performance. The importance of graph database technology as well as Neoo4j’s potential in the mobile space. Eifrem also stressed his confidence in Java, despite recent security issues affecting the platform.

InfiniteGraph


InfiniteGraph is a distributed graph database implemented in Java, and is from a class of NOSQL (or Not Only SQL) data technologies focused on graph data structures. Graph data typically consist of objects or things (nodes) and various relationships (edges) that may connect two or more nodes. Developers may use Infinitegraph to build web and mobile applications and services that need to solve graph problems or answer.

DEX


DEX is based on a graph database model, that is basically characterized by three properties:data structures are graphs or any other structure similar to a graph; data manipulation and queries are based on graph-oriented operations; and there are data constraints to guarantee the integrity of the data and its relationships. A DEX graph is a Labeled Directed Attributed Multigraph. Labeled because nodes and edges in a graph belong to types. Directed because it supports directed edges as well as undirected. Attributed because both nodes and edges may have attributes and Multigraph meaning that there may be multiple edges between the same nodes even if they are from the same edge type.

Titan


Titan is a scalable graph database optimized for storing and querying graphs containing hundreds of billions of vertices and edges distributed across a multi-machine cluster. Titan is a transactional database that can support thousands of concurrent users executing complex graph traversals.

Infogrid


InfoGrid is a Web Graph Database with a many additional software components that make the development of REST-ful web applications on a graph foundation easy. InfoGrid is open source, and is being developed in Java as a set of projects. Provides an abstract common interface to storage technologies such as SQL databases and distributed NoSQL hashtables. This enables an InfoGrid GraphDatabase to persist its data using any of several different storage technologies but with the same API for application developers.

HypergraphDB


HypergraphDB is open source data storage mechanism based on powerful knowledge management formalism known as directed hypergraphs. While a persistent memory model designed mostly for knowledge management, AI and semantic web projects, it can also be used as an embedded object-oriented database for Java projects of all sizes. Or a graph database. Or a (non-SQL) relational database. HyperGraphDB application components implement various domain models, standards, algorithms and domain-specific tools, taking advantage of its generality. Every entity in those components is ultimately a HyperGraphDB atom, which makes it possible to integrate and compose them naturally.

Trinity


General purpose graph computation faces a great challenge of random data access. Meanwhile, the RAM capacity limit forms a scale bound of single machine solutions for general purpose graph processing. Trinity is a general purpose distributed graph system over a memory cloud. Memory cloud is a globally addressable, in-memory key-value store over a cluster of machines. Through the distributed in-memory storage, Trinity provides fast random data access power over a large data set. This makes Trinity a natural large graph processing platform. With the power of fast graph exploration and distributed parallel computing, Trinity supports both low-latency online query processing and high-throughput offline analytics on billion-node scale large graphs.

AllegroGraph


AllegroGraph is a modern, high-performance, persistent graph database. AllegroGraph uses efficient memory utilization in combination with disk-based storage, enabling it to scale to billions of quads while maintaining superior performance. AllegroGraph supports SPARQL, RDFS++, and Prolog reasoning from numerous client applications.

WHITE Database


The Workplace Health Indicator Tracking and Evaluation (WHITE™) database is a web-based system that centralizes information on incident tracking and case management for the BC health authorities. The information enables the healthcare sector to reduce and/or eliminate workplace injuries, provide prompt clinical and workplace interventions to reduce disability and time loss, and evaluate the effectiveness of health and safety programs.

Virtuoso


Virtuoso Universal Server is a middleware and database engine hybrid that combines the functionality of a traditional RDBMS, ORDBMS, virtual database, RDF, XML, free-text, web application server and file server functionality in a single system. Rather than have dedicated servers for each of the aforementioned functionality realms, Virtuoso is a “universal server”; it enables a single multithreaded server process that implements multiple protocols. The open source edition of Virtuoso Universal Server is also known as OpenLink Virtuoso. The software has been developed by OpenLink Software with Kingsley Uyi Idehen and Orri Erling as the chief software architects.

VertxDB


VertexDB is a high performance graph database server that supports automatic garbage collection. It uses the HTTP protocol for requests and JSON for its response data format and the API is inspired by the FUSE filesystem API plus a few extra methods for queries and queues. VertexDB is composed of nodes which are folders of key/value pairs. Keys are stored in lexical ordering and can be any string not containing a forward slash character

FlockDB


FlockDB is an open source distributed, fault-tolerant graph database for managing wide but shallow network graphs. It was initially used by Twitter to store relationships between users, e.g. followings and favorites. FlockDB differs from other graph databases, e.g. Neo4j in that it is not designed for multi-hop graph traversal but rather for rapid set operations, not unlike the primary use-case for Redis sets. Since it is still in the process of being packaged for outside of Twitter use, the code is still very rough and hence there is no stable release available yet. FlockDB was posted on GitHub shortly after Twitter released its Gizzard framework, which it uses to query the FlockDB distributed datastore.

BrightstarDB


BrightstarDB was created with the goal of making the benefits of the flexible, schema-free RDF model available to .NET developers in an easy-to-use persistent store. BrightstarDB is, at its core, an RDF data store capable of handling millions of RDF triples; but unlike many other stores, BrightstarDB does not force the programmer to use an unfamiliar RDF-based API. Instead we built two layers on top; one that enables the use of .NET’s dynamic objects for retrieval and update; and another that provides a full “contract-first” entity model allowing you to define an application’s domain model as .NET interfaces with minimal annotation and then use LINQ to query the data store and a “context object” pattern that will be familiar to users of the .NET Entity Framework for entity creation and update operations.

Multimodel Databases

ArangoDB


A distributed open-source database with a flexible data model for documents, graphs, and key-values. Build high performance applications using a convenient sql-like query language or JavaScript extensions.

OrientDB


OrientDB is an Open Source NoSQL DBMS with the features of both Document and Graph DBMSs. Written in Java, it is incredibly fast:it can store up to 150,000 records per second on common hardware. Even for a Document based database, the relationships are managed as in Graph Databases with direct connections among records. You can traverse parts of or entire trees and graphs of records in a few milliseconds. Supports schema-less, schema-full and schema-mixed modes. Has a strong security profiling system based on user and roles and supports SQL amongst the query languages. Thanks to the SQL layer, it’s straightforward to use for those skilled in the relational database world.

DatomicDB


Datomic is a new database designed as a composition of simple services. It strives to strike a balance between the capabilities of the traditional RDBMS and the elastic scalability of the new generation of redundant distributed storage systems.

FatDB


FatDB is the next generation NoSQL database for Windows that extends database functionality by integrating Map Reduce, a work queue, file management system, high-speed cache, and application services. FatDB is built to integrate tightly with SQL Server so that you can build exciting new applications that leverage relational and unstructured data models.

AlchemyDB


Alchemy Database is a low-latency high-TPS NewSQL RDBMS embedded in the NOSQL datastore redis. Extensive datastore-side-scripting is provided via deeply embedded Lua. Unstructured data, can also be stored, as there are no limits on #tables, #indexes, #columns, and sparsely populated rows use minimal memory. AlchemyDB was the first NewSQL database to integrate relational database management system (RDBMS), document store, and graph database capabilities on top of the Redis open-source key-value store.

coretxDB


cortex uses SQLite database engine – fast, reliable and file based, which means, you don’t have to mess with drivers. You can use them through the UI, to keep data organized. Or you can access databases from Cortex scripting language

Object Databases:

VersantDB


The Versant Object Database enables developers using object oriented languages to transactionally store their information by allowing the respective language to act as the Data Definition Language (DDL) for the database. In other words, the memory model is the database schema model.In general, persistence in VOD in implemented by declaring a list of classes, then providing a transaction demarcation application programming interface to use cases. Respective language integrations adhere to the constructs of that language, including syntactic and directive sugars.Additional APIs exist, beyond simple transaction demarcation, providing for the more advanced capabilities necessary to address practical issues found when dealing with performance optimization and scalability for systems with large amounts of data, many concurrent users, network latency, disk bottlenecks.

Objectivity


Objectivity/DB is a commercial object database produced by Objectivity, Inc. It allows applications to make standard C++, Java, Python or Smalltalk objects persistent without having to convert the data objects into the rows and columns used by a relational database management system (RDBMS). Objectivity/DB supports the most popular object oriented languages plus SQL/ODBC and XML. It runs on Linux, LynxOS, UNIX and Windows platforms. All of the languages and platforms interoperate, with the Objectivity/DB kernel taking care of compiler and hardware platform differences.

Gemstone


GemStone provides a distributed, server-based, multiuser, transactional Smalltalk runtime system, Smalltalk application partitioning technology, access to relational data, and production-quality scalability and availability. The GemStone object server allows you to bring together object-based applications and existing enterprise and business information in a three-tier, distributed client/server environment.

Starcounter


Starcounter is, in contrast to OldSQL databases, originally designed to have its main storage in RAM, to utilize modern multi-core CPUs with several level of caches, and to minimize overhead. Starcounter also makes use of a new invention we call VMDBMS, which makes it substantially faster than other in-memory high performance databases. VMDBMS stands for an integration between the application runtime virtual machine (VM) and the database management system (DBMS). As a result of this integration the database data resides all the time in one single place in RAM and is not copied back and forth between the database and the application.

HSS Database


The HSS Database is an object oriented database management system (OODB or ODBMS) for Microsoft .NET, Silverlight and Windows Phone 7. HSS Database gives developers the ability to store and retrieve objects from their applications with extremely high speeds compared to other solutions

ZODB


The ZODB is a native object database that stores your objects while allowing you to work with any paradigms that can be expressed in Python. Thereby your code becomes simpler, more robust and easier to understand. A ZODB storage is basically a directed graph of (Python) objects pointing at each other, with a Python dictionary at the root. Objects are accessed by starting at the root, and following pointers until the target object. In this respect, ZODB can be seen as a sophisticated Python persistence layer

Magma


Magma is an open-source object-oriented database developed entirely in Smalltalk. Magma provides transparent access to a large-scale shared persistent object model. It supports multiple users concurrently via optimistic locking. It uses a simple transaction protocol, including nested transactions, supports collaborative program development via live class evolution, peer-to-peer model sharing and Monticello integration. Magma supports large, indexed collections with robust querying, runs with pretty good performance and provides performance tuning mechanisms. Magma is fault tolerant and includes a small suite of tools. Magma can either work locally or on a remote Magma server. This means, multiple images can access the same database concurrently.

NEODB


Neo is a database designed for network­oriented data. This is data that is ordered in complex networks or deep trees. Where the relational model is based on tables, columns and rows, Neo’s primitives are nodes, relationships and properties. Together, these form a large network of information that we call a node space. Neo shines at handling semi­structured data. Semi­structured data is a research term that is quickly gaining ground outside of academia. Simply put, semi­structured data typically has few mandatory but many optional attributes. As a consequence, it usually has a very dynamic structure, sometimes to the point where it varies even between every single element. Data with that degree of variance is difficult to fit in a relational database schema but can be easily represented in the Neo model.

Streling


Sterling is a NoSQL object-oriented database developed especially for Silverlight, Windows Phone 7.0 and .NET. It supports LINQ object queries. The core is light so that the system is flexible and it becomes easy to query the database.

EyeDB


EyeDB is an Object Oriented Database Management System (OODBMS) based on the ODMG 3 specification, developed and supported by the French company SYSRA. EyeDB provides an advanced object model (inheritance, collections, arrays, methods, triggers, constraints, and reflexivity), an object definition language based on ODMG ODL, an object query and manipulation language based on ODMG OQL and programming interfaces for C++ and Java.

FarmerD


FramerD is a portable distributed object-oriented database designed to support the maintenance and sharing of knowledge bases. Unlike other object-oriented databases, FramerD is optimized for the sort of pointer-intensive data structures used by semantic networks, frame systems, and many intelligent agent applications. FramerD databases readily include millions of searchable frames and may be distributed over multiple networked machines. FramerD includes an extensive scripting language based on Scheme with special support for web-based interfaces. FramerD is implemented in ANSI C and has been compiled for a wide range of platforms, including many varieties of Unix, Mac OS X, WIN32. In addition, experimental Java and Lisp libraries exist for accessing FramerD databases and services.

NinjaDB


Ninja Database Pro is deadly good. Ninja Database Pro is a lighting fast, compact, ACID compliant database. It can be used as a database for desktop applications, a Silverlight database, or a Windows Phone 7 database, an Android database with Xamarin’s MonoDroid or an iPhone database with Xamarin’s MonoTouch. It is the first database supporting either object database mode or relational database mode. You choose how to save your child objects as embedded or in a separate table. It supports all the features you expect:LINQ index queries, paging, transactions, constraints, triggers, caching, BLOB, CLOB, Import XML, Export XML, Auto Identity Primary Keys, and foreign key relationships. Industry standard AES encryption and Mini LZO compression are included. Unlike most other databases, Ninja Database Pro can save complex data structures such as double linked lists, multi-dimensional arrays, and dictionaries. Databases can be created in memory, isolated storage, or normal file storage.

ObjectDB


ObjectDB is the most productive software for developing Java database applications using the Java Persistence API (JPA). It is the first persistence solution that combines a powerful database with JPA support in one product, saving the need to integrate an external JPA ORM with a database.

Grid &Cloud Database:

Oracle Coherence


Oracle coherence has revolutionized the way clustered application data is cached. Oracle Coherence manages data in clustered applications and application servers as if it were a single application server. Database applications no longer need to query the database directly each time data is required to be retrieved, updated, or deleted. A Coherence cache is a collection of data objects that serves as an intermediary between the database and the client applications. Database data may be loaded into a cache and made available to different applications. Thus, Coherence caches reduce load on the database and provide faster access to database data

GemfireDB


Gemfire is a distributed memory oriented data management platform that pools memory (and CPU, network and optionally local disk) across multiple processes to manage application objects and behavior. GemFire uses dynamic replication and data partitioning techniques to offer continuous availability, very high performance and linear scalability for data intensive applications without compromising on data consistency even when exposed to failure conditions. Besides being a distributed data container, it is an active data management system that uses an optimized low latency distribution layer for reliable asynchronous event notifications along with highly concurrent data structures for storage.

Infinispan


Infinispan is an extremely scalable, highly available key/value data store and data grid platform. It is 100% open source, and written in Java. The purpose of Infinispan is to expose a data structure that is distributed, highly concurrent and designed ground-up to make the most of modern multi-processor and multi-core architectures. It is often used as a distributed cache, but also as a NoSQL key/value store or object database.

Hazelcast


One of the most common use cases that In Memory Data Grids (IMDG) like Hazelcast solve is that of the slow or unscalable Relational Database (RDBMS). Scaling a non-performant RDBMS at best involves knowledge of complex configuration techniques and at worst could require the addition of expensive non commodity hardware. In this webinar we will demonstrate how you can easily add Hazelcast into the workflow of your application to solve this issue. Hazelcast can be used to solve the problem of slow reads by caching data in memory and it can also relieve stress on a Database where slow updates are an issue for your application.

XML Databases:

EMC Documentum xDB


EMC Documentum xDB is a high-performance and scalable native XML database that is ideal for data-intensive uses such as archiving data from retired applications. Unlike relational databases, Documentum xDB allows database structures to be easily modified to adapt to changing information requirements. It also handles complex data relationships that are not easily modeled in relational rows and columns.Data will be safe with xDB’s high-availability and disaster-recovery options. xDB also provides a powerful, extensible development and runtime toolset based on XML standards as well as full support for the XQuery language for data and full-text searches.

eXist


eXist is an open source database management system entirely built on XML technology, also called a native XML database. Unlike most relational database management systems, eXist uses XQuery, which is a W3C Recommendation, to manipulate its data.an open-source native XML database which provides an easy-to-use and powerful environment for learning and applying XML languages. We begin with a brief description on how to install EXIST and execute some simple operations. EXIST provides a graphical interface which is pretty easy to use.

Sedna


Sedna is a free native XML database which provides a full range of core database services – persistent storage, ACID transactions, security, indices, hot backup. Flexible XML processing facilities include W3C XQuery implementation, tight integration of XQuery with full-text search facilities and a node-level update language.

BaseX


BaseX is a native and light-weight XML database management system and XQuery processor, developed as a community project on GitHub. It is specialized in storing, querying, and visualizing large XML documents and collections. BaseX is platform-independent and distributed under a permissive free software license. In contrast to other document-oriented databases, XML databases provide support for standardized query languages such as XPath and XQuery. BaseX is highly conformant to World Wide Web Consortium specifications and the official Update and Full Text extensions. The included GUI enables users to interactively search, explore and analyze their data, and evaluate XPath/XQuery expression in the lifetime.

Qizx/db


Qizx/db is a XML Query database engine designed to be embedded in a Java application – typically a Servlet. As such, it is primarily used as a class library. To help experimenting with XML Query and XML databases and developing, Qizx/db also comes with two tools which make it easy to build a database, populate it with XML documents, and perform queries on this database

BerkeleyDB


Oracle Berkeley DB XML is an XML database with support for XQuery designed to store and index XML content for fast, scalable and predictable access. It is a C, C++ library that links into your application. Berkeley DB XML provides transactional access, automatic recovery, content compression, on-disk data encryption with AES, fail-over to a hot standby, and replication for high availability. Store, index and query key/value meta-data related to the XML documents as well. Berkeley DB XML provides fast, reliable and scalable persistence for applications that need to manage XML content.

Multidimensional Databases:

Global


A Global is a persistent sparse multi-dimensional array, which consists of one or more storage elements or “nodes”. Each node is identified by a node reference. Each node consists of a name and zero or more subscripts The data stored at each level of the global can either be atomic (a single piece of information) or complex (multiple pieces of information stored in ValueLista format) in nature. In its simplest form, a global is a collection of its name, and all of its subscripts. Given this simple definition, a Globals Database will consist of one or more named globals, each with its own set of zero or more subscripts.

Intersystem cache


At the heart of Caché lies the Caché Database Engine. The database engine is highly optimized for performance, concurrency, scalability, and reliability. There is a high degree of platform-specific optimization to attain maximum performance on each supported platform. Caché is a full-featured database system; it includes all the features needed for running mission-critical applications (including journaling, backup and recovery, and system administration tools). To help reduce operating costs, Caché is designed to require significantly less database administration than other database products. The majority of deployed Caché systems have no database

GT.M


GT.M is a database engine with scalability proven in the largest real-time core processing systems in production at financial institutions worldwide, as well as in large, well known healthcare institutions, but with a small footprint that scales down to use in small clinics, virtual machines and software appliances. The GT.M data model is a hierarchical associative memory that imposes no restrictions on the data types of the indexes and the content – the application logic can impose any schema, dictionary or data organization suited to its problem domain.* GT.M’s compiler for the standard M also known as MUMPS scripting language implements full support for ACID (Atomic, Consistent, Isolated, Durable) transactions, using optimistic concurrency control and software transactional memory (STM) that resolves the common mismatch between databases and programming languages

SciDB


SciDB organizes data as a collection of multidimensional arrays. Just as the relational table is the basis of relational algebra and SQL, the multidimensional array is the basis for SciDB.Array database designed for multidimensional data management and analytics common to scientific, geospatial, financial, and industrial applications.

Rasdaman


RasDaMan is a universal domain-independent array DBMS for multidimensional arrays of arbitrary size and structure. A declarative, SQL-based array query language offers flexible retrieval and manipulation. Efficient server-based query evaluation is enabled by an intelligent optimizer and a streamlined storage architecture based on flexible array tiling and compression. RasDaMan is being used in several international projects for the management of geo and healthcare data of various dimensionality.

Network Model Databases:

Vyhodb


Vyhodb Service oriented, schema-less, network data model DBMS. Client application invokes methods of vyhodb services, which are written in Java and deployed inside vyhodb. Vyhodb services reads and modifies storage data. API:Java, Protocol:RSI – Remote service invocation, Written in:Java, ACID:fully supported, Replication:async master slave, Misc:online backup, License:proprietary.