Ojasa Mirai

Ojasa Mirai

Cloud

Loading...

Learning Level

🟢 BeginneršŸ”µ Advanced
āš™ļø Compute Services⚔ Serverless FunctionsšŸ—„ļø SQL Database ServicesšŸ“Š NoSQL Database ServicesšŸ“ Storage Services🌐 Networking Servicesāš–ļø Load Balancing ServicesšŸš€ CDN ServicesšŸ” Security & Auth ServicesšŸ“Š Monitoring & Logging ServicesšŸ“¬ Message Queue ServicesšŸ”Œ API Gateway Services🐳 Container OrchestrationšŸ’¾ Caching Services🌐 Domain & DNS ServicesšŸ’¾ Backup & Recovery Services
Cloud/Cloud Concepts Comparison/Nosql Database Services

šŸ“Š NoSQL Database Services - Provider Comparison

Introduction

NoSQL databases scale horizontally and handle unstructured data. Key-value stores, document databases, and time-series databases solve different problems.

Service Matrix

TypeAWSGCPAzureFirebase
Key-ValueDynamoDBFirestore (native)Table StorageFirestore
DocumentDynamoDB (document)FirestoreCosmos DBFirestore
Time-SeriesDynamoDB (DynamoDB Streams)Cloud FirestoreTime Series DBN/A
GraphNeptuneDatastoreCosmos DBN/A
SearchOpenSearchCloud SearchCognitive SearchN/A

AWS DynamoDB

const AWS = require('aws-sdk');
const dynamodb = new AWS.DynamoDB.DocumentClient();

// Write item
await dynamodb.put({
  TableName: 'Users',
  Item: {
    userId: '123',
    email: 'user@example.com',
    created: Date.now()
  }
}).promise();

// Read item
const result = await dynamodb.get({
  TableName: 'Users',
  Key: { userId: '123' }
}).promise();

// Query with GSI
const results = await dynamodb.query({
  TableName: 'Users',
  IndexName: 'EmailIndex',
  KeyConditionExpression: 'email = :email',
  ExpressionAttributeValues: { ':email': 'user@example.com' }
}).promise();

Strengths:

  • Infinite scale
  • Sub-millisecond latency
  • Global tables (multi-region)
  • Pay-per-request or provisioned

Pricing: $1.25 per million writes + $0.25 per million reads

GCP Firestore

const admin = require('firebase-admin');
const db = admin.firestore();

// Write document
await db.collection('users').doc('user123').set({
  email: 'user@example.com',
  created: new Date()
});

// Read document
const doc = await db.collection('users').doc('user123').get();

// Query
const results = await db.collection('users')
  .where('email', '==', 'user@example.com')
  .get();

Strengths:

  • Real-time listeners
  • Powerful queries
  • Transactions
  • Firebase integration

Pricing: $0.06 per 100K reads + $0.18 per 100K writes

Azure Cosmos DB

const CosmosClient = require("@azure/cosmos").CosmosClient;

const client = new CosmosClient({ 
  endpoint: "https://your-account.documents.azure.com:443/",
  key: "your-key"
});

const database = client.database("mydb");
const container = database.container("users");

// Create
await container.items.create({
  id: 'user123',
  email: 'user@example.com'
});

// Read
const { resource: item } = await container.item('user123').read();

// Query
const { resources: results } = await container.items
  .query('SELECT * FROM c WHERE c.email = @email', {
    parameters: [{ name: '@email', value: 'user@example.com' }]
  })
  .fetchAll();

Strengths:

  • Multi-model (document, graph, key-value)
  • Global distribution
  • SLA guarantees
  • Multiple APIs

Pricing: Starting $1/month, scales with provisioned throughput

Firebase Realtime Database

const admin = require('firebase-admin');
const db = admin.database();

// Write
await db.ref('users/user123').set({
  email: 'user@example.com'
});

// Read
const snapshot = await db.ref('users/user123').get();

// Real-time listener
db.ref('users').on('value', (snapshot) => {
  console.log('Users:', snapshot.val());
});

Strengths:

  • Real-time synchronization
  • Offline support
  • Simple API
  • Free tier generous

Pricing: $1 per GB storage + bandwidth

Comparison

FeatureDynamoDBFirestoreCosmos DBFirebase
ScaleInfiniteMillions/sec1M req/secMillions
Latency<10ms<100ms<10ms<100ms
Real-timeStreams (polling)NativeNoNative
TransactionsLimitedFullFullLimited
Free TierNoYesNoYes
Multi-regionYesYesYesYes

Common Patterns

Key-Value (Cache-like)

→ DynamoDB or Firestore with in-memory cache

Document Storage

→ Firestore or Cosmos DB Document API

Real-time Apps

→ Firebase Realtime DB or Firestore

Graph Relationships

→ Cosmos DB with Graph API

Time-series Data

→ DynamoDB or dedicated time-series DB

Key Takeaways

  • **DynamoDB:** Infinite scale, lowest latency
  • **Firestore:** Best query language, real-time
  • **Cosmos DB:** Multi-model, global SLA
  • **Firebase:** Easiest to integrate, generous free tier
  • **Pricing:** DynamoDB cheapest at scale, Firestore best for small
  • **Real-time:** Only Firebase and Firestore have native support
  • **Transactions:** Firestore best, DynamoDB limited
  • **Choose based on:** Scale needs, real-time requirements, budget

Resources

Python Docs

Ojasa Mirai

Master AI-powered development skills through structured learning, real projects, and verified credentials. Whether you're upskilling your team or launching your career, we deliver the skills companies actually need.

Learn Deep • Build Real • Verify Skills • Launch Forward

Courses

PythonFastapiReactJSCloud

Ā© 2026 Ojasa Mirai. All rights reserved.

TwitterGitHubLinkedIn