Choosing Right Open Source Database



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

2.Open Source Databases You do not need convincing to chose Open Source Database ? © 2018 Percona. 2

3.DB-Engines Ranking © 2018 Percona. 3

4.Open Source vs Commercial © 2018 Percona. 4

5.Stack Overflow Developers Survey Source: © 2018 Percona. 5

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” © 2018 Percona. 6

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 © 2018 Percona. 7

8.Limit yourself Start with one Database Technology Add more technologies when Absolutely Essential © 2018 Percona. 8

9.There is © 2018 Percona. 9

10.What is Good for you ? Boring is Good Boring = Proven Proven = Less Problems © 2018 Percona. 10

11.So ? How Do I chose small number of boring but popular Open Source Databases to build my application in non-Facebook Way ? © 2018 Percona. 11

12.Buzz Words Relational No-SQL NewSQL (SQL) Multi- Big Data Model © 2018 Percona. 12

13.Popular NoSQL Categories Key Value Store • Redis Document Store • MongoDB Wide Column Store • Cassandra Search Engine • Elastic Graph • Neo4j Time Series • InfluxDB © 2018 Percona. 13

14.Cross-Polynation MySQL, PostgreSQL add Document Storage Support Many databases provide SQL or SQL- like language support © 2018 Percona. 14

15.Relational Databases © 2018 Percona. 15

16.Relational: SQL © 2018 Percona. 16

17.Relational Variants • Good for reading few data points Row Store • Easy to modify data • Conventional “Web” Applications Column • Good for mass data analyses • Data best modified in bulks Store • Reporting/Analytics © 2018 Percona. 17

18.Document Data Model Example Source: © 2018 Percona. 18

19.Other Questions “Disk” vs “Memory” Single Node vs Distributed © 2018 Percona. 19

20.Q1: Application Data Model What Database your application Data Model and Operations Bests maps to ? © 2018 Percona. 20

21.Not too Obvious Things to Consider Application Life Cycle and Development Process © 2018 Percona. 21

22.Q2: Scale © 2018 Percona. 22

23.Understanding Scaling Any Technology Scales, Just with different efficiency and amount of pain © 2018 Percona. 23

24.Q3: It is not just about development Technology Long Term Viability Availability of Commercial Support Corporate Policies Compliance (Security, Auditing etc) © 2018 Percona. 24

25.Understanding Open Source © 2018 Percona. 25

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 © 2018 Percona. 26

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. © 2018 Percona. 27

28.Open Source Licenses © 2018 Percona. 28

29.Open Source License Restrictive •Restrict non Open Source Licenses (GPL, AGPL) Distribution of Derivative work Permissive •Can re-license Derivative work Licenses (BSD, Apache 2.0, MIT) as Proprietary License © 2018 Percona. 29