• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/9

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

9 Cards in this Set

  • Front
  • Back

What is SQL?

SQL is Structured Query Language. It is a special-purpose programming language designed for managing data in a relational database management system (RDBMS).

What is NoSQL?

NoSQL is a type of database that provides a mechanism for storage and retrieval of data using a means other than the tabular relations used in relational databases. Non relational or distributed. Data is typically stored as documents or key:value pairs.

How to scale a database?

Data partitioning, sharding (vertical/horizontal), replication(master-slave, master-master)).

Describe horizontal and vertical partitioning.

Horizontal partitioning, also known as sharding, distributes data across servers. Data may be partioned to different server(s) based on a specific customer/tenant, date range, or other sharding scheme

Vertical partitioning separates the data associated to a single table and groups it into frequently accessed and rarely accessed.

Describe read-replicas.

AKA master-slave relationship. Read replicas allow data to be available for reading across any number of servers, called “slaves”. One server remains the “master” and accepts any incoming write requests, along with read requests. This technique works best when you have limited data changes but need to scale out read queries.

Describe connection pooling.

The application server creates a pool of connections to the database, preventing the need to establish a new database connection on each incoming request.

Describe connection load balancing.

A database load balancer supports a higher number of concurrent connections from your application servers. The balancer distributes the incoming database query to one of the available servers using its connection pool. This reduces the number client connections that a database must support and removes the need for applications to perform connection failover to another server in the event of a database failure.

Describe a multi-master scaling approach.

The multi-master technique allows any client to write data to any database server. This enables applications to scale out the number of reads and writes. However, this also requires applications to generate universally unique identifiers, also known as “UUIDs”, or globally unique identifiers or “GUIDs” to prevent data collisions.

What is ACID?

ACID is (Atomicity, Consistency, Isolation, Durability). These properties of relational databases guarantee that transactions are processed reliably, with one or more operations on the data isolated to a single transaction that will either succeed or fail.