Lorenzo Alberton
Presentations
Modern Algorithms and Data Structures - 1. Bloom Filters, Merkle Trees
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
- Modern Algorithms and Data Structures - 1. Bloom Filters, Merkle Trees (18 April 2011)
- NoSQL Databases: What, When and Why (25 February 2011)
- Graphs in the database: RDBMS in the social networks age (30 October 2010)
- Profile your PHP application and make it fly (8 October 2010)
- The Art of Scalability - Managing growth (11 June 2010)
- The Art of Scalability - Managing growth (3 May 2010)
- RDBMS in the social networks age (26 February 2010)
- Trees in the database: Advanced data structures (30 October 2009)
- PHP Performance and Scalability (17 July 2009)
- Trees in the database: Advanced data structures (13 June 2009)
- Trees in the Database: Advanced Data Structures (15 May 2009)
NoSQL Databases: What, When and Why
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
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
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
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
RDBMS in the social networks age
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
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
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
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
Series of lightning talks about tree data structures in the database