Cazton is proud to be one of the few Microsoft Azure Cosmos DB preferred partners worldwide.
- Chander Dhall, the CEO of our company, was a distinguished speaker at the Microsoft Azure Cosmos DB Conference 2023. In his session, Mr. Dhall emphasized the vital importance of proper data modeling and partitioning, showcasing real-world scenarios that can arise during database design. He expertly demonstrated techniques to optimize total request time by 75%, request charge and query time by 99%, and output document size by 100%.
- Azure Cosmos DB is a NoSQL database service which is horizontally scalable and globally distributed. It supports multiple database engines and provides APIs for SQL Server, MongoDB, Cassandra, Gremlin and more.
- Cosmos DB provides reduced latency and guarantees less than 10ms for reads and less than 15 ms latency for writes. Within a 15 milliseconds timeframe, the data is actually written, committed, replicated and indexed.
- Our experts are known for providing high performance and scalable solutions and have delivered incredible results with write queries as low as 11ms and with read queries as low as 8ms.
- At Cazton, we help Fortune 500, large and mid-size companies with database best practices, development, performance tuning, consulting, recruiting services and hands-on training services.
- Our team consists of Microsoft Regional Director, Microsoft Most Valuable Professional, Azure and Cosmos DB insiders.
In today's tech-driven landscape, data lies at the core of every successful business operation. Azure Cosmos DB, Microsoft's globally distributed, multi-model database service, has emerged as a game-changer in the realm of database management. Offering unparalleled scalability, flexibility, and efficiency, Azure Cosmos DB has revolutionized how enterprises handle their data-intensive workloads. Initially introduced as "DocumentDB," Azure Cosmos DB has evolved into a comprehensive, globally distributed database service. Its foundation rests on providing high availability, global distribution, and multiple data models, empowering developers to build robust, planet-scale applications.
Azure Cosmos DB is renowned for its robust features: strong consistency, remarkably low latency, high availability, substantial throughput, and support for up to 5 consistency levels upheld by reliable service level agreements (SLAs). The fundamental concept driving the creation of this advanced database technology was to ensure horizontal scalability and global distribution. This architectural design significantly reduces the proximity between your data and your clientele by replicating and storing it across multiple Azure data centers spanning various regions. With Cosmos DB, the assurance of reads within less than 10ms and write latencies of less than 15ms is guaranteed. It's crucial to note that all read and write operations are initiated from a local region, subsequently replicated in accordance with the chosen consistency model.
Real world data-modeling and performance - Microsoft Azure Cosmos DB Conf 2023
Cazton is proud to be one of the few Microsoft Azure Cosmos DB preferred partners worldwide. We use 30+ patterns for NoSQL databases including Azure Cosmos DB and MongoDB. In this presentation, Mr. Chander Dhall, the CEO of Cazton, demonstrates data modeling and partitioning. He suggests using problem-specific patterns to optimize request time and query speed in Azure Cosmos DB. He illustrates the importance of good data modeling by showing examples of real-life problems that arise when designing a database. He notes that by using the right data modeling patterns, total request time can be reduced by up to 75-86% and query time and output document size can be improved by 99%.
Benefits & Core Features
- Globally distributed: A foundational aspect often associated with Cosmos DB is its global distribution. This essential attribute signifies that upon creating a Cosmos DB database account, the capability to replicate your database across multiple Azure centers becomes available. Increased replication signifies enhanced proximity of the database to your clientele. Azure presently boasts a global presence across 30+ geographical regions, and its expansion remains ongoing. It's imperative to note the seamless ability to add or remove Azure regions at any given point in time.
- Minimized latency: Through the replication of your database across multiple Azure regions, Cosmos DB effectively mitigates latency concerns. Cosmos DB ensures read operations within a timeframe of less than 10ms and latency of less than 15ms for write operations. Remarkably, within this 15-millisecond window, the data undergoes writing, committing, replication, and indexing processes. It's important to emphasize that all read and write actions are initiated from a local region and subsequently replicated based on the chosen consistency model.
- Multi-Model database capability: Azure Cosmos DB stands as a comprehensive solution supporting multiple database engines within a unified framework. The essence of its multi-model functionality lies in the diverse ways data can be stored, encompassing key-value pairs, documents, column-family structures, or graphs. The default type system, known as the Atom Record Sequence System (ARS System), governs the storage approach within Cosmos DB. Under this system, data is stored in three fundamental formats: Atom, Record, or Sequence. Data stored as an atom typically comprises primitive types such as integers, booleans, or floats. Records represent a structured data format akin to a "Struct," while sequences denote an "Array" containing atoms or records. This robust multi-model support in Cosmos DB ensures versatility and adaptability in managing various data formats and structures.
- Multi-API support: Azure Cosmos DB not only accommodates multiple database engines, thus embracing a multi-model approach, but also offers diverse APIs aimed at simplifying developers' workflows. Presently, it extends support for various APIs, encompassing NoSQL, MongoDB, Cassandra, Gremlin, Table Storage, and PostgreSQL. This expansive range of API support within Cosmos DB significantly streamlines development processes and facilitates seamless integration with diverse database paradigms, enhancing flexibility and ease of use for developers.
- Automatic failover capabilities: Azure Cosmos DB boasts support for both automatic and manual failover mechanisms. In the event of a disaster or unavailability of an Azure region, any database requests are seamlessly redirected to the subsequent available region. Additionally, it offers the functionality to establish priority settings for regions where database replication occurs. These priority configurations play a pivotal role in rerouting user requests during failover scenarios, prioritizing high-priority regions to ensure seamless continuity of services.
Azure Cosmos DB Consistency Levels
Azure Cosmos DB offers an extensive range of data consistency levels, each tailored to specific use cases and application requirements:
- Strong: Resembling the robustness of RDBMS consistency models, this level guarantees that each client request retrieves the most recently acknowledged write. However, to utilize this level, the Cosmos DB account mustn't be associated with more than one region, a tradeoff that emphasizes precision over speed.
- Bounded Staleness: This consistency level assures that reads might lag by a maximum of 'x' versions of the document or within a specific time interval set by the client. For instance, setting 'x=2' ensures access to a document no later than the last two versions. Similarly, specifying a time interval of five seconds guarantees that the resource is written to all replicas within this duration, ensuring subsequent requests access the latest version.
- Session: Among the most favored options, Session consistency is confined within a client session. Consider a scenario where a user comments on a product in an eCommerce platform; while the commenting user immediately sees the update, there might be a slight delay before other users browsing the site notice the same change.
- Eventual: As the name implies, this level assures that replicas ultimately converge in the absence of further writes. Although offering the weakest read consistency, it stands as the fastest among the available options, prioritizing speed over absolute precision. Eventual consistency finds its suitability in applications where specific ordering assurances are not essential. For instance, scenarios involving tracking retweet counts, monitoring likes, or managing non-hierarchical comments benefit from this consistency model.
- Consistent Prefix: This option guarantees that subsequent reads always reflect the sequence of writes, preventing any disorder in the observed writes during reads. With a focus on maintaining order, it ensures strong performance and excellent availability, making it a favorable choice for various scenarios where a sequential order of operations is critical.
Azure Cosmos DB Multi-API Support
Azure Cosmos DB not only accommodates multiple database engines, thus embracing a multi-model approach, but also offers diverse APIs aimed at simplifying developers' workflows.
- API for NoSQL: This API in Azure Cosmos DB stores data in documents and is the gateway for accessing new features. It offers extensive control over the interface, service, and SDK client libraries. Notably, it allows querying items using SQL syntax, preferred for handling JSON objects. It's ideal for those shifting from databases like Oracle or DynamoDB, aiming to use modern tech in app development. Additionally, it supports analytics and separates performance for operational and analytical tasks.
- API for MongoDB: This API stores data in a BSON format, following MongoDB's protocol but without relying on MongoDB-specific code. Choosing the MongoDB API allows access to MongoDB's ecosystem and skills while benefiting from Azure Cosmos DB's robust capabilities. Cosmos DB ensures uncompromised features like scalability, high availability, geo-replication, support for multiple write locations, automated shard management, and transparent replication between operational and analytical data stores.
- API for PostgreSQL: This managed service seamlessly operates PostgreSQL within Azure Cosmos DB, incorporating Citus's distributed table capabilities. It allows storage in single-node or distributed setups without forking PostgreSQL, providing flexibility in choosing supported database versions. Initially, it excels in single-node setups with strong indexing, geospatial functions, and JSONB support. As needs grow, it smoothly scales by adding nodes to the cluster without downtime.
- API for Apache Cassandra: This API in Azure Cosmos DB manages data in a column-oriented schema, reflecting Apache Cassandra's scalable storage nature. It aligns seamlessly with Cassandra's principles and wire protocol, providing access to most native features while enjoying Cosmos DB's managed environment. The managed aspect eliminates the need to handle various system elements, offering easy interaction using Cassandra Query Language (CQL) and familiar tools.
- API for Gremlin: This API handles graph queries, storing data in edges and vertices. It's ideal for complex relations or dynamic data that is hard to model in relational databases. Choosing the Gremlin API taps into its ecosystem and skills, offering a unique solution that combines graph algorithms with scalable infrastructure. It's built on Apache TinkerPop, using the same query language for data ingestion and querying, integrating seamlessly with Azure Cosmos DB's partition strategy for read/write operations.
- API for Table Storage: The key/value data format used by this API addresses various constraints experienced by Azure Table storage users, including issues related to latency, scalability, throughput, global distribution, index management, and query performance. Overcoming these limitations, the Table API serves as an effective solution and is recommended for applications migrating to leverage Azure Cosmos DB's advantages. It's crucial to note that the Table API is specifically tailored for OLTP scenarios.
Build a Chatbot with Azure OpenAI and .NET 8
This video demonstrates how to construct an Azure OpenAI Chat Bot that enables you to interact with your proprietary data. Throughout the tutorial, you'll learn to develop the API, UI, and ChatBot from the ground up. This will empower you to ask questions in natural language and seamlessly engage with the system you build. Learn more.
Azure Cosmos DB as a Vector Database
In Natural Language Processing (NLP), vector databases are essential for organizing data into mathematical representations crucial for Grounding LLMs, linking words to real-world concepts. Retrieval Augmented Generation (RAG) merges retrieval and generative models through these databases, storing embeddings that grasp text nuances for context comprehension. These databases enable vector searches, finding similar content and guiding language models through prompt engineering. They serve as a cornerstone, facilitating meaningful representations for language models, grounding words, and refining content generation. Together, they elevate NLP, empowering language understanding, and enhancing content creation capabilities.
Enabling advanced integration of Azure Cosmos DB for NoSQL with Azure Cognitive Search, the implementation of Retrieval Augmented Generation (RAG) patterns leverages the strengths of these technologies within AI-driven applications. Azure Cognitive Search facilitates efficient indexing and querying of high-dimensional vector data, allowing Azure Cosmos DB for NoSQL to serve as a versatile repository, akin to a specialized vector database. Capitalizing on the native vector search capabilities within Azure Cosmos DB for MongoDB vCore and Azure Cosmos DB for PostgreSQL, the platform offers seamless storage, indexing, and retrieval of high-dimensional vector data alongside diverse application datasets. This eliminates the need for costly migrations to alternative vector databases, presenting a unified ecosystem for AI-driven applications. This strategic integration streamlines operations, empowering AI-driven initiatives with the robust capabilities of Azure Cosmos DB while preserving flexibility and scalability.
Cazton, offers comprehensive support for leveraging Azure Cosmos DB's vector database and search functionalities. Their services include designing optimized architectures for vector storage within Cosmos DB, integrating AI solutions with vector capabilities for enhanced insights, and fine-tuning performance for efficient indexing and retrieval of high-dimensional data. Cazton provides training, ongoing support, and custom application development tailored to specific business needs, ensuring seamless utilization of Azure Cosmos DB's powerful vector database and search features.
Azure Cosmos DB free tier
The Azure Cosmos DB free tier simplifies the process of starting, developing, and testing applications, as well as running small production workloads at no cost. Enabling the free tier grants the initial 1000 RU/s and 25 GB of storage within the account, free of charge. Usage beyond these limits incurs regular billing for throughput and storage. This free tier is accessible for all API accounts featuring provisioned or autoscale throughput, in both single and multiple write regions. It remains active indefinitely throughout the account's lifetime, offering all the benefits and features of a standard Azure Cosmos DB account. These include limitless storage and throughput (RU/s), SLAs, high availability, effortless global distribution across Azure regions, and more.
In the shared throughput model, when you allocate throughput to a database, that throughput is distributed among all the containers within that database. Within the free tier, you can allocate up to 1000 RU/s to a shared database at no cost, and this throughput is shared among all its containers. Similar to a standard account, a shared throughput database within the free tier can contain a maximum of 25 containers. Any additional databases with shared throughput or containers requiring dedicated throughput beyond the 1000 RU/s limit are subject to regular pricing.
To maintain your account's free status, ensure that the consumed RU/s or storage remains within the limits offered by the Azure Cosmos DB free tier. Here are examples of configurations that do not result in any monthly charges:
- One database with a maximum of 1000 RU/s provisioned throughput.
- Two containers, one with a maximum of 400 RU/s and another with a maximum of 600 RU/s provisioned throughput.
- An account with two regions, where a single region contains one container with a maximum of 500 RU/s provisioned throughput.
MongoDB vCore - Free Tier
Azure Cosmos DB for MongoDB vCore introduces a new "Free Tier" SKU, allowing exploration of the platform without financial commitments. This free tier lasts throughout your account's lifetime and offers the same commands and features as a regular Azure Cosmos DB for MongoDB vCore account. It's perfect for starting, testing applications, or even small production workloads at no cost, providing a dedicated MongoDB cluster with 32 GB storage, ideal for learning and evaluation purposes. Users can provision a single free DB server per supported Azure region within their subscription, currently available in East US, West Europe, and Southeast Asia regions. Note that high availability, Azure Active Directory (Azure AD), and Diagnostic Logging aren't supported in this tier.
MongoDB vCore - Burstable Tier
The Burstable tier within Azure Cosmos DB offers an intelligent solution designed for smaller database workloads. It optimizes resource utilization by providing minimal CPU performance during idle periods while seamlessly scaling up to full power when demand increases. This flexibility guarantees optimal performance while delivering substantial cost efficiencies. With a focus on lowering the initial service expenses, the Burstable Cluster Tier strives to streamline user onboarding and exploration of MongoDB for vCore at more affordable rates. This initiative expands Cosmos DB's accessibility to businesses of diverse scales enabling cost-effective scalability. Provisioning the Burstable Tier is straightforward, requiring the selection of "M25" in the cluster tier option. However, it's essential to note certain limitations: supported disk sizes range from 32GB to 128GB, high availability (HA) isn't supported, and the tier allows for a single shard only.
How can Cazton help you with Azure Cosmos DB Consulting?
We've successfully assisted our clients in achieving exceptional levels of performance and scalability. Our project portfolio includes instances where Cosmos DB has yielded remarkable outcomes, showcasing write query latencies as minimal as 11ms and read query responses as swift as 8ms. Furthermore, our team of experts has developed training content featured on Microsoft Channel 9, focusing on the intricacies of Azure Cosmos DB. Additionally, our CEO was honored as an industry expert speaker at the Microsoft Visual Studio Launch Event. During this hour-long session, our CEO demonstrated proficient CRUD (Create, Read, Update, Delete) operations utilizing Cosmos DB in conjunction with .NET and Node.js. He was a distinguished speaker at the Microsoft Azure Cosmos DB Conference 2023. In his session, Mr. Dhall emphasized the vital importance of proper data modeling and partitioning, showcasing real-world scenarios that can arise during database design.
Our team specializes in leveraging the extensive Microsoft technology stack, renowned for its widespread adoption. Our seasoned experts boast years of hands-on experience, delivering impactful solutions through real-world projects centered around Microsoft technologies including .NET, .NET Core, ASP.NET / ASP.NET Core, Microsoft Azure and more, along with proficiency across various cloud computing platforms. Their expertise extends to comprehensive utilization of Azure tools, SDKs, and a diverse array of Azure products, reflecting a deep and practical understanding cultivated through diverse project engagements.
We offer the following services for Azure Cosmos DB:
- Migration planning: Planning the migration from legacy systems or other databases to Azure Cosmos DB.
- Database migration services: Assistance in migrating data from on-premises or other cloud databases to Azure Cosmos DB.
- Architecture design: Designing scalable and efficient data models and architectures for Azure Cosmos DB.
- Performance tuning: Optimizing queries and configurations to enhance performance.
- Performance assessment: Evaluating existing Azure Cosmos DB setups for performance bottlenecks and suggesting improvements.
- Custom development: Building applications that leverage Azure Cosmos DB for storage and retrieval of data.
- Strategic planning: Helping businesses devise strategies to utilize Azure Cosmos DB effectively for their unique requirements.
- Implementation support: Guiding and assisting during the implementation phase to ensure smooth deployment.
- Data modeling: Assistance in structuring and modeling data for optimal storage and retrieval.
- Integration services: Integrating Azure Cosmos DB with other Azure services or third-party tools.
- Security implementation: Configuring and implementing security measures for data protection in Azure Cosmos DB.
- Backup and Disaster recovery setup: Establishing backup strategies and recovery plans.
- Query optimization: Fine-tuning queries to improve efficiency and reduce costs.
- Scaling strategies: Implementing strategies to handle scaling needs effectively.
- Consulting services: Advisory and strategic guidance on leveraging Azure Cosmos DB for specific business needs.
- Training programs: Conducting workshops, seminars, and training sessions for developers, architects, and administrators to understand and use Azure Cosmos DB effectively.
- Best practice recommendations: Providing guidelines and best practices for optimal utilization of Azure Cosmos DB.
- Cost optimization analysis: Analyzing usage patterns to suggest cost-saving measures.
- Developer training: Hands-on training for developers to understand Azure Cosmos DB APIs, data modeling, and development practices.
- Administrator training: Training for administrators on managing and maintaining Azure Cosmos DB instances effectively.
- Custom workshops: Tailored workshops addressing specific needs or challenges related to Azure Cosmos DB.
- Recruitment services: Assisting in hiring qualified professionals with expertise in Azure Cosmos DB, both technical and managerial roles.
- Skill assessment: Conducting assessments to gauge the proficiency of candidates in Azure Cosmos DB-related skills.
- Staff augmentation: Providing skilled resources to complement existing teams working with Azure Cosmos DB.
Cazton is composed of technical professionals with expertise gained all over the world and in all fields of the tech industry and we put this expertise to work for you. We serve all industries, including banking, finance, legal services, life sciences & healthcare, technology, media, and the public sector. Check out some of our services:
Cazton has expanded into a global company, servicing clients not only across the United States, but in Oslo, Norway; Stockholm, Sweden; London, England; Berlin, Germany; Frankfurt, Germany; Paris, France; Amsterdam, Netherlands; Brussels, Belgium; Rome, Italy; Sydney, Melbourne, Australia; Quebec City, Toronto Vancouver, Montreal, Ottawa, Calgary, Edmonton, Victoria, and Winnipeg as well. In the United States, we provide our consulting and training services across various cities like Austin, Dallas, Houston, New York, New Jersey, Irvine, Los Angeles, Denver, Boulder, Charlotte, Atlanta, Orlando, Miami, San Antonio, San Diego, San Francisco, San Jose, Stamford and others. Contact us today to learn more about what our experts can do for you.