Work-Related Topics Flashcards
SSH
Secure SHell
A cryptographic (encrypted) network protocol for initiating text-based shell sessions on remote machines in a secure way.
Uses the client-server model.
SSH Tunneling is important for cloud computing, as it avoids the security issues of exposing a cloud-based virtual machine directly on the internet by providing a secure path that bypasses firewalls.
Tunneling Protocol
Allows a network user to access or provide a network service that the underlying network does not support or provide directly, e.g. running IPv6 over IPv4, or hiding the nature of the traffic that is run through the tunnel.
Works by using the data portion of a packet (the payload) to carry the packets that actually provide the service.
Proxy Server
A server that acts as an intermediary for requests from clients seeking resources from other servers.
OSI (Open Systems Interconnection) Model
- Application Layer
High-level APIs, resource sharing, remote file access, directory services, and virtual terminals
e.g. HTTP, FTP, SSH - Presentation Layer
Translation between network / application: Character encoding, data compression, encryption/decryption
e.g. ASCII, JPEG - Session Layer
Manages sessions, i.e. continuous exchange of back & forth between two nodes.
e.g. RPC - Transport Layer
Reliable transmission of segments between points on a network: segmentation, acknowledgement, multiplexing
e.g. TCP, UDP - Network Layer
Structuring / Managing a multi-node network: Addressing, routing, traffic control
e.g. IPv4, IPv6, IPSec - Data link Layer
Reliable transmission of data frames between two nodes connected by a physical layer
e.g. IEEE, 802.2 - Physical Layer
Transmission and reception of raw bit streams over a physical medium
e.g. DSL, USB
IPv4 vs. IPv6
32-bit addressing vs. 128-bit addressing (so waaay bigger address space…)
Different packet format, designed to minimize packet header processing by routers.
Because of this, IPv4 & IPv6 are not interoperable.
Longer addresses permit simpler address allocation (since subnets are way larger), which limits the expansion of routing tables and makes everything simpler.
Daemon
A program that runs as a background process rather than being under the direct control of an interactive user.
Usually started at boot time, and serve the function of responding the network requests, hardware activity, etc.
Mount
Mounting takes place before a computer can use any kind of storage device (e.g. hard drive, CD, DVD, USB).
It is typically used for removable storage - the storage devices must be mounted before the OS can read them. The Mount command instructs the OS that the file system is ready to use, and associates it with a particular point in the overall file system hierarchy (the mount point) and sets options relating to its access.
XSD
XML Schema Definition
A recommendation of the World Wide Web Consortium (W3C), specifies how to formally describe the elements in an XML doc.
Determination of a document’s validity produces a collection of information adhering to specific data types (an infoset), which can be useful in developing XML document processing software.
XML Schema
A DDL for XML.
An abstract collection of metadata, consisting of a set of schema components: element & attribute declarations and complex & simple type definitions.
All schemas have a namespace, and all named schema components belong to a target namespace.
DBMS
Database Management System
Computer software application that interacts with the user, other applications, and the database itself to capture and analyze data.
Examples: MySQL, Microsoft SQL Server, Oracle, PostgreSQL
Database Schema
Refers to the organization of data as a blueprint of how a database is constructed.
In a relational database, defines the tables, fields, relationships, views, indexes, packages, procedures, functions, queues, triggers, types, sequences, materialized views, synonyms, database links, directories, XML schemas, and other elements.
Integrity Constraints
A set of formulas (sentences) imposed on a database that ensure compatibility between parts of the schema.
Entitiy integrity (primary key constraints)
Referential integrity (foreign key constraints)
Domain integrity (constraints on what values can be entered into the columns of a table, e.g. int, varchar)
User-defined integrity (user-made constraints)
ACID
Atomicity
Each transaction is “all or nothing”. If any part of a transaction fails, the state of the database should be unchanged (i.e. none of the transaction occurs)
Consistency
Each transaction will bring the database from one valid state to another valid state.
Isolation
Concurrent execution of transactions results in a state that would be the same as if they were executed serially.
Durability
Once a transaction has been committed, it will remain committed, regardless of power outage, errors, etc.
Database Indices: Clustered vs. Non-Clustered
Non-Clustered: Data is in arbitrary order, but the logical ordering is specified by the index. Physical order is not the same as index order. Typically non-primary key columns used in JOIN, WHERE, and ORDER BY clauses. There can be more than one.
Clustered: Row data is stored in order to match the index. Only one per table. Can greatly increase retrieval speed, but only when the data is accessed sequentially or a range is selected.
Redundancy
Existence of additional data that permits corrections of errors in stored or transmitted data.
Not good in databases however - can lead to inconsistency. Foreign keys and proper segregation of data are preferable.