Real-time database is a branch of the development of the database system. It is suitable for processing constantly updated and rapidly changing data and transaction processing with time constraints. Real-time database technology is a product of the combination of real-time systems and database technology. researchers hope to use the database technology to solve the problem of data management in real-time systems, meanwhile, real-time technology is used to provide time-driven scheduling and resource allocation algorithms for real-time databases. However, real-time databases are not simple integration of concepts, structures, and methods. Based on different application requirements and characteristics, we need to conduct in-depth theoretical research on a large number of problems such as real-time data models, real-time transaction scheduling and resource allocation policies, real-time data query languages, and real-time data communication. The main research contents of the real-time database system include:
Real-time database model
Real-time transaction scheduling: including concurrency control, conflict resolution, and deadlock
Fault Tolerance and error recovery
Access Control
Memory organization and management
I/O and disk scheduling
Primary Memory Database System
Inaccurate Calculation
Relaxed serializability
Real-time SQL
Predictability of real-time transactions
The research status and development of the real-time database system first appeared in the first issue of ACM sigmod record in March 1988. Subsequently, a mature research group emerged, marking the integration of the real-time field and the database field and the establishment of the new research field of real-time database. Since then, a large number of papers and prototype systems on real-time databases have emerged. The real-time database team of the Human-Computer Interaction Technology and Intelligent Information Processing Laboratory has been devoted to the research and development of real-time systems, real-time intelligence, real-time database systems, and related technologies, and has made some achievements.
Real-time Data Base (RTDB) is a database with scheduled features or display restrictions on data and transactions. The essential feature of RTDB is the timing limitation. The timing limitation can be classified into two categories: one is the timing limitation associated with the transaction, and the typical is the "Deadline "; the other is the "time consistency" associated with the data ". Time Consistency is a time window of past restrictions. It requires that the data status in the database be consistent with the actual status of the corresponding entity in the external environment at any time, and the data states accessed by the transaction must be consistent in time. Real-time database is a new field of database research. It is very different from traditional databases in terms of concept, method, and technology, the core issue is that transaction processing must ensure data consistency and correctness, and they are all associated with timed restrictions.
Real-time database subsystem is one of the core of SCADA systems. The real-time database subsystem design consists of the real-time database structure design and real-time database management program design. The real-time database structure design mainly designs the real-time database structure according to the characteristics and requirements of the SCADA system. The management program is responsible for the generation of real-time databases. Based on the on-site modification content, it processes real-time requests from other tasks to the real-time databases and responds to the external environment through alarms and remote control.
[Real-time database comparison]
Relational databases are widely used and most people are familiar with it. When talking about databases, relational databases are used by default, however, there are actually some other types of databases that are widely used in production and life. For example, I will talk about real-time databases, which are used in production Industrial Control with very strict requirements and a large amount of data.
Currently, there are only three real-time Databases widely used in the world:
A. Us OSI Pi (Plant Information System)
B. Process history database of Honeywell, USA)
C. ip21 (infoplus. 21) of AspenTech)
These real-time databases are very expensive, measured in millions of RMB, but they are not sold in units of sets or points (data points that can be accommodated, therefore, it is impossible to compare the prices of data. I am lucky to have access to these three databases because of my work, so I can compare them here.
1. Pi
The patented revolving door compression technology and unique Secondary Filtering Technology are used to compress the data that enters the PI database, greatly saving the hard disk space. It is calculated that 10 thousand points of data is stored every second for one year, and only 4 GB of space is required. That is, a general hard disk can also store data for five to ten years. It is the most efficient, simple to use, and the most widely used real-time database. Because of its outstanding performance, Pi has raised its price multiple times and does not drop the OSI name, in addition, PI discloses various algorithms in its documents, such as the revolving door compression and Secondary Filtering mentioned above.
2. PhD
Honeywell occupies most of the DCS, so PhD is also widely used. PhD actually uses Oracle relational databases internally. Therefore, Oracle must be purchased before purchasing PhD. Since the use of Oracle in the PhD simplifies the development and Oracle performance restrictions, the price of PhD is the lowest among the three databases, and it is not an authentic real-time database. However, do not think that PhD uses Oracle internally. If Oracle is used directly, a huge amount of data will crash in two or three seconds. Honeywell is not a real-time database, but her DCS.
3. ip21
Basically, ip21 has not yet entered the Chinese market, and it is opening the Chinese market through a provisioning method.
Before commenting on ip21, I need to declare that "My opinion on ip21 is my personal opinion, not any product's Child Care ".
Ip21 is the worst relational database I have ever seen and the worst software I have ever seen,
A. The installation program of the software requires a hard dog. This stingy approach cannot be compared with the PI public algorithm approach. The problem is that the dog is always dead.
B. Installation of its software is not guaranteed to be successful by its Professional staff. Ten computers allow its professional staff to install only one or two.
C. There is only one installation disk for the software, but it takes more than four hours to install this disk. You can see that the Java interpreters of a specific version are installed, and then they are deleted.
D. There is no real automatic installation. Before installation, their engineers need to modify a lot of files on the computer.
E. if an error is not reported immediately during the installation process, it takes four hours for the installation to complete before you can see the installation failure. However, you only need to know the installation failure and the installation failure.
F. Management and Maintenance software is very complicated. Unless someone is willing to sacrifice the future to learn about it, they can only encourage their own employees.
G. The running efficiency is very low, and the system resources are very serious. One server can only be used for one ip21.
Real-Time Database Access
A. Using your own APIs is the most efficient and simple method.
B. using ODBC does not have much effect. Because real-time databases are different from relational databases, ODBC is not very useful, so there are many restrictions when using ODBC, most features do not support ODBC.
C. Use the OPC method (OLE for Process Control)
Because too many databases and DCS use their own APIs to access data, they cannot achieve universal algorithm, because a standard access interface is proposed, which is OPC, today, more than two hundred vendors have joined the OPC organization, including the notorious M $, the reason why M $ is notorious is that M $ is mandatory to use COM/DCOM in this standard access interface, so that OPC can only be used in windows and efficiency (because it is an industrial control scenario, so efficiency is very important) low. M $ is very active in the OPC organization, so the current OPC is basically out of the original goal, so many developers are dissatisfied, including OSI, although osi pi provides OPC interfaces, however, OSI does not recommend customers to use it or provide technical support for it. There is another big problem with COM in OPC, because COM regulations must support previously formulated interfaces, and industrial control requirements are very strict. The cost and time of development and testing are very high, no vendor is willing to support the previous COM interface, so it does not really comply with the com standard OPC.
I used to see the benefits of OPC, and finally some people said that OPC is not good.