imitatio creatio co we łbie piszczy

22May/09Off

Uwolnić dane!

Amerykanie odpalili http://data.gov - site ma być repozytorium danych z różnorakich agencji rządowych.

To jest dobry ruch - częściowa odpowiedź na dokładnie ten sam problem o którym mówią Hans Rosling i Tim Berners Lee.

W skrócie chodzi o to że ogromne pokłady cennych publicznych danych leżą zakopane w bazach konkretnych instytucji, agencji, departamentów... Zamiast pracować dla pożytku społeczności która za nie zapłaciła.

Czekamy na http://data.eu [Unia Europejska].
Czekamy na http://data.un.org/ [ONZ].
Czekamy na http://data.gov.pl [polskie agendy / instytucje rządowe].
Czekamy na http://data.stat.gov.pl [ GUS].

RAW DATA NOW!

14Jan/09Off

czego _nie_ robić z bazami danych

Stare ale jare:

10 Things You Shouldn't Do with SQL Server (Data Access Developer "Don'ts").

Dotyczy .NET i MS SQL ale większość opisanych problemów jest niezależne od konkretnego produktu.

20Dec/08Off

The Data Warehousing Information Center

Ciekawy zbiór artykułów o hurtowniach i BI.

The Data Warehousing Information Center.

19Dec/08Off

Replikacja w PostgreSQL za pomocą Slony-I – update

W poprzednim artykule opisałem jak zestawić replikację w postgresie za pomocą slon-tools.

Dziś chciałem dodać parę rzeczy których tam zabrakło, a które są często potrzebne w praktycznym zastosowaniu Slony-I.

Dodawanie tabeli do replikacji

Załóżmy że chcemy dodać do replikacji tabelę froobles.

  1. Tabela musi istnieć na obu serwerach i mieć klucz główny. Możemy utworzyć ją ręcznie, lub wykorzystać skrypt który to zrobi:
      slonik_execute_script set1 /path/to/froobles.sql
    
  2. W konfigu (plik slon_tools.conf) musimy dodać kolejną publikację (set) Slony-I. Dopisujemy go do hasha $SLONY_SETS.
    $SLONY_SETS = {
        set1 => {
            set_id       => 1,
            table_id     => 1,
            sequence_id  => 1,
            pkeyedtables => [
                'accounts',
                'branches',
                'tellers',
            ],
        },
        # tymczasowy set dla dodawanych tabel
        set2 => {
            set_id       => 2,
            table_id     => 100,
            sequence_id  => 100,
            pkeyedtables => [
                'froobles',
            ],
        },
    };
    1;
    
  3. Następnie musimy utworzyć publikację w klastrze.

    postgres@merry:~$ slonik_create_set set2  | slonik
    
  4. Utoworzoną publikację (set #2) musimy zasubskrybować do slave'a (node #2):

    postgres@merry:~$ slonik_subscribe_set set2 2  | slonik
    
  5. Zawartość tabeli zostanie przekopiowana na serwer slave. Może to potrwać zależnie od wielkości tabeli.

  6. Gdy już upewniliśmy się że tabela jest replikowana, możemy złączyć publikacje z powrotem w jedną. Służy do tego polecenie slonik_merge_sets:

    postgres@merry:~$ slonik_merge_sets 1 set1 set2  | slonik
    
  7. Uaktualniamy plik slon_tools.conf (patrz wyżej) tak by odzwierciedlał aktualną konfigurację klastra. Nowo dodane tabele powinny się znaleźć w "set1". Robimy to aby uniknąć zamieszania w razie konieczności odtworzenia klastra.

    $SLONY_SETS = {
        set1 => {
            set_id       => 1,
            table_id     => 1,
            sequence_id  => 1,
            pkeyedtables => [
                'accounts',
                'branches',
                'tellers',
                'froobles',
            ],
        },
    };
    1;
    

Usuwanie tabeli z replikacji

Jeśli chcemy dodawać, to pewnie czasem i usuwać.

Przykład: Usuwamy tabelę z publikacji nr 1. Musimy znać też ID tabeli nadane przez slonika; możemy je podejrzeć w bazie w tabeli _webdev.sl_table. W tym przykładzie jest to 100.

postgres@merry:~$ slonik_drop_table 100 set1  | slonik

Podsumowanie

Narzędzia slon-tools są naprawdę proste.
Wszystkie skrypty dostępne w pakiecie rozpoczynają się od prefiksu slonik_ lub slon_. Polecam zapoznanie się z nimi oraz z doumentacją Slony-I dostępną pod adresem http://slony.info.

Powodzenia!

2Dec/08Off

powiem-ci-kim-jestes

Trafiłem na artykuł o pozyskiwaniu danych z serwisów społecznościowych.

Niby nic odkrywczego, ale warto mieć świadomość, że wszystkie te zasoby mogą łatwo być przeszukane - lub przy odrobinie wysiłku zgromadzone w jednym miejscu i zapamiętane NA ZAWSZE.

Co ciekawe, jest (i jeszcze przez jakiś czas będzie) wiele osób które nie dostrzegają równoważności między opublikowaniem czegoś na swoim profilu a naklejeniem tego na słupie ogłoszeniowym w centrum miasta - a przecież w pierwszym przypadku potencjalne audytorium jest o wiele szersze i co gorsza dla "ofiar" - wobec rosnącej penetracji internetu - ma niezerową część wspólną z tym drugim.