FireBird-Database
03:33Show all | Close all
-
INTRODUCTION
-
Firebird (database server)
Firebird is an open source SQL relational database management system that runs on Linux, Windows, and a variety of Unix. The database forked from Borland's open source edition of InterBase in 2000, but since Firebird 1.5 the code has been largely rewritten -
Features
- Full support for stored procedures and triggers[17]
- Full ACID compliant transactions
- Referential integrity
- Multi Generational Architecture (sometimes called MVCC).
- Support for External Functions (UDFs)
- SQL activity can send asynchronous notification events to clients.
- Third party tools, including GUI administrative tools and replication tools.
- Careful writes - fast recovery, no need for transaction logs
- Many access methods: native/API, dbExpress drivers, ODBC, OLEDB, .Net provider, JDBC native type 4 driver, Python module, PHP, Perl.
- Incremental backups
- Full cursor implementation in PSQL
-
Indexes
Firebird also uses special high-performance index structures and algorithms, making all indexes of the database to behave like well-turned clustered indexes used by other architectures. Firebird index buckets arent subject to two-phase locking, and Boolean and and or operations can be performed on intermediate bitmaps at a negligible cost, eliminating the need for the optimizer to choose between alternative indexes.
- The Multi-Generational Architecture (MGA)
-
Firebird inherited the sophisticated storage architecture of Interbase. For ensuring the ACID properties of transactions, the database engine keeps different versions of each record changed by the active users in the database. When the transactions are committed, the last version of every changed record is marked as the definitive. If transactions are rolled back, the database engine keeps the mark on the original record versions, leaving them untouched.[19] As a result, Firebird disk writes are very reduced in comparison with databases that use the traditional transaction log architecture.[20] Transactions writing data dont block another ones reading it and viceversa, because each one sees its own version of the database.[21] The advantages of this design, however, have a tradeoff: some maintenance (sweeping) is required from time to time to clean up old record versions and free disk space.
The multi-generational architecture ensures that OLTP and DSS/OLAP operations can be run simultaneously without the delays caused by locking mechanisms found in other products.
Histroy
Within a week of the InterBase 6.0 source being released by Borland on 25 July 2000,[2][3] the Firebird project was created on SourceForge.[4][5] Firebird 1.0 was released for Linux, Windows and Mac OS X on 11 March 2002,[6] with ports to Solaris, FreeBSD 4, HP-UX following over the next two months.[7]
Work on porting the codebase from C to C++ began in 2000. On 23 February 2004, Firebird 1.5 was released,[8] which was the first stable release of the new codebase. Version 1.5 featured an improved query optimizer, SQL-92 conditional expressions, SQL:1999 savepoints and support for explicit locking.[9] Firebird 2.0 was released on 12 November 2006,[10] adding support for 64-bit architectures, tables nested in FROM clauses, and programmable lock timeouts in blocking transactions.[11]
The previous stable release was version 2.1.4, which added new features including procedural triggers, recursive queries, and support for SQL:2003 MERGE statements.[12] Firebird 2.5.2 is the current stable version. New features included improved multithreading, regular expression syntax and the ability to query remote databases.[13]
The planned 3.0 release is expected to support stored procedures in languages such as Java and C++, and SQL window functions that restrict query results. An alpha version is expected to be delivered in the third quarter of 2012
The previous stable release was version 2.1.4, which added new features including procedural triggers, recursive queries, and support for SQL:2003 MERGE statements.[12] Firebird 2.5.2 is the current stable version. New features included improved multithreading, regular expression syntax and the ability to query remote databases.[13]
The planned 3.0 release is expected to support stored procedures in languages such as Java and C++, and SQL window functions that restrict query results. An alpha version is expected to be delivered in the third quarter of 2012
Versions
At the end of 2002, Borland released InterBase version 7, featuring support for SMP, enhanced support for monitoring and control of the server by administrators, and more. Borland released InterBase 7.1 in June 2003, 7.5 in December 2004, and 7.5.1 on June 1, 2005.
In September 2006, Borland announced[9] the availability of InterBase 2007. Its new features include point in time recovery via journaling (which also allows recoverability without the performance penalty of synchronous writes), incremental backup, batch statement operations, new Unicode character encodings, and a new ODBC driver.
In September 2008, Embarcadero announced[10] the availability of InterBase 2009. Its new features include full Database Encryption, selective Column-level data encryption and over-the-wire encryption offering secure TCP/IP communication via SSL.
In September 2010, Embarcadero announced[11] the availability of InterBase XE. Its new features include a 64 bit client and server, improved security, improved scalability, support for dynamic SQL in stored procedures, and optimized performance of large objects with Stream methods. References
Install InterBase and Create a New Database
Install InterBase and Create a New Database - December 22, 2000
The following text only applies to Biblioscape before version 5.
InterBase, well known for its low-maintenance, enterprise-class relational database management system (RDMS), offers a powerful, reliable, easy-to-use solution for Biblioscape customers who needs Client/Server setup. Best of all, InterBase is the first commercial quality SQL database to become open source and it is completely free. The following tutorial shows you how to setup InterBase and create a new empty database. You can then convert your existing Biblioscape database in Paradox into InterBase with the DataPump utility.
1. Click here to download the latest release of InterBase at Borland Web site for free.
2. Unzip the downloaded file into an empty directory and run the setup.exe to install InterBase.
3. Once it is installed, click Windows status bar "Start | Programs | InterBase | IBConsole" to start InterBase console manager. First, you need to register the server. By default, you can login to the server as system administrator "SYSDBA" with password "masterkey". To register the local server, click menu command "Server | Register...". Select "Local Server". Enter "SYSDBA" as the user name and "masterkey" as the password. Click OK button to register.
4. Once you registered local server, a Local Server icon will be shown on the left of the IBConsole. Next time when you start IBConsole, the local server icon will be shown, but you need to login to the server. Select the "Local Server" icon, then click right mouse button to show the popup menu. Click "Login" and enter the user name and password to login.
![]()
Once you registered the local server, you can change the default password for the "SYSDBA" account. To do that, click menu command "Server | User Security...". You can also create new user. In this tutorial, we assume you will keep using the default "SYSDBA" account.
5. Now, you need to create a new empty database. On the IBConsole Window, click menu command "Database | Create Database...". Enter an alias. For example "biblioscape4_ib". Enter the full path name of your InterBase database to be created. For example "d:\temp7\biblioscape4_ib.gdb". In the "Options" section, select "1" as the "SQL Dialect". This is very important, otherwise, your Biblioscape database in Paradox won't be converted into InterBase successively. Click OK button to create the database. Now, you have created an InterBase database without any table. You can then use the DataPump utility to convert your default Biblioscape database in Paradox format into this InterBase database.
![]()
Drawbacks
Certain operations are more difficult to implement in a multi-generational architecture, and hence perform slowly relative to a more traditional implementation. One example is the SQL COUNT verb. Even when an index is available on the column or columns included in the COUNT, all records must be visited in order to see if they are visible under the current transaction isolation.
Download...
Click here to download firebird database
0 comments: