zmienna lista “cech” – ciąg dalszy

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 thoughts on “zmienna lista “cech” – ciąg dalszy”

  1. 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 ;/

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

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

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.