NoSQL Databases
- We have four different categories of NoSQL Families
- Document Databases:
- stores the data elements in the document like structures (json)
- Commonly used in content management, monitoring. Web and Mobile applications
- Examples: Couchbase Server, CouchDb, MarkLogic, Mongo DB
- Graph Databases:
- Emphasise conection b/w data elements, storing related nodes in Graphs to accelarate querying
- Used in recommendation engines and geospatial applications
- Examples: IBM Graph, Neo4j, Allegrograph
- Key-value databases
- Uses a simple data model that pairs unique key and its associated values in storing data elements
- Examples: DynamoDB, Aerospike, Riak
- Wide column stores: They are also called as table-style databases
- store data accross tables that can have very large number of columns
- Commonly used in internet search and large scale web apps
- Examples: HBase, Cassandra, SimpleDB
- Document Databases:
- The NoSQL offerings on the GCP are Bigtable and Datastore
Cloud Bigtable
- This is alternative to the Hadoop’s HBase
- Google describes Bigtable as sparsely populated table that can scale to billions of rows and thousands of colums
- When not to use Big table
- Do not use bigtable if you require transaction support
- Do not use big table if your data size is less than 1 TB
- Do not use big table if you plan to use Analytics, BI or datawarehousing use cases. (BigQuery is a better option here)
- Do not use Bigtable for very highly structure or hierarchical data
- When to use Big table
- The first and obvious one has to do with very fast scanning with low latency and high througput applications
- If you have write operations taht are very infrequent or not import and you dont care about ACID support
Google cloud Datastore
- This is fully managed NoSQL database service.
- This is something that we turn when we are looking for document-oriented storage in NoSQL database
- To use data store from
- Java Refer Here
- Python Refer Here
BigQuery
- Data warehouse as a Service offered by GCP is BigQuery.
- BigQuery is Google’s fully managed petabyte scale serverless database
- To play with Bigquery google offers public datasets Refer Here
Memory store
- GCP offers
- Memory Store for Redis
- Memory store for Memcached
- Using redis from python Refer Here
- Using redis from Java Refer Here
- We can create a Memory store for Redis and Memcached and use it from applications hosted in Google APP Engine or VM Instances using private ip