Join Firebird!

Join Firebird Foundation to support Firebird SQL development and receive multiple bonuses

Follow Us

Select your media preference

Newsletter

Subscribe to Firebird’s Newsletter to receive the latest news

Archive
August 30, 2016
The year will be the strong section inside Firebird Conference devoted to Firebird performance. The talks announced below will be devoted to the most popular questions regarding Firebird performance.

Firebird and disk I/O, Dmitry Yemanov, lead Firebird developer
Disk access is the most expensive operation in any database and RDBMS vendors use a lot of tricks to get most of this area. Providing durability ("D" in ACID) is especially important as it introduces an obvious conflict between reliability and performance. This session describes various durability aspects at three different levels — Firebird, operating system and storage hardware — and explains how they interact with each other, what tuning options are effective and how to balance between them. We'll talk about forced writes, OS-level caching, journaling, filesystem barriers, etc.

Diagnosing and fixing Firebird performance problems, by Alexey Kovyazin, IBSurgeon
The question «how to find and eliminate performance problems in Firebird» is important for all database developers.  Firebird offers the number of tools and APIs to answer the question: transaction markers, MON$ tables, TraceAPI, databases and queries performance statistics, and this session will describe how to find the exact reason of slowness in the particular database. We will consider the practical examples of problems and appropriate fixes, based on real-life logs from the production Firebird databases.

Firebird performance comparisons, by Paul Reeves, IBPhoenix
This session will provide performance comparisons between Firebird 3 and Firebird 2.5 using a test harness based upon TPC-C. The data is derived from hours of testing covering different hardware and software configurations taking into consideration things like Server Architecture, Memory, Database size, HDD/SSD etc This should enable us to build a full picture of the impact of how a single configuration change can affect overall performance. Some of the questions this session will answer: does the improved multi-threading in Firebird 3 bring benefits under heavy load? Is SuperClassic still relevant? What is the penalty for using network compression and encryption? Does database encryption sacrifice speed for security?

More performance sessions will be announced in the next weeks too... But there is only 1 day left to register for Firebird Conference 2016 with the Early Bird discount. Hurry up and register today!
The year will be the strong section inside Firebird Conference devoted to Firebird performance. The talks announced below will be devoted to the most popular questions regarding Firebird performance.

Firebird and disk I/O, Dmitry Yemanov, lead Firebird developer
Disk access is the most expensive operation in any database and RDBMS vendors use a lot of tricks to get most of this area. Providing durability ("D" in ACID) is especially important as it introduces an obvious conflict between reliability and performance. This session describes various durability aspects at three different levels — Firebird, operating system and storage hardware — and explains how they interact with each other, what tuning options are effective and how to balance between them. We'll talk about forced writes, OS-level caching, journaling, filesystem barriers, etc.

Diagnosing and fixing Firebird performance problems, by Alexey Kovyazin, IBSurgeon
The question «how to find and eliminate performance problems in Firebird» is important for all database developers.  Firebird offers the number of tools and APIs to answer the question: transaction markers, MON$ tables, TraceAPI, databases and queries performance statistics, and this session will describe how to find the exact reason of slowness in the particular database. We will consider the practical examples of problems and appropriate fixes, based on real-life logs from the production Firebird databases.

Firebird performance comparisons, by Paul Reeves, IBPhoenix
This session will provide performance comparisons between Firebird 3 and Firebird 2.5 using a test harness based upon TPC-C. The data is derived from hours of testing covering different hardware and software configurations taking into consideration things like Server Architecture, Memory, Database size, HDD/SSD etc This should enable us to build a full picture of the impact of how a single configuration change can affect overall performance. Some of the questions this session will answer: does the improved multi-threading in Firebird 3 bring benefits under heavy load? Is SuperClassic still relevant? What is the penalty for using network compression and encryption? Does database encryption sacrifice speed for security?

More performance sessions will be announced in the next weeks too... But there is only 1 day left to register for Firebird Conference 2016 with the Early Bird discount. Hurry up and register today!
August 29, 2016
Jiri Cincura announces the 5.1.0.0 Release of ADO.NET provider for Firebird.

Notable changes or improvements are support for new fields in MON$ATTACHMENTS and support for “-skip_data” in backup/restore. And finally some nice simple performance tweak around Charset class.

Overview of changes can be found in tracker.

You can download them in the ".NET Provider" section of Downloads. Enjoy!
Jiri Cincura announces the 5.1.0.0 Release of ADO.NET provider for Firebird.

Notable changes or improvements are support for new fields in MON$ATTACHMENTS and support for “-skip_data” in backup/restore. And finally some nice simple performance tweak around Charset class.

Overview of changes can be found in tracker.

You can download them in the ".NET Provider" section of Downloads. Enjoy!
August 26, 2016
We continue to publish announces of talks at Firebird Conference 2016, which will take place in Prague, Czech Republic, October 7-8 (only 1 week left to register to Firebird Conference 2016 with Early Bird discount!). Today we announce the talks from Jiri Cincura, developer of Firebird .NET driver and Firebird+.NET development trainer.

How to implement the full-text search using only PSQL
Firebird at the moment does not have a native support for the full-text search. So you are either out of luck or you have to use syntax using the LIKE or CONTAINING expressions. Luckily when lowering the bar a little (what features the search has to cover) and focusing on core functionality, it is possible to create the very fast full-text search using only fairly simple PSQL and some out-of-the-box thinking. Production examples will be included.

What's new in Firebird.NET Provider
With the release of Firebird 3.0 a lot has changed in .NET provider. Some features from Firebird 3 are already supported now and also a lot of changes and improvements in other areas have been done. This session will walk you through most of these improvements and changes and will show you how to use these and show how these work in Firebird and how you can benefit from using them.
We continue to publish announces of talks at Firebird Conference 2016, which will take place in Prague, Czech Republic, October 7-8 (only 1 week left to register to Firebird Conference 2016 with Early Bird discount!). Today we announce the talks from Jiri Cincura, developer of Firebird .NET driver and Firebird+.NET development trainer.

How to implement the full-text search using only PSQL
Firebird at the moment does not have a native support for the full-text search. So you are either out of luck or you have to use syntax using the LIKE or CONTAINING expressions. Luckily when lowering the bar a little (what features the search has to cover) and focusing on core functionality, it is possible to create the very fast full-text search using only fairly simple PSQL and some out-of-the-box thinking. Production examples will be included.

What's new in Firebird.NET Provider
With the release of Firebird 3.0 a lot has changed in .NET provider. Some features from Firebird 3 are already supported now and also a lot of changes and improvements in other areas have been done. This session will walk you through most of these improvements and changes and will show you how to use these and show how these work in Firebird and how you can benefit from using them.
August 23, 2016
Philippe Makowski (IBPhoenix), the maintainer of Linux packages for Firebird and vice-president of Firebird Foundation, will present 2 topics at the Firebird Conference 2016:

Firebird SQL best practices
This talk will be devoted to the review of SQL features available in Firebird and that people often forget about their existence: Merge, Common Table Expression, Window Functions, etc. The special focus will be on how to emulate loose index scan using a recursive CTE. The term "loose index scan" is used in other databases for the operation of using a b-tree index to retrieve the distinct values of a column efficiently; rather than scanning all equal values of a key, as soon as a new value is found, restart the search by looking for a larger value. This is much faster when the index has many equal keys.

Managing Firebird with Ansible
This session will cover the topics listed below:
General information about configuration management and benefits of using configuration management tools Ansible overview and advantages of Ansible compared to other configuration management tools Basics of Ansible such as roles, tasks, handlers, modules, playbooks etc
Information about the Ansible Firebird module (a preview of this new module) and its usage with some examples. A playbook example using the Firebird module, covering managing Firebird Databases on AWS systems, RedHat, Debian, Mageia hosts, and Windows hosts.
 
Philippe Makowski (IBPhoenix), the maintainer of Linux packages for Firebird and vice-president of Firebird Foundation, will present 2 topics at the Firebird Conference 2016:

Firebird SQL best practices
This talk will be devoted to the review of SQL features available in Firebird and that people often forget about their existence: Merge, Common Table Expression, Window Functions, etc. The special focus will be on how to emulate loose index scan using a recursive CTE. The term "loose index scan" is used in other databases for the operation of using a b-tree index to retrieve the distinct values of a column efficiently; rather than scanning all equal values of a key, as soon as a new value is found, restart the search by looking for a larger value. This is much faster when the index has many equal keys.

Managing Firebird with Ansible
This session will cover the topics listed below:
General information about configuration management and benefits of using configuration management tools Ansible overview and advantages of Ansible compared to other configuration management tools Basics of Ansible such as roles, tasks, handlers, modules, playbooks etc
Information about the Ansible Firebird module (a preview of this new module) and its usage with some examples. A playbook example using the Firebird module, covering managing Firebird Databases on AWS systems, RedHat, Debian, Mageia hosts, and Windows hosts.
 
August 20, 2016

Jaybird 3.0.0-alpha-1 has been published for testing. We would really appreciate if you could start testing your applications with this version and provide feedback on stability and behavior, but also on the release notes.

Feedback can be sent to the Firebird-java mailinglist or on the issue tracker http://tracker.firebirdsql.org/browse/JDBC.

Jaybird 3.0 is a big change from Jaybird 2.2 and earlier. We have rewritten the entire low-level implementation to be able to support protocol improvements in newer Firebird versions, we have made changes with a stricter interpretation of the JDBC requirements, and we have removed some parts that were either obsolete or not functioning correctly.

We recommend that you do not consider Jaybird 3.0 a drop-in replacement for Jaybird 2.2, and study the release notes carefully.

See:

Jaybird 3.0 Alpha 1 is available from Maven central: see instructions in the release notes.

Jaybird 3.0.0-alpha-1 has been published for testing. We would really appreciate if you could start testing your applications with this version and provide feedback on stability and behavior, but also on the release notes.

Feedback can be sent to the Firebird-java mailinglist or on the issue tracker http://tracker.firebirdsql.org/browse/JDBC.

Jaybird 3.0 is a big change from Jaybird 2.2 and earlier. We have rewritten the entire low-level implementation to be able to support protocol improvements in newer Firebird versions, we have made changes with a stricter interpretation of the JDBC requirements, and we have removed some parts that were either obsolete or not functioning correctly.

We recommend that you do not consider Jaybird 3.0 a drop-in replacement for Jaybird 2.2, and study the release notes carefully.

See:

Jaybird 3.0 Alpha 1 is available from Maven central: see instructions in the release notes.

August 19, 2016
We start to publish announces of talks for Firebird Conference 2016 (don't miss Early Bird registration offer - less than 2 weeks left!) - the first is devoted to CloudaIDE, great web framework designed for database developers.

Introduction to CloudaIDE - Web Framework requiring only database programming skills
Dragging and dropping database objects from the datasource browser to quickly create screen layout with database bound controls. Easy ways to achieve arbitrarily complex master-detail structures of the screen data. Undo-redo, drag ad drop, cut and paste. Property lists.
Innovative lists of values acting also as data entry forms and means of navigation through interrelated data. Innovative menus that integrate breadcrumbs and ordinary menus. Out of the box Query By Example mechanism. Client side programming language as an easy to grasp subset of PL/SQL. Used to program user interaction and remotely call stored procedures. 

Techniques and design recommendations to detect and prevent an attack. Client and server side session state components. Pooled database connections as a mean to reduce server load. Scalability and reliability by reducing network traffic and the database server load. Incremental data transfer between client and server. Single page architecture. Locking strategies.

Automation of all the development steps including the deployment of the application to the integrated test web server. Pre-configured web server.
Free use of CloudaIDE for FirebirdSQL based development and deployment. The project site is http://cloudaide.org
We start to publish announces of talks for Firebird Conference 2016 (don't miss Early Bird registration offer - less than 2 weeks left!) - the first is devoted to CloudaIDE, great web framework designed for database developers.

Introduction to CloudaIDE - Web Framework requiring only database programming skills
Dragging and dropping database objects from the datasource browser to quickly create screen layout with database bound controls. Easy ways to achieve arbitrarily complex master-detail structures of the screen data. Undo-redo, drag ad drop, cut and paste. Property lists.
Innovative lists of values acting also as data entry forms and means of navigation through interrelated data. Innovative menus that integrate breadcrumbs and ordinary menus. Out of the box Query By Example mechanism. Client side programming language as an easy to grasp subset of PL/SQL. Used to program user interaction and remotely call stored procedures. 

Techniques and design recommendations to detect and prevent an attack. Client and server side session state components. Pooled database connections as a mean to reduce server load. Scalability and reliability by reducing network traffic and the database server load. Incremental data transfer between client and server. Single page architecture. Locking strategies.

Automation of all the development steps including the deployment of the application to the integrated test web server. Pre-configured web server.
Free use of CloudaIDE for FirebirdSQL based development and deployment. The project site is http://cloudaide.org
August 07, 2016
The Firebird JDBC team is happy to announce the release of Jaybird 2.2.11.

The following has been changed or fixed in Jaybird 2.2.11:

  • Fixed: Dialect 1, NUMERIC(15,2) and DatabaseMetadata.getColumn returns 0 for DECIMAL_DIGITS (JDBC-426)
  • Updated error messages from latest Firebird 3 to add missing messages (JDBC-428)
  • Fixed: ResultSet.getObject() returns byte[] instead of String for BLOB SUB_TYPE 1 when using octetsAsBytes (JDBC-431)
  • Improvement: Support Firebird 3 48-bit transaction ids. (JDBC-432)
    Note that FBMaintenanceManager.commit/rollbackTransaction(long) with longer than 32 bit transaction ids requires Firebird 3.0.1 because of CORE-5224.
  • Fixed: Batch insert with setBinaryStream inserts an empty BLOB SUB_TYPE TEXT (JDBC-433)
    This is the same issue as JDBC-312 that was fixed in Jaybird 2.2.4 for BLOB SUB_TYPE BINARY.
  • Changed locking to coarser blocks with - as far as possible - a single lock object per connection for all connection-derived objects (JDBC-435)
    This should prevent deadlocks on concurrent access as in some cases locks were obtained in different orders (eg (statement, connection), and (connection, statement)). The downside is reduced concurrency, but as using a connection from multiple threads concurrently is discouraged anyway, that is an acceptable price to pay.
See the JDBC driver download page for download links. The release is also available on maven, with a separate artifact for each supported Java version:

Groupid: org.firebirdsql.jdbc, artifactid: jaybird-jdkXX (where XX is 16, 17 or 18).
Version: 2.2.11

For example:


    org.firebirdsql.jdbc
    jaybird-jdk18
    2.2.11
The Firebird JDBC team is happy to announce the release of Jaybird 2.2.11.

The following has been changed or fixed in Jaybird 2.2.11:

  • Fixed: Dialect 1, NUMERIC(15,2) and DatabaseMetadata.getColumn returns 0 for DECIMAL_DIGITS (JDBC-426)
  • Updated error messages from latest Firebird 3 to add missing messages (JDBC-428)
  • Fixed: ResultSet.getObject() returns byte[] instead of String for BLOB SUB_TYPE 1 when using octetsAsBytes (JDBC-431)
  • Improvement: Support Firebird 3 48-bit transaction ids. (JDBC-432)
    Note that FBMaintenanceManager.commit/rollbackTransaction(long) with longer than 32 bit transaction ids requires Firebird 3.0.1 because of CORE-5224.
  • Fixed: Batch insert with setBinaryStream inserts an empty BLOB SUB_TYPE TEXT (JDBC-433)
    This is the same issue as JDBC-312 that was fixed in Jaybird 2.2.4 for BLOB SUB_TYPE BINARY.
  • Changed locking to coarser blocks with - as far as possible - a single lock object per connection for all connection-derived objects (JDBC-435)
    This should prevent deadlocks on concurrent access as in some cases locks were obtained in different orders (eg (statement, connection), and (connection, statement)). The downside is reduced concurrency, but as using a connection from multiple threads concurrently is discouraged anyway, that is an acceptable price to pay.
See the JDBC driver download page for download links. The release is also available on maven, with a separate artifact for each supported Java version:

Groupid: org.firebirdsql.jdbc, artifactid: jaybird-jdkXX (where XX is 16, 17 or 18).
Version: 2.2.11

For example:


    org.firebirdsql.jdbc
    jaybird-jdk18
    2.2.11