Postgresql full text search vs Solr

Postgresql has really come a long way from being the standard but relatively slow database to the feature rich and extremely fast database what it is today. Supporting unstructured data (HSTORE, JSON[B]), geo function (PostGIS), full text search  (TSVECTOR) it is representing a true competition to the search engines.

Looking … Continue reading

Backbone with Tastypie – pagination, server-side filtering and sorting

I’m a big fan of Tastypie. It gives the ability to quickly set up a restful api and focus on real development work rather than typing code all night long. So the choice was obvious when I needed REST backend for my Backbone based frontend that I’m going to use … Continue reading

‘RelatedFieldWidgetWrapper’ object has no attribute ‘decompress’

I just stumbled across a weird issue after upgrading to Django 1.6 from 1.5. The regression tests didn’t show any errors (you may say now that my regression tests weren’t covering everything, indeed they weren’t 🙂 ). I was just about to continue working on a feature I wanted when my admin site started to … Continue reading

Stream cypher (encrypt) with digital envelope in Python

Generating. storing and keeping inventory of hundreds of terabyte large database backups is a challenge by itself which we do on daily basis. It’s even a bigger challenge to store them encrypted which is the requirement sometimes. The backup data is being pushed through a socket generated by percona-xtrabackup. On … Continue reading

Useful python – Class based decorators and context managers

useful-python

There are many things why Pyhton is my standard go-to language if it comes to implement something. It’s either a website, automation, data-mining or complex calculation Python excels in most of it. I decided to write some of my favourite things which just makes things cleaner and easier to implement.

Continue reading

Solr Stats component is available in sunburnt

Stats

StatsComponent is now available with stats function in the suburnt Solr python client library.

More info: http://wiki.apache.org/solr/StatsComponent

Example:

For the source code go to my github repo: https://github.com/charlesnagy/sunburnt

Solr dynamic field with data importer

solr

I’m managing a Solr installation which holds products for an e-commerce site. Lately a new feature was introduced. Namely, every product type can have specific dynamic attributes which is configurable on the Type level. For example monitor types have resolution, size, etc. while processor types have clock frequency, socket, L2 … Continue reading

Flashcache stats collector for Diamond / Graphite

I have upgraded the LVM collector in my StorageCollector repository on github (https://github.com/charlesnagy/Diamond-StorageCollectors) to match the new directory structure of Diamond and added support to collect flashcache metrics.

Installation

Move the flashcache directory to your collectors directory which should exist on /usr/local/share/diamond/collectors or /usr/share/diamond/collectors path depending on your installation.

Continue reading

Difference between DISTINCT and GROUP BY

Today we had an interesting situation where the same query was executed significantly slower when it was written with GROUP BY instead of DISTINCT and I saw many people still had the assumption that these two types of queries are actually equivalent which is simply not true. Although DISTINCT queries … Continue reading