Lorenzo Alberton

Reading / London, UK   ·   Contact me   ·  

  Presentations



Modern Algorithms and Data Structures - 1. Bloom Filters, Merkle Trees

Cassandra-London, London, UK, 18 April 2011

The first part of a series of talks about modern algorithms and data structures, used by nosql databases like HBase and Cassandra. An explanation of Bloom Filters and several derivates, and Merkle Trees. Podcast  


NoSQL Databases: What, When and Why

PHP UK Conference 2011, London, UK, 25 February 2011

NoSQL databases get a lot of press coverage, but there seems to be a lot of confusion surrounding them, as in which situations they work better than a Relational Database, and how to choose one over another. This talk will give an overview of the NoSQL landscape and a classification for the different architectural categories, clarifying the base concepts and the terminology, and will provide a comparison of the features, the strengths and the drawbacks of the most popular projects (CouchDB, MongoDB, Riak, Redis, Membase, Neo4j, Cassandra, HBase, Hypertable).  


Graphs in the database: RDBMS in the social networks age

PHP Barcelona 2010, Barcelona, Spain, 30 October 2010

Despite the NoSQL movement trying to flag traditional databases as a dying breed, the RDBMS keeps evolving and adding new powerful weapons to its arsenal. In this talk we’ll explore Common Table Expressions (SQL-99) and how SQL handles recursion, breaking the bi-dimensional barriers and paving the way to more complex data structures like trees and graphs, and how we can replicate features from social networks and recommendation systems. We’ll also have a look at window functions (SQL:2003) and the advanced reporting features they make finally possible.  


Profile your PHP application and make it fly

PHPNW10, Manchester, UK, 8 October 2010

Making an application scale and go faster is often seen as a wizardly task. We read the micro-optimisation tricks posted in tech blogs and apply them with unconditional trust and great hope, and then wonder why performances haven’t improved that much (“Wait, I even replaced ‘print’ with ‘echo’!!!”). In this talk we’ll see how we can take easy, practical steps we can apply over and over that really make a difference, by analysing what our application does under the hood, measuring how and where the different resources are used, eliminating the real bottlenecks and restructuring critical components to handle growing loads.  


The Art of Scalability - Managing growth

Dutch PHP Conference 2010, Amsterdam, 11 June 2010

Having invested time and energy into your application, nothing could be more exciting than seeing it gain popularity, and seeing your user base grow. However the success of your application could also turn into your worst nightmare! What if the site cannot cope with the load and collapses under its own weight? The ability to grow (and shrink) according to the needs and the available resources is an essential part of designing applications. In this talk we'll cover the fundamental elements of scalability, including aspects involving people, processes and technology. With sound and proven principles and some advice on how to shape your organisation, set the right processes and design your application, this session is a must-see for developers and technical leads alike.  


The Art of Scalability - Managing growth

PHP London Meetup, London, UK, 3 May 2010

People, processes and technology.  


RDBMS in the social networks age

PHP UK Conference 2010, London, 26 February 2010

Despite the NoSQL movement trying to flag traditional databases as a dying breed, the RDBMS keeps evolving and adding new powerful weapons to its arsenal. In this talk we'll explore Common Table Expressions (SQL-99) and how SQL handles recursion, breaking the bi-dimensional barriers and paving the way to more complex data structures like trees and graphs, and how we can replicate features from social networks and recommendation systems. We'll also have a look at window functions (SQL:2003) and the advanced reporting features they make finally possible.  


Trees in the database: Advanced data structures

PHP Barcelona 2009, Barcelona, Spain, 30 October 2009

Storing tree structures in a bi-dimensional table has always been problematic. The simplest tree models are usually quite inefficient, while more complex ones aren't necessarily better. In this talk I briefly go through the most used models (adjacency list, materialized path, nested sets) and introduce some more advanced ones belonging to the nested intervals family (Farey algorithm, Continued Fractions, and other encodings). I describe the advantages and pitfalls of each model, some proprietary solutions (e.g. Oracle's CONNECT BY) and one of the SQL Standard's upcoming features, Common Table Expressions.  


PHP Performance and Scalability

BBC lighting talks, BBC Broadcast Centre, London, 17 July 2009

Presentation on performance and scalability techniques used to achieve a very high throughput in the new BBC homepage.  


Trees in the database: Advanced data structures

Dutch PHP Conference 2009, Amsterdam, 13 June 2009

Storing tree structures in a bi-dimensional table has always been problematic. The simplest tree models are usually quite inefficient, while more complex ones aren't necessarily better. In this talk I briefly go through the most used models (adjacency list, materialized path, nested sets) and introduce some more advanced ones belonging to the nested intervals family (Farey algorithm, Continued Fractions, and other encodings). I describe the advantages and pitfalls of each model, some proprietary solutions (e.g. Oracle's CONNECT BY) and one of the SQL Standard's upcoming features, Common Table Expressions.  


Trees in the Database: Advanced Data Structures

BBC lighting talks, BBC Broadcast Centre, London, 15 May 2009

Series of lightning talks about tree data structures in the database