Essential Terms in Modern Computing
Essential Terms in Modern Computing
Below you'll find each term listed, followed by a concise explanation designed to help you quickly grasp the basics. If you want deeper details or examples for any term, let me know at the end!
1. Client-Server
The client-server model is a computing architecture where clients (like your browser) request resources or services, and servers provide them. Clients initiate communication; servers respond, often hosting websites, files, or databases.
2. IP Address
An IP address is a unique identifier for a device on a network. It allows devices to find and communicate with each other over the internet or local networks. Common formats include IPv4 (e.g., 192.168.1.1) and IPv6 (e.g., 2001:0db8::1).
3. DNS
The Domain Name System (DNS) translates human-friendly domain names (like www.example.com) into IP addresses computers use to communicate. It's like the internet's phone book, making navigation easier for users.
4. Proxy / Reverse Proxy
A proxy acts as an intermediary between the client and server, forwarding requests and responses. A reverse proxy is placed in front of servers to handle incoming requests, offering load balancing, security, and caching for web services.
5. Load Balancer
A load balancer distributes incoming network traffic across multiple servers, ensuring no single server is overwhelmed. This improves reliability, performance, and scalability.
6. CDN
A Content Delivery Network (CDN) is a geographically distributed network of servers that delivers web content to users based on their location. This reduces latency and boosts load speed by serving data from the nearest node.
7. API & REST
An API (Application Programming Interface) defines how software components interact. REST (Representational State Transfer) is a popular architectural style for designing networked APIs, using HTTP methods for operations like GET, POST, PUT, and DELETE.
8. GraphQL
GraphQL is an API query language developed by Facebook that allows clients to specify exactly what data they need, making responses more efficient compared to traditional REST APIs.
9. HTTP / HTTPS
HTTP (HyperText Transfer Protocol) is the foundation for web communication, while HTTPS is the secure version, encrypting data transmission with SSL/TLS to protect user privacy.
10. Latency
Latency refers to the delay between a request and its response in a computer network. Lower latency means quicker interactions, critical for real-time applications.
11. SQL Databases
SQL databases are relational, organizing data into tables connected by relationships. They use SQL (Structured Query Language) for queries. Examples: MySQL, PostgreSQL, and SQL Server.
12. NoSQL Databases
NoSQL databases are non-relational, designed for flexible, scalable data storage. Types include key-value, document, column-family, and graph databases. They handle unstructured or large-scale data, e.g., MongoDB, Cassandra.
13. Indexing
Indexing creates fast lookup structures for database queries, much like an index in a book. It speeds up searches, but may add storage overhead and slow down data insertion.
14. Replication
Replication is copying data across multiple servers for redundancy or availability. If one server fails, others can still provide data, enhancing fault tolerance.
15. Sharding
Sharding is splitting large databases into smaller, manageable pieces (shards), each hosted on separate servers. This improves performance and scalability for massive datasets.
16. Caching
Caching stores frequently accessed data in fast-access memory, reducing the effort needed to retrieve it again and improving system speed.
17. Consistency & CAP Theorem
Consistency ensures all nodes see the same data at the same time. The CAP Theorem states a distributed system can only guarantee two of three: Consistency, Availability, and Partition Tolerance.
18. Scalability (Vertical, Horizontal)
Scalability is the ability of a system to handle growth. Vertical scalability means adding resources (like CPU or RAM) to a single machine. Horizontal scalability means adding more machines to distribute work.
19. Fault Tolerance
Fault tolerance is the system’s ability to keep operating even if some components fail. Techniques include redundancy, replication, and automatic failover.
20. Queue & Messaging
Queues temporarily hold messages or tasks for processing, ensuring they're handled in order. Messaging systems let different parts of an application communicate asynchronously, improving decoupling and reliability.
21. Rate Limiting
Rate limiting restricts the number of requests a user or client can make in a given time. It prevents abuse, controls resource usage, and maintains fair access.
22. API Gateway
An API gateway acts as a single entry point for client requests to microservices, offering routing, authentication, rate limiting, and other cross-cutting concerns.
23. Microservices
Microservices are a method of organizing an application as a collection of loosely coupled services, each handling a specific business function. They promote scalability and maintainability.
24. Containerization
Containerization packages software and its dependencies into isolated units called containers. These containers run reliably in different computing environments. Technologies: Docker, Kubernetes.
25. Load Testing & Monitoring
Load testing simulates real-world usage to check how systems handle stress. Monitoring tracks performance, resource usage, and errors, helping teams detect issues and optimize operations.
26. Security & Authentication
Security involves protecting systems from threats, while authentication verifies user or system identity before granting access. Common methods: passwords, OAuth, certificates.
27. Logging & Observability
Logging records system events and errors for analysis. Observability is the practice of understanding system health and behavior using logs, metrics, and traces.
28. Data Partitioning
Data partitioning splits large datasets into smaller parts for storage and processing. This can be by range, hash, or list, facilitating scalability and efficient queries.
29. Failover & Disaster Recovery
Failover automatically switches to a backup system if the main one fails. Disaster recovery includes plans and tools to restore systems and data after major failures or incidents.
30. Idempotency & Resilience
Idempotency ensures a repeated operation produces the same result as a single execution—critical for APIs and distributed systems. Resilience describes a system's ability to recover from failures and keep operating.
Comments
Post a Comment