O que é o Azure Cosmos DB para NoSQL
Vamos começar com algumas definições e um tour rápido pelo Azure Cosmos DB para NoSQL. Esta visão geral deve ajudá-lo a ver se o Azure Cosmos DB pode ser uma boa opção para o seu trabalho.
O que é um banco de dados NoSQL?
Os desenvolvedores precisam de novos tipos de bancos de dados que possam enfrentar os desafios exclusivos dos aplicativos modernos. Os bancos de dados NoSQL foram projetados para atender a necessidades como:
- Grandes volumes de dados.
- Dados com muitas fontes e formas diferentes.
- Esquemas de dados dinâmicos que armazenam diferentes tipos de dados.
- Usando dados de alta velocidade e/ou em tempo real.
Você define bancos de dados NoSQL pelas características comuns que eles compartilham, em vez de por uma definição formal específica. Estas características incluem:
- Um armazenamento de dados não relacional.
- Ser projetado para escalar.
- Não impor um esquema específico.
Geralmente, os bancos de dados NoSQL não impõem restrições relacionais ou bloqueiam os dados, tornando as gravações rápidas. Além disso, eles geralmente são projetados para serem dimensionados horizontalmente por meio de fragmentação ou particionamento, o que lhes permite manter o alto desempenho, independentemente do tamanho.
Embora existam muitos modelos de dados NoSQL, quatro famílias amplas de modelos de dados são comumente usadas ao modelar dados em um banco de dados NoSQL:
No futuro, concentramo-nos no modelo de dados suportado pelo Azure Cosmos DB para NoSQL: o modelo de dados do documento .
Por que usar um banco de dados NoSQL com o modelo de dados do documento?
O modelo de dados do documento divide os dados em entidades de documentos individuais. Um documento pode ser qualquer tipo de dados estruturados, mas JSON é comumente usado como o formato de dados. O Azure Cosmos DB para NoSQL suporta JSON nativamente.
Um documento é uma entidade atómica e pode ter a sua própria forma de dados, independentemente do que está armazenado noutros documentos na mesma base de dados. Devido a essa flexibilidade, não há necessidade de um esquema predefinido que facilite a criação rápida de novos aplicativos. Além disso, essa flexibilidade permite cenários onde diferentes tipos de dados podem ser armazenados juntos e onde os modelos podem evoluir ao longo da vida útil de um aplicativo.
O que é um documento JSON?
JavaScript Object Notation, ou JSON, é um formato de dados leve. JSON foi construído para ser altamente compatível com a notação literal de um objeto na linguagem JavaScript. Muitas estruturas, navegadores e até mesmo bancos de dados suportam JavaScript nativamente, tornando o JSON um formato popular para transmitir e armazenar dados.
Aqui está um exemplo de um documento JSON:
{
"device": {
"type": "mobile"
},
"sentTime": "2019-11-12T13:08:42",
"spoolRefs": [
"6a86682c-be5a-4a4a-bacd-96c4d1c7ece6",
"79e78fe2-93aa-4688-89db-a7278b034aa6"
]
}
Como você pode ver, JSON é um formato de dados relativamente legível que expõe claramente seu conteúdo. JSON também é relativamente fácil de analisar e usar em aplicativos JavaScript.
O que é o Azure Cosmos DB para NoSQL?
O Azure Cosmos DB para NoSQL é um serviço rápido de banco de dados vetorial e NoSQL que oferece consultas avançadas sobre diversos dados e dá suporte a uma nova geração de aplicativos de IA generativa. Ajuda a proporcionar um desempenho configurável e fiável, é distribuído globalmente e permite um desenvolvimento rápido.
A API NoSQL é a API principal ou nativa para trabalhar com documentos. A API NoSQL suporta desenvolvimento rápido e flexível utilizando documentos JSON, uma linguagem de consulta com uma sintaxe familiar e bibliotecas de cliente para linguagens de programação populares. O Azure Cosmos DB também fornece recursos exclusivos, como indexação vetorial e pesquisa, permitindo que os usuários criem uma nova geração de aplicativos de IA generativa sobre os dados dos usuários que podem ser dimensionados rapidamente de forma eficiente.
O Azure Cosmos DB para NoSQL tem algumas vantagens, tais como:
- Banco de dados vetorial líder do setor com indexação vetorial e pesquisa projetada para lidar com vetores de alta dimensão, permitindo uma pesquisa vetorial eficiente e precisa em qualquer escala.
- Velocidade garantida em qualquer escala , mesmo através de explosões, com elasticidade instantânea e ilimitada, leituras rápidas e gravações multimestres, em qualquer lugar do mundo.
- Desenvolvimento rápido e flexível de aplicativos com SDKs para linguagens e estruturas populares, como .NET, Java, Python, JavaScript e GO, bem como análises sem ETL (extrair, transformar, carregar).
- Pronto para aplicativos de missão crítica com continuidade de negócios garantida, disponibilidade de 99,999% e segurança de nível empresarial.
- Totalmente gerenciado e econômico com uma oferta sem servidor com todos os recursos, bem como dimensionamento instantâneo, automático e dinâmico que responde às necessidades do aplicativo.
Esses recursos tornam o Azure Cosmos DB ideal para o desenvolvimento de aplicativos modernos. O Azure Cosmos DB para NoSQL é especialmente adequado para aplicativos que:
- Experimente picos e quedas imprevisíveis no tráfego
- Gere muitos dados
- Necessidade de oferecer experiências de usuário em tempo real
- São dependentes para a continuidade dos negócios
O Azure Cosmos DB para NoSQL pode armazenar documentos JSON nativos com esquema flexível. Os dados são indexados automaticamente e estão disponíveis para consulta usando um sabor da linguagem de consulta SQL projetada para dados JSON. A API NoSQL pode ser acessada usando SDKs para estruturas populares como .NET, Python, Java, Node.js e GO