Skip to content
Home » Software Architecture » Components » Page 2

Components

SQL Injection: Describe what it is with examples

A SQL Injection is a code injection technique that attackers use to exploit vulnerabilities in a web application’s database layer. This vulnerability is often present in a web application when user input is incorrectly filtered for string literals that are used in SQL statements, or when user input is not strongly typed and can unexpectedly execute SQL commands.

The technique allows an attacker to manipulate SQL queries that an application makes to its database, enabling the attacker to view, alter, or delete data that they are not normally authorized to access.

Database Sharding and its Challenges

Database sharding is a powerful technique employed to manage large databases more effectively. It involves partitioning a large database into smaller, more manageable parts, known as shards. The term “shard” signifies a small fragment of a whole, aptly describing this method of breaking down a large database into smaller, more manageable pieces.

Understanding etcd: The Distributed Key-Value Store

etcd is a distributed, reliable key-value store developed by CoreOS that’s designed for shared configuration and service discovery. It is a central component in distributed systems and enables you to store and retrieve data across a cluster of machines.

How Does a Database Engine Process Prepared Statements Compared to Normal Statements, and Why Are Prepared Statements Faster

Processing of Normal Non-Prepared Statements Non-prepared statements, also known as direct SQL statements, involve SQL queries being written and sent to the database directly. The steps involved in processing a normal SQL statement are: This whole process is repeated each… Read More »How Does a Database Engine Process Prepared Statements Compared to Normal Statements, and Why Are Prepared Statements Faster

What are Common Table Expressions or CTEs?

Common Table Expressions (CTEs) provide a way to write auxiliary statements for use in a larger query. These auxiliary statements, essentially named subqueries, can be referenced later in the FROM clause. They make queries easier to understand by breaking them up into smaller, simpler parts.

What are database cursors? when might you use them?

A database cursor is a mechanism used to traverse through a set of data retrieved from a database. Cursors are commonly used in programming languages to execute queries that retrieve a large number of rows. Cursors allow for more control over the processing of data and can be used to perform tasks such as updating or deleting records. However, cursors can be resource-intensive and slow down performance, so they should only be used when necessary.

What is the difference between a view and a materialized view?

A view is a virtual table that is based on one or more tables, while a materialized view is a physical copy of a view that is stored on disk. Unlike views, materialized views can be indexed for faster access and can improve query performance in data-intensive environments.