![]() So one can have a Table API account or a Mongo account or what have you. When creating an account in Cosmos DB (this is a unit of organization, users can have many accounts) the "type" of Database is specified on the account. But for now each of our data base types uses its own encoding conventions. Over time we expect most of those data types to be natively supported by our SQL API. ways of encoding numbers, dates, etc.) and are encoded in our storage and index layer in their own way. On top of that infrastructure we are able to implement many different kinds of stores, from SQL like stores using our SQL API, to Mongo, to Cassandra, to Gremlin, to an implementation of Azure Table storage and so on.Įach of the different store types have their own data types (e.g. You can continue to build applications using popular OSS APIs and get all the benefits of a battle-tested and fully managed, globally distributed database service.Ĭosmos DB at its heart is a geographically distributed database with its own Atom-Record-Sequence storage engine and index. Cosmos DB’s database engine currently supports DocumentDB SQL, MongoDB, Azure Tables (preview), and Gremlin (preview). The service also supports popular database APIs for data access and querying. The core data model of Cosmos DB is natively accessible from dynamically typed programming languages and can be exposed as-is as JSON. ![]() The database engine can efficiently translate and project different data models onto the ARS-based data model. Sequences are arrays consisting of atoms, records, or sequences. Records are structs composed of these types. Atoms consist of a small set of primitive types like string, bool, and number. The core content-model of Cosmos DB’s database engine is based on atom-record-sequence (ARS). Thanks to Carter's comment below it appears you are however able to mix and match the graph and DocumentSQL APIs.Īzure Cosmos DB natively supports multiple data models including documents, key-value, graph, and column-family. The API dictates the storage model - graph, key value, column etc, but they all map back on to the same technology under the hood. You can only use one API against a container, multiple are not possible due to the way the data is stored and retrieved. So, depending on the API chosen, it projects the desired model (graph, column, key value or document) on to the underlying store. When you create a container ("database instance") you choose the most relevant API for your use case which optimises the way you interact with the underling data store and how the data is persisted in to that store. Cosmos DB is a single NoSQL data engine, an evolution of Document DB.
0 Comments
Leave a Reply. |