Chapter 3 - Software architectures and their trade-offs Flashcards
(76 cards)
What is a Distributed System?
Collection of independent Computers that appear to be a single coherent system
What does Reliability mean in the context of distributed System
Probability of a system to perform its required functions under stated conditions for a specified period of time.
What does Availability mean in the context of distributed System?
Proportion of the time a system is in a functioning state, i.e., can be used.
Five nines is 0.99999 or 99.999% available
How is Availability usually measured (nines)
Class of 9s ->
1 nine: up to 35.5 day / year
4 nines: up to 52.56 min / year
9 nines: up to 31.536s / year
downtime etc
Availability vs reliability
Server may never be down but return false result’s
What does Transparency mean in the context of distributed System?
Making the complexity of the system invisible or transparent. We want to create illusion of simplicity
e.g hide the data location info,
hide the fact that server went down and session was moved to a different one. etc
What is Middleware?
Services and Abstractions that help accomodate the distributed application. e.g Messaging we implentented in CBDP or webservices
How does a Typical Mainframe Model looks like?
Network in the middle
Terminals am Rande
Hauptserver (Mainframe) macht alles
What are Pros of a Typical Mainframe Model
Single point of administration
Simple architecture and low bandwidth
Little hardware maintanance
What are Cons of a Typical Mainframe Model
Single point of failure
Bottlenecks due to sharing of the data
Mainly console programms
How does a Three layered client / server arch looks like?
Client uses browser to render data
(Web / app) Server has:
1. Presentation Layer
2. Business Layer
3. Data Layer
What is a part of Presentation Layer of three layered client / server arch
UI Components and UI all together
What does Business Layer of the three-layered client server arch consists of
Application facade,
Business Components, entities(DTO) and workflow
What does Data Layer of three layered client server arch consists of
Data access (JPA)
Data utilities(BE)
Service agents(repo in bierkasse)
What are the pros of a Three layered client server arch
No single point of failure
Scalability of the architecture
Flexibility of the architecture
What are Subprograms in DB
PL / SQL Blocks (procedure / function) that take params. difference between procedure and function - one returns value the other is void
What are pros of Stored Procedures
Better reusability,
Contentarisation - stuff meant to be done on DB is done there
with it security, maintainability etc.
Less communication - no need for sending detailed instructions
What are cons of Stored Procedures
Potentially easier to change (no need for deployment)
Portability issues
Testing - requires a special setup
What is data warehousing (DW)
Collection of tools, methods and others that allow managers and analysts conduct data analysis in decision-making processes
Biggest problems of Data Analysis
Heterogeneous sources with similar / same data
bad Data quality
Data is volatile
What is data mart?
It’s a subset or aggregation of data stored in the primary warehouse (like a part athena)
Difference between OLTP (online transaction processing) and OLAP (online analitical processing)
OLTP DB are semi big, have many users are structured, repetitive good for aplication oriented day to day operations.
OLAP are very big, have less users are ad hoc and process complex queries with mostly read only help with particular subject on decision making.
What is a Data qube?
is a tool in OLAP, based on group by queries, allows for good visualization by slicing the data
What is meant by ETL (Extract, transform, load) and what problems come with it?
Data originates in different clusters / tables and has different formats
It needs to be extracted and trasformed into a single type that can be loaded into DW
It is by far the most complex part of DW development as almost 80% of dev time is spent here.