firebird today: goals and perspectives · 3 firebird international conference '2016 3 firebird...

27
Firebird today: Firebird today: Goals and Perspectives Goals and Perspectives Dmitry Yemanov [email protected] Firebird Project www.firebirdsql.org

Upload: phungcong

Post on 12-Aug-2019

244 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Firebird today: Goals and Perspectives · 3 FIREBIRD INTERNATIONAL CONFERENCE '2016 3 Firebird 3.0 development Technical advantages Revised architecture, plugin support Advanced configuration

Firebird today:Firebird today:Goals and PerspectivesGoals and Perspectives

Dmitry [email protected]

Firebird Projectwww.firebirdsql.org

Page 2: Firebird today: Goals and Perspectives · 3 FIREBIRD INTERNATIONAL CONFERENCE '2016 3 Firebird 3.0 development Technical advantages Revised architecture, plugin support Advanced configuration

2

2FIREBIRD INTERNATIONAL CONFERENCE '2016

Firebird 3.0 development

Technical advantages Revised architecture, plugin support Advanced configuration More powerful security and so on

Page 3: Firebird today: Goals and Perspectives · 3 FIREBIRD INTERNATIONAL CONFERENCE '2016 3 Firebird 3.0 development Technical advantages Revised architecture, plugin support Advanced configuration

3

3FIREBIRD INTERNATIONAL CONFERENCE '2016

Firebird 3.0 development

Technical advantages Revised architecture, plugin support Advanced configuration More powerful security and so on

Timing disaster Five years of development Snowball effect Constantly shifting schedule

Page 4: Firebird today: Goals and Perspectives · 3 FIREBIRD INTERNATIONAL CONFERENCE '2016 3 Firebird 3.0 development Technical advantages Revised architecture, plugin support Advanced configuration

4

4FIREBIRD INTERNATIONAL CONFERENCE '2016

Years 2010-2016

Competitors PostgreSQL 9.1 - … - 9.5 MySQL 5.5 - 5.6 - 5.7 MariaDB 5.3 - 5.5 - 10.0 - 10.1 SQLite 3.8 - … - 3.14

Recognition 5th position at db-engines.com among open-source RDBMS

Page 5: Firebird today: Goals and Perspectives · 3 FIREBIRD INTERNATIONAL CONFERENCE '2016 3 Firebird 3.0 development Technical advantages Revised architecture, plugin support Advanced configuration

5

5FIREBIRD INTERNATIONAL CONFERENCE '2016

Getting back to the game

Release schedule Time-based, shorter-than-before (targeting at 18 months) Clear planning rules Mandatory (primary) features Optional (secondary) features Planning board available

Page 6: Firebird today: Goals and Perspectives · 3 FIREBIRD INTERNATIONAL CONFERENCE '2016 3 Firebird 3.0 development Technical advantages Revised architecture, plugin support Advanced configuration

6

6FIREBIRD INTERNATIONAL CONFERENCE '2016

Getting back to the game

Maintenance Only v3.0 and v2.5 series are supported Top priority: v3.0 bugfixes and performance fixes Two point releases per year Automated QA, Continuous Integration

Page 7: Firebird today: Goals and Perspectives · 3 FIREBIRD INTERNATIONAL CONFERENCE '2016 3 Firebird 3.0 development Technical advantages Revised architecture, plugin support Advanced configuration

7

7FIREBIRD INTERNATIONAL CONFERENCE '2016

Maintenance: Firebird 3.0.1

What is new Implicit conversion between boolean and string Enforce IPv4 or IPv6 in URL-like connection strings Nested keys in plugin configuration Other misc improvements Performance improved (oltp-emul score: 4500 → 5200) 58 bugs fixed

Page 8: Firebird today: Goals and Perspectives · 3 FIREBIRD INTERNATIONAL CONFERENCE '2016 3 Firebird 3.0 development Technical advantages Revised architecture, plugin support Advanced configuration

8

8FIREBIRD INTERNATIONAL CONFERENCE '2016

Next release: Firebird 4.0

Timeframes Initially available: Q1-2016 Alpha expected: Q4-2016 Beta expected: Q2-2017 Release expected: Q3/Q4-2017

Page 9: Firebird today: Goals and Perspectives · 3 FIREBIRD INTERNATIONAL CONFERENCE '2016 3 Firebird 3.0 development Technical advantages Revised architecture, plugin support Advanced configuration

9

9FIREBIRD INTERNATIONAL CONFERENCE '2016

Firebird 4.0: mandatory features

Mostly implemented Metadata names longer than 31 characters (completed) Incremental restore via nbackup Predefined system roles, sysop permissions Timeout for statements and connections Built-in logical (row level) replication

Page 10: Firebird today: Goals and Perspectives · 3 FIREBIRD INTERNATIONAL CONFERENCE '2016 3 Firebird 3.0 development Technical advantages Revised architecture, plugin support Advanced configuration

10

10FIREBIRD INTERNATIONAL CONFERENCE '2016

Firebird 4.0: mandatory features

Still in progress Batch API operations Numerics with precision longer than 18 digits More optimizer statistics, auto-update

Page 11: Firebird today: Goals and Perspectives · 3 FIREBIRD INTERNATIONAL CONFERENCE '2016 3 Firebird 3.0 development Technical advantages Revised architecture, plugin support Advanced configuration

11

11FIREBIRD INTERNATIONAL CONFERENCE '2016

Firebird 4.0: optional features

Mostly implemented Granting roles to other roles (completed) User groups / accumulative permissions (completed) Support for page size 32KB (completed) PSQL execution security context (completed) Extended window functions TRUNCATE TABLE command

Page 12: Firebird today: Goals and Perspectives · 3 FIREBIRD INTERNATIONAL CONFERENCE '2016 3 Firebird 3.0 development Technical advantages Revised architecture, plugin support Advanced configuration

12

12FIREBIRD INTERNATIONAL CONFERENCE '2016

Firebird 4.0: optional features

Pending in the queue GBAK's multi-threaded restore Support for time zones New data access algorithms Timing statistics Monitoring toolset hooks MVCC improvements

Page 13: Firebird today: Goals and Perspectives · 3 FIREBIRD INTERNATIONAL CONFERENCE '2016 3 Firebird 3.0 development Technical advantages Revised architecture, plugin support Advanced configuration

13

13FIREBIRD INTERNATIONAL CONFERENCE '2016

Firebird at GitHub

Statistics 27 forks 4 new contributors (via pull requests) 45 pull requests processed, 3 pending

Page 14: Firebird today: Goals and Perspectives · 3 FIREBIRD INTERNATIONAL CONFERENCE '2016 3 Firebird 3.0 development Technical advantages Revised architecture, plugin support Advanced configuration

14

14FIREBIRD INTERNATIONAL CONFERENCE '2016

RedSoft contributions

Via GitHub 4 contributors 10 pull requests merged

Page 15: Firebird today: Goals and Perspectives · 3 FIREBIRD INTERNATIONAL CONFERENCE '2016 3 Firebird 3.0 development Technical advantages Revised architecture, plugin support Advanced configuration

15

15FIREBIRD INTERNATIONAL CONFERENCE '2016

RedSoft contributions

Built-in logical replication Cooperated development Open-source under IDPL Almost two years of testing and bugfixing Running in production In the way into Firebird codebase

Page 16: Firebird today: Goals and Perspectives · 3 FIREBIRD INTERNATIONAL CONFERENCE '2016 3 Firebird 3.0 development Technical advantages Revised architecture, plugin support Advanced configuration

16

16FIREBIRD INTERNATIONAL CONFERENCE '2016

Future development

User expectations Reliability Keep it simple to use Administration / monitoring features SQL features Performance / scalability

Page 17: Firebird today: Goals and Perspectives · 3 FIREBIRD INTERNATIONAL CONFERENCE '2016 3 Firebird 3.0 development Technical advantages Revised architecture, plugin support Advanced configuration

17

17FIREBIRD INTERNATIONAL CONFERENCE '2016

Future development

Top-voted features in the tracker Built-in task scheduler Local temporary tables Database links and cross-database queries Spatial data (GIS) support SQL schemas Full-text search / indexing

Page 18: Firebird today: Goals and Perspectives · 3 FIREBIRD INTERNATIONAL CONFERENCE '2016 3 Firebird 3.0 development Technical advantages Revised architecture, plugin support Advanced configuration

18

18FIREBIRD INTERNATIONAL CONFERENCE '2016

Future development

Other considerations Tablespaces Partitioning Multi-master replication Index-only scans Bi-directional index navigation

Page 19: Firebird today: Goals and Perspectives · 3 FIREBIRD INTERNATIONAL CONFERENCE '2016 3 Firebird 3.0 development Technical advantages Revised architecture, plugin support Advanced configuration

19

19FIREBIRD INTERNATIONAL CONFERENCE '2016

Firebird usage cases

SMB Typical customer Nice fit: simple, feature complete Proved by time

Page 20: Firebird today: Goals and Perspectives · 3 FIREBIRD INTERNATIONAL CONFERENCE '2016 3 Firebird 3.0 development Technical advantages Revised architecture, plugin support Advanced configuration

20

20FIREBIRD INTERNATIONAL CONFERENCE '2016

Firebird usage cases

SMB Typical customer Nice fit: simple, feature complete Proved by time

Enterprise Can perform well Some features are missing

Page 21: Firebird today: Goals and Perspectives · 3 FIREBIRD INTERNATIONAL CONFERENCE '2016 3 Firebird 3.0 development Technical advantages Revised architecture, plugin support Advanced configuration

21

21FIREBIRD INTERNATIONAL CONFERENCE '2016

Firebird storage limits

Database size

4KB 8TB 8TB 16TB

8KB 16TB 16TB 32TB

16KB 32TB 32TB 64TB

Table size

4KB 256GB 256GB - 18TB 18TB

8KB 1TB 1TB - 18TB 18TB

16KB 4TB 4TB - 18TB 18TB

Index key size

4KB 1KB 1KB 1KB

8KB 2KB 2KB 2KB

16KB 4KB 4KB 4KB

Blob size

4KB 4GB 4GB 4GB

8KB 32GB 32GB 32GB

16KB 256GB 256GB 256GB

Firebird 2.5 Firebird 3.0Firebird 2.1

Page 22: Firebird today: Goals and Perspectives · 3 FIREBIRD INTERNATIONAL CONFERENCE '2016 3 Firebird 3.0 development Technical advantages Revised architecture, plugin support Advanced configuration

22

22FIREBIRD INTERNATIONAL CONFERENCE '2016

Firebird usage cases

Web in the past Mostly about hosting MySQL is an absolute winner PostgreSQL lags far behind Firebird: scalability and security limitations

Page 23: Firebird today: Goals and Perspectives · 3 FIREBIRD INTERNATIONAL CONFERENCE '2016 3 Firebird 3.0 development Technical advantages Revised architecture, plugin support Advanced configuration

23

23FIREBIRD INTERNATIONAL CONFERENCE '2016

Firebird usage cases

Web now High loads, complex stacks PostgreSQL takes an advantage MySQL eats dust… but strikes back with v5.7 Lots of geographics information NoSQL buzz, key/value, JSON

Page 24: Firebird today: Goals and Perspectives · 3 FIREBIRD INTERNATIONAL CONFERENCE '2016 3 Firebird 3.0 development Technical advantages Revised architecture, plugin support Advanced configuration

24

24FIREBIRD INTERNATIONAL CONFERENCE '2016

Firebird usage cases

Embedded applications Mobile market is 99% occupied by SQLite Standalone version of client-server solutions LibreOffice case Mobile local server and offline replication Embedded into enterprise stack (SAS for example)

Page 25: Firebird today: Goals and Perspectives · 3 FIREBIRD INTERNATIONAL CONFERENCE '2016 3 Firebird 3.0 development Technical advantages Revised architecture, plugin support Advanced configuration

25

25FIREBIRD INTERNATIONAL CONFERENCE '2016

Firebird usage cases

Uber case https://eng.uber.com/mysql-migration/ MySQL → PostgreSQL → MySQL Write amplification Hot standby issues Maybe bad engineering, corner usage cases, but…

Page 26: Firebird today: Goals and Perspectives · 3 FIREBIRD INTERNATIONAL CONFERENCE '2016 3 Firebird 3.0 development Technical advantages Revised architecture, plugin support Advanced configuration

26

26FIREBIRD INTERNATIONAL CONFERENCE '2016

Firebird usage cases

Uber case https://eng.uber.com/mysql-migration/ MySQL → PostgreSQL → MySQL Write amplification Hot standby issues Maybe bad engineering, corner usage cases, but… Firebird is not affected by these issues!

Page 27: Firebird today: Goals and Perspectives · 3 FIREBIRD INTERNATIONAL CONFERENCE '2016 3 Firebird 3.0 development Technical advantages Revised architecture, plugin support Advanced configuration

27

27FIREBIRD INTERNATIONAL CONFERENCE '2016

Questions?Questions?