《MySQL-MariaDB-Monty-story-2023.pdf》由会员分享,可在线阅读,更多相关《MySQL-MariaDB-Monty-story-2023.pdf(52页珍藏版)》请在三个皮匠报告上搜索。
1、MySQL-MariaDBHistory talkJuly,2023Michael Widenius CTO MariaDBA long time agoMonty and MyBenefits of creating MySQLAt start:Lots of traveling and meeting interesting peopleThe origin of a virtual companyWorking from home since 1981The namesake of MaxDB and MaxScaleMax at our summer house(no electric
2、ity)Celebrating 10 years of MySQL and PHPThe origin of MySQLTaking in investors is a learn experienceThe origin of MySQLThen we came into strange companyThe origin of MySQLWhich scared some of us a bit.The origin of My(SQL)and Maria(DB)Fortunately there is someone else that can continueThe origin of
3、 Maria(DB)Its a hard job taking over a successThe origin of Maria(DB)But we are confident we can pull it offThe animals that support usWe have had up to 70+animals at the same time(now 30+)that Maria takes care ofMaria then and nowMy todayMontys early yearsBought one of the first programmable calcul
4、ators(Texas Instrument 58)in 1975512 bytes programmable memorySaw the first personal computer,an ABC 80,in 19784 MHz,8 k ROM,8 k ram memoryMontys early yearsPut asphalt on streets in Helsinki to get money to pay for half of the ABC 80(father paid for other half).They also sold Pet and Apple II,but I
5、 choose ABC 80 because its BASIC was MUCH faster.Met Allan Larsson in Sweden(3rd founder of MySQL)Wrote/adopted a lot of games(clones of Space Invaders,Pacman,Missile Command etc)in assemblerMontys early yearsUpgraded to ABC 800+disk station in 19804 MHz,32 k memoryMontys early yearsWrote on the ABC
6、800Word processorHard disk controllerTape backup softwareOne-card-computer multi-task operating system3 MHz,16 k memory Montys early yearsTook summer job 1981 at Tapio Laakso OyConverted computer programs(book keeping,payroll etc)from Cobol to modern personal computers like TRS-80 running Microsoft
7、basic.Noticed that most of the programs was very similar.Started to study in Technology university in Otaniemi.There was no computer science department back then so I choose to study Technical PhysicsI worked in parallel while studying.After 2 years I stopped studying as I already had a full time jo
8、b doing software development.Montys early yearsAllan Larsson wanted me to write some programs based on a database program but I found it was too cumbersome to use and impossible to maintain.Wrote Unireg(base of MySQL code)in 1981First in BASIC on the ABC 800Rewrote it in C on a DS90(Swedish Unix com
9、puter with 2M of ram)in 1983Montys early yearsMet David Axmark in Sweden.Started to work actively with Allan Larsson developing software for customers.Did a lot of development of Unireg on Sun Sparcstation(40 MHz,24M of memory)before moving in 1996 to Linux and standard hardware.(Very brief)MySQL hi
10、storyAdded SQL interface to Unireg and renamed it MySQL in 1994.MySQL released December 1995 under dual licensing.MySQL Finland Ab took in investment and hired Mrten Mickos(2001).Made an agreement with SAP and released MaxDB 2003Oracle bought the InnoDB engine 2005.MySQL Ab was sold to Sun in March
11、2008 for 1 billion$Monty&others left Sun in Feb 2009 to work on Maria engine in Monty Program Ab.Oracle started to acquire Sun(including MySQL)in April 2009.(Very brief)MySQL historyOriginal MySQL developers starts focusing on MariaDB.MariaDB foundation was created in 2012MariaDB is replacing MySQL
12、in most distributions in 2013.Monty Program Ab merged with SkySQL in April 2013SkySQL Ab renamed to MariaDB Corporation in October 2014Monty joined MariaDB Corporation as CTO in January 20162018 MariaDB has replaced MySQL in almost all OS distributionsWhy MySQL was released as Free SoftwareDavid Axm
13、ark and Monty had been using Free software for 10+years and wanted to give something backMySQL was our first program suitable for wider usageWe earned money mainly by doing software development and consulting:Releasing MySQL under open source would not harm our incomeWe choose to do dual licensing t
14、o be able to work full time on MySQLSecond project with dual licensing(ghostscript was the first)After 2 months we where profitable and could spend all time on developing and spreading MySQL.Nowadays I am advocating Business Source to companies who wants do create open source products but cant do du
15、al licensing.See http:/monty- MariaDB was created“Save the People,Save the Product”MariaDB was created shortly after Oracle announced it wanted to buy Sun&MySQL on April 20,2009.MariaDB was created:To keep the MySQL talent together To ensure that a free version of MySQL always exists To get one comm
16、unity developed and maintained branchMariaDB Foundation was created to ensure the two last points above.MariaDB is guaranteed to always be open sourceThe MariaDB Foundation was created to ensure that anyone can be a contributor to the MariaDB project on equal terms!The MariaDB Foundation is the owne
17、r of the main MariaDB server repositories on githubThe Foundation can never to be controlled by a single entity or personThe Foundation is not about the MariaDB trademark or to decide upon the MariaDB roadmap!MariaDB Foundation statusEnsure the MariaDB Server code base remains open for usage and con
18、tributions on technical merits.Strive to increase adoption by users and across use cases,platforms and means of deployment.Provide continuity to the MariaDB Server ecosystem,independent of any commercial entities.Builds MariaDB binaries and provides them for downloadWorks with OS distributions to he
19、lp them with MariaDB issues1400 closed community contributed pull request80 outstanding,but feedback given to all of themIn comparison MySQL has about 70 community pull requests closed.Does a lot of virtual conferences!Search for MariaDB FEST for videosMariaDB Foundation board members and sponsorsMa
20、riaDB plcOwner of the MariaDB trademark,except for 3 parts which the MariaDB Foundation owns.Employs 300+people,of which 60+are engineers working on MariaDB and related software(MaxScale,ColumnStore,Xpand etc).Have the best MariaDB engineers&most of the MariaDB captains(people with write access to M
21、ariaDB source).Is the biggest driver of the MariaDB project.Sells support,subscriptions and tools around MariaDB.(The MariaDB server is guaranteed to always be free software)Rename from MariaDB Corporation to MariaDB plc as part of entering the New York Stock Exchange!MariaDB EcosystemMariaDB Founda
22、tionWorks with the communityBuilds and tests binaries-Develops MariaDB buildbotDrives adoption-Works with OS to ensure MariaDB is included everywhereWorks with community developers-Reviews architecture and patches-Approves and pushes changesInsures that MariaDB is always free.Founded trough sponsors
23、hips.MariaDB CorporationWorks with customersProvides paid support and subscriptions forMariaDB(Enterprise and Community)Employs most of the MariaDB developers-Main driver of MariaDB developmentMariaDB Enterprise-Longer End-of-life-Stable features are backported to earlier versions to minimize needs
24、for upgrades.Provides NRE(paid development of new MariaDB features).Open developmentAnyone can participate in the MariaDB server development on equal termsAll development plans are in the MariaDB Jira and the MariaDB Knowledgebase(KB)Anyone can get write access to the Knowledgebase or the code repos
25、itory(if you are good enough)One source repository for all server features and all testsMySQL is open core and main repository doesnt have all features and lacks a lot of testsMore secure as security bugs are fixed at once(not delayed to quarterly security releases)We use Zulip,a modern communicatio
26、n platform anyone can join and discuss with all the active MariaDB developers and other MariaDB users.There are a lot of developers of MariaDB in a lot of different companiesEasy upgradesMariaDB does not remove featuresUpgrades should take only a few secondsUpgrading from MySQL to MariaDB is easier
27、than upgrading between two MySQL versions(disregarding MySQL 8.0)No dump and restore is ever needed between releasesData on disk is forward compatibleAll old MySQL and MariaDB clients works with older and newer versions of MariaDBMariaDB&MySQL CompatibilityUser level(data,API,replication,configurati
28、on files.)compatible with MySQLDrop in replacement up to MySQL 5.7If your are using InnoDB partitions in MySQL 5.7,wait until MariaDB 10.6.15 to upgrade!More plugins,more storage engines,more features,faster,better code quality.GPL-only server license.LGPL C,ODBC and Java connectors.All MySQL connec
29、tors should work with MariaDBMore frequent releases(Release early,release often)MariaDB 5.1(Feb 2010)Making builds freeMariaDB 5.2(Nov 2010)Community featuresMariaDB 5.3(Apr 2012)New optimizerMariaDB 5.5 (Apr 2013)Merge MySQL 5.5MariaDB 10.0(Mar 2014)Parallel replicationMariaDB 10.1(Oct 2015)Galera,
30、EncryptionMariaDB 10.2(Apr 2017)Advanced featuresMariaDB 10.3(May 2018)Compatibility,SpiderMariaDB 10.4(May 2019)Security,compatibilityMariaDB 10.5(June 2020)Xpand(clustrix),compatibilityMariaDB 10.6(July 2021)Atomic DDL,JSON_TABLE,compatibilityMariaDB 10.11(Sep 2022)Faster InnoDB,Lag free ALTER TAB
31、LEMariaDB is everywhere(Most distributions dont support MySQL anymore)Cloud Services&StacksLinux DistributionsChallenges with forking MySQL(1)Creating a team that could continue and take over MySQLCreating free documentation&forumsCreating a free build&test environment(buildbot)Competing against a w
32、ell know trademark(MySQL)Visiting most open source trade showsWorking with OS distributions to get MariaDBKeeping up with MySQL developmentLots of bugs found while doing monthly mergesMerging MariaDB 5.3 and MySQL 5.5 took 6 monthsAdding new“must have”features(in MariaDB 5.3/5.5)Creating a developer
33、 communityRelatively easy as Oracle is not working with the community to get in their patches or handle their bugsChallenges with forking MySQL(2)Finding a business model not based on licensingDeveloper support(for advanced MySQL users)Third level support via partners like SkySQLGetting paid for add
34、ing features to MariaDB/MySQLNo paying customers for the first 3 yearsAll major paying customers bought 3-5 year contracts to protect against price increases from OracleThings changed after the MariaDB foundation was created and Monty Program merged with SkySQLFirst years most customers was moving f
35、rom MySQL to MariaDB2015 we started to see a lot of customers moving from Oracle and MSSQL to MariaDBMariaDB popularity is increasingIn December 2012Wikipedia announced they are moving to MariaDB.In January-March 2013DB at Mozilla blogged they have moved to MariaDBFedora voted 7-0 to make MariaDB th
36、e default MySQL databaseOpenSuse 12.3 included MariaDB as default.Slackware,Chakra Linux and Arch Linux has MariaDB as default.In April 2013Google is basing their new SQL offerings on MariaDBFusionIO is showing benchmarks with MariaDB.June 2013RedHat announced it will include MariaDB in RedHat Enter
37、prise.MariaDB popularity is increasingDecember 2013MariaDB was added to Debian and later included in Ubuntu2014RedHat Enterprise Linux 7,Suse Enterprise and Oracle unbreakable Linux has MariaDB as defaultIn April 2015Gartner puts MariaDB in the 1st(leader)quadrantOpen source databases are now used b
38、y 25%of the marketIn August 2015MariaDB was ranked#9 as Finlands hottest startup and#2 in the Business software categoryMariaDB announced on IBM System Z and Power 8Amazon starts using MariaDBs C/ODBC and Java connectorsMariaDB popularity is increasingIn February 2017MariaDB was selected as Database
39、 of the Year,3rd year in a row,in the Members Choice awards at LinuxQuestions.orgAt June 14,2017Debian 9 is replacing MySQL with MariaDBDecember 2017Microsoft joins MariaDB Foundation and offers MariaDB on AzureAugust 2018Alibaba is offering MariaDB 10.3 on their cloudDecember 2018Microsoft becomes
40、platinum sponsor of the MariaDB FoundationOctober 2021MariaDB become more popular than MySQL by Debian usersDebian popcon graph 2017-2021 MariaDB overtook MySQL installationsThere is a lot of others involvedMariaDB corporation has to 300+employeesMany external contributors;Most features in MariaDB 5
41、.2 and 10.1 were contributed.1140 community pull requests closed(2020-05-18).159 open(2023-07-22)MySQL has about 60 closed community pull requests in 2020,however a few big companies has contributed directly to MySQL without pull requests.Many of the advanced features in MariaDB 10.2 and 10.3 are sp
42、onsored features!MariaDB has had more public contributions the last 12 months than MySQL under its whole lifetime.In the knowledge base(free MariaDB and MySQL documentation)we have 8226(mostly English)articles.In July 2023 189 added/changed articlesGithub statistics(July 2023)324 followers1500 forks
43、,4900 stars,368 contributors198k commits,2481 branches,1015 tags(releases)Some notable contributorsMultisource replicationTaobaoEncryptionGoogle&EperiGalera ClusterCodershipAtomic writesFusionIO&ShannonOracleMySQL enhancementsConnectOlivier BertrandMaxScale binlogBSpider storage engineKentokuAliSQL
44、patchesAlibabaTSQL patchesTencentWebscale patchesFacebook,Google,TwitterMyRocksFacebookLots of others,listed in the Knowledgebase at Reasons to switch to MariaDB todayMariaDB is guaranteed to be always free!MariaDB is maintained by the people that originally created MySQL and has the best knowledge
45、of the MySQL code.MariaDB is binary compatible(data and API)with MySQL up to 5.7,so its trivial to replace MySQL with MariaDB(minutes).Reasons to switch to MariaDBFaster queries thanks to optimized InnoDB,ColumnStore,MyRocks,a much better optimizer and better replicationOpen source development:Anyon
46、e can be part of the development at all stages.Developer meetings are public!More features like true parallel replication,better statistics,dynamic columns,encryption and many storage engines.Less risk,as MariaDB will not remove features(like MySQL is doing)Summary:What made MySQL successful?We wher
47、e using it(for data warehousing and web)Internet was new and everyone needed a web-optimized DB“Virtual company”made it easy to find good peopleNew“free”license scheme(this was before Open Source)Free for most,a few have to paySecond program(ghostscript was first)to use dual licensing,MySQL first to
48、 do it with GPL.Very easy to install and use(15 minute rule)Released source and tested binaries for most platformsFriendly and helpful towards communityI personally wrote 30,000+emails during the first 5 years to help people with using MySQLWaited with investments until product was“good enough”MySQL
49、 was a needed,stable and easy to use product with the right priceWhat have I developed recentlyHighlights of MariaDB development by MontyOracle compatibility(With Alexander Barkov)(10.3)Allows one to easily migrate from Oracle to MariaDB with non or minimal changes in applications.BACKUP STAGESAllow
50、s one to backup MariaDB with minimum locking or performance impact.S3 Storage engine(10.5)Allows on to archive and share tables stored in S3Atomic DDL(10.6)CREATE TABLE,DROP TABLE,ALTER TABLE,RENAME TABLE are now crash safe.Added support of MySQL 5.7 InnoDB partitions in mariadb-upgrade(10.6.15)Impr
51、oving the MariaDB optimizer,including introducing a new cost model and adding EQ_REF optimization which helps when using many tables.(10.11&11.0)MariaDB 11.0 optimizer can now solve complex queries better than earlier versions.I am now working on multi-tenancy catalogs for MariaDB 11.3Montys Philoso
52、physStatements that defines MontyGeorge Bernard Shaw said“The reasonable man adapts himself to the world;the unreasonable one persists in trying to adapt the world to himself.Therefore,all progress depends on the unreasonable man.Do not give up even if others tells you it will not work.Treat others
53、like you would like to be treated if you where in their shoes.This philosophy helped me create a community around MySQL.Each day do everything that is possible to do that is required or expected of you.If you can go to sleep every night without having to regret why did I not do that thing,then you h
54、ave a good life.Working remotely works(I have done this since 1981)But there has to be checks to ensure productivityOne also have to learn to take a pause from work.I put my team first,then the product,then the customers and after that the Company.Without the team there is no product and without a p
55、roduct there is no customers and without customers there is no company.Montys Achievements&Experience Created MySQL&MariaDB(The products)Having 3 children,My,Max and Maria that have shared their name with my products Creating a community around MySQL and MariaDB.(Harder than creating products)Gettin
56、g MySQL sold to Sun and MariaDB on the New York Stock Exchange.Keeping a good relationship with old customers.Just because you have a new job/mission does not mean you should neglect old customers or users of your product!Keeping a good relationship with my ex wife!Life is short:Remember the good ti
57、mes and ignore the bad ones.I have worked most of my life on one product(MySQL/MariaDB).I have no plans to work on anything else as long as there are a lot of users who depends on my work!I prefer to work on one product a long time instead of on a lot of different products.This works as long as there are constant new things one can do to enhance it!It is possible to do money on Open Source/Free software!Dual licensing and the BSL license works.I believe“Open source is a better way to develop software!”Thank you