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.
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 🙂