jakiś czas temu pisałem jak poradzić sobie z przechowywaniem zmiennej listy cech obiektów w bazach relacyjnych.
okazuje się, że nie tylko ja zetknąłem się z tym problemem (szokujące, czyż nie?).
dwóch, znanych w świecie postgresowym ludzi – teodor sigaev i oleg bartunov – zajęli się tym problemem.
jeśli ich nie kojarzycie – to są ludzie którzy stworzyli i rozwinęli tsearcha. zajmują się optymalizacjami indeksów typu gist, wymyślili własny typ indeksów (gin) i ogólnie siedzą w źródłach postgresa chyba 24 godziny na dobę. ich prace są częściowo sponsorowane przez rosyjską (aha, obaj są z rosji) agencję do wspierania badań (taki ichniejszy komitet badań naukowych).
problemem cech się zajęli, pogłówkowali i zrobili. nowy typ danych do postgresa – hstore.
co potrafi?
w jednym polu może przechowywać dowolnie wiele par klucz/wartość. wyszukiwać rekordów mających określone pola w sposób który korzysta z indeksów.
operować na tych danych i ogólnie – dać programiście wreszcie dobre rozwiązanie tego problemu.
jak się tego używa? trywialnie. nie chcę tutaj kopiować dokumentacji, odsyłam was do przykładów. warto się zainteresować, bo soft działa ładnie, skutecznie i szybko.

4 comments
eh …. doslownie tydzien temu uratowalo by mi to zycie
no tak szkoda tylko ze nie jest dostapny standardowo
bo przypuszczam ze ciezko bedzie namowic Administratorów serwerów nazwa.pl czy home.pl do dodania tego do bazy ;/
1. sorry za tak pozne pokazanie sie komentarzy – wlaczylem filtr antyspamowy na komentarzach i przestalem dostawac info o tym.
co do hstore’a – nie znam adminów nazwy czy home’a. pogadać można.
z drugiej strony – jak się nie da tak, to trzeba sobie radzić w bardziej standardowy/przenośny sposób
nie no jasne, mam wlasnie problem w stylu zmiennej liczby cech ;/ i walcze walcze, ale takie hstore by sie przydalo. jak narazie chyba bede przenosił moje rozwaizanie czyli 29 tabel (;/) na to co opisałes w poprzednim poscie na temat zmiennej listy cech
zobaczymy jak mi wyjdzie