Posts

Showing posts from February, 2013

Enterprise App now available with Maven

Image
Finally! I've managed to write a Maven POM for Enterprise App. Just add this into your pom.xml file:

<dependency>
    <groupId>org.vaadin.addons</groupId>
    <artifactId>enterprise-app</artifactId>
    <version>0.4.0</version>
</dependency>

You might need to add the official Maven repository for Vaadin addons as well:

<repository>
    <id>vaadin-addons</id>
    <url>http://maven.vaadin.com/vaadin-addons</url>
</repository>

Better late than never ;)

A strategy to manage large SQL tables

Some months ago, I got involved in a project where I needed to generate quite big reports (more than 1 million rows) extracted mainly from an SQL table growing at a very fast pace. This table played a central role in the everyday usage of the system.

In order to avoid losing performance, we scheduled a database backup and a process to empty that large troublesome table every 3 months. But the problem with the reports remained the same. At some point we ended up with a table with more than 3 million rows and sometimes we had to generate reports with more than 1 million rows. Even if the report was small, querying this table was taking way too much time (some times more than 10 minutes).

Here is what we did. First we decided to design kind of an ETL process using only SQL (somebody will argue that this is not ETL, but I think it is). How? We developed a module to execute SQL scripts defined at run-time every day at 3:00 am.

These scripts were basically "insert into table" stat…