PostgreSQL Adoption and Trends

hornbeastcalmData Management

Nov 27, 2012 (4 years and 6 months ago)

195 views

SellingYourBossOnOpenSource
formerlyPostgreSQLAdoptionandTrends
BRUCE
MOMJIAN,
SOFTWARE
RESEARCH
ASSOCIATES
June,2004
Abstract
ThisexplorestheadoptionofOpenSource,usingPostgreSQLasan
example.
Introduction

Howisopensourcedevelopmentdifferentfromclosedsource?

WhatisthepatternofPostgreSQLadoption?

WhatdoesthefutureholdforPostgreSQL?
PostgreSQLAdoptionandTrends1
OpenSourceWorld
Software
Open Source
PostgreSQL
PostgreSQLAdoptionandTrends2
RevolutionaryChangeinSoftwareDevelopment:
ChallengingTotalitarianism

CentralControl

FewChoices

Limitedfeedbackfrompopulation
PostgreSQLAdoptionandTrends3
BringingDemocracytoSoftwareDevelopment

DistributedControl

ManyChoices

Drivenbyfeedbackfrompopulation
PostgreSQLAdoptionandTrends4
ProprietarySoftwareDevelopment

Puteveryoneinaroom

Discussnewfeaturesandhowtoimplementthem

Everyonegoesbacktotheirofce

Moremeetings

Testing

Release

Gatheruserbugreports

Repeat
PostgreSQLAdoptionandTrends5
OpenSourceDevelopment

Discussviaemail,withaccesstoaworld-widepooloftalent

Newfeaturesdiscussedoverseveraldaysbydevelopersandusers

Coding

Patchreview

Patchapplicationandtesting

Usertesting

Release
PostgreSQLAdoptionandTrends6
ProprietarySoftwareDevelopment
Users
Developers
Production
Receive Software
Release
Install
Fix Bugs
Acceptance Tests
Project Meetings
Resolve Issues
Design Meetings
Resolve Problems
Work in Isolation
Testing/Retesting
PostgreSQLAdoptionandTrends7
OpenSourceDevelopment
Users
Internet
Developers
Production
Discuss Feature
Release
Beta Testing
Fix Bugs
Patch Review
Apply / Testing
Resolve Issues
Propose Feature
Testing
Patch Review
Beta Testing
PostgreSQLAdoptionandTrends8
TypicalProprietaryDatabaseProductLifeCycle

Createproduct

Growcustomerbase

Reducedevelopmentbudget

Decreasetechnicalsupportcosts

Increaselicensefees

Maximizerevenue

Customersleave

End-of-lifeproduct
Allpossiblebecauseofhighswitchingcosts.
PostgreSQLAdoptionandTrends9
TypicalOpenSourceLifeCycle

Createproject

Developerscreateinitialsoftware

Usersanddevelopersimprovethesoftware

Nodevelopmentbudget

Notechnicalsupportcosts

Nolicensefees

Nomaximizingofrevenue

Nocustomersleaving!

Noend-of-life
PostgreSQLAdoptionandTrends10
UniquenessofPostgreSQLasanOpenSourceProject

Linux-nosinglegatekeeper,projectisusablewithoutenhancement

Mozilla-nocompanyhistorylikeAOL/Netscape

OpenOfce-nocontrollingcompanylikeSun

Gnome-nocontrollingcompanies

PHP-noZendsteeringdevelopment

Sendmail-nocontrolbySendmail,Inc.

MySQL-noMySQLABthatdoesallserverdevelopment
PostgreSQLAdoptionandTrends11
SimilarProjects

FreeBSD-communityproject

Samba-activedevelopercommunity
PostgreSQLAdoptionandTrends12
OpenSourceDevelopmentStructures

DistributedLeadership:PostgreSQL,FreeBSD,NetBSD,Samba

CentralLeadership:Linux,Perl,Python,OpenBSD

CorporateCouncil:Gnome,XFree86

CorporateSponsored:Apache,PHP

CorporateControlled:MySQL,OpenOfce,Sendmail

SingleDeveloper:Manyprojects
ConceptstakenfromJoshBerkus,PostgreSQLcoremember.
PostgreSQLAdoptionandTrends13
OpenSourceSoftwareAvailability
Development
Tools
Vertical
Market
Business
Applications
Hobby
Applications
Operating
Systems
Databases
Compilers
Scripting
Languages
Users
Complexity
PostgreSQLAdoptionandTrends14
IsItAsGoodAsProprietarySoftware?
Reliability
Time
Open Source
Close Source
FeaturesPerformance
PostgreSQLAdoptionandTrends15
ProblemsWithOpenSource(andDemocracy)

Requiresefforttostayinformed

Requiresefforttoreceiveassistance

Documentationisnotasthorough

Databasechangesmorerapidly

Moreself-help
PostgreSQLAdoptionandTrends16
BusinessesSupportingOpenSourceUsers

Customization

Technicalsupport

Packagedreleases

Add-onsoftware

Training
PostgreSQLAdoptionandTrends17
HybridDevelopment
Install
Testing/Retesting
Enhance
Production
Receive Software
Fix Bugs
Acceptance Tests
Resolve Issues
Resolve Problems
Release
Open Source
PostgreSQLAdoptionandTrends18
SupportCompanies

USA

Canada

Mexico

Brazil

France

Spain

Germany

Austria

Norway

Israel

Turkey

Russia

India

Japan

Australia
PostgreSQLAdoptionandTrends19
Value-AddedReseller(VAR)Advantages

License

Nounsolvableproblems

Controldatabaseproductlife-cycle
PostgreSQLAdoptionandTrends20
End-userAdvantages

Licensecosts

Softwarecontrol

Customization
PostgreSQLAdoptionandTrends21
Adopters

Financial

Manyservers

Customization

Firstadopters,futurethinkers

Companypolicy
PostgreSQLAdoptionandTrends22
Competition

Oracle-hugecodebase,customapplications,$$$

DB2,MSSQL-likeOracle

MySQL-GPL,closeddevelopmentmodel,opensourcedistribution

Otherdatabasecompaniesaredecliningbecauseofopen-source
competition

Otheropen-sourcedatabaseprojectsarehavingtroubleattracting
developers
PostgreSQLAdoptionandTrends23
PostgreSQLEvolution
1986
2004
8 Years
1996
1998
2001
CrashEnterpriseSQL Standards
Enterprisefeaturesinclude:

ImprovedPerformance

SimpliedMaintenanceandAdministration

Efcient24/7Operation
PostgreSQLAdoptionandTrends24
CaseStudies

Retail

Scientic

Internet

Product
PostgreSQLAdoptionandTrends25
Licensing

BSDlicense,limitationofliability

NotGPL,whichrequiresunrestrictedsourcedistribution
PostgreSQLAdoptionandTrends26
OurDevelopers
Whyisprogrammingfun?

Joyofmakingthings

Joyofmakingusefulthings

Funofacomplexpuzzle

Joyoflearning

Tractablemedium
ConceptsderivedfromTheMythicalMan-MonthbyFrederickP.Brooks,Jr.
PostgreSQLAdoptionandTrends27
OpenSourceMotivations

Professionaladvancement,learnnewskills

Practicalneedforthesoftware

MentalStimulation

Beliefinopensource
ConceptsderivedfromasurveyconductedbyOSDNandreportedinOpensourcea
neededoutletforprogrammingpros,TheRegister,May2,2002,
http://www.theregister.co.uk/content/4/23935.html.
PostgreSQLAdoptionandTrends28
PostgreSQLMotivations

Professionaladvancement,learnnewskills

Practicalneedforthesoftware
Businessneedstheenhancement
BusinesswantsPostgreSQLtothrive

MentalStimulation

Beliefinopensource
PostgreSQLAdoptionandTrends29
ExtremeCase
Itwascheaper
topaytoaddmissingfeatures
toPostgreSQL
thantobuyOracle.
Newfeatures,translations,andnowportedtoUnix.
PostgreSQLAdoptionandTrends30
Featuresin7.5andLater
7.5+
PostgreSQLAdoptionandTrends31
Point-in-timeRecovery:ContinuousBackup
1300
1100
0900
UPDATE
INSERT
DELETE
Continuous
BackupBackup
Full
0200
PostgreSQLAdoptionandTrends32
MSWindowsport:Windows2000&XP
MS Windows 2K/XP
Postmaster
Cygwin
PostgreSQLAdoptionandTrends33
NestedTransactions
test=>BEGINWORK;
BEGINtest=>BEGINWORK;
BEGINtest=>INSERTINTOtestVALUES(55);
ERROR:duplicatekeyviolatesuniqueconstraint"ii"
test=>ABORT;
ROLLBACKtest=>UPDATEtestSETtotal=total+1;
UPDATE1
test=>COMMITWORK;
COMMIT
PostgreSQLAdoptionandTrends34
Tablespaces
DB4
Disk 3
DB2DB3
DB1
Disk 1Disk 2
PostgreSQLAdoptionandTrends35
ImproveSharedBufferManagement
fsyncfsync
Backend
Postgres
Backend
Postgres
Backend
Postgres
PostgreSQL Shared Buffer CacheWrite-ahead Log
Kernel Disk Buffer Cache
Disk Blocks
Adaptive
Replacement
Cache
Writer
Background
PostgreSQLAdoptionandTrends36
MoreMaster/SlaveReplicationSolutions
Asynchronous














































































































































































































































































PostgreSQLAdoptionandTrends37
Conclusion
PostgreSQLAdoptionandTrends38