The talk addresses the problems that arise in modern web applications (so-called Web 2.0) development. Today, most developers choose Open Source to build new Internet startups. Being the most powerful Open Source database system, PostgreSQL provides a wide range of excellent capabilities to meets web developers needs, which continue to grow due to various reasons. Among such reasons the following ones can be distinguished:
- growing number of competitors on the market;
- extreme level of business requirements inconstancy;
- increasing level of quality requirements;
- larger volumes of data;
- exponential style of major numbers growing (registered users, online users, pageviews, TPS).
To gain a high level of competitiveness, current web developers must choose better technologies and, moreover, they must know how to use these technologies in most proper way. In this talk, some technical solutions are presented, that have been used in several successful Russian Web 2.0 projects. Among specific topics, some are more generic and can be applied in applications of various types, some are more specific to Web 2.0 context. The talk will walk through a set of such topics and descriptions of some ready-to-use solutions will be provided, including (this set is preliminary):
- different ways to organize the data: taxonomy, 'folksonomy' and hybrid approaches;
- working with graph in relational database, search issues in social network;
- 'tags' subsystem: performance issues, integration with search engine;
- intarray, hstore, xml types: ways to work with semistructured data in relational context;
- maps applications: integration with Google Maps, using R-tree and full-text search together;
- 'rate and comment everything': how PostgreSQL inheritance model helps to achieve better development flexibility;
- Web 2.0 and 'permanent' SQL performance tuning: how to survive with 'always beta' mark and 1-week development cycle.
Most issues are considered in the context described above. Special attention is paid to performance and development flexibility. Some solutions are formalized as 'design patterns' (models that could be used in many systems and, under certain circumstances, with various DBMSes).
Nikolay is CEO of Postgresmen, Ltd. (http://postgresmen.ru), the company that provides PostgreSQL-related services in Russia and Eastern Europe. Besides providing training and 24/7 support, Postgresmen company actively participates in several leading Russian Web 2.0 startups development. The list of these projects includes: innovative social network based on the maps MirTesen.ru, business social network Moikrug.ru (currently about 2 million registered users), Google Maps mash-up DomNaKarte.ru and many others. All these projects use PostgreSQL, most of them extensively use PHP. No one uses non-open source technologies.
Nikolay also is working on PhD thesis in Moscow Institute of Physics and Technology (MIPT), in Computer Science. His key interests are working with semistructured data in relational context, XML, database design patterns. He participated in PostgreSQL's XML support development.






