Category Archives: Databases

[Video 180] Bruce Momjian: Explaining the Postgres Query Optimizer

Working with databases means, almost inevitably, trying to improve the speed of some of your queries. In the case of PostgreSQL, successful query tuning means understanding how the database works — and that includes understanding the query optimizer, the “brains” of PostgreSQL, which decides how to join your tables, what to read from disk, and which indexes to apply (among other things). In this Webinar, Bruce Momjian describes PostgreSQL’s query optimizer in great detail, providing many insights that come in handy when working to improve the speed of your queries.

Baron Schwartz: MySQL, SQL, NoSQL, and Open Source in 2014 and Beyond

Databases are a major factor in modern applications. There are at least two major axes along which you have to decide when choosing a database: SQL vs. NoSQL, and open source vs. proprietary. What considerations should you keep in mind when choosing? Baron Schwartz, who has long been active in the MySQL community and is the author of numerous blog posts and a book about MySQL performance tuning, gave this talk at Google in February 2014, in which he discussed the considerations that go into database choices. Even if you prefer a different database, it’s useful and interesting to hear the considerations that a MySQL veteran brings to the table, and how he sees the current state of the database world.

Michael Stonebreaker: Big Data is (at least) Three Different Problems

Michael Stonebreaker is known for many advances in the world of databases: He created Ingres, Postgres (which was later used as the basis for PostgreSQL), and even more recently SciDB, VoltDB, and Tamr. He was, last week, awarded the Turing Award by the ACM, for his contributions for the world of databases. In this talk, Stonebreaker describes the term “big data,” and what it really means for people implementing and using databases.

 

Dimitri Fontaine: Large Scale MySQL Migration to PostgreSQL

MySQL and PostgreSQL are both well-known open-source relational databases. What happens if you want to move your application from MySQL to PostgreSQL?  Data migrations are always difficult; if you have a great deal of data, or you have used many of MySQL’s built-in functionality, then you may encounter problems. In this talk, Dimitri Fontaine describes  a real-life example of migrating a very large data set from MySQL to PostgreSQL. What was easy, and what was hard?  What does he recommend to others interested in doing so?

Andy Gross: Riak and Dynamo, Five Years Later

In 2007, Amazon published a paper about “Dynamo,” a high-availability storage system. A number of NoSQL databases were created based on this paper and paradigm, with great success. One of them is Riak, a distributed, open-source NoSQL key-value store developed by Basho. In this talk, Andy Gross (who was then chief architect of Riak) describes Dynamo, Riak, and where things stood in 2012 (i.e., 2.5 years ago) in contrast with the original Amazon paper. While Riak has advanced since then, this talk introduces both Dynamo and Riak, and how we can think about distributed systems.

Bruce Momjian: Inside PostgreSQL shared memory

PostgreSQL uses processes, rather than threads. In order for them to communicate, they use shared memory. In this talk, PostgreSQL contributor Bruce Momjian describes how PostgreSQL uses shared memory, and what data is contains and passes among the various processes. If you always wanted to know how PostgreSQL stores and retrieves information before it goes onto the disk, this talk is for you!

Max Mether: MariaDB, a MySQL Replacement?

MySQL is the most popular open-source database. As an open-source project, it can be forked and distributed under a new name. MariaDB is not just a fork of MySQL, but an open-source project led my Monty Widenius, the original author of MySQL. MariaDB thus promises a large degree of MySQL compatibility, while also improving on it in many important ways.

In this talk from 2012, Max Mether introduces MariaDB, comparing it with MySQL and indicating how its many improvements make it a strong candidate to replace MySQL, now and in the future.

Dimitri Fontaine: Implementing High Availability with PostgreSQL

PostgreSQL is a popular and powerful open-source relational database. As organizations use it for increasingly complex and mission-critical projects, they want to be sure that their database is available under many circumstances. Even if a server goes down, the database must continue to be available. For this reason, many people have begun to investigate and implement high-availability solutions for PostgreSQL. In this talk, PostgreSQL contributor Dimitri Fontaine reviews the high-availability options available for PostgreSQL users, and the problems that each of them attempts to solve.

Christophe Pettus: PostgreSQL Proficiency for Python People

Python is a very popular open-source programming language. PostgreSQL is a very popular open-source relational database. It shouldn’t surprise us, then, to discover that many people are using PostgreSQL to store and retrieve data in their Python projects. This talk, given by Christophe Pettus, introduces PostgreSQL from the perspective of a Python programmer; the emphasis is on PostgreSQL, but there are also Python elements here.  If you are thinking of using PostgreSQL in your project, but feel like you don’t know enough about it, this is a good place to start.