SlideShare ist ein Scribd-Unternehmen logo
1 von 16
Downloaden Sie, um offline zu lesen
Firebird 3.0
Initial Review
Development priorities
●   Primary goals
       SMP and multi-core friendly multi-threaded engine
        with the shared cache
       Renewed architecture for the next versions

●   Secondary goals
       Improved performance and scalability
       More security options
       Better query optimization
       Extended monitoring abilities
       SQL language enhancements
Shared cache
●   Must have
       Shared page cache with scalable synchronization
       Support for both internal (cross-thread) and external
        (cross-process) locking

●   Nice to have
       Plan A: shared metadata cache,
        shared compiled requests cache
       Plan B: no shared metadata,
        but reduced memory usage
        (release cached requests as soon as desirable)
Cache Architecture

    Process 1                Process 2                Process N

    Thread 1                 Thread 1                 Thread 1
                 Locking                  Locking
    Thread 2                 Thread 2                 Thread 2

    Thread N                 Thread N                 Thread N


  Shared Cache             Shared Cache             Shared Cache




                             Database
Server Architecture
●   Unified but flexible
       Engine library supporting single major ODS plus
        server (aka network listener) executable
        loading the engine library
       Shared vs exclusive database access:
        configurable (per database) via firebird.conf
       Execution models available for the shared access
        and configurable at the server level (using a
        command-line switch):
        –   process based (former Classic)
        –   thread based (former SuperClassic)
       Embedded access may also be shared or exclusive
Server Architecture
       Network
                       Server
                  (network listener)




                     Dispatcher
                      (Y-valve)



  Legacy engine     V3.0 engine        Remote redirector
     provider        provider             provider




                                                    Network
     ODS11             ODS12
    database          database
Architecture in Older Terms
●   SuperServer
       Exclusive database access, multi-threaded mode
       Maximum performance

●   SuperClassic
       Shared database access, multi-threaded mode
       Allow other applications to access the database

●   Classic
       Shared database access, multi-process mode
       Maximum reliability (crash tolerance)
ODS 12
●   Physical structure
       Flag to mark data pages as not having any garbage
        (improves sweep performance)
       Inventory of the page ↔ SCN relationships
        (improves physical backup performance)
       RLE compression runs are extended from 128
        bytes to 32K (less storage for declared long but de-
        facto short or empty strings)

●   Logical structure
       New system and monitoring tables
Optimization
●   Algorithms
       Cost based approach wherever possible
       Efficient joining for streams containing aggregates,
        unions and procedures
       INNER JOIN for dependent (via input parameters)
        procedures now works properly
       Hash joins, outer merge joins, indexed full outer
        joins
    ●   Cached invariant subqueries
       Advanced (much more detailed) plan output
Advanced plan output

SELECT statement
   -> First [10]
     -> Sort [SUM, O_ORDERDATE]
       -> Aggregate
         -> Sort [L_ORDERKEY, O_ORDERDATE, O_SHIPPRIORITY]
           -> Inner Loop Join
             -> Filter
               -> Table «ORDERS» Access By ID
                 -> Bitmap
                    -> Index «ORDERS_ORDERDATE» Range Scan
             -> Filter
               -> Table «CUSTOMER» Access By ID
                 -> Bitmap
                    -> Index «CUSTOMER_PK» Unique Scan
             -> Filter
               -> Table «LINEITEM» Access By ID
                 -> Bitmap
                    -> Index «LINEITEM_PK» Unique Scan
Optimization
●   Statistics
       Table level data: page count, row count, average
        compression ratio, etc
       Index level data: tree depth, page count, average
        compression ratio, clustering factor, etc
       Value distribution histograms
       Refresh detalization: complete (column level) or
        partial (table level)
       Manual or automatic (background) refreshing
SQL features
●   Already implemented
       External procedures, functions and triggers
       PSQL scalar functions
       PSQL packages (similar to Oracle)
       DDL triggers
       Identity columns
       Window functions
       Scrollable (bi-directional) cursors in PSQL
       Parameterized user-defined exceptions
SQL features
●   Planned
       Bi-directional cursors in API
       Enhanced (fixed) long numeric arithmetics
        in Dialect 3
       Basic optimizer hints
       The «unstable cursor» issue to be fixed
       Timeouts for queries, transactions, connections
       Extended length limit for SQL queries, plans and
        result sets
Security
●   Network level
       Pluggable authentication
       Over-the-wire encryption

●   Database level
       Optional per database authentication
        (users stored inside the database)
       Page level encryption
       GRANT ROLE TO ROLE
       Implicit roles (aka user groups)
       Permissions for DDL operations
Release Schedule
●   Maintenance
       2.0.7 — Q2-Q3 2011,
        likely to be the last one in the v2.0.x series
       2.1.4 — Q1 2011,
        2.1.5 to appear the next year

●   New versions
       2.5.0 has been released,
        2.5.1 to follow Q2 2011
       3.0 Alpha 1 — Q3 2011
Questions?

Weitere ähnliche Inhalte

Was ist angesagt?

Migration from Firebird 1.5 to Firebird 2.5
Migration from Firebird 1.5 to Firebird 2.5Migration from Firebird 1.5 to Firebird 2.5
Migration from Firebird 1.5 to Firebird 2.5
Mind The Firebird
 
InnoDB Architecture and Performance Optimization, Peter Zaitsev
InnoDB Architecture and Performance Optimization, Peter ZaitsevInnoDB Architecture and Performance Optimization, Peter Zaitsev
InnoDB Architecture and Performance Optimization, Peter Zaitsev
Fuenteovejuna
 
PostgreSQL Write-Ahead Log (Heikki Linnakangas)
PostgreSQL Write-Ahead Log (Heikki Linnakangas) PostgreSQL Write-Ahead Log (Heikki Linnakangas)
PostgreSQL Write-Ahead Log (Heikki Linnakangas)
Ontico
 
Performance Tuning Best Practices
Performance Tuning Best PracticesPerformance Tuning Best Practices
Performance Tuning Best Practices
webhostingguy
 

Was ist angesagt? (20)

Migration from Firebird 1.5 to Firebird 2.5
Migration from Firebird 1.5 to Firebird 2.5Migration from Firebird 1.5 to Firebird 2.5
Migration from Firebird 1.5 to Firebird 2.5
 
Life with big Firebird databases
Life with big Firebird databasesLife with big Firebird databases
Life with big Firebird databases
 
Firebird 3.x guida alla migrazione
Firebird 3.x guida alla migrazioneFirebird 3.x guida alla migrazione
Firebird 3.x guida alla migrazione
 
Introduction to firebidSQL 3.x
Introduction to firebidSQL 3.xIntroduction to firebidSQL 3.x
Introduction to firebidSQL 3.x
 
Understanding and controlling transaction logs
Understanding and controlling transaction logsUnderstanding and controlling transaction logs
Understanding and controlling transaction logs
 
M|18 Analyzing Data with the MariaDB AX Platform
M|18 Analyzing Data with the MariaDB AX PlatformM|18 Analyzing Data with the MariaDB AX Platform
M|18 Analyzing Data with the MariaDB AX Platform
 
M|18 How to use MyRocks with MariaDB Server
M|18 How to use MyRocks with MariaDB ServerM|18 How to use MyRocks with MariaDB Server
M|18 How to use MyRocks with MariaDB Server
 
Get More Out of MongoDB with TokuMX
Get More Out of MongoDB with TokuMXGet More Out of MongoDB with TokuMX
Get More Out of MongoDB with TokuMX
 
PGConf.ASIA 2019 Bali - Upcoming Features in PostgreSQL 12 - John Naylor
PGConf.ASIA 2019 Bali - Upcoming Features in PostgreSQL 12 - John NaylorPGConf.ASIA 2019 Bali - Upcoming Features in PostgreSQL 12 - John Naylor
PGConf.ASIA 2019 Bali - Upcoming Features in PostgreSQL 12 - John Naylor
 
M|18 Creating a Reference Architecture for High Availability at Nokia
M|18 Creating a Reference Architecture for High Availability at NokiaM|18 Creating a Reference Architecture for High Availability at Nokia
M|18 Creating a Reference Architecture for High Availability at Nokia
 
InnoDB Architecture and Performance Optimization, Peter Zaitsev
InnoDB Architecture and Performance Optimization, Peter ZaitsevInnoDB Architecture and Performance Optimization, Peter Zaitsev
InnoDB Architecture and Performance Optimization, Peter Zaitsev
 
Get More Out of MySQL with TokuDB
Get More Out of MySQL with TokuDBGet More Out of MySQL with TokuDB
Get More Out of MySQL with TokuDB
 
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
MySQL Performance Tuning. Part 1: MySQL Configuration (includes MySQL 5.7)
 
MariaDB Server Performance Tuning & Optimization
MariaDB Server Performance Tuning & OptimizationMariaDB Server Performance Tuning & Optimization
MariaDB Server Performance Tuning & Optimization
 
Faster, better, stronger: The new InnoDB
Faster, better, stronger: The new InnoDBFaster, better, stronger: The new InnoDB
Faster, better, stronger: The new InnoDB
 
Percona FT / TokuDB
Percona FT / TokuDBPercona FT / TokuDB
Percona FT / TokuDB
 
PostgreSQL Write-Ahead Log (Heikki Linnakangas)
PostgreSQL Write-Ahead Log (Heikki Linnakangas) PostgreSQL Write-Ahead Log (Heikki Linnakangas)
PostgreSQL Write-Ahead Log (Heikki Linnakangas)
 
Fractal Tree Indexes : From Theory to Practice
Fractal Tree Indexes : From Theory to PracticeFractal Tree Indexes : From Theory to Practice
Fractal Tree Indexes : From Theory to Practice
 
MySQL Server Backup, Restoration, and Disaster Recovery Planning
MySQL Server Backup, Restoration, and Disaster Recovery PlanningMySQL Server Backup, Restoration, and Disaster Recovery Planning
MySQL Server Backup, Restoration, and Disaster Recovery Planning
 
Performance Tuning Best Practices
Performance Tuning Best PracticesPerformance Tuning Best Practices
Performance Tuning Best Practices
 

Andere mochten auch

Firebird 3 Windows Functions
Firebird 3 Windows  FunctionsFirebird 3 Windows  Functions
Firebird 3 Windows Functions
Mind The Firebird
 
How Firebird transactions work
How Firebird transactions workHow Firebird transactions work
How Firebird transactions work
Mind The Firebird
 
Mark logic Corporate Overview
Mark logic Corporate OverviewMark logic Corporate Overview
Mark logic Corporate Overview
Tony Agresta
 
Tips for using Firebird system tables
Tips for using Firebird system tablesTips for using Firebird system tables
Tips for using Firebird system tables
Mind The Firebird
 

Andere mochten auch (10)

Firebird 3 Windows Functions
Firebird 3 Windows  FunctionsFirebird 3 Windows  Functions
Firebird 3 Windows Functions
 
How Firebird transactions work
How Firebird transactions workHow Firebird transactions work
How Firebird transactions work
 
Firebird 3: provider-based architecture, plugins and OO approach to API
Firebird 3: provider-based architecture, plugins and OO approach to API Firebird 3: provider-based architecture, plugins and OO approach to API
Firebird 3: provider-based architecture, plugins and OO approach to API
 
Creating logs for data auditing in FirebirdSQL
Creating logs for data auditing in FirebirdSQLCreating logs for data auditing in FirebirdSQL
Creating logs for data auditing in FirebirdSQL
 
Mark logic Corporate Overview
Mark logic Corporate OverviewMark logic Corporate Overview
Mark logic Corporate Overview
 
Firebird
FirebirdFirebird
Firebird
 
New SQL Features in Firebird 3, by Vlad Khorsun
New SQL Features in Firebird 3, by Vlad KhorsunNew SQL Features in Firebird 3, by Vlad Khorsun
New SQL Features in Firebird 3, by Vlad Khorsun
 
Tips for using Firebird system tables
Tips for using Firebird system tablesTips for using Firebird system tables
Tips for using Firebird system tables
 
SuperServer in Firebird 3
SuperServer in Firebird 3SuperServer in Firebird 3
SuperServer in Firebird 3
 
High-load performance testing: Firebird 2.5, 3.0, 4.0
High-load performance testing:  Firebird 2.5, 3.0, 4.0High-load performance testing:  Firebird 2.5, 3.0, 4.0
High-load performance testing: Firebird 2.5, 3.0, 4.0
 

Ähnlich wie Initial review of Firebird 3

NewSQL Database Overview
NewSQL Database OverviewNewSQL Database Overview
NewSQL Database Overview
Steve Min
 
Key-value databases in practice Redis @ DotNetToscana
Key-value databases in practice Redis @ DotNetToscanaKey-value databases in practice Redis @ DotNetToscana
Key-value databases in practice Redis @ DotNetToscana
Matteo Baglini
 
Oracle rac 10g best practices
Oracle rac 10g best practicesOracle rac 10g best practices
Oracle rac 10g best practices
Haseeb Alam
 
Oracle db architecture
Oracle db architectureOracle db architecture
Oracle db architecture
Simon Huang
 

Ähnlich wie Initial review of Firebird 3 (20)

Experience sql server on l inux and docker
Experience sql server on l inux and dockerExperience sql server on l inux and docker
Experience sql server on l inux and docker
 
MYSQL
MYSQLMYSQL
MYSQL
 
NewSQL Database Overview
NewSQL Database OverviewNewSQL Database Overview
NewSQL Database Overview
 
PostgreSQL as an Alternative to MSSQL
PostgreSQL as an Alternative to MSSQLPostgreSQL as an Alternative to MSSQL
PostgreSQL as an Alternative to MSSQL
 
Brk2051 sql server on linux and docker
Brk2051 sql server on linux and dockerBrk2051 sql server on linux and docker
Brk2051 sql server on linux and docker
 
Introduction of MariaDB AX / TX
Introduction of MariaDB AX / TXIntroduction of MariaDB AX / TX
Introduction of MariaDB AX / TX
 
SQL Server vNext on Linux
SQL Server vNext on LinuxSQL Server vNext on Linux
SQL Server vNext on Linux
 
SQL Server 2017 on Linux Introduction
SQL Server 2017 on Linux IntroductionSQL Server 2017 on Linux Introduction
SQL Server 2017 on Linux Introduction
 
Nosql databases
Nosql databasesNosql databases
Nosql databases
 
Key-value databases in practice Redis @ DotNetToscana
Key-value databases in practice Redis @ DotNetToscanaKey-value databases in practice Redis @ DotNetToscana
Key-value databases in practice Redis @ DotNetToscana
 
Oracle rac 10g best practices
Oracle rac 10g best practicesOracle rac 10g best practices
Oracle rac 10g best practices
 
PostgreSQL - Object Relational Database
PostgreSQL - Object Relational DatabasePostgreSQL - Object Relational Database
PostgreSQL - Object Relational Database
 
SQL on linux
SQL on linuxSQL on linux
SQL on linux
 
Oracle db architecture
Oracle db architectureOracle db architecture
Oracle db architecture
 
Bquery Reporting & Analytics Architecture
Bquery Reporting & Analytics ArchitectureBquery Reporting & Analytics Architecture
Bquery Reporting & Analytics Architecture
 
Nordic infrastructure Conference 2017 - SQL Server on Linux Overview
Nordic infrastructure Conference 2017 - SQL Server on Linux OverviewNordic infrastructure Conference 2017 - SQL Server on Linux Overview
Nordic infrastructure Conference 2017 - SQL Server on Linux Overview
 
Introduction to Postrges-XC
Introduction to Postrges-XCIntroduction to Postrges-XC
Introduction to Postrges-XC
 
Getting started with postgresql
Getting started with postgresqlGetting started with postgresql
Getting started with postgresql
 
What's new in hadoop 3.0
What's new in hadoop 3.0What's new in hadoop 3.0
What's new in hadoop 3.0
 
Azure - Data Platform
Azure - Data PlatformAzure - Data Platform
Azure - Data Platform
 

Mehr von Mind The Firebird

A year in the life of Firebird .Net provider
A year in the life of Firebird .Net providerA year in the life of Firebird .Net provider
A year in the life of Firebird .Net provider
Mind The Firebird
 
Orphans, Corruption, Careful Write, and Logging
Orphans, Corruption, Careful Write, and LoggingOrphans, Corruption, Careful Write, and Logging
Orphans, Corruption, Careful Write, and Logging
Mind The Firebird
 
Firebird Conference 2011 - Introduction
Firebird Conference 2011 - IntroductionFirebird Conference 2011 - Introduction
Firebird Conference 2011 - Introduction
Mind The Firebird
 

Mehr von Mind The Firebird (20)

Using Azure cloud and Firebird to develop applications easily
Using Azure cloud and Firebird to develop applications easilyUsing Azure cloud and Firebird to develop applications easily
Using Azure cloud and Firebird to develop applications easily
 
A year in the life of Firebird .Net provider
A year in the life of Firebird .Net providerA year in the life of Firebird .Net provider
A year in the life of Firebird .Net provider
 
Copycat presentation
Copycat presentationCopycat presentation
Copycat presentation
 
Using ТРСС to study Firebird performance
Using ТРСС to study Firebird performanceUsing ТРСС to study Firebird performance
Using ТРСС to study Firebird performance
 
Overview of RedDatabase 2.5
Overview of RedDatabase 2.5Overview of RedDatabase 2.5
Overview of RedDatabase 2.5
 
Firebird Performance counters in details
Firebird Performance counters in detailsFirebird Performance counters in details
Firebird Performance counters in details
 
Understanding Numbers in Firebird SQL
Understanding Numbers in Firebird SQLUnderstanding Numbers in Firebird SQL
Understanding Numbers in Firebird SQL
 
Threading through InterBase, Firebird, and beyond
Threading through InterBase, Firebird, and beyondThreading through InterBase, Firebird, and beyond
Threading through InterBase, Firebird, and beyond
 
Orphans, Corruption, Careful Write, and Logging
Orphans, Corruption, Careful Write, and LoggingOrphans, Corruption, Careful Write, and Logging
Orphans, Corruption, Careful Write, and Logging
 
Firebird release strategy and roadmap for 2015/2016
Firebird release strategy and roadmap for 2015/2016Firebird release strategy and roadmap for 2015/2016
Firebird release strategy and roadmap for 2015/2016
 
Nbackup and Backup: Internals, Usage strategy and Pitfalls, by Dmitry Kuzmenk...
Nbackup and Backup: Internals, Usage strategy and Pitfalls, by Dmitry Kuzmenk...Nbackup and Backup: Internals, Usage strategy and Pitfalls, by Dmitry Kuzmenk...
Nbackup and Backup: Internals, Usage strategy and Pitfalls, by Dmitry Kuzmenk...
 
Working with Large Firebird databases
Working with Large Firebird databasesWorking with Large Firebird databases
Working with Large Firebird databases
 
Stored procedures in Firebird
Stored procedures in FirebirdStored procedures in Firebird
Stored procedures in Firebird
 
Firebird on Linux
Firebird on LinuxFirebird on Linux
Firebird on Linux
 
Superchaging big production systems on Firebird: transactions, garbage, maint...
Superchaging big production systems on Firebird: transactions, garbage, maint...Superchaging big production systems on Firebird: transactions, garbage, maint...
Superchaging big production systems on Firebird: transactions, garbage, maint...
 
Firebird meets NoSQL
Firebird meets NoSQLFirebird meets NoSQL
Firebird meets NoSQL
 
Continuous Database Monitoring with the Trace API
Continuous Database Monitoring with the Trace APIContinuous Database Monitoring with the Trace API
Continuous Database Monitoring with the Trace API
 
Firebird Conference 2011 - Introduction
Firebird Conference 2011 - IntroductionFirebird Conference 2011 - Introduction
Firebird Conference 2011 - Introduction
 
Firebird database recovery and protection for enterprises and ISV
Firebird database recovery and protection for enterprises and ISVFirebird database recovery and protection for enterprises and ISV
Firebird database recovery and protection for enterprises and ISV
 
A Bird and the Web
A Bird and the WebA Bird and the Web
A Bird and the Web
 

Kürzlich hochgeladen

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
Earley Information Science
 

Kürzlich hochgeladen (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 

Initial review of Firebird 3

  • 2. Development priorities ● Primary goals  SMP and multi-core friendly multi-threaded engine with the shared cache  Renewed architecture for the next versions ● Secondary goals  Improved performance and scalability  More security options  Better query optimization  Extended monitoring abilities  SQL language enhancements
  • 3. Shared cache ● Must have  Shared page cache with scalable synchronization  Support for both internal (cross-thread) and external (cross-process) locking ● Nice to have  Plan A: shared metadata cache, shared compiled requests cache  Plan B: no shared metadata, but reduced memory usage (release cached requests as soon as desirable)
  • 4. Cache Architecture Process 1 Process 2 Process N Thread 1 Thread 1 Thread 1 Locking Locking Thread 2 Thread 2 Thread 2 Thread N Thread N Thread N Shared Cache Shared Cache Shared Cache Database
  • 5. Server Architecture ● Unified but flexible  Engine library supporting single major ODS plus server (aka network listener) executable loading the engine library  Shared vs exclusive database access: configurable (per database) via firebird.conf  Execution models available for the shared access and configurable at the server level (using a command-line switch): – process based (former Classic) – thread based (former SuperClassic)  Embedded access may also be shared or exclusive
  • 6. Server Architecture Network Server (network listener) Dispatcher (Y-valve) Legacy engine V3.0 engine Remote redirector provider provider provider Network ODS11 ODS12 database database
  • 7. Architecture in Older Terms ● SuperServer  Exclusive database access, multi-threaded mode  Maximum performance ● SuperClassic  Shared database access, multi-threaded mode  Allow other applications to access the database ● Classic  Shared database access, multi-process mode  Maximum reliability (crash tolerance)
  • 8. ODS 12 ● Physical structure  Flag to mark data pages as not having any garbage (improves sweep performance)  Inventory of the page ↔ SCN relationships (improves physical backup performance)  RLE compression runs are extended from 128 bytes to 32K (less storage for declared long but de- facto short or empty strings) ● Logical structure  New system and monitoring tables
  • 9. Optimization ● Algorithms  Cost based approach wherever possible  Efficient joining for streams containing aggregates, unions and procedures  INNER JOIN for dependent (via input parameters) procedures now works properly  Hash joins, outer merge joins, indexed full outer joins ● Cached invariant subqueries  Advanced (much more detailed) plan output
  • 10. Advanced plan output SELECT statement -> First [10] -> Sort [SUM, O_ORDERDATE] -> Aggregate -> Sort [L_ORDERKEY, O_ORDERDATE, O_SHIPPRIORITY] -> Inner Loop Join -> Filter -> Table «ORDERS» Access By ID -> Bitmap -> Index «ORDERS_ORDERDATE» Range Scan -> Filter -> Table «CUSTOMER» Access By ID -> Bitmap -> Index «CUSTOMER_PK» Unique Scan -> Filter -> Table «LINEITEM» Access By ID -> Bitmap -> Index «LINEITEM_PK» Unique Scan
  • 11. Optimization ● Statistics  Table level data: page count, row count, average compression ratio, etc  Index level data: tree depth, page count, average compression ratio, clustering factor, etc  Value distribution histograms  Refresh detalization: complete (column level) or partial (table level)  Manual or automatic (background) refreshing
  • 12. SQL features ● Already implemented  External procedures, functions and triggers  PSQL scalar functions  PSQL packages (similar to Oracle)  DDL triggers  Identity columns  Window functions  Scrollable (bi-directional) cursors in PSQL  Parameterized user-defined exceptions
  • 13. SQL features ● Planned  Bi-directional cursors in API  Enhanced (fixed) long numeric arithmetics in Dialect 3  Basic optimizer hints  The «unstable cursor» issue to be fixed  Timeouts for queries, transactions, connections  Extended length limit for SQL queries, plans and result sets
  • 14. Security ● Network level  Pluggable authentication  Over-the-wire encryption ● Database level  Optional per database authentication (users stored inside the database)  Page level encryption  GRANT ROLE TO ROLE  Implicit roles (aka user groups)  Permissions for DDL operations
  • 15. Release Schedule ● Maintenance  2.0.7 — Q2-Q3 2011, likely to be the last one in the v2.0.x series  2.1.4 — Q1 2011, 2.1.5 to appear the next year ● New versions  2.5.0 has been released, 2.5.1 to follow Q2 2011  3.0 Alpha 1 — Q3 2011