Informix

**Informix** là một họ các sản phẩm hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) của IBM. Nó là một máy chủ cơ sở dữ liệu cho xử lý giao dịch trực tuyến. IBM đã mua lại công nghệ Informix vào năm 2001 từ Informix Software.

## Lịch sử phát triển
Informix là hệ thống quản trị cơ sở dữ liệu được xây dựng và phát triển từ năm 1980, là sản phẩm của công ty Informix Software. Informix được xây dựng dựa trên nền tảng của hệ thống Pioneering Ingres. Pioneering Ingres cũng chính là hệ thống mở đường cho những hệ thống quản trị cơ sở dữ liệu lớn hiện nay như: Sybase và Microsoft SQL Server.

Năm 1980, Roger Sippl và Laura King là nhân viên của công ty Cromemco đã cùng nhau phát triển một hệ thống cơ sở dữ liệu có quan hệ nhỏ dựa vào kỹ thuật ISAM. Sau đó Sippl và King rời bỏ Cromemco để thành lập những hệ thống cơ sở dữ liệu quan hệ (RDS), sản phẩm đầu tiên của họ là Marathon. Marathon thực chất là phiên bản 16 bit dựa trên công nghệ ISAM chạy trên hệ điều hành Onyx, và đây cũng chính là nền tảng của hệ thống Informix khi mà vào năm 1981 sự kết hợp của nó và công nghệ Pioneering Ingres đã tạo ra sản phẩm Informix đầu tiên. Từ năm 1985 đến 1986 thì Informix mới chính thức cho ra đời hàng loạt những phiên bản mới như Informix-SQL 2.00, Informix-4GL 1.00 và Informix Turbo. Và cũng trong năm này nhờ sự thành công của những phiên bản mới, công ty đã đổi tên thành Informix Sofware.

Năm 1989, Informix SoftWare phát triển ra phiên bản mới 4.00 của Informix Turbo và đổi tên lại thành Informix Online. 1990 Informix cho ra phiên bản cuối cùng của Informix Turbo là 5.00.

Năm 1994 những hệ thống quản trị cơ sở dữ liệu của Informix được người dùng sử dụng nhiều hơn. Cũng trong năm này công ty Informix software đã kết hợp với hệ thống máy tính Sequent để cho ra đời phiên bản 6.00 và 7.00 với đặc tính ưu việt hơn những phiên bản trước đó như có cấu trúc được mở rộng DSA. Sự thành công của việc cho ra đời hai phiên bản mới, đặc biệt là phiên bản 7.00 đã giúp cho Informix được mọi người biết đến nhiều hơn. Dựa vào sự thành công của phiên bản 7.00, Informix bắt đầu phát triển cơ sở dữ liệu lõi thành hai hướng XMP và XPS. XMP sau này trở thành phiên bản 8.00 và XPS là nền tảng để cho ra đời sản phẩm RS-6000/SP của hãng IBM. Năm 1996, lần đầu tiên Informix trở thành một trong ba ông lớn (cùng với Oracle và Sybase) trong lĩnh vực cung cấp hệ thống quản trị cơ sở dữ liệu trên thế giới nhờ vào hai phiên bản mới V8 và V9.

Thành công đến với Informix không được lâu, do những sai lầm của chính sách quản lý và tiếp thị của giám đốc điều hành Phillip White dẫn đến việc thiếu hụt ngân sách của công ty. Ngày 1 tháng 4 năm 1997, Informix phải công bố rằng chỉ trong một thời gian ngắn mà số tiền nợ của công ty lên tới 100.000.000 dollar Mỹ. Đây cũng chính là giai đoạn đánh dấu sự xuống dốc của công ty.

Vào năm 2001, được sự gợi ý của Wal-Mart hãng máy tính IBM đã mua lại Informix và đưa ra kế hoạch lâu dài nhằm hòa trộn công nghệ của Informix vào DB2. Tuy nhiện trong năm 2004 vẫn tiếp tục có những phiên bản tăng cường cho những phiên bản Informix cũ. Đầu năm 2005 hãng IBM đã cho ra đời phiên bản IBM released 10 của Informix IDS.

## Những công cụ của Informix
Những công cụ mà IBM hỗ trợ cho hệ thống quản lý cơ sở dữ liệu Informix rất phong phú và đa dạng, cho phép thực hiện trên tất cả các kiểu dữ liệu từ nhỏ đến lớn. Những công cụ đó được biết đến như: công cụ phát triển ứng dụng và phát triển mạng, công cụ quản trị cơ sở dữ liệu, công cụ hợp nhất thông tin, và những công cụ được thiết kế nhằm tăng hiệu suất phục vụ.
### Lợi Ích Của Những Công Cụ
*Những công cụ IBM Informix được biết đến nhờ tính nổi bật của sự phát triển ứng dụng và mạng, sự hợp nhất thông tin và hiệu quả cao.
*Những công cụ phát triển ứng dụng được tích hợp chặt chẽ với IBM Informix database servers. Nó cho phép tạo ra một phạm vi ứng dụng kinh doanh rộng lớn một cách nhanh chóng, bao gồm hệ thống mạng và những hệ thống trên nền Java.
*Những công cụ quản trị cơ sở dữ liệu cung cấp toàn diện công nghệ mạng và Java giúp cho việc quản trị được dễ dàng. Nhưng chúng không hỗ trợ cho việc ghi nhớ những dòng lệnh chỉ dẫn. Những công cụ này giúp cho người sử dụng đơn giản hóa những nhiệm vụ như cấu hình hệ thống, sao lưu và khôi phục, hệ thống theo dõi và mô hình soạn thảo.
*Những công cụ hợp nhất thông tin giúp cho việc truy lục thông tin từ servers được dễ dàng và nhanh chóng.
*Những công cụ phát triển mạng giúp cho việc phát triển, quản lý, và triển khai những ứng dụng cơ sở dữ liệu cho mạng một cách dễ dàng. Những công cụ này thích ứng với tất cả các kiểu dữ liệu.

### Những Thành Phần Công Cụ Của Informix
#### Informix 4GL
Là một tập hợp toàn diện của những sản phẩm hiệu suất cao, gồm có một hệ thống phát triển tích hợp, trình gỡ rối và trình biên tập. Cung cấp sức mạnh và tính linh hoạt cho các ứng dụng mà không cần sử dụng những ngôn ngữ lập trình như C và COBOL. Nó còn cung cấp những công cụ cần thiết để tạo ra những ứng dụng cho các cơ sở dữ liệu phức tạp trong ba gói (Informix 4GL Rapid Development System, Informix 4GL Interactive Debugger, Informix 4GL Compiler) với giao diện chắc chắn. Khi sử dụng cùng nhau, Informix 4GL Rapid Development System và Informix 4GL Interactive Debugger cung cấp môi trường tối ưu để phát triển những ứng dụng, trong khi Informix 4GL Compiler dùng để thực hiện những ứng dụng đạt được hiệu quả cao trong môi trường sản xuất. Khi sử dụng những công cụ của Informix 4GL thì yêu cầu của hệ thống đòi hỏi là: Informix 4GL chạy trên những hệ thống của UNIX và LINUX như Compaq Tru64, HP, HP-UX, AIX, IBM Linux, Sun Solaris, Intel Linux, SCO, Caldera SCO.

#### Informix Client Software Development Kit (Client SDK)
Cung cấp một vài giao diện lập trình ứng dụng (APIs) được tối ưu hóa để phát triển những ứng dụng cho Informix servers. Cho phép những người phát triển viết ra những ứng dụng bằng ngôn ngữ lập trình Visual Basic hoặc C++. Những công cụ này mang lại rất nhiều lợi ích cho cả người dùng lẫn người lập trình như: cung cấp nhiều sự lựa chọn hơn cho việc lập trình, đẩy mạnh sự phát triển ứng dụng và giảm bớt giá thành cho việc huấn luyện những kỹ năng mới cho người lập trình, giảm bớt chi phí bảo trì và dễ mở rộng.

Informix Client Software Development Kit (Client SDK) có thể chạy trên những hệ điều hành như: AIX, HP-UX, IRIX, Linux, Solaris, TRU64 UNIX, Windows 2000, Windows 2003, Windows XP.

#### Informix Connect
IBM Informix Connect dùng với kết nối với thư viện của Informix Client Software Development Kit (Client SDK). Những thư viện này được yêu cầu bởi những ứng dụng chạy trên các máy Client và nó cung cấp những thông tin cho client khi mà client gởi những yêu cầu truy lục dữ liệu lên servers. Informix connect có thể chạy trên những hệ điều hành: AIX, HP-UX, IRIX, Linux, Solaris, TRU64 UNIX, Windows 2000,Windows 2003,Windows XP.

#### IDS PHP 5 Driver
Đây là một ứng dụng lập trình giao diện. Nó hộ trợ rất nhiều cho những người lập trình, giúp họ xây dựng và phát triển những ứng dụng có hiệu suất cao.

#### Informix Data Director for Web
IBM Informix Data Director for Web cung cấp cho người lập trình một mô hình thiết kế rõ ràng để tạo ra những ứng dụng cơ sở dữ liệu mạnh. Tự đông hóa những thao tác truy nhập dữ liệu. Cho phép những web-site tương tác với những Informix Web Datablade module.  Informix Data Director for Web có thể chạy trên những hệ điều hành: Windows 2000, Windows 95, Windows 98 và Windows NT.

#### Informix Enterprise Gateway Manager
Là một cổng vào cho phép khách hàng truy xuất vào với những đặc quyền riêng. Hỗ trợ cho việc bảo mật cũng như cấp quyền truy suất cho client. Ngoài ra nó còn hộ trợ kết nối không giới hạn. Informix Enterprise Gateway Manager có thể chạy trên những hệ thống: AIX, HP-UX, Solaris, Windows NT, and Windows XP.

#### Informix ESQL/C
Cung cấp tiện nghi cho những câu lệnh SQL trực tiếp thành mã ngồn ngôn ngữ C. Dùng để gởi những yêu cầu từ các client đến servers và dùng để quản lý tập hợp kết quả từ những câu hỏi. Informix ESQL/C có thể chạy trên những hệ điều hành: AIX, Linux, HP/UX, Solaris, Windows, SGI Irix, và CompaqTru 64.

#### Informix ESQL/COBOL
Là một giao diện lập trình ứng dụng, dựa trên ngôn ngữ lập trình COBOL. Gồm có một bộ tiền xử lý mã, những định nghĩa kiểu dữ liệu, và những thủ tục COBOL. Có chức năng tương tự như Informix ESQL/C. Informix ESQL/COBOL có thể chạy trên những hệ điều hành như: AIX, HP/UX, Linux và Solaris.

#### Informix I-Spy
Là một công cụ dùng để kiểm tra và tối ưu hóa dữ liệu chohệ thống IBM Informix. Giúp đỡ người quản trị theo dõi và điều chỉnh tài nguyên của cơ sở dữ liệu, cũng như cung cấp cách dùng những câu lệnh cho client. Ngoài ra nó còn làm giảm bớt những yêu cầu của CPU. Informix I-Spy có thể chạy trên những hệ điều hành như: AIX, HP-UX, HP Tru64 và SunOS.

#### Informix JDBC
IBM Informix Java Database Connectivity là chương trình giao diện ứng dụng chuẩn, cho phép những chương trình Java truy nhập vào hệ thống quản lý cơ sở dữ liệu. Gồm có một tập hợp những giao diện được viết bằng ngôn ngữ lập trình Java. Nó giúp đẩy mạnh tính dễ tiếp cận tới hệ thống IBM Informix server từ những ứng dụng khách hàng. Informix JDBC có thể chạy trên những hệ điều hành IBM AIX, HP-UX, Linux, Solaris, Windows và tất cả những hệ thống mà Java hỗ trợ.

#### Informix MaxConnect
Dùng để cải thiện hệ thống khi số người sử dụng tăng lên, quản lý những kết nối từ client đến servers, dễ dàng cho việc quản trị hệ thống, tối ưu việc sử dụng những tài nguyên của hệ điều hành và mạng. Dễ cài đặt, không cần thay đổi những ứng dụng của client và servers khi cài đặt, ngoài ra còn giảm bớt những yêu cầu của CPU. Informix MaxConnect có thể chạy trên những hệ điều hành: AIX, Compaq NSK, HP-UX, Linux và Sun Solaris.

#### Informix Server Administrator (ISA)
Là công cụ dùng để quản trị hệ thống, cung cấp những công cụ cần thiết cho việc quản trị, ngoài ra nó còn cung cấp những trang HTML đơn giản để tìm kiếm thông tin. Informix Server Administrator (ISA) có thể chạy trên những hệ thống của Windows, IBM AIX, Linux, Solaris, HP-UX.

#### Informix SQL
Là một hệ thống phát triển ứng dụng mà cung cấp tốc độ sức mạnh và sự an toàn cho tất cả những kiểu dữ liệu từ nhỏ đến lớn. Cung cấp sự phát triển nhanh cho các ứng dụng mà không cần đến ngôn ngữ lập trình. Informix SQL có thể chạy trên những hệ điều hành: Compaq Tru64, HP, HP - UX, IBM AIX, IBM Linux, Sun Solaris, Intel Linux, SCO, Caldera SCO.

## Những sản phẩm quản lý cơ sở dữ liệu của Informix
Những sản phẩm của IBM Informix được chuyển giao thực hiện những ứng dụng cấp cao hơn cho những môi trường giao dịch. Những sản phẩm đó cung cấp những giải pháp linh hoạt và toàn vẹn trong lĩnh vực IT. Sau đây là những sản phẩm quản trị cơ sở dữ liệu tiêu biểu của IBM Informix:
### Informix Dynamic Server (IDS)
Đây là hệ thống quản trị cơ sở dữ liệu sử dụng để xử lý những giao dịch trực tuyến nổi bật của IBM Informix. Nó bao gồm những đặc tính giúp tăng tốc sự phát triển ứng dụng, tăng hiệu quả cho việc thực hiện và cải thiện sự an toàn dữ liệu.

### Informix Dynamic Server (IDS) Express
Đây là một hệ thống quản trị cơ sở dữ liệu được triển khai và cài đặt một cách dễ dàng, là một hệ thống cơ sở dữ liệu mạnh nên cần rất ít sự quản trị cũng có thể không cần quản trị. Những công cụ mà Informix Dynamic Server (IDS) Express sử dụng là Informix Connect, Informix JDBC, Informix Server Administrator (ISA) và Informix Spatial DataBlade module...

### Informix C-ISAM
Là một thư viện những hàm được viết bằng ngôn ngữ lập trình C. ngoài ra Informix C-ISAM còn hỗ trợ nhiều ngôn ngữ thông qua bộ hỗ trợ ngôn ngữ toàn cầu (GLS). Nó bao gồm những cơ chế hiệu quả để giữ gìn sự toàn vẹn dữ liệu. Những công cụ mà Informix C-ISAM sử dụng là: Informix C-ISAM DataBlade module, Informix Client Software Development Kit (CSDK)...

### Informix Extended Parallel Server (XPS)
Đây là hệ thống cơ sở dữ liệu cho phép sự hợp nhất nhiều hệ thống trên hệ thống mạng. Hệ thống này có thể tải dữ liệu nahnh chóng và có thể biến đổi khi dữ liệu gia tăng. Những công cụ màInformix Extended Parallel Server (XPS) sử dụng là Informix Client Software Development Kit (Client SDK), Informix Connect, Informix I-Spy, Informix JDBC, Informix Server Administrator (ISA)...

### Informix OnLine Extended Edition
Đây là một hệ thống dễ sử dụng, có đặc tính xử lý giao dịch trực tuyến cấp cao và đảm bảo sự toàn vẹn dữ liệu. Cung cấp khả năng quản lý dữ liệu đa phương tiện như những tài liệu truyền thông, hình ảnh và âm thanh. Những công cụ mà nó sử dụng là Informix OnLine Extended Edition tools, Informix NET...

### Informix Standard Engine (SE)
Đây là hệ thống quản trị cơ sở dữ liệu hỗ trợ cho các dữ liệu vừa và nhỏ nhưng tính bảo mật cao có thể không cần quản trị. Những công cụ và thành phần mà nó sử dụng là: Informix SE tools, Informix NET...

### Red Brick Warehouse
Là hệ thống cơ sở dữ liệu có quan hệ trên nền ngôn ngữ SQL. Có tính năng xử lý những hệ thống dữ liệu lớn, hiệu quả và là giải pháp cho các doanh nghiệp có hệ thống cơ sở dữ liệu lớn và phức tạp. Ngoài ra nó còn đơn giản hóa việc quản trị hệ thống. Những công cụ và thành phần của Red Brick Warehouse la: Ascential DataStage, DB2 Query Management Facility (QMF) và những công cụ của IBM Informix.

## Tham khảo

## Liên kết ngoài
*The Real Story of Informix Software and Phil White (Book published 2005)http://www.storyofinformix.com 
*Informix product family and technical resources zone from IBM's website
*A letter of support for Informix from Ambuj Goyal, the head of Information Management 
*IIUG (International Informix Users Group) IIUG
*The (good) problem with Informix
*The Informix Handbook 
*The Informix Zone 
*Database-Books.us  - Informix database books online.
*Informix Section of DB2 Magazine