Quick Topics Flashcards

1
Q

Goal of creating an index

A

The goal of creating an index on a particular table in a database is to make it faster to search through the table and find the row or rows that we want. Indexes can be created using one or more columns of a database table, providing the basis for both rapid random lookups and efficient access of ordered records.

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

Con of indexes

A

An index can dramatically speed up data retrieval but may itself be large due to the additional keys, which slow down data insertion & update.

When adding rows or making updates to existing rows for a table with an active index, we not only have to write the data but also have to update the index. This will decrease the write performance. This performance degradation applies to all insert, update, and delete operations for the table.

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

Forward Proxy

A

A server that sits between a client and servers and acts on behalf of the client, typically used to mask the client‘s identity (IP address). Note that forward proxies are often referred to as just proxies.

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

Reverse Proxy

A

A server that sits between clients and servers and acts on behalf of the servers, typically used for logging, load balancing, or caching.

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

Redundancy

A

Redundancy is the duplication of critical components or functions of a system with the intention of increasing the reliability of the system, usually in the form of a backup or fail-safe, or to improve actual system performance.

Redundancy plays a key role in removing the single points of failure in the system and provides backups if needed in a crisis.

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

Replication

A

Replication means sharing information to ensure consistency between redundant resources, such as software or hardware components, to improve reliability, fault-tolerance, or accessibility.

Replication is widely used in many database management systems (DBMS), usually with a master-slave relationship between the original and the copies. The master gets all the updates, which then ripple through to the slaves. Each slave outputs a message stating that it has received the update successfully, thus allowing the sending of subsequent updates.

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

What is an ACID Transaction?

A

Atomicity: The operations that constitute the transaction will either all succeed or all fail. There is no in-between state.

Consistency: The transaction cannot bring the database to an invalid state. After the transaction is committed or rolled back, the rules for each record will still apply, and all future transactions will see the effect of the transaction. Also named Strong Consistency.

Isolation: The execution of multiple transactions concurrently will have the same effect as if they had been executed sequentially.

Durability: Any committed transaction is written to non-volatile storage. It will not be undone by a crash, power loss, or network partition.

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

ACL

A

Short for Access-Control List. This term is often used to refer to a permissioning model: which users in a system can perform which operations. For instance, APls often come with ACLs defining which users can delete, edit, or view certain entities.

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

Consensus Algorithm

A

A type of complex algorithms used to have multiple entities agree on a single data value, like who the “leader” is amongst a group of machines. Two popular consensus algorithms are Paxos and Raft.

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

Publish/Subscribe Pattern

A

Often shortened as Pub/Sub, the Publish/Subscribe pattern is a popular messaging model that consists of publishers and subscribers. Publishers publish messages to special topics (sometimes called channels) without caring about or even knowing who will read those messages, and subscribers subscribe to topics and read messages coming through those topics.

Pub/Sub systems often come with very powerful guarantees like at-least-once delivery, persistent storage, ordering of messages, and replayability of messages.

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