The B in LAMP Fourth Annual Southern California Linux Expo
Total Page:16
File Type:pdf, Size:1020Kb
The B in LAMP Fourth Annual Southern California Linux Expo David Schachter Performance Engineer Sleepycat Software Sleepycat Software – Makers of Berkeley DB Agenda 1. Introductions: Who, What, Why? 2. BDB and Linux 3. BDB and Apache 4. BDB and/or MySQL 5. BDB and {Perl, PHP, Python} 6. How to Get the Latest, Greatest Stuff 7. Berkeley DB in Action Sleepycat Software – Makers of Berkeley DB Page 2 Who, What, Why? The Company and Its Customers Sleepycat Software – Makers of Berkeley DB Did you know that Berkeley DB..? is everywhere: runs on 200 million machines across the world scales up, scales down: powers everything from mobile phones to stock exchanges is proven: runs inside every copy of Linux (and MacOS X and Solaris) powers the Internet: extensively used by Google, Yahoo, AOL, Ask Jeeves, Amazon, eBay and many others is highly available: handles 70% of the global daily email traffic Sleepycat Software – Makers of Berkeley DB Page 4 About Sleepycat Founded in 1996 by original architects of BSD Unix Executives include industry luminaries – Dr. Margo Seltzer (Harvard Professor, 4.4 BSD file system author) – Keith Bostic (2.10 BSD architect, 4.4 BSD developer) – Michael Ubell (Ingres, DEC, Britton-Lee [founder], Illustra, Informix) – Michael Olson (Britton-Lee, Illustra, Informix) “Open sourcePrivate isn't company,some magic pixieprofitable dust that with just nomakes long pr oductsterm debt great. It's not a business 40model employees by itself. It iswith a tool 5 thatin Europe, companies 3 can in Australia/New use to leverage popular Zealand projects and put them into production in profitable and useful ways.” 24*7 enterprise support Mike Olson, Sleepycat CEO InA “What genuine open source leader software inbuyers the can open-source learn from Google”, SearchOpenSrevolutionource.com, 16-Nov-05 Sleepycat Software – Makers of Berkeley DB Page 5 Berkeley DB in Open Source Linux Movable Type blog BSD Unix, MacOS X Server Subversion Apache Perl OpenLDAP Python Sendmail PHP Kerberos Eiffel Language Bindings Zope Tcl OpenOffice Ruby GNU C library …and many, many more Sleepycat Software – Makers of Berkeley DB Page 6 Berkeley DB Java Edition new API discussion: Dualhttp://www.theserverside.com/news/thread.tss?thread_id=38916 License Model Public License Commercial License Permits use in open source projects or Permits closed-source distribution of an applications that are not distributed to third application to third parties and provides business parties. assurance. Advantages VeryVery broad, broad, low low cost cost distribution distribution HighHigh margin, margin, licensing-based licensing-based revenue revenue stream stream Very high code quality Very high code quality Profitable,Profitable, sustainable sustainable business business model model BarrierBarrier to to entry entry Customer Benefits Huge developer community for support Huge developer community for support RightsRights to to redistribute redistribute proprietary proprietary code code Peer-reviewed design for ease of use Peer-reviewed design for ease of use Representations,Representations, warranties warranties and and LessLess debugging, debugging, easy easy integration integration indemnificationindemnification Easy download, trial, and distribution Easy download, trial, and distribution Full-time,Full-time, dedicated dedicated development development team team NoNo escrow escrow issues issues (continuity,(continuity, roadmap, roadmap, documentation) documentation) FreedomFreedom from from vendor vendor lock-in lock-in SingleSingle vendor vendor to to hold hold accountable accountable Sleepycat Software – Makers of Berkeley DB Page 7 LAMP: Linux Apache MySQL Perl/Python/PHP Sleepycat Software – Makers of Berkeley DB LAMP: Linux Apache MySQL Perl/Python/PHP Sleepycat Software – Makers of Berkeley DB Berkeley DB in Linux RPM “rpm –q –whatrequires libdb-4.0.so” on Redhat 7: OpenLDAP apr-util-0.9.4-4 Login cyrus-sasl-2.1.10-4 Lots more… httpd-2.0.48-4 pam-0.75-48 webalizer-2.01_10-11 Sleepycat Software – Makers of Berkeley DB Page 10 Berkeley DB 2 in Debian Linux 3.1 zmailer-ssl pavuk libapache-mod-fastcgi snes9express skksearch qtstalker pavuk htdig Sleepycat Software – Makers of Berkeley DB Page 11 Berkeley DB 3 in Debian Linux 3.1 gsnes9x gpredict yank gpr xsitecopy gphotocoll xgsmlib gpgp xemacs21-nomule godbcconfig xemacs21-mule-canna-wnn gnucash-hbci xemacs21-mule gnucash xemacs21-gnome-nomule gnotepad+ xemacs21-gnome-mule-canna-wnn gnomp3 xemacs21-gnome-mule gnomermind xemacs21-bin gnomekiss xcin gnome-think Sleepycat Software – Makers of Berkeley DB Page 12 wmkbd gnome lokkit Berkeley DB 4 in Debian Linux 3.1 apt-utils libapache2-mod-xmlrpc2 arla libapache2-request-perl bogofilter Libapr0 libchise1 caudium-php4 libedataserver3 cfengine libetpan1 cfengine2 libhdb7-heimdal drac libnss-ldap dsniff libopenft-gift etpan-ng libotp0-kerberos4kth evolution librdf-perl evolution-data-server librdf-ruby evolution-exchange librdf0 Sleepycat Software – Makers of Berkeley libroken16-kerberos4kth DB Page 13 exim4 base LAMP: Linux Apache MySQL Perl/Python/PHP Sleepycat Software – Makers of Berkeley DB Berkeley DB in Apache Mod4DB apache2-utils SpamAssassin apache2-mpm-worker apache2-mpm-prefork apache2-mpm-perchild libapache-modxslt apache2-common libapache-mod-ssl apache-ssl libapache-mod-php4 apache-perl libapache-mod-iptos apache-dbg apache-common apache Sleepycat Software – Makers of Berkeley DB Page 15 LAMP: Linux Apache MySQL Perl/Python/PHP Sleepycat Software – Makers of Berkeley DB Berkeley DB in MySQL MySQL storage engine (first one!) Helped MySQL start Cooperators building open source Sleepycat Software – Makers of Berkeley DB Page 17 Comparison of BDB and MySQL BerkeleyBerkeley DBDB MySQLMySQL Fast Fast Full-featuredFull-featured Small Small StandardsStandards CompliantCompliant SimpleSimple FlexibleFlexible DataData ModelModel ProvenProven Powerful,Powerful, FlexibleFlexible QueriesQueries Sleepycat Software – Makers of Berkeley DB Page 18 LAMP: Linux Apache MySQL Perl/Python/PHP Sleepycat Software – Makers of Berkeley DB Berkeley DB for Perl, Python, PHP Adapters for: Eiffel Perl PHP Python Ruby TCL Sleepycat Software – Makers of Berkeley DB Page 20 How to Get Berkeley DB Hint: You already have it. Sleepycat Software – Makers of Berkeley DB Sleepycat Software – Makers of Berkeley DB Page 22 Downloading Berkeley DB http://dev.sleepycat.com/downloads/latestreleases.html – tar, zip and VxWorks CD image – Windows installer with SDK and HTML documentation Release change logs Patches Historic distributions Sleepycat Software – Makers of Berkeley DB Page 23 Berkeley DB Documentation Included in distributions Available online http://dev.sleepycat.com/documentation/bdb.html “Getting Started” Guides for C, C++, Java “Writing Transactional Applications” for C, C++, Java API Guides for C, C++, Java Javadoc for Java API, Java Collections Tutorial Guides for Building, Troubleshooting, Reference Sleepycat Software – Makers of Berkeley DB Page 24 Sleepycat Software – Makers of Berkeley DB Page 25 Technical Resources New web site: http://dev.sleepycat.com – Downloads, documentation, FAQs, videos, whitepapers, performance benchmarks, blog, newsgroups, … Mail to [email protected] – Prioritized, logged, managed technical issues Technical community discussions – Archived, but not managed; Sleepycat participates – comp.databases.berkeley-db newsgroup – [email protected], bdbha@..., bdbje@... Sleepycat Software – Makers of Berkeley DB Page 26 Technical Resources Product announcement mailing lists – Very low traffic—Product announcements only – [email protected] – [email protected] – [email protected] Sleepycat Software – Makers of Berkeley DB Page 27 Berkeley DB in Action Sleepycat Software – Makers of Berkeley DB Customers Devices/ Telecom Enterprise Storage & Sys Financial Appliances Infrastructure Networking Security Infrastructure Mgmt Enterprises E-Business Services Berkeley DB Sleepycat Software – Makers of Berkeley DB Page 29 Motorola Smart Phones Requirement: Motorola’s Linux-based smart phones needed a data management component to be fast, flexible, reliable and “Berkeley DB was 20 times faster thandesigned other databases. to operate It has within the operational highly constrained speed of a main memory database, the startupenvironments. and shut down speed of a disk-resident database, Motorolaand does A760 not have the overhead of a client-server inter-process communication.” Motorola A768 Ray van Tassle, Senior Staff Engineer, Motorola Solution: Motorola selected best-of-breed open source components including Sleepycat’s Berkeley DB, Montavista Linux and Trolltech Qt. Over 3 million of these Motorola A780 devices have been shipped. Motorola E680 Sleepycat Software – Makers of Berkeley DB Page 30 Thank you! We acknowledge and appreciate Bill Weinberg’s article The “B” in LAMP: How Berkeley DB Helps LAMP Shine in the Enterprise OpenSource Journal, Jan/Feb 2006. www.linuxpundit.com/cv/docs/EOSJ_the_B_in_LAMP.pdf David Schachter [email protected] Sleepycat Software – Makers of Berkeley DB Support Options Open Source Licensees Commercial Licensees Annual Maintenance • Upgrades and Updates Production Support Production Support • Production Systems • Production Systems • Guaranteed Response, 8 hours • Guaranteed Response, 8 hours Premium Support • Guaranteed Response, 4