The status of database technology in information management is self-evident, it has become an important part of advanced information technology, which is the foundation and core of modern computer information systems and computer application systems. The database technology initially produced in the mid-1960s, according to the development of the data model, can be divided into several phases: from the first generation of network database system, to the hierarchical database system, to the relational database system, to contemporary object-oriented The model is a database system for the main feature.
Contemporary database, [1] despite the rise of Internet applications, the large number of XML data has occurred, but the status of the relational database is still mainstream, and the database is more widely applying, and the combination of multidisciplinary technology New database technology is an endless, such as object-oriented and object-relational database systems, mobile database systems, real-time database systems, XML, and semi-structured database systems, parallel and distributed database systems, multimedia databases, and more. This report will explain the content related to the mobile database and XML database.
I. Move the origin of the database
The society has entered the information age, and people's lifestyle have also taken great changes. Modern technology has provided convenient tools for people's exchanges and communication. The times require people to access information anytime, anywhere, and have a service, achieving unconstrained free communication and sharing resources. Ideal, this is a more flexible, complex distributed computing environment, which is called mobile computing. The mobile computing system is different from the traditional distribution computing system, which is a distributed computing system composed of fixed nodes and moving nodes, with mobility, frequent disconnectability, network condition diversity, network communication asymmetry, and high system. Features of scalability and low reliability and finite power supply. These features make traditional distributed database technologies that cannot support or effectively support mobile computing environments. Therefore, it is necessary to improve the existing traditional distributed databases, or redesigned, forming a database technology that fully supports mobile computing environments, that is, mobile databases (Mobile Database). [5]
Second. Mobile database typical system model mobile database system consists of three types of nodes, namely:
(1) Server (SVR): Generally, a fixed node, each server maintains a local database, and the server is connected by a reliable high-speed internet network to constitute a distributed database system in a traditional sense. The server can handle client online requests and maintain a history of all requested.
(2) Mobile Support Station (MSS): MSS is also located in the high-speed network and has wireless networking capabilities, which are used to support a wireless network unit (Cell), which can be Communication with an MSS via a wireless link, thereby communicating with the entire fixed network, and broadcast information transmitted by the MSS can also be received. Server and MSS can be the same machine.
(3) Mobile Client (MOBIT CLIENT, MC): The processing power of MC is very limited and storage capacity relative to the server, and can be disconnected in any wireless unit), often disconnected from the server. (Refers to MC to communicate with the server). Even when it is connected to the server, the network bandwidth between the MC and the server differs significantly between the network environment in the MC, and the network is relatively reliable, and the network delay is large.
III. Development status and development trend of mobile database technology
1. Key technologies for mobile databases
The theory and technology involved in mobile databases covers the latest achievements in today's communication and computer development. Among them, how to perform data management in mobile environments is the key to implementing mobile databases. According to current research institutions, these key technologies are mainly concentrated. In the following aspects: copying and cache technology, data broadcasting technology, mobile query optimization and transaction technology, mobile database security technology. [5] 2. Embedded mobile database, an integral part of the mobile database system
Turning out a lot of information, it is found that many authors will mix embedded mobile databases and mobile databases as a talk, even embedded mobile databases are referred to as mobile databases. I found that both of these are related and different.
I think the mobile database is a more abstract concept. We can understand that the database involved in the mobile environment can be called a mobile database. The concept of embedded mobile database I think is a concept that is generated in a mobile technology application environment. Due to the development of mobile databases for different applications, the database management model is different, and some database models use distributed features, and some use intelligent agents, and some use B / A / S multi-layer structure. and many more. The current mobile database is more typical application mode is the three-level database application mode. The following two drawings give a three-level mobile database system structure diagram for a relatively typical application, [12] The other clearly indicates that the embedded mobile database system section is embedded in the database three-level application mode. [4] It can be seen that people will be embedded in the database part of the mobile device as an embedded mobile database, which is just an integral part of the entire mobile database system.
(1) Database Server DBSVR (Database Server): It can be a large database system, such as: o Racle, Sybase, DB2, SQL Server, typically a fixed node. Maintain a complete copy of the local database on each DBSVR, and the server is connected by a reliable high-speed Internet to constitute a traditional distribution database system.
(2) Move support Node MSS (Mob Ile Suppn RT Stat ION): Data exchange between distributed transaction, control EMDB and DBSVR and supports a wireless unit (Cell), with wireless networking capabilities and synchronization functions, MSS Also located in the high speed network. The server can be with MSS as the same machine.
(3) Location server L s (Locat Ion Server).
(4) Trusted part: consist of fixed networks and fixed hosts on the network, fixed hosts are divided into two categories: one type is host, such as DSSVR and LS without wireless communication; the other is a wireless communication interface MSS .
(5) Mobile client MC (Mob Ile Clien T): The processing capability of MC is very limited and storage capacity relative to the server, and can be mobilized (ie, in any of the wireless units), which is stored above it. The database copy, and the local data is managed by EMDB, and the EMDB can be exchanged with DBSVR through the wireless link with one M SS, and EMDB can be exchanged with DBSVR through the ODBC interface on M SS. Thereby communicating with the entire fixed network, and broadcast information sent by the MSS can also be accepted. It often disconnects with the server (referring to MC unable to communicate with any online communication) even when it is connected to the server, due to the multi-change between the network environment in the MC, the network bandwidth between the MC and the server differs significantly, and reliability Lower, the network is delayed.
(6) Local database rep (Rep Licat ION): Database copy.
(7) EMDB: Embedded mobile database, moderation mode is: Whenever the MC issues Q 1, it first queries the local database (mobile subset), if the query condition requires, return to MC, otherwise Submit the query request to the VS, by the VS instead of the query and return the result to the MC (provided that the two are in connection). If the MC is in a disconnect state, the local query can only be performed on the MC. If the data on the MC is updated during the disconnection period, the data will be integrated when the VS is again connected, and the data is integrated, and the consistency is guaranteed by consistency maintenance algorithm. [12]
The main EMDB application mode is based on embedded devices for clients, running a fine EMDB on embedded devices, connecting to an enterprise-class database through synchronization or replication technology. This application mode is supported while supporting embedded devices, and mobile devices, even wireless mobile devices, constitutes applications based on mobile environments. In the database three-level application mode, the EMDB system generally uses EMDB synchronous / replication server enterprise-level DB, as shown in Figure 2. 3. Development Status of Mobile Database Technology: From Research Trend Application
Mobile database techniques also have places to be further studied, but with market demand, and many achievements made in technology research, mobile database technology has developed from the extensive application area. Various embedded mobile database products have emerged. Especially for the continuous improvement of mobile data processing and management requirements, the embedded mobile database technologies closely combined with various smart devices have been obtained from academia, industry, military, military, civilian departments, and continuous practical use. [7]
4. Features and key technologies in embedded mobile database applications
From the data management mode of the above-mentioned embedded mobile database, you can see that the embedded moving database is an end in a mobile device, and the other end is a distributed database system for a fixed synchronization / replication database. The database of mobile devices requires data processing query transactions on mobile terminal devices, on the one hand, and the data consistency problem of the database, and the synchronous / replication database is interactive with mobile terminals, and Enterprise DB interacts. The embedded mobile database management system is applied to the embedded operating system in the environments where the mobile computing environment is applied. It is generally integrated with the resource limit of the mobile device, which exists as the front end of the application system, and management The data set may be a copy of the subset or subset of the dataset in the backend server, so it has its own characteristics and key technologies that must be solved: [7] [18]
l T Mini kernel structure: Taking into account the limited resource of embedded devices, EMDBMS should be implemented in miniaturization technology, and the system structure is tightened to meet the needs of embedded applications under the premise of satisfying the application.
l Transaction: EMDBMS should have transactional functions, automatic maintenance of the integrity, atomic characteristics; support entity integrity and reference integrity, but transaction processing should be as simplified as possible, and may need to combine throughout the application The feature of the mobile computing environment performs transaction control.
l Backup recovery: The backup and recovery of the embedded database is different from the large DBMS management database, and it is not easy to perform separate services or similar forms, and is done in a simplified manner. EMDBMS should have automatic recovery capabilities that do not require manual intervention to perform embedded database management and provide data backup and recovery to ensure safe and reliable user data.
l Perfect data synchronization mechanism: Data synchronization is the most important feature of embedded databases. By data replication, the variation of the embedded database or the primary database can be applied to the other party to ensure the consistency of the data. A significant feature of the mobile database is a weak connection between the mobile terminal and between the server, that is, low bandwidth, long delay, unstable, and regular disconnection. In order to support the user's operation of the database in a weak environment, the optimistic replication or lazy replication is generally used to allow the user to operate a copy of the data on the local cache. After the network is reconnected, then exchange data modification information with the database server or other terminals, and recover the data consistency by conflict detection and coordination.
l Support multiple connection protocols: EMDBMS should support a variety of communication connection protocols. Connections to the embedded device and the database server can be implemented by serial communication, TCP / IP, infrared transmission, Bluetooth.
l Support multiple embedded operating systems: Embedded mobile DBMS should support Windows CE, Palm OS, etc., such as currently popular embedded operating systems, so that the embedded mobile database management system is not limited by mobile terminals. l Security: Many embedded devices in many applications are critical devices of data management or processing in the system, so the database system on the embedded device is more stringent. At the same time, many embedded devices have high mobility, portability, and non-fixed working environments, and there is also a potential unsafe factor. At the same time, some data has a high privacy, so sufficient security guarantees are required to prevent collision, magnetic field interference, loss, theft, etc. The main measures to ensure data security are: First, the mobile terminal is authenticated to prevent the deceptive access of the illegal terminal; second, the wireless communication is encrypted, preventing data information leakage; third, add a copy of the downloaded data copy To prevent the transition of the physical loss of the mobile terminal.
l System Quick Start: The system reliability and availability of embedded / mobile devices are generally relatively low relative to the fixed host, so the probability of the system failure may be greatly improved. Therefore, in such a computing environment or computing platform, the system must ensure that the system can function through the system through the hardware in the event that cannot be software corrects.
l Configuration and use of EMDBMS and application, it is necessary to provide an interface supporting application development.
l Support Java technology: At present, there are Java-based development applications on many smartphones, you should consider Java or similar support.
l Effective System Process Optimization: In the case of hardware, EDBMS must implement certain query optimization techniques, such as using simple indexing.
l In addition, if a mobile device embedded in the system supports real-time applications, the embedded database system also considers real-time processing requirements. This is because the mobility of the device, if the application request is too long, the task may be invalid after the execution is complete, or the validity is greatly reduced. Therefore, the timeliness and correctness of the processing are equally important.
L. An ideal state is that the user can perform data operation and management of all mobile databases related to him only with one mobile terminal (such as a mobile phone), which requires the front-end system to have versatility, and require mobile databases The interface has a uniform, standard standard. The front-end management system automatically generates a unified transaction command when performing data processing, and submits the currently connected data server execution. This effectively enhances the versatility of the mobile database and expands the application prospect of the embedded mobile database.
5. Development trend of embedded mobile database
From the current development trend of embedded applications, embedded mobile database technology will make database technologies more customized (customizable) and flat civilization, namely: system selection technology route to face specific industrial applications, can't go "big And full "universal route. [7]
Four. XML and XML Database
XML
XML is called Extensible Markup Language. It is a new descriptive marker language that simplifies and improves from standard universal markup language SGML (Standard Generalized Markup Language), which is published by the W3C organization. The original intention of W3C organizations to develop XML standards is to define standards for exchange data on the Internet. Since the XML language itself is simple, open, scalable, flexible, self-description, etc. Today, XML has occupied the academic field of the database and in the business application field.
2. Several important features of XML
Scalability. XML is a meta-dimensional language of the design tag language, which allows users to develop a special tag in the field according to their own needs, even allowing all enterprises, and unique needs according to their own areas to create a special mark to create in this field. The basis of the information sharing and exchange of information. For example, the Mathml described in mathematical expressions, BSML, which is used for biological information, and the like. Self-descriptive. The XML document is self-description, not only people can read the XML document, but also the computer can handle. The data in the XML document can be extracted, analyzed, processed, analyzed, and displays with the desired format. XML indicates that the data is truly independent of the application system, and these data can be reused, so XML is suitable for open information management. Because of its self-descriptive, the data in the document can be created, queried, and updated by XML (XML-Aware), followed by the traditional relational database, similar to the data in the object database. XML can also be used to indicate data that is too complicated and difficult to process for those who have not been considered as documents before they are not seen. So, the XML document is considered as a documentation of the documentation and the documentation of data.
3. XML database
The reason why XML can be called a database, we can know from the famous "XML and Database" in Ronald Bourret. The XML document itself is a collection of data, and in a certain extent, XML and associated peripheral techniques can be said to form a database management system, which includes four aspects, one is data storage, XML document is quite A data area of the XML database, an XML document is a basic storage unit, which is equivalent to a table in the relational database; the second is the mode, DTD, or XML Schema, etc. is a description of the logical model of the XML database; third is query language , XQuery, XPath, XQL, XML-QL, Quilt, etc. can act as query language of the XML database; finally the programming interface, two programming interfaces through SAX and DOM, can implement many management functions of the XML database. Nowadays, the XML database has been technically long progress. It has continuously added traditional database technology such as query optimization, transaction processing, trigger, concurrent control, algebraic system, etc. from the initial simple query engine. Perfect yourself. [36]
4. Classification of XML Database Products
For XML Database Product Categories, Ronald Bourret is in his "XML Database Products" [35], divides XML database products into middleware (XML-enabled Databases), native XML database (Native XML) Databases, XML Server (XML Servers, Wrappers, Six of the Content Management Systems), have a great influence in the industry. However, in the eyes of XML database research and developers, most comparison III three types of categories: native XML database, support XML database, mix XML database, or two categories: native XML database, support XML database. Here I mainly introduce three database products that may be involved in the paper: native XML database, support XML database, XML server.
What is the native XML database? It is specifically designed to store a database of XML documents, which stores XML documents themselves, supports transaction, security, multi-user access, programming API and query language, etc., its internal model is based on XML document format. .
Supporting XML databases is a traditional relationship and an object-oriented database extension. On the basis of traditional databases, an XML mapping layer is added by a database vendor or a third party, managing XML data stored by this mapping layer, and implements traditional database and XML. The conversion between the documents is particularly suitable for data-centric applications. As for the XML server? We know that traditional web servers are based on information transmission based on HTML text. With the emergence of XML technology, it is generated for XML-based web servers. So what is the XML server? Accurate definition of this concept of XML Server is difficult, because this is really a relatively new, and the concept is very broad, although there are already many products called yourself for XML Server, such as Datachannel's DataChannel Server 4.1; Software AG Tamino Excelon's Excelon, but on the scope of the application, each product is different, so this is not defined by XML Server, but summarizes some of these products. The way description to explain the concept of XML Server. Simply put, XML Server is a platform for providing data, which can interact with distributed applications in the form of an XML document. For example, the application of e-commerce. This is very similar to the traditional database, which provides the storage and extraction function of the data as the database, but the format of the data is based on XML, so it is completely different from the traditional database. Technically, XML servers typically include a complete application development environment and make applications easily access and use this data through a variety of data storage methods. Stored data includes traditional database data, email information, and file systems, and more.
5. Technical issues related to XML
Document type
We believe there are two types of XML documents, data-centric documents (Document-Centric Documents) and documentation (Document-Centric Documents), distinguish between their respective features will affect us How to select the storage method of XML in the database.
Data-centric documents: Data-centric documents have a very rule result, such as the XML documentation on the sales order or the restaurant menu. The data-centric document is usually designed for the machine, that is, it is mainly convenient for the machine to process. Typically, any Web site can dynamically build an HTML document, as follows, find the related XML document, then transform the XML document via XSL, allowing HTML-based browsers to easily browse results .
Document-centric documents centered: The documentation centered on the document has an irregular structure, and the particle size of the data is also large. Specific examples such as books, emails, advertisements, and more. The documentation-centric documentation is mainly designed with humans.
In reality, the difference between data-centered and document-centered documents is not necessarily significant. For example, another document-centric document, such as invoices, may contain large particle size, structural irregular data, such as part description; another document, document, file, such as user manual, may contain fine-grained structural rules Data (usually metadata) such as the author and revision date. Other examples include legal and medical instruments, although written in loose form but contain discrete data blocks such as dates, names, and operation procedures, for regulations, for regulations, it is usually stored in a complete file form.
2. Document storage
The advantage of using XML format is to express the structure and content of data well, regardless of whether the XML document is data-centered or in document, whether data-centered is structured data or semi-structural data. In the end, we all need to consider how to save the data of XML expression well, of course, this involves the problem of document storage. Experts put forward some suggestions in this regard, can be described as follows: We typically store data in traditional databases, such as relationships, object-oriented or hierarchical databases. This can be completed by the third party's middleware or by the database itself provides internal support (ie, support XML databases) to implement conversion and storage of data formats. However, for semi-structured data, if it mapped to the relational database, the result is that a large number of null values (NULL), or the number of tables is too large, and the waste space or low is low. Although semi-structured data can be stored in an object-oriented or hierarchical database, or in the blob of the relational database, it is also possible to select it in the form of an XML file in the form of a native XML database.
With documentation, it can be stored in a native XML database (a database designed for storage XML) or a content management system (built on the original XML database). However, it can also be stored in a database that supports XML, and it is usually not required, but the XML document is written in the table of the relational database in the form of BLOB.
3. Conversion between documents and databases
In the above mentioned, the XML document is stored in the traditional database, or the data is removed from the database, and the result file is converted into the XML document required by the application, and uses the XML document as the data intermediary between the database, At this time, the conversion software between the XML document and the database is completed by the map between the XML document and the database. This map is divided into two types: template driver and model drive.
Template-driven mapping: there is no pre-mapping between prior documents and databases, but embedded in the template of the data conversion software processing, and the general data transmission middleware is processed. For example, consider the following template:
XML Version = "1.0"?>
Flightinfo>
Note that a SELECT statement is embedded. When processing the middleware with the data transfer, each SELECT statement will be replaced by its results, and the format format formatted in XML is:
XML Version = "1.0"?>
...
Flights>
Flightinfo>
Template-driven mapping can be quite flexible, for example, some products allow you to put the results to any location of the XML document, and you can set parameters to the SELECT statement, and you can use the for loop statement and the IF condition statement. It is worth noting that the current template-driven mapping can only be applied to pass data between relational databases and XML documents.
Model-driven mapping: refers to the data in the XML document to map data into the database according to pre-defined models, clearly or implicitly. In an XML document, these two models are very common: Table Model and Data-Specific Object Model.
The table model is a table-based mapping, and many middleware packages are passed between the XML document and the relational database. It expresses the XML document as a single table or a collection of tables. In this way, the structure of an XML document can be represented in the following form: