Version: 1.0
- High performance and massively scalable NoSQL database
- What is used for ?
- High throughput analytic
- Huge datasets
- Access control
- Project level or instance level
- Read/Write/Manage access
Features
- No-ops (Servers)
- An instance: is group of nodes (cluster)
- Auto-scaling
- 02 instances types:
- Dev: low cost, single node and no replication
- Prod: replication is available and throughput guarantee
Replicates and changes
- Synchronize date between clusters
- Resizing: add or remove a node without downtime
- Changing disk type (ex: from HDD to SSD) requires new instance
Interacting with Bigtable
- Using cbt tool (recommended)
- With HBase shell
Example
echo -e "project = [PROJECT_ID]\ninstance = [INSTANCE_ID]" > ~/.cbtrc
- Create table
cbt createtable my-table
- Add column family
cbt createfamily my-table cf1
- Add to row 1 the value to column c1
cbt set my-table r1 cf1:c1=test-value
- Read table
cbt read my-table
- Delete table
cbt deletetable my-table
Schema Design ??
Tall and Narrow Tables ??
Key ??
IAM
- Project, instance and table level