Speaker Detailed Description

Dmitry Yemanov, Firebird Project
Firebird on the road from v4 to v5

This talk describes the current state of the v4 development and reviews its key features (new data types, Batch API, timezones). Improvements not covered by other dedicated sessions of this conference will be presented with details.
We'll also speak about future Firebird development, including the updated release plan and expected post-v4 features. Review of upcoming features for Firebird 5

Download PDF

Replication in Firebird 4: Configuration and practical examples

Replication is a long-awaited feature that allows the creating of reliable high-performance database replicas without user-defined triggers and with full DDL support. This talk presents the replication subsystem architecture, possible replication modes, their impact on performance and available tuning options. We'll demonstrate how to set up a simple standby configuration and use it in practice.

Download PDF
Advanced replication with Firebird 4

This session brings a level-up to your understanding of Firebird replication. We'll go through the new CDC API, abilities to create 3rd party replicators and external integration possibilities.
Enhanced replication modes (multi-target, multi-source, multi-master) will be explained. And finally, replication is not limited to stand-by or load-balancing purposes, be prepared to learn about using replication for version migration, performance speed-up, etc.  

Download PDF

Vlad Khorsun, Firebird Project
New transactions' features and changes in garbage collection in Firebird 4 

Firebird 4 introduces the new transaction isolation mode - read committed read consistency, which will make garbage collection much more effective than before and reduce its impact on the database performance. In this talk, we will show how the new transaction feature work and what are practical recommendations to work with it in your applications and discuss the new parameter in firebird.conf.

Download PDF
Multithread sweep, backup and restore: implementation and performance test results 

In this talk, we will discuss the implementation details of multi-thread features and show the performance test results achieved: sweep is 3-5 faster, backup is 4-6 times faster, and restore up to 2x time faster,

Download PDF

Vlad Khorsun, Firebird Project, and

Dmitry Kuzmenko, IBSurgeon
Workshop "All About Transactions" (3 hours, in 2 parts)

Understanding transactions is crucial for every experienced Firebird developer to be able to create fast, scalable multi-user applications.
In this workshop, we will go through the basics of transactions and in-depth details of their implementation, and we will also consider the impact that transactions have on database performance.
The practical part of the workshop will include the demonstration of debugging methods, investigation of reasons for deadlocks, and best practices.

Please review the detailed outline of this workshop here.
Dmitry Yemanov, Firebird Project, Alexey Kovyazin, IBSurgeon Workshop "Optimization of SQL queries" (3 hours, 2 parts)

In this workshop, we will go through a series of real-world examples of SQL queries and databases and discuss performance and indices statistics, interpretation of queries results, discover the costs for various operations (natural and index reads, sorts, composite index reads, etc) and how to estimate it, and perform various optimizations against queries - from the simple +0 tricks to changes of JOIN types and their order, discover the newest options, like HASH JOIN and REFETCH.
For this workshop, we have developed a set of examples to demonstrate the most frequent situation in queries optimizations.

Alex Peshkoff, Firebird Project,

Alexey Kovyazin, IBSurgeon
Workshop "Database encryption"

In this workshop, we will discuss how encryption works, how it is configured, how to pass the keys to the server, cross-server queries between encrypted databases, handling multiple encryption keys, and encryption's impact on the performance.
We will consider several scenarios of encryption implementation in the real-world applications (SaaS, embedded applications, traditional applications, applications that connect several databases). Also, we will discuss how to do backups of encrypted databases, and what to do in case of the physical corruption of the database.
 Best practices in Firebird database security - from 2.5 to 4.0

Are you still using the only Firebird user in your database (hopefully, it is not SYSDBA)? If so, this session is what you need!
We will go through practical examples in order to find the best way to implement database security on Firebird level. We will cover users, roles, RDB$ADMIN role with its tips and tricks, also we will consider GRANTED BY clause, how to use pseudo-tables with a list of users, and other things which can make Firebird security easy and useful. 

Dmitry Kuzmenko, IBSurgeon
Tips for effective development of Firebird database applications in Delphi/Lazarus
  • Components and drivers, application architecture
  • Unicode support, working with Unicode and non-Unicode databases
  • Working with components, different features, and specifics
  • Transaction management: best practices and worst mistakes, with focus on Firebird 4 changes
  • Queries, live datasets, 2-transactional components, caching results.
Guidlines and practical examples about connections, transactions, queries, and application resourses.
HQbird 2020: new version of advanced Firebird distributive for big databases

This session will be devoted to the brief description of the most interesting features of HQbird:
  • Multi-thread sweep, backup and restore: up to 6x faster maintenance operations
  • Native replication for 2.5, 3.0 and 4.0
  • Speed-up heavy reports 
  • Pool of Execute Statement On External
  • Performance monitoring reports
  • Control Center For Firebird
  • RSA security UDR, libCluster authentication plugin for ESOE, and other featires

Pavel Cisar, IBPhoenix
The Firebird Butler, An Introduction

In January of this year, the Firebird project was expanded with a brand new division called Firebird Butler. The primary goal of this division is to create a whole new class of modern Firebird services. However, the focus, scope and usability of this division's projects go well beyond the scope defined.
In this session, participants will learn about:
  • definition of problems to be solved within the new division
  • basic concepts of proposed solutions
  • organizational structure, work methodology, used technologies and projects of the new division
  • current status of individual projects and plans for their further development
Firebird Butler in Python part I., Introduction to Saturnin SDK

Saturnin is part of the new Firebird Butler division and aims to create a whole new class of modern Firebird services in Python.
This session focuses on the reference implementation of the Firebird Butler development platform in Python, called the Saturnin SDK. It is intended for anyone who is interested in creating Butler services in Python or participating in the implementation of the Firebird Butler platform in other languages.
In this session participants will learn about:
  • organizational structure, the methodology of work and used technologies of the Saturnin project
  • structure and individual parts of the Saturnin SDK library
  • use of the library for service, tools and application development, including practical examples
  • the current state of the library and the plan for its further development

Firebird Butler in Python part II., Introduction to Saturnin

Saturnin is part of the new Firebird Butler division and aims to create a whole new class of modern Firebird services in Python.
This session focuses on the reference implementation of Firebird Butler services and tools in Python, using the Saturnin SDK. It is intended for anyone who is interested in using or creating Butler services in Python or participating in the implementation of Butler services in other languages.
In this session participants will learn about:

  • organizational structure, the methodology of work and technologies used
  • the basic concept of the project and the solutions developed
  • structure and individual parts of Saturnin, with a focus on the services being created
  • use of Saturnin services to create solutions, including practical examples
  • the current state of the project and the plan for its further development
Python with Firebird: FDB driver 101

The FDB library is not only a Firebird driver for Python, but also provides a number of add-on modules to build tools and applications, and as such is an important part of the Firebird project. In this session participants will learn about: - the history of the library - its use in the Firebird project and within IBPhoenix - with the concept, structure and capabilities of the library (in version 2) - ways to use the library to create tools and applications, including useful tips and tricks - plans for further development (for 2020 and in connection with the Firebird Butler a Saturnin projects)

Jiri Cincura, Firebird Project
FbNetExternalEngine - running .NET code as a procedure, etc. in Firebird

Firebird 3 introduced plugins that allow you to execute any code and return some data back - triggers, stored procedures and functions to be precise. Similar to old UDFs, but as a plugin. The FbNetExternalEngine uses this and allows you to have a logic written in any .NET language, like C#, and use it as a function for example. So you have all the power of .NET ecosystem inside Firebird.
What's new in .NET driver for Firebird

Over the last few years and months, the .NET driver for Firebird was making a progress for more complete ADO.NET provider, with fewer bugs and more performance. In this session, I'll look at all the improvements and all the drivers (and possibilities) available.
Using Firebird with .NET Core and Entity Framework Core

.NET Core run on Windows, Linux, and MacOS and so does Firebird. Why not take the advantage and create new applications on .NET Core, using Entity Framework Core, and as a storage use Firebird.
Comparing Firebird databases with FirebirdDbComparer

Managing changes in database structures are difficult. Especially if you have multiple versions up in the air. FirebirdDbComparer is a new library that allows you to do the compares, trying to create the script as a sane person would do. Either you can use it as a library and use it from within your application or as a standalone executable.

Alexey Kovyazin, IBSurgeon
Tuning Linux and Firebird for 660Gb database and 1500 connections

The session will be devoted to the practical steps which were taken to optimize several real-world high-load systems, with databases size up to 660Gb and 1500 users in peak, running on Linux.
We will also discuss the hardware choice and problems, related to Virtual Machines, popular mistakes in the setup of the high-performance system, reasons for various Firebird mistakes, and the logic behind the OS and firebird.conf settings.
As a final step, we will present the check-list for building the high-performance system with Linux and Firebird.
Recovery of Firebird Databases

Despite the fact that Firebird 3 is much more stable than previous versions, database corruptions still happen: mostly caused by hardware crashes and by ransomware. This session will be devoted to the experience of IBSurgeon in recoveries of very big databases, ransomware-encrypted database, recovery of the databases encrypted by the encryption plugin, broken nbackup delta files, and other interesting cases.
We will present the algorithm for the database recoveries with the standard tools (gfix, gbak) and with third-party recovery tools (IBSurgeon FirstAID).

Holger Klemt, IBExpert
Behind the scenes of a very big project 
  •  180 replicated database server nodes, 1.1 billion records, 2.5 million new daily records, 350GB database size
  •  Technologies we use: FB25, FB30, Windows, Linux, virtual machines
  •  Hybrid Cloud Architecture, best of both worlds ...
  •  Why not run everything in the cloud?
  •  Hardware and Software we like to use
  •  Synchronizing metadata and data for all these databases 
  •  How to process async multi-master replication requirements
  •  Basics for database design 


Holger Klemt, IBExpert

Christian Diercks, IBExpert
Advanced IBExpert 

See the possibilities in IBExpert for your daily administration work
  • IBExpert IDE features you might not know
  • Drag and drop 
  • Debugging and logging, monitoring and trace API
  • Customizing the IDE, on connect scripting
  • The user database and what you can do with it
  • Interactive metadata and data comparer
  • Database inside, repair corrupt databases when Gfix etc fails
  • Running scripts from IDE, command line or DLL
  • New product: IBExpert Watchdog

Holger Klemt, IBExpert

Fikret Hasovic, IBExpert
Advanced IBExpert Scripting

 How to automate your daily tasks with IBExpert tools and IBEblock scripting
  • Connect a script to ODBC and firebird, switching between connections
  • Advanced exception handling in IBEblock scripts
  • Convert your database from any Charset to UTF8 or other using IBEblock scripting
  • Load and save blobs and files 
  • Load data from internet urls and process 
  • Ibec_RecompileTrigger, ibec_RecompileProcedure, ibec_CompareMetadata, ibec_ExtractMetadata
  • Ibec_CompareTables
  • OEM and IBExpert Server Tools licensing

Roman Simakov, RedSoft
RedDatabase in the Enterprise: 3Tb database with 2000 connections with 99,9% availability

RedDatabase is an enterprise-ready database system. It is included in the list of software permitted to be used in Russian government systems and has a security certificate. There are a lot of installations in different types of information systems. This session will talk about several ones.
The flagship project of Red Soft which uses RedDatabase is the information system of the Federal Bailiff Service (FBS).
One of the important tasks for the FBS system is the exchange of documents with other services such as banks. Availability of the database must be at least 99.9%. In this talk, we will describe the design of the applications and databases.
You will see the solutions for real-world problems on real-world examples:
  • database size is 3 TB
  • the database has tables with 12 columns and contains up to 1.5 billion records.
  • every day about 3 million new records are inserted or updated
  • each table has a foreign key with BIGINT data type. A query with search by this key takes less than 100 ms.
  • about 2000 clients concurrently use the database.
We will also describe several other solutions as well.
Overview of RedDatabase 4.0

RedDatabase is based on Firebird and is actively developed by the team at Red Soft.
We try to keep versions in sync with Firebird by developing every branch in close collaboration with the Firebird Project team. A lot of RedDatabase features have already been ported into Firebird version 3.0 and 4.0. This session is devoted to the history of RedDatabase, and its development process. We will present new features that have been implemented in RedDatabase and are currently not available in Firebird. We will also present a draft of the RedDatabase 5.0 roadmap.

Dmitry Starodubov, RedSoft
RedExpert - free cross-platform development tool (master-class)

Red Expert is a cross-platform GUI tool for the administration and development of RedDatabase and Firebird databases. It’s distributed under a GPL 3.0 license and is free to use.
Key features that will be shown:
  • Support for all RedDatabase and Firebird versions out-of-the-box
  • Ability to use different types of authentication: password (Legacy, SRP), GSS-API/Kerberos v5, multifactor (including X.509 certificate)
  • Development and execution of SQL commands
  • Formatting and autocompletion of SQL queries
  • Visual database design with a reverse engineering capability
  • Creation and modification of the database structure using graphical tools
  • Trace manager with the ability to format trace output as a table
  • User and Grant management

Denis Zubov, Fast Report
Building E-commerce reporting application with Delphi+ FastReport VCL 6 + Firebird

We will learn how to create a simple application with FastReport VCL and learn how to use the report designer more efficiently.
We will highlight the real problems you can face when developing applications with lots of data using an E-Commerce
store as an example.

Alexander Syrykh, Fast Report
Reasons to use FastReport 6 VCL in your project or how to migrate from other reporting generators

What's the difference between FastReport and other Delphi reporting solutions?
How do you migrate from other reporting tools? We will answer all these questions in this session.

Wiesław Poszewiecki, CloudaIDE
Go to Web with CloudaIDE

Brief architecture and ideology reminder
    • three tier JEE application design tool
    • tasks of each tier, ways of accomplishment
    • easy to grasp for database specialists
New features since 2016:  Changed licensing to free for all supported databases, Javascript Gateway, Way of inclusion of external Javascript libraries, Multi-language applications support, bidirectional (rtl,ltr) applications support, designer designs ltr, and the execution engine selects the direction, based on the browser locale, add hoc sorting of query results, CSV and HTML query results download, Teradata support
Towards legacy applications migration
Today in most of the cases the demand is for migration or extension of legacy applications. The design of new applications is very seldom met.
    • Server side host command line execution (quasi CGI) allowing to integrate with any available programming language. This gives the possibility to save the development effort put into the design.
    • “Poor man’s” report server for almost any reporting tool. 
    • multi column primary keys
    • lessening of primary key columns requirements.
Towards SaaS model
The ways of moving Single Business entity applications to separate multiple Business entity web application with CloudaIDE, allowing to offer solutions in SaaS model. Here I will talk about a simple method of “multiplying” an application. This can be accomplished by simple changes in database tables and indices design and introduction of a single session state parameter concentrating on Firebird implementation.

Jason Wharton, IBObjects
An Introduction to IB Objects

Learn from the author of IBObjects how to use Firebird SQL using native Delphi/C++ Builder components to deliver highly functional applications.
A deep dive into IB Objects

Learn some of the more advanced capabilities of IBO in order to get the most out of it.  Subjects such as multi-threading, cached updates, transactions, buffer synchronization, etc.  There will also be time made available for asking questions for those who wish to have a deeper understanding of how IBO works inside.

Paul Reeves, IBPhoenix

FireSwarm is a multi-master replication system for clustering databases running under the Avalerion builds of Firebird 3 and higher on Windows. The cluster architecture is "share-nothing", an environment in which copies of a database are distributed across multiple Avalerion host machines, each using its own resources, to provide scalability and high availability.

Martin Koeditz, Firebird Project
PHP + Firebird

PHP is a popular language for web development, and in this session, we will discover how to configure Firebird driver for PHP, how to develop a basic PHP application, what frameworks are recommended and answer frequent questions about Firebird and PHP.