SQLite is a full-featured embedded SQL database engine, and the world's most widely deployed and used database engine. The design and implementation of SQLite is different from most other RDBMSes, since SQLite strives to solve a different problem. This talk describes the problem that SQLite solves and overviews the design choices and algorithms that SQLite uses in its unique role.

Richard Hipp is the creator and principal maintainer of SQLite. Richard first became involved with computers while in High School in the mid 1970s.  After taking an MSEE from Georgia Tech in 1984, he began working for Western Electric/Bell Labs where he encountered and learned Unix and C.  He returned to school at Duke University and took a PhD in 1992 with a dissertation in computational linguistics. Upon graduating, he founding Hipp, Wyrick & Company, Inc. (Hwaci), a consulting firm specializing in solving hard problems using bespoke software.  Richard created SQLite in 2000 out of frustration in having to deal with a traditional client/server RDBMS.  Richard and the staff at Hwaci have worked exclusively on enhancing and supporting SQLite since about 2006.  Other open-source projects that Richard has started include the Fossil distributed version control system, and the Lemon LALR(1) parser generator.

Faculty Host: Andy Pavlo

Partially funded by Yahoo! Labs

Commodity software systems must become more parallel in order to scale with increasingly parallel hardware, but developing parallel software is notoriously difficult. Programmers are basically stuck using shared memory and locks because advanced language and system support for concurrency is impractical for real-world use. For example, record & replay, strong memory models, and transactional memory provide substantial benefits -- but no practical designs are known. This talk describes new analyses and systems we are developing that provide efficient language and system support for concurrency on commodity languages and systems. The talk will focus on runtime support for providing atomicity. These new analyses and systems are based on a new framework for capturing conflicting accesses that avoids the high cost of existing software-based approaches. This work aims to provide practical language and system support for the first time, and thus help general-purpose software scale successfully to increasingly parallel hardware systems.


Mike Bond is an assistant professor in Computer Science & Engineering at Ohio State University. He and his five PhD students are the Programming Languages and Software Systems (PLaSS) group. Mike completed his PhD and a postdoc at UT Austin, advised by Kathryn McKinley, and won the 2008 ACM SIGPLAN Outstanding Doctoral Dissertation award. He recently received an NSF CAREER Award.

Faculty Host: Todd Mowry

Cassandra has fulfilled its original design as a Bigtable/Dynamo hybrid and is moving beyond it with the release of 2.0 last month. (I have annotated the original Cassandra LADIS paper with comparisons to modern Apache Cassandra at [1].)

I will talk about integrating Paxos with an eventually consistent system, using cardinality estimation to improve compaction efficiency, and improving request isolation while preserving operation commutativity. I will also discuss some challenges on Cassandra's roadmap such as tombstone collection and support for petabyte-scale clusters.



Jonathan Ellis is CTO and co-founder at DataStax as well as Project Chair of Apache Cassandra. Prior to his work on Cassandra, Jonathan built a multi-petabyte storage system based on Reed-Solomon encoding for backup provider Mozy.

Faculty Host: Andy Pavlo

Subscribe to SDI-ISTC