45
© 2018 Percona. 1 Peter Zaitsev, CEO Choosing Right Open Source Database September 5 th , 2018 Percona Technical Webinars

ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 1

Peter Zaitsev, CEO

Choosing Right Open SourceDatabase

September 5th, 2018

Percona Technical Webinars

Page 2: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 2

Open Source Databases

You do not need convincing to chose Open

Source Database ?

Page 3: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 3

DB-Engines Ranking

Page 4: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 4

Open Source vs Commercial

Page 5: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 5

Stack Overflow Developers Survey

Source: https://insights.stackoverflow.com/survey/2018/

Page 6: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 6

Choose Database or Databases ?

There is no perfect database for every use case

Engineering Tradeoffs Ensure It

Large Applications often built using Multiple Databases

“Polyglot Persistence”

Page 7: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 7

Things to Consider

Majority of applications are not Google or Facebook

Majority of companies does not have their Team and Resources

Their approaches might not be Fit for You

Page 8: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 8

Limit yourself

Start with one Database Technology

Add more technologies when Absolutely Essential

Page 9: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 9

There is

Page 10: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 10

Boring is Good

Boring = Proven

Proven = Less Problems

What is Good for you ?

Page 11: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 11

So ?

How Do I chose small number of boring but popular Open Source Databases to build my application in non-Facebook Way ?

Page 12: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 12

Buzz Words

Relational (SQL) No-SQL NewSQL

Big Data Multi-Model

Page 13: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 13

Popular NoSQL Categories • RedisKey Value Store• MongoDBDocument Store• CassandraWide Column Store• ElasticSearch Engine• Neo4jGraph• InfluxDBTime Series

Page 14: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 14

Cross-Polynation

MySQL, PostgreSQL add Document Storage Support

Many databases provide SQL or SQL-like language support

Page 15: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 15

Relational Databases

Page 16: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 16

Relational: SQL

Page 17: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 17

Relational Variants

• Good for reading few data points • Easy to modify data• Conventional “Web” Applications

Row Store

• Good for mass data analyses • Data best modified in bulks • Reporting/Analytics

Column Store

Page 18: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 18

Document Data Model Example

Source: https://www.tutorialspoint.com/mongodb/mongodb_insert_document.htm

Page 19: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 19

Other Questions

“Disk” vs “Memory”

Single Node vs Distributed

Page 20: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 20

Q1: Application Data Model

What Database your application Data Model and Operations Bests maps to ?

Page 21: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 21

Not too Obvious Things to Consider

Application Life Cycle and Development Process

Page 22: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 22

Q2: Scale

Page 23: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 23

Understanding Scaling

Any Technology Scales, Just with different

efficiency and amount of pain

Page 24: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 24

Q3: It is not just about development

Technology Long Term Viability

Availability of Commercial Support

Corporate Policies

Compliance (Security, Auditing etc)

Page 25: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 25

Understanding Open Source

Page 26: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 26

I am not a Lawyer

This is my general understanding, do not expect 100% correctness of every legal detail. Also laws are different worldwide

Page 27: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 27

Free Software - 4 Freedoms• The freedom to run the program as you wish, for any purpose

(freedom 0).• The freedom to study how the program works, and change it so it

does your computing as you wish (freedom 1). Access to the source code is a precondition for this.

• The freedom to redistribute copies so you can help others (freedom 2).

• The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

Page 28: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 28

Open Source Licenses

https://en.wikipedia.org/wiki/Permissive_software_licence

Page 29: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 29

Open Source License

•Restrict non Open Source Distribution of Derivative work

Restrictive Licenses (GPL,

AGPL)

•Can re-license Derivative work as Proprietary License

Permissive Licenses (BSD,

Apache 2.0, MIT)

Page 30: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 30

How is Network Treated

GPL

•Is not considered Distribution

AGPL

•Is considered Distribution

Page 31: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 31

Governance

Community/Foundation Commercial Entity

Page 32: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 32

Commercial Services

Not Every Open Source Project has commercial Support and Services Available

For Popular Software one or several vendors emerge

Page 33: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 33

Practical Question

Ask: What Will I need to give up if I stop paying ?

Page 34: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 34

Open Source as in Marketing

“Open Source” often used for Marketing not Entirely Open Source Software

Page 35: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 35

Important Notice

I support all Software Licensing Methods and

Business Models. I strongly Dislike Bait and

Switch

Page 36: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 36

Open Core

•MySQL•MongoDB

You Market “Open

Source” but sell

Proprietary Version

Page 37: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 37

Open Source Compatible

Close Source or Cloud Software which promises compatibility with Open Source Software

Page 38: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 38

Source Available

Available Source code (ie on GitHub) does not mean you’re licensed to use it

Page 39: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 39

Trapware Business Models

Make it easy to install non-open source software thinking it is free software

Sales team can catch you out of compliance and demand random money

Page 40: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 40

BSL (Business Source License)

Open Source…. Eventually

Promise for Software to become Open Source after some years

… by that time it will be long unsupported

Page 41: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 41

Commons Clause

Addition to Open Source License… which makes it non Open Source

Apache 2.0 with Commons Clause is not Open Source License

Restricts getting any commercial services from anyone but copyright holder

Page 42: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 42

Percona’s Stance

All software we distribute is 100% Free and Open Source

No “Better” Enterprise Software Version

No Games & Tricks

Page 43: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 43

Summary

Know your Requirements to Open Source Software

Understand what you’re getting

Page 44: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

Buy Now and Save up to €75 With the Early Bird Rate, But Hurry

Connect. Accelerate. Innovate.Percona Live Europe

Frankfurt 5-7 November 2018

PRICES GO UP SEPTEMBER 9TH

Buy Your Tickets >

Page 45: ChoosingRightOpen Source Database · © 2018 Percona. 1 Peter Zaitsev, CEO ChoosingRightOpen Source Database September 5th, 2018 Percona Technical Webinars

© 2018 Percona. 45

Thank You!