Developers: | Ingres |
Last Release Date: | October 12, 2010 |
Technology: | DBMS |
Content |
About the Product
Ingres ("ingress" is said) is commercially supported relational DBMS with open source texts. Ingres was created as the research project in the University of California in Berkeley in the early seventies. This project in the early eighties ended. The source code, as well as for other projects of the same origin, was available for the minimum payment under the license BSD.
Postgres (Post Ingres) (developed in PostgreSQL later), despite the name, is not founded on Ingres.
History
In 1973 in IBM started development of new System R DBMS and the research group which was engaged in this project released a documentation kit with the description of the created system. Two scientists — Michael Stonebraker and Eugene Wong — became interested in results of the colleagues from IBM in Berkeley and made the decision to begin the own project on creation of relational DBMS.
This project was used for a research of the geographical database by group of economy in Berkeley and "Ingres" was called (INteractive Graphics REtrieval System is a dialogue graphic system of search). Further became interested in the project in three Defense Ministries: in Military and air and Ground forces and Navy.
Having received third-party financing, Ingres was developed during the middle of the 1970th years by group of students and scientists. Ingres passed through the evolution which is followed by completions, as well as System R with an early prototype in 1974. Then Ingres was widespread among a small amount of users and project participants. The prototype repeatedly corresponded to include the accumulated experience, notes of users and the new ideas. System R is similar, Ingres worked in the systems of "low level" — in the Unix operating system on the machines DEC.
Versions
Ingres Database 10 (latest version)
Key improvements:
- The complex of tools and Ingres Migration Tool Set libraries for simplification of migration on Ingres from other DBMS is added, optimization and adaptation of schemes of data storage from DBMS is supported MySQL Oracle, MS SQL and Sybase;
- Support of a multiversionny method of the organization of the competing data access (MVCC, multi-version concurrency control) allowing to get rid of blocking at reading execution of operations is implemented (current "snapshot" of a status is always given, the made changes will be reflected already in other "snapshot"). Transition to MVCC allowed to increase considerably performance of the multi-user systems and configurations with a large number of parallel queries;
- Support of data encryption at the level of columns, allows to provide storage in encrypted form of information in the separate columns containing private or confidential data, such as credit card numbers or PIN codes. At the same time data remain in encrypted form not only in harnilishche, but also in logs of transactions, magazines and control points. As an algorithm use of 128-, 192-and 256-bit enciphering of Advanced Encryption Standard (AES) is admissible.
- Support of segmentation (partitioning) of tables, logical splitting big tables into the parts placed on different disks / file systems;
- For the purpose of increase in compatibility with other DBMS new data types, for example, earlier not implemented BOOLEAN type are added;
- Improvement of mechanisms on loading of big data sets in a DB. For example, loading process of data via the standard JDBC 4.0 driver is accelerated for 50%; the directive COPY supports record and reading files in the CSV and SSV formats now; speed of accomplishment of the transaction "COPY FROM" from the text file is increased almost twice;
- Support of the mode of package accomplishment of requests at which a certain set of requests and only is executed in the beginning is added then the server returns the general answer about success of transaction to the client. In batch mode only use of the expressions which are not returning data, for example, of INSERT and DELETE is allowed (use of SELECT is inadmissible);
- Support of scalar subqueries at which selection only of one column or expression is made is added and only one line returns. For example: "SELECT a, (SELECT MAX(salary) FROM emp), b..." or "SELECT... FROM table1, (SELECT a FROM table2 WHERE col = '123')...";
- The size of column names, tables, indexes, representations, variable is, etc. increased from 32 to 256 characters;
- Support of renaming of tables and columns by means of constructions of "ALTER TABLE table_name RENAME TO new_table_name", "ALTER TABLE table_name RENAME [COLUMN] old_column_name TO new_column_name" and "RENAME TABLE table_name TO new_table_name" is added;
- Adding of the new GREATEST, GREATER, LEAST, LESSER mathematical features; for compatibility with MySQL, MS SQL, Informix and DB2 the LAST_IDENTITY function is added (returns the last generated identifier); for compatibility with Oracle the NVL and NVL2 functions are added (allow to return the specified argument, if other argument of NULL); functions for generation and check of standard verification codes - GENERATE_DIGIT and VALIDATE_DIGIT;
- Support of 64-bit Windows OS is added;
- For Unix platforms performance of direct input-output is improved and the possibility of preliminary selection of the space for the created files for file systems with fallocate function support is implemented.