Skip to content

Commit 55a1896

Browse files
JP MarquesJP Marques
JP Marques
authored and
JP Marques
committed
Branched to dev
1 parent dd6e0fe commit 55a1896

10 files changed

+527
-2
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
_site/
44
.sass-cache/
55
.jekyll-metadata
6-
Gemfile.lock
6+
Gemfile.lockx
77
### Example user template template
88
### Example user template
99

_layouts/default.html

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@
33
<head>
44
<meta charset="utf-8">
55
<link rel="stylesheet" href="/css/main.css"/>
6+
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
7+
{% for script in page.scripts %}
8+
<script type="text/javascript" src="{{site.baseurl}}{{script.src}}"></script>
9+
{% endfor %}
610
<title>{{page.title}}</title>
711
</head>
812
<body class="homepage-body">
@@ -13,7 +17,7 @@
1317
<hr style="clear:both">
1418

1519
<footer >
16-
<p class="regular-text">Copyright © 2017 JPCMarques</p>
20+
<p class="regular-text" style="margin-left: 0">Copyright © 2017 JPCMarques</p>
1721
</footer>
1822
</body>
1923
</html>

_study-wiki/PP2.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
---
2+
layout: subpage
3+
title: PP2
4+
sidebarClass: sidebar
5+
navbar:
6+
- Back: study-wiki
7+
---
8+
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
---
2+
layout: subpage
3+
title: Cloud Computing and Virtualization
4+
sidebarClass: sidebar
5+
navbar:
6+
- Back: study-wiki
7+
---
8+
9+
# Cloud computing as an Utility #
10+
11+
Illusion of infinity resources on demand:
12+
13+
* 1 CPU x 100h = 100 CPU x 1h
14+
15+
Removal of any a priori commitment
16+
17+
* no or very low initial costs
18+
* reduce CapEx (capital expenditure), convert to OpEx
19+
20+
Small granularity payments
21+
22+
* computing paid by CPU hour, web request, storage access, or bandwidth used
23+
24+
Shared hosting (one server with multiple websites)
25+
26+
Virtual dedicated server
27+
28+
* Resource sharing among different websites on same machine
29+
* Possibly proportional to payment
30+
31+
Managed dedicating hosting
32+
33+
* One server per website with partial admin rights
34+
* For good QoS
35+
36+
Dedicated hosting: one server per client (simple and flexible)
37+
38+
Collocated hosting: client owns the machine (provider guarantees network QoS)
39+
40+
Cluster hosting: multiple rented machines (for scalability)
41+
42+
Grid hosting: Multiple geographically distributed and replicated machines (for scalability, latency/speed, fault tolerance)
43+
44+
# Successes of Cloud Computing #
45+
46+
Scalability, grow as you go along
47+
* grow the company (start ups with no H/W risk)
48+
* grow the application
49+
50+
Utility aspects
51+
* no system admins
52+
* low granularity payments
53+
54+
Varied development paradigms
55+
* VMs, web apps, etc
56+
57+
# Problems of Cloud Computing #
58+
59+
* Availability
60+
* Lock-in
61+
* Privacy and auditing
62+
* Cost of data transfer
63+
* Performance reliability
64+
* Scalable storage
65+
* Large scale bugs
66+
* Scale-out time
67+
* Reputation propagation
68+
* Compatible licensing
69+
70+
# Abstraction #
71+
72+
Complexity in computer systems (hw/sw)
73+
74+
Abstraction hides details
75+
* key to manage complexity
76+
* simplified interface to underlying resources
77+
* approach = levels of abstraction + well-defined interfaces
78+
79+
## Well-defined interfaces ##
80+
81+
Examples:
82+
* Instruction sets
83+
* OS system calls
84+
* Libraries
85+
* Byte-code format
86+
87+
Advantages:
88+
* Decoupling
89+
* Independence from changes in internal details
90+
* vendor independence
91+
* parallel development
92+
* diversity: competing abstractions favour innovation
93+
94+
Disadvantages:
95+
* Interfaces are confining
96+
* may reduce interoperability
97+
* subsystems designed for one interface do not work with others
98+
* assumption that oS has full control over hw
99+
* very restrictive specially in networked environment
100+
* limited flexibility, lock-in, security and failure isolation
101+
102+
Solution?
103+
104+
* keep advantages and avoid disadvantages
105+
* virtualization: mapping of interfaces
106+
107+
## Virtualization ##
108+
109+
Isomorphism
110+
* virtual guest, real host
111+
* state mapping
112+
* emulation
113+
114+
Virtualization vs abstraction
115+
* abstraction is also an isomorphism
116+
* virtualization does not necessarily hide details (maintains similar state size and number of operations)
117+
118+
Examples:
119+
* Virtual hard disks
120+
* VMs
121+
* VMWware with Linux guest running on Windows host
Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
---
2+
layout: subpage
3+
title: Database Management Systems
4+
sidebarClass: sidebar
5+
navbar:
6+
- Back: study-wiki
7+
---
8+
9+
[refs]: c1 silber and ragu
10+
11+
<div id="Purpose "></div>
12+
13+
# Purpose of Database Management Systems #
14+
15+
---
16+
17+
18+
A DBMS is a collections of interrelated data and set of programs to access the data.
19+
20+
DB contain relevant information about a particular enterprise/organization
21+
22+
DBMS provides and environment which is efficient and convenient to use
23+
24+
## Issues of file systems for data storage ##
25+
26+
* Data redundancy and inconsistency (multiple formats, duplication of information in diff files)
27+
* Difficulty in data access (need a new program for each new task)
28+
* Data isolation (multiple files and formats)
29+
* Integrity (integrity problems become part of program code, making it hard to add new ones)
30+
* Atomicity of updates
31+
* Concurrent access
32+
* Security
33+
34+
## Why a DBMS? ##
35+
36+
* Provides independent data and (much more) efficient access to that data.
37+
* Since a DBMS removes the need to control data from the application itself, it reduces application development time.
38+
* Data integrity and security (obviously reducing development time), through usage of mechanisms such as Data Abstraction
39+
* Uniform data administration ????
40+
* Concurrent access and crash recovery (namely through atomicity of access)
41+
42+
## Levels of Data Abstractions ##
43+
44+
### Physical level ###
45+
46+
Describes how data is stored
47+
48+
### Logical level ###
49+
50+
Describes data stored in the database, and the relationships among the data
51+
52+
### View level ###
53+
54+
Application programs may hide details of data types; views can also hide information for security purposes
55+
56+
## Data models ##
57+
58+
A collection of conceptual tools for describing data, relationships among them, their semantics and constraints
59+
60+
## Data Independence ##
61+
62+
Applications are insulated from how data is structured and stored
63+
64+
**Logical data independence** - protection from changes in the logical structure of data
65+
**Physical data independence** - protection from changes in the physical structure of data
66+
67+
## Instances and Schema ##
68+
69+
**Schema** - logical structure of the database, the description of a particular collection of data using a given data model
70+
(analogous to a class in java)
71+
* *Physical* and *Logical* schemas differ on what level they are designed in (physical or logical)
72+
73+
**Instance** - the content of the database at a particular point in time (analogous to the value of variable)
74+
75+
## SQL: Structured Query Language ##
76+
77+
A relational DBMS provides a DDL and a DML as part of a single DB language (SQL)
78+
79+
SQL is a declarative query language (user specifies what data is required, without specifying the method of access;
80+
in procedural languages the method is specified)
81+
82+
### DDL (Data Definition Language)###
83+
84+
DDL compiler generates a set of tables stored in a data dictionary, which essentially contains metadata
85+
86+
### DML (Data Manipulation Language)###
87+
88+
Language for accessing and manipulating data
89+
90+
## Transaction Management ##
91+
92+
A transaction is a collection of operations that perform a single logical function in a database application
93+
94+
The transaction management component ensures that the database remains in a consistent state despite system and transaction failures
95+
96+
Transactions must be ACID (Atomic, Consistent, Isolated and Durable/persistent)
97+
98+
## Database Users ##
99+
100+
Users are differentiated by the way they expect to interact with the system
101+
102+
* Application programmers: interact with the system through DML calls
103+
* Sophisticated users: form requests in a database query language
104+
* Naïve/end users: invoke one of the permanent application programs that have been written previously
105+
* Database administrator: coordinate all the activities of the database system, has a good understanding of the enterprise's information
106+
resources and needs:
107+
* Schema definition
108+
* Storage structure and access method definition
109+
* Schema and physical organization modification
110+
* Granting user authority to access the database
111+
* Specifying integrity constraints
112+
* Acting as liaison with users
113+
* Monitoring performance, tuning the system and responding to changes in requirements
114+
115+
## Database Tuning ##
116+
117+
Activity of making a database application run faster (higher throughput, though it may mean lower response time for time-critical applications)

_study-wiki/enterprise-integration.md

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
---
2+
layout: subpage
3+
title: Enterprise Integration
4+
sidebarClass: sidebar
5+
navbar:
6+
- Back: study-wiki
7+
---
8+
9+
10+
# #
11+
12+
---
13+
14+
Development must handle changing needs fast enough to meet demands -> Reduce magnitude of development cycle (smaller phases = higher adaptability, e.g. SCRUM)
15+
16+
Adapting software is usually better and faster to reach a minimum deliverable product, as opposed to building from scratch.
17+
18+
Adaptability to change is also important for internal processes, to shorten their duration and increase their efficiency.
19+
20+
There's an higher and higher need to adapt for any situation, typically with things out of the enterprise's control, to integrate with a larger number of entities
21+
seamlessly and effortlessly (integration with and in **supply chains**)
22+
23+
# Elaborate here #
24+
25+
26+
27+
# Legacy applications #
28+

0 commit comments

Comments
 (0)