6.830 Material

In Fall 2010 I teached the database class 6.830 at MIT in collaboration with Mike Stonebraker. You can find the material of the class at: http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-830-database-systems-fall-2010/


p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; color: #184fae} span.s1 {text-decoration: underline}

PhD Course: “Data Stream Management Systems–Supporting Stream Mining Applications” Prof.

The Dipartimento di Elettronica ed Informazione of Politecnico di Milano organize the PhD level Course: “Data Stream Management Systems–Supporting Stream Mining Applications” by professor Carlo Zaniolo (UCLA).

The course is open to PhD students and research from outside Politecnico di Milano. Please contact me (use the Contact Me link) for further information and to RSVP.

Title:  Data Stream Management Systems–Supporting Stream Mining Applications
Teacher: Carlo Zaniolo -University of California at Los Angeles, CS Dept

23/6 : 14.30-17.30, Seminar room
24/6 : 14.30-17.30, Seminar room
25/6 : 14.00-18.00, Seminar room
30/6 : 14.30-17.30, Seminar room
1/7   : 14.00-18.00, Seminar room
2/7   : 14.30-17.30, Aula Alfa

Content of the Course:

In the age of the Internet, massive amounts of information are continuously exchanged as data streams that are then processed  by on-line applications of increasing complexity. For such advanced applications, a store-now and process-later approach cannot be used because of real time (or quasi real-time) requirements and excessive data rates. Therefore, current research seeks to develop a new generation of information management systems, called Data Stream Management Systems (DSMS), that can support complex applications on massive data streams with Quality of Service (QoS) guarantees. This work has produced novel techniques, research prototypes, startup companies, and the successful deployment of DSMS in many applications, including network traffic analysis, transaction log analysis, intrusion detection, credit-card fraud detection, click stream analysis, and algorithmic trading.

Since many such applications involve both streaming data and stored data, the approach taken by most DSMS consists in expressing continuous queries on data streams using extensions of SQL. But significant changes in the language and its implementation are needed, since DSMS must support persistent queries on ordered streams of transient tuples—instead of the transient queries on unordered sets of persistent tuples of relational DBMS. In particular, only monotonic queries and non-blocking operators can be used. Also, the unbounded streams must be represented by synopses, such as windows containing the most recent tuples in the streams. Thus the semantics of basic operators such as joins and aggregates must be revised for windows. At the implementation level, we have new query optimization techniques that seek to minimize response time and memory utilization. Load shedding techniques based on samples and sketches are used to achieve QoS under overload conditions. The first part of the course, will cover these techniques and the architectures of the main DSMS systems.

The second part of the course will focus on the data stream mining problem that represents a vibrant area of new research. Past work concentrated on devising data mining algorithms that (i) are fast and light enough for on line applications, and (ii) can cope with the concept shifts and drifts that are often present in data streams. However, integrating mining primitives into an SQL-based environment represents a very difficult problem on its own, as demonstrated by the very slow progress made by DBMS on this issue. Thus, we first discuss efficient algorithms proposed for the mining tasks of classification, association, clustering and sequential pattern detection on data streams; then, we explore alternative approaches to integrate them into DSMS.

Java Code Conventions

This post is for all the students involved in my projects. Please read this: JavaCodeConventions.pdf .

Is a short presentation reporting some code conventions which i believe are really useful and which i ask you to follow.This is a complement and a memorandum of those rules you already learned in the Software Engineering courses.

The presentation has been gently provided by Stefano Orlandi, which i like to thank.