Main Flashcards

(193 cards)

1
Q

What is structured data

A

Data stored with high degree of organisation
SQL, CSV

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Is tags and elements structured or semi-structured

A

Semi-structured

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Why use cloud databases?

A

Ease of access
Faster time to market
Reduce risks
Lower costs
Scalability
Diaster Recovery

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

In a SQL Database each row is identified via a

A

primary key

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

The statements of inserting, retrieving , updating and deleting
data in relational databases are made by queries which are
written in

A

SQL

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Advantages of Relational Databases (3)

A

Simple model and queries
Data accuracy (non-repetive)
Data integrity
High security

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Limitations of Relational Databases (3)

A
  • Difficult to maintain
  • Cost to setup and main tain
  • Large physical memory required
  • Lack of scalability
  • Complexity of structure
  • Decrease in performance over time
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What usecases widely make use of relational databases? (2)

A

-Store financial records of the whole industry
-Keep track of inventory
-Hold customer and supplier information
-Keep track of customer orders
-Keep record on employees

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

NoSQL is what type of database

A

Non_relational

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

NoSQL stores data in

A

Documents

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Unique properties of NoSql vs SQL

A

Flexible data models (post deployment)

Handle huge volmes of rapidly changing unstructured data

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What would this look like in NoSQL?

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Advantages of NoSQL databases

A

Scale-out architecture - handle large volumes of data

Store strucutred, unstructured, semi-structured

EAsily update schemeas

Big Data

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Disadvantages of NoSQL databases

A

Lack of standardization

Lack of cross-platform support

Security

Data consistency

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Types of NoSQL databases

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is a graph database

A

Use graph to define relationsships between stored data points

Store and navigate relationships

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Give examples of graph databses

A

Neo4j, Graph DB

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Key-value databsed

A

 Use a simple key-value
method to store data
 Stores data as a collection
of key-value pairs
 Key servers as a unique
identifier

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

What database stores content by colums rather than rows?

A

Wide-column database

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Advatnages of a wide-columned database

A

Big data

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Examples of wide columed databases

A

Google Cloud Bigtable, HBASE

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Explain visual difference between row and column store

A
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

SQL and NoSQL Scaling

A

SQL = Vertical
NoSQL = Horizontal

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Vertical scaling refers to

A

Adding more resources to your server as demand increases.

Existing code need not change

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Horizontal scaling
Adding more servers as demand increases
26
Vertical vs Horizontal: Downtime
Longer downtime on Vertical Less downtime on Horizonal Single point of failure
27
Vertical vs Horizontal: Message passing
Easy Data sharing and message sharing on Vertical Complex data sharing and message sharing on horizontal
28
Vertical vs Horizontal: Complexity
Horizontal increases complexity
29
2 types of database consistency models
ACID BASE
30
ACID stands for
Atomic Consistency Isolation Durability
31
ACID is used in ___ databases
SQL
32
BASE stands for
Basically Available - spread across node Soft state = due to lack of immediate consistency, values may change Eventually consistent - eventually reach consistent state
33
ACID v BASE
34
Difference between strong and eventualy cosnsitency
Strong consistency = Consistent the amount something sent Eventual consistency = consistent after time as updates propogate
35
Eventual Consistency: server to client flows
36
Strong Consistency: server to client flows
37
What is Cap Theorem / Brewers Theorem related too?
Impossible for distribued system to provide certain charateristics
38
What guarantees does Cap theorem / Bewer's refer to?
- Consistency - all clients see same view of data, even after updates - Available- All clients can find a replicate of data set in case of partial node failure - Partition-tolerance - system continues to work in case of network failure
39
Why is CAP theorem called CAP?
Acronym Consitency Avaliability Partitioning
40
NoSQL schema type?
Pre-define or dynamic schema
41
What database type is preferred for large large amounts of data
NoSQL
42
Where a traditional web application might use PhP and MySQL, a Google Cloud website using Apps may use
AppEngine Datastore
43
GQL stnads for
Google Query Language
44
Firebase
* Cloud hosted Real-time database * Data is stored as JSON and synchronized in realtime to every connected client * Automatically receive updates with the newest data * Support: iOS, Android, Web, REST API, C++, Unit and Admin Setup
45
Peformance v Scalability
Scalability is number of nodes Peformance is how effective each node is
46
Scalng up/down
Vertical Scaling
47
Scaling out/in
Horizon scaling
48
On a simple level the "Horizontal Scaling Compute Pattern" is acheived by
Adding or releasing compute nodes
49
Is Horizontal Scaling Compute Pattern reversible
Yes
50
What controls the Horizontal Scaling Compute Pattern?
Cloud Platform Management Systems
51
UseCases for Horizontal Scaling Compute Pattern
Cost efficient scaling required Application capacity requirements exceed capacity of largest node Variable requirements Minimal downtime
52
What pattern fits the following use cases? Cost efficient scaling required Application capacity requirements exceed capacity of largest node Variable requirements Minimal downtime
Horizontal Scaling Pattern
53
What are some caveats of Horizontal Scaling Compute Pattern
- Efficient utilization of resources - Operational efficiency
54
What is: The measure of how a module depends on other modules?
Coupling
55
Difference between couipling and cohesion
Cohesion - within the same module Coupling - inbetween modules
56
Types of coupling
Tightly - Many dependencies Loosely - some dependencies Uncoupled
57
Limitations of tightly coupled
Increased complexity over time Reduces scalability, portability If service fails, entire app fails
58
Advantages of loosely coupled
A Failure in one component != casecase System is more resilient Graceful failure
59
What design pattern allows you to achieve decoupling?
Queue-centric workflow pattern
60
Queue provides a good way of ....
front end and backend decoupling
61
FIFO stands for
First in First Out
62
In a Queue-centric workflow the name of the bus is
Message Queue
63
Is a queue synchronous or asynchronous
Asynchrous
64
Are queues relaible?
Yes (e.g. triplicate nodes, multiple workers etc)
65
What compoennts are the traditional"back end" compoennts of a queue
Worker role
66
Can multiple workers read from a service bus queue
Usually yes
67
Can multiple "front end" instnaces feed to a single queue
Yes
68
What pattern would the following use cases suggest? Work is time consuming Work requires external service Work is resource intensive Work benefits from rate levelling
Queue-centric workflow pattern
69
Queues help to enable tiers to..
Scale indpendantly
70
What queue pattern aims to: Optimize resources AND Minimize Human Intervention
Auto scaling
71
How does an auto scaling pattern work
Continous monitoring of resources Templetes Deploy new resources automatically
72
Is vertical scaling pattern of the auto scaling pattern?
No
73
Types of auto scaling
Reactive Predictive - machine learning loads Scheduled - user defined
74
Benefits of auto scaling pattern
Lower cost Automation Service availability Reliable performance levels Improved fault tolernace
75
What types of cloud patterns are to do with scalability?
Horizontal Scaling COmpute Pattern Queue-centric workflow pattern Auto-scaling pattern
76
What types of patterns are to do with Eventual COnsistency?
MapReduce Pattern Database Sharding Pattern
77
What is the logic for databse sharding pattern?
One database can't handle all of data Split data across multiple databases
78
In database sharding apttern each database node is a
Shard
79
In a database sharding pattern which compoennts is reponsible for maintaining knowledge of where each piece of data is kept
Shard Map Manager
80
Caveats of sharding
Complex for implementation Unbalanced Shard
81
What is an unbalanced shard?
Shard gets too big compared to peer shards
82
Map Reduce is a...
Programming model and associated implemention for BIG dataases
83
What type of data is MapReduce pattern used for
Big data Parallel, distributed algorithm
84
How is MapReduce pattern implemtned
Clsuter Many nodes working in parallel on different parts of the data
85
Describe Visualize Map Reduce at a very high level
Splitters Map functions Reduce functions Outputs
86
Two min phases of MapReduce Pattern
Map Reduce
87
What phase is between Map & Reduce in map reduce patterb
Shuffle & Sort
88
What is the role of the mapper?
Reads data as key/value pairs Outputs data as key/value pairs
89
Descibe a mapper on colours
Input - different colour objects Output - key == colour, value == number of objects
90
Role of shuffle & sort
Bring similar values together
91
Describe the overall MapReduce pattern process
Input Splitting Mapping Shuffling / Sort Reducing Output
92
What was the MapReduce pattern designed for?
Processing large amounts of data
93
Example of MapReduce platform
Hadoop
94
Does MongoDB implement automatic sharding?
Yes
95
Patterns related to multitenancy and commodity hardware
Busy signal pattern Node failure pattern
96
Patterns related to network latency
Colocate pattern Valet key pattern CDN pattern Multisite deployment pattern
97
Multi-tenant
Same application, different databases How different dataabses is enforced depends **
98
Adv of Multi Tenancy
Cost savings Upgrades are easier (but more impact if goes wrong)
99
Types of multi-tenant models
Single database - shared schema Signle Database - seperate schema Seperate database Multiple database, multiple tents per database, shared schema
100
Multi-tenant: Single Database, Shared Schema
One database ID used to distinqiush per tennants in database
101
Multi-tenant: Single Database, Shared Schema - Advantages
Maintainabily
102
Multi-tenant: Single Database, Shared Schema - DisAdvantages
Security No tenant isolation Scalability - limited
103
Multi-tenant: Single Database, Seperate Schema
Seperate schema per tenant
104
Multi-tenant: Single Database, Seperate Schema - Advantages & Disadvnatages
Maintainability Disadvantages: Security & Scalability
105
Multi-tenant: Seperate database + Advnatages and Disadvantages
Each tenant has their own database Highest level of isolation
106
A hubrid of single dataabse,shared schema and seperate database is
Multiple Databases, Multiple Tenants Per Database, Shared Schema
107
Avanages of Multiple Databases, Multiple Tenants Per Database, Shared Schema
Scalability
108
Commodity hardware refers to
Cheap, stnadardized servers
109
This focuses on how an application should react when a cloud service responds to a programmatic request with a busy signal rather than success
Busy Signal Pattern
110
Busy Signal Pattern
How application responds to busy signal Handles transient failures
111
Types of faults
Transient Intermittent Permenant
112
What is explciit throttling
Protect servers against over utalizing services Throttling limit set at app, resource or api level
113
HTTP codes for throttling
HTTP status code 429 (“Too many requests”) or 503 (“Server Too Busy”)
114
a limit is applied to the number of requests per second the users from any one tenant can submit.
Explicit throttling
115
Two methods of handling transient faults
Retry Expoential backoff
116
What is expoential back off
Client perodically retries a failured request with increasing delays between requests
117
What pattern: How application handles a compute node failure
Node Failure Pattern
118
RAID is related to what pattern
Node Failure Pattern
119
Node failure apttern works by
Splitting data into blocks - distributing across nodes RAID defines mechanism and expected levels of avaliabiltiy
120
What failure level does node failure pattern allow
N+1
121
Node fialure and queue-centric pattern can be combiend to achieve
Stop partiallyl completed work being lost
122
Busy signal pattern cab be used to enable ...
retries
123
Causes of latency
Distance Transmissions mediums Routers - processing delay Storage delay
124
Idea behind co-locate pattern
Distance adds latency Locate nodes together
125
Impact of colocate pattern
Cost optimization Scalability User Experience
126
Context for colocate pattern
One node makes frequent use of another node
127
How do you use colocate pattern
Set region
128
What is the focus of the valet key pattern?
Efficiently using cloud storage services with intrusted clients
129
How does a valey key pattern work
Application issue an ephemeral (equivalent key) - limited scope and time Client uses the key to access some resource directly
130
CDN pattern
CDN store cached content on edge servers
131
Name of location at edge on CDN pattern where users first hit
Point of Presence (PoP)
132
Pattern - focuses on deploying a single application to more than one data center
Multisite Deployment Pattern
133
Reason for multisite deployment pattern
Deploying to multiple data centres helps reduce network latency Routing a client to nearest data centre
134
In multisite deployment pattern, data centres stay in ____
sync
135
API
Intermediate software agent that allows dependent application to communicate with each toher
136
Types of APIs
REST-Based SOAP-Based GraphQL-Based
137
REST stands for
Representational State Transfer
138
Use JSON for data formatting
REST-Based API
139
Properties of JSON
Lightweight text based data interchange format Language independent Most programming languages can easily read it and instantiate Easy to understand and manipulate
140
Is JSON ordered
No
141
SOAP stands for
Simple Object Access Protocol (SOAP)
142
SOAP architecture
Function Driven Architecture Uses XML schema data format
143
Scalability - SOAP v REST
SOAP scales more easily and efficiently than REST
144
XML properties
eXtensible Markup Language Human- and machine- readable (verus JSON's more Machine readable)
145
GraphQL
Query Language More flexible an data-intesive opreations approach in API management
146
Whom developed GraphQL
Facebook
147
Image shown in a rest _ api might translate to what in graph ql
Target speciifc queries in query - more like an SQL query in some ways
148
Functional programming is a programming _______
paradigm
149
Functional programming is a way of writing applications using
only pure functions and immutable values
150
The following terminology is associated with what: Immutalbe data Closure First-class function Modularity Referential Transparency
Functional Programming
151
Referential transparency
Functional programs should perform operations just like as if it for the first time
152
Closure
Inner function which can access variables of parent functions
153
Benefits of functional programming
Easier to test Parallel processing Better modularity
154
Limitations of functional programming
Immutable values & recursion might lead to reduction in performance Writing pure functions causes a reduction in readability
155
Functinal Programming fits with what cloud computing architecture
Serverless
156
Reasons for serverless
No wasted resources Low management overhead Scalable Cost effective
157
Limitations of serverless architecture
Debugging Security Vendor limitations Latency
158
Serverless architecture components on common cloud platforms
OPEM OpenWhisk AWS: API Gateway Lambda Google Cloud Functions Microsoft Azure Functuins
159
FaaS v Serverless
Subset of serverless
160
Micro-services are ..
small, indpendent and loosely coupled services
161
Benefits of Micro-services
Agility Small-focused teams Fault isolation Data isolation
162
Deployment of micro-services
Services can be deployed independently
163
Challenges of micro-services
Complexity Lack of governance -different languages and frameworks at each level Network congestion and latency Data integrity - each micro-service for its own data persistence
164
Types of Google Cloud Functions
Foreground functions (Synchronous) - directly invoked via HTTP Background functions (Asynchronous) - invoked via ann event.
165
What two google services can currently invokve backgroind/asynchronous cloud functions
Google CLud Storage Pub/Sub events
166
Storage in Google Cloud generates what type of event
Object Change Notification (OCN)
167
Service MEsh
How different parts of an application share data with one another Dedicate infrastructure layer
168
What type pf service architecture is associated with a service mesh
Microservice
169
What type of testing is related to : - Peformance testing - Security testing - Usability testing - Compatability testing
Non-unfctional
170
What type of testing is related to : - Unit testing -Integration testing - System testing - Acceptance testing
Functional testing
171
Functional testing
Verifies each function
172
Types of functuonal testing
Unit Integration Systemm Acceptance
173
ADvantages of unit tests
Capture early Reduce bugs Modular
174
Integration testing
Tests multiple components in single test
175
Approaches to integration testing
Big Bang Bottom Up Top down Sandwhich
176
Integration testing - Big bang
Everything tested all as once efficient good for small systems
177
Integration testing - Bottom-up
Lower level module are tested first Easier fault location Critical modules tested last No prototyping possible
178
Integration testing - Top-down approach
Higher level modules tested first early prototype possible Critical modules tested on priority
179
Integration testing - divide and conquer method
Sndwhich testing approach
180
What testing evaluates system specification?
System testing
181
Types of system testing
Load testing Stress testing
182
Acceptance testing
Present product to users
183
Usability testing involves..
Setting upa user-friendly group and following: 1. Plan the test 2. Recruit participants 3. Prepare materials 4. Setup enviroment 5. Conduct the test 6. Analyze data 7. Report results
184
Code covergae refers to
How much of code is being covered Quantitive
185
Code Coverage Methods
Statement Coverage Decision Coverage Branch Coverage Condition Coverage
186
Statement Coverage
Calculation of the number of statement in source code which have been execited
187
Formula for satement coverage
(number of executed satements/total statements) * 100
188
What is covered by satement coverage?
Unused statements Dead code #Unused Branches Missing Sattements
189
Decision Coverage
ensuring that each branch of every possible decision point is executed at once
190
Decison Coverage FOrmula
Number of decision outcomed / Total number of decision outcomes
191
Branch Coverage Formula
Number of executed branches/ Total number of branches
192
Condition Coverage
Check individual outcomes for each logical condition
193
Python Test Runner
A program that runs the tests unittest pytest Nose Twisted