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!
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.
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.
- 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
- 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; -
Następnie musimy utworzyć publikację w klastrze.
postgres@merry:~$ slonik_create_set set2 | slonik
-
Utoworzoną publikację (set #2) musimy zasubskrybować do slave'a (node #2):
postgres@merry:~$ slonik_subscribe_set set2 2 | slonik
-
Zawartość tabeli zostanie przekopiowana na serwer slave. Może to potrwać zależnie od wielkości tabeli.
-
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
-
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!
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.