2023 system analyst --- necessary knowledge point 2 for sprint data

Defensive programming:

It is a method to achieve software fault tolerance without using any traditional fault tolerance technology. For the errors and inconsistencies in the program, the basic idea of ​​defensive programming is to include error checking code and error recovery code in the program, so that Once an error occurs, the program can undo the error state and restore to a known correct state. The implementation strategy includes three aspects: error detection, damage estimation and error recovery.

Dual machine fault tolerance technology:

It is a fault-tolerant application scheme combining software and hardware. The solution is composed of two servers, an external shared disk array and corresponding dual-machine software.

The dual-machine fault-tolerant system adopts the "heartbeat" method to ensure the connection between the main system and the backup system. The so-called heartbeat means that the master and slave systems send communication signals to each other according to a certain time interval, indicating the current operating status of their respective systems. Once the heartbeat signal indicates that the main system fails, or the backup system cannot receive the heartbeat signal from the main system, the high availability management software of the system considers that the main system fails, and immediately transfers the system resources to the backup system, and the backup system replaces the work of the main system. , to ensure the normal operation of the system and uninterrupted network services.

Working mode: dual-machine hot standby mode; dual-machine mutual backup mode; dual-machine duplex mode.

Cluster technology:

It is a technology to improve system availability and reliability by organizing multiple computers to work together. In the cluster system, each computer undertakes part of the computing tasks and fault-tolerant tasks. When one of the computers fails, the system uses cluster software to isolate this computer from the system, and completes it through the load balancing mechanism among the computers. New load sharing while alerting system administrators. The cluster system achieves high availability and reliability of the system through function integration and fault transition.

Features: scalability, high availability, manageability, cost-effective, high transparency.

Classification: high-performance computing clusters, load balancing clusters, and high-availability clusters.

load balancing:

It is an important technology in the cluster system, which can improve the overall processing capacity of the cluster system and also improve the reliability of the system. The ultimate goal is to speed up the response speed of the cluster system and increase the success probability of client access. The biggest feature of the cluster is the parallel and joint work of multiple nodes. How to make the load on all nodes evenly and avoid local excessive load or light load is an important purpose of load balancing.

The more common load balancing implementation technologies mainly include the following:

1. Load balancing based on specific software. Many network protocols support redirection functions. For example, based on HTTP redirection services, the main principle is that the server uses HTTP redirection instructions to relocate a client to another location. The server returns a redirect response instead of returning the requested object. The client confirms the new address and then resends the request, so as to achieve the purpose of load balancing.

2. DNS-based load balancing belongs to the transport layer load balancing technology. Its main principle is to configure multiple addresses for the same host name in the DNS server. When answering DNS queries, the DNS server will use the host address in the DNS file for each query. The recorded IP addresses return different analysis results in order, and guide client access to different nodes, so that different clients access different nodes, thereby achieving the purpose of load balancing.

3. NAT-based load balancing maps an external IP address to multiple internal IP addresses, dynamically converts each connection request to an internal node address, and directs the external connection request to the node where the address is converted. So as to achieve the purpose of load balancing.

4. Reverse proxy load balancing, the connection request from the Internet is dynamically sent to multiple nodes on the internal network for processing in the form of reverse proxy, so as to achieve load balancing.

project management:

Progress management:

PERT (Project Evaluation and Review Technology) diagram is a graphical network model that describes the relationship between tasks and tasks in a project. Each node represents a task, usually including task number, name, start and end time, duration time and relaxation time.

The Gantt chart is a simple horizontal bar chart that describes project tasks based on a calendar. The horizontal axis represents time, and the vertical axis represents tasks. The horizontal line segment in the figure represents the schedule of a task, and the starting point and end point The time corresponding to the abscissa represents the start time and end time of the task respectively, and the length of the line segment represents the time required to complete the task.

The PERT diagram mainly describes the dependencies between different tasks; the Gantt diagram mainly describes the overlapping relationship between different tasks.

Critical Path:

The shortest duration of a project, but the longest path from start to finish. There may be multiple critical paths in a schedule network diagram, and as activities change, the critical paths are constantly changing.

Key activities: activities on the critical path, earliest start time = latest start time

Each node activity will have the following times:

1. Earliest start time (ES), the earliest time an activity can start.

2. Earliest end time (EF), the earliest time an activity can be completed. EF=ES+duration

3. The latest finish time (LF), the latest time by which an activity must be completed in order for the project to be completed on time

4. Latest start time (LS), the latest time at which an activity must start in order for the project to be completed on time. LS=LF-duration

Calculation formula: free floating time = the minimum value of the earliest start time of the subsequent activity - the earliest completion time of this activity

total float time

free float time

concept

The time that activities on the path can be postponed without delaying the total project duration

The amount of time an activity can be postponed without affecting the earliest start date of any subsequent activities

official

LS-ES=LF-EF (critical path - current path time)

The minimum value of the earliest start time of the successor activity - the final completion time of this activity

scope of application

For the path, all activities on the path are common, and there will be no more when it is used up

for a single event

Remark

Critical path, the total time difference is generally 0

Activities on the critical path have no free time difference; activities that are the only subsequent activities have no free time difference.

Database system (required)

Four major problems caused by irregularities:

  1. Data redundancy: data is stored repeatedly;
  2. Modification exception: modification results in data inconsistency;
  3. Insertion exception: an exception when inserting, which will cause a null value to be inserted;
  4. Deletion exception: deleted data that should not be deleted;

Database Design:

Requirements analysis: that is, analyze the requirements and boundaries of data storage, and the outputs include data flow diagrams, data dictionaries, and requirements specifications.

Conceptual design: On the basis of the requirements specification generated in the requirements analysis stage, they are abstracted into a data model that does not depend on any DBMS, that is, a concept model, according to a specific method. The representation form of the conceptual model is the ER model.

Logical design: the main task is to convert the ER diagram in the conceptual design stage into a logical structure (such as a relational model) that is consistent with the data model supported by the DBMS on the selected specific machine

Physical design: It is to select a physical structure that is most suitable for the application environment for a given logical model. The so-called physical structure of the database mainly refers to the storage structure and access method of the database on the physical device.

Horizontal splitting: Lenovo horizontal sharding puts data rows (horizontal records) into two separate tables based on the values ​​of one or more columns of data.

Vertical segmentation: It is composed of a set of data, which is distributed on different computers in the computer network. Each node in the network has the ability to process independently (called site autonomy), and it can perform local applications. At the same time, each Each node can also execute global applications through the network communication subsystem.

Concurrency control:

ACID characteristics of transactions: atomicity, consistency, isolation, and durability

Lost update: Transaction 1 modifies and writes back data A, and transaction 2 also modifies and writes back A. At this time, the data written back by transaction 2 will overwrite the data written back by transaction 1, and the update of transaction 1 to A will be lost. . That is, updates to data A will be overwritten

Non-repeatable read: Transaction 2 reads A, and then transaction 1 modifies data A and writes it back. At this time, if transaction 2 reads A again, it finds that the data is incorrect. That is, if a transaction repeatedly reads A twice, it will be found that the data A is wrong.

Read dirty data: After transaction 1 modifies data A, transaction 2 reads data A, then transaction 1 rolls back, and data A restores its original value, then what transaction 2 does to data A is invalid, and dirty data is read .

Blocking protocol:

X lock is an exclusive lock (write lock). If transaction T adds an X lock to data object A, only T is allowed to read and modify A, and other transactions cannot add any type of lock to A until T releases the lock on A.

The S lock is a shared lock (read lock). If transaction T adds S lock to data object A, T is only allowed to read A, but cannot modify A. Other transactions can only add S lock to A (that is, can read but not modify), until T releases the data object on A S lock.

Lost Update Locking: A Level 1 Locking Protocol. Transaction T must first add X lock to data R before modifying it, and it will not be released until the end of the transaction

Locking of read dirty data: two-level blocking protocol, one-level blocking protocol plus transaction T adds S lock to data R before reading it, and releases S lock after reading.

Non-repeatable read lock: three-level locking protocol, one-level locking protocol plus transaction T adds S lock to data R before reading it, and releases it until the end of the transaction.

Database performance optimization: hardware upgrade, database design, index optimization, query optimization

Database integrity constraints: entity integrity, referential integrity, user-defined integrity, triggers.

Database security:

User identification and authentication: The outermost layer of security protection measures can use user accounts, passwords, and random number checks, etc.

Access control (data authorization): authorize users, including operation types (such as: search, update or delete, etc.) and data object permissions

Password storage and transmission: use passwords to transmit remote terminal information

View Protection: Obtaining Authorization Through Views

Auditing: Use a dedicated file or database to automatically record all operations of the user on the database.

The concept of view and its advantages and disadvantages:

A view is a table derived from one or more tables. A view is different from a table. A view is a virtual table, that is, the data corresponding to the view is not actually stored. Only the definition of the view is stored in the database. When operating on the data of the view, the system performs operations associated with the view according to the definition of the view. base table.

Guess you like

Origin blog.csdn.net/qq_25580555/article/details/130842858