written 6.2 years ago by |
Google App Engine (GAE) is a Platform as a
Service (PaaS) cloud-based Web hosting service on Google's infrastructure. For an application to run on GAE, it must comply with Google's platform standards, which narrows the range of applications that can be run and severely limits those applications' portability.
GAE supports the following major features:
• Dynamic Web services based on common standards
• Automatic scaling and load balancing
• Authentication using Google's Accounts API
• Persistent storage, with query access sorting and transaction management features
• Task queues and task scheduling
• A client-side development environment for simulating GAE on your local system
• One of either two runtime environments: Java or Python
Google File System:
Abbreviated as GFS, a Global File System is a cluster file system that enables a cluster of computers to simultaneously use a block device that is shared between them.
GFS reads and writes to the block device like a local file system, but also allows the computers to coordinate their I/O to maintain file system consistency.
With GFS any changes that are made to the file system on one computer will immediately be seen on all other computers in that cluster.
GFS provides fault tolerance, reliability, scalability, availability and performance to large networks and connected nodes. GFS is made up of several storage systems built from low-cost commodity hardware components.
It is optimized to accommodate Google's different data use and storage needs, such as its search engine, which generates huge amounts of data that must be stored.
Big Tables and Google NO SQL System:
Google Cloud Bigtable is a productized version of the NoSQL database that stores Google's bits and bytes.
The big selling point is it doesn't require the maintenance traditionally needed for compatible on-prem NoSQL solutions.
Bigtable is a compressed, high performance, and proprietary data storage system built on Google File System, Chubby Lock Service and a few other Google technologies.
Bigtable maps two arbitrary string values (row key and column key) and timestamp (hence three-dimensional mapping) into an associated arbitrary byte array.
It is not a relational database and can be better defined as a sparse, distributed multi-dimensional sorted map.
Bigtable is designed to scale into the petabyte range across "hundreds or thousands of machines, and to make it easy to add more machines [to] the system and automatically start taking advantage of those resources without any reconfiguration".
Google’s Distributed Lock Service (Chubby):
Chubby is a distributed lock service intended for coarse-grained synchronization of activities within Google's distributed systems.
Chubby has become Google's primary internal name service; it is a common rendezvous mechanism for systems such as Map Reduce; the storage systems GFS and Bigtable use Chubby to elect a primary from redundant replicas; and it is a standard repository for files that require high availability, such as access control lists.
Chubby is a relatively heavy-weight system intended for coarse-grained locks, locks held for "hours or days", not "seconds or less."